T-FAULT: Pipelining of requests forbidden, while retrying batch consumers

Is this a bug report?
Yes

Can you also reproduce the problem with the latest version?
Yes. I have tested it with version 7.0.5-develop.2954
Environment

Operating system: Running on windows 10 and with RabbitMQ running on docker on Ubuntu 20.04 (WSL 2)
Visual Studio version: Community 2019
Dotnet version: Net Core 3.1

Steps to Reproduce

1 - Issue happens while running a bulk process using batching.
2 - After a while, some retries due to timeout start to arise
R-RETRY xxxx
MassTransit.Context.RetryConsumeContext<xxxx>
System.TimeoutException: The operation has timed out.
   at RabbitMQ.Util.BlockingCell`1.WaitForValue(TimeSpan timeout)

3 - After some retries a T-FAULT error is thrown
T-FAULT xxxx
System.NotSupportedException: Pipelining of requests forbidden
   at RabbitMQ.Client.Impl.RpcContinuationQueue.Enqueue(IRpcContinuation k)

Expected Behavior

Retries of batches (caused by timeouts) should not generate a T-FAULT error
Actual Behavior

T-FAULT xxxx
System.NotSupportedException: Pipelining of requests forbidden
   at RabbitMQ.Client.Impl.RpcContinuationQueue.Enqueue(IRpcContinuation k)
   at RabbitMQ.Client.Impl.ModelBase.Enqueue(IRpcContinuation k)
   at RabbitMQ.Client.Impl.ModelBase.TransmitAndEnqueue(OutgoingCommand& cmd, IRpcContinuation k)
   at RabbitMQ.Client.Impl.ModelBase.ModelRpc(MethodBase method, ContentHeaderBase header, Byte[] body)
   at RabbitMQ.Client.Framing.Impl.Model._Private_ExchangeDeclare(String exchange, String type, Boolean passive, Boolean durable, Boolean autoDelete, Boolean internal, Boolean nowait, IDictionary`2 arguments)
   at RabbitMQ.Client.Impl.ModelBase.ExchangeDeclare(String exchange, String type, Boolean durable, Boolean autoDelete, IDictionary`2 arguments)
   at MassTransit.RabbitMqTransport.Contexts.RabbitMqModelContext.<>c__DisplayClass16_0.<MassTransit.RabbitMqTransport.ModelContext.ExchangeDeclare>b__0()
   at MassTransit.Util.ChannelExecutor.<>c__DisplayClass11_0.<Run>g__RunMethod|0()
   at MassTransit.Util.ChannelExecutor.SynchronousFuture`1.Run()
--- End of stack trace from previous location where exception was thrown ---
   at MassTransit.Util.ChannelExecutor.Run[T](Func`1 method, CancellationToken cancellationToken)
   at MassTransit.RabbitMqTransport.Pipeline.ConfigureTopologyFilter`1.ConfigureTopology(ModelContext context)
   at MassTransit.RabbitMqTransport.Pipeline.ConfigureTopologyFilter`1.<>c__DisplayClass3_0.<<GreenPipes-IFilter<MassTransit-RabbitMqTransport-ModelContext>-Send>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at GreenPipes.PipeExtensions.OneTimeSetup[T](PipeContext context, Func`2 setupMethod, PayloadFactory`1 payloadFactory)
   at MassTransit.RabbitMqTransport.Pipeline.ConfigureTopologyFilter`1.GreenPipes.IFilter<MassTransit.RabbitMqTransport.ModelContext>.Send(ModelContext context, IPipe`1 next)
   at MassTransit.RabbitMqTransport.Transport.RabbitMqSendTransport.SendPipe`1.Send(ModelContext modelContext)
   at GreenPipes.Agents.PipeContextSupervisor`1.GreenPipes.IPipeContextSource<TContext>.Send(IPipe`1 pipe, CancellationToken cancellationToken)
   at GreenPipes.Agents.PipeContextSupervisor`1.GreenPipes.IPipeContextSource<TContext>.Send(IPipe`1 pipe, CancellationToken cancellationToken)
   at GreenPipes.Agents.PipeContextSupervisor`1.GreenPipes.IPipeContextSource<TContext>.Send(IPipe`1 pipe, CancellationToken cancellationToken)
   at MassTransit.Pipeline.Filters.GenerateFaultFilter.GenerateFault(ExceptionReceiveContext context)
   at MassTransit.Pipeline.Filters.GenerateFaultFilter.GreenPipes.IFilter<MassTransit.ExceptionReceiveContext>.Send(ExceptionReceiveContext context, IPipe`1 next)
   at GreenPipes.Filters.RescueFilter`2.GreenPipes.IFilter<TContext>.Send(TContext context, IPipe`1 next)
   at MassTransit.Pipeline.Filters.DeadLetterFilter.GreenPipes.IFilter<MassTransit.ReceiveContext>.Send(ReceiveContext context, IPipe`1 next)
   at MassTransit.Transports.ReceivePipeDispatcher.Dispatch(ReceiveContext context, ReceiveLockContext receiveLock)
   at MassTransit.Transports.ReceivePipeDispatcher.Dispatch(ReceiveContext context, ReceiveLockContext receiveLock)
   at MassTransit.Transports.ReceivePipeDispatcher.Dispatch(ReceiveContext context, ReceiveLockContext receiveLock)
   at MassTransit.RabbitMqTransport.Pipeline.RabbitMqBasicConsumer.<>c__DisplayClass23_0.<<HandleBasicDeliver>b__0>d.MoveNext()
System.NotSupportedException: Pipelining of requests forbidden
   at RabbitMQ.Client.Impl.RpcContinuationQueue.Enqueue(IRpcContinuation k)
   at RabbitMQ.Client.Impl.ModelBase.Enqueue(IRpcContinuation k)
   at RabbitMQ.Client.Impl.ModelBase.TransmitAndEnqueue(OutgoingCommand& cmd, IRpcContinuation k)
   at RabbitMQ.Client.Impl.ModelBase.ModelRpc(MethodBase method, ContentHeaderBase header, Byte[] body)
   at RabbitMQ.Client.Framing.Impl.Model._Private_ExchangeDeclare(String exchange, String type, Boolean passive, Boolean durable, Boolean autoDelete, Boolean internal, Boolean nowait, IDictionary`2 arguments)
   at RabbitMQ.Client.Impl.ModelBase.ExchangeDeclare(String exchange, String type, Boolean durable, Boolean autoDelete, IDictionary`2 arguments)
   at MassTransit.RabbitMqTransport.Contexts.RabbitMqModelContext.<>c__DisplayClass16_0.<MassTransit.RabbitMqTransport.ModelContext.ExchangeDeclare>b__0()
   at MassTransit.Util.ChannelExecutor.<>c__DisplayClass11_0.<Run>g__RunMethod|0()
   at MassTransit.Util.ChannelExecutor.SynchronousFuture`1.Run()
--- End of stack trace from previous location where exception was thrown ---
   at MassTransit.Util.ChannelExecutor.Run[T](Func`1 method, CancellationToken cancellationToken)
   at MassTransit.RabbitMqTransport.Pipeline.ConfigureTopologyFilter`1.ConfigureTopology(ModelContext context)
   at MassTransit.RabbitMqTransport.Pipeline.ConfigureTopologyFilter`1.<>c__DisplayClass3_0.<<GreenPipes-IFilter<MassTransit-RabbitMqTransport-ModelContext>-Send>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at GreenPipes.PipeExtensions.OneTimeSetup[T](PipeContext context, Func`2 setupMethod, PayloadFactory`1 payloadFactory)
   at MassTransit.RabbitMqTransport.Pipeline.ConfigureTopologyFilter`1.GreenPipes.IFilter<MassTransit.RabbitMqTransport.ModelContext>.Send(ModelContext context, IPipe`1 next)
   at MassTransit.RabbitMqTransport.Transport.RabbitMqSendTransport.SendPipe`1.Send(ModelContext modelContext)
   at GreenPipes.Agents.PipeContextSupervisor`1.GreenPipes.IPipeContextSource<TContext>.Send(IPipe`1 pipe, CancellationToken cancellationToken)
   at GreenPipes.Agents.PipeContextSupervisor`1.GreenPipes.IPipeContextSource<TContext>.Send(IPipe`1 pipe, CancellationToken cancellationToken)
   at GreenPipes.Agents.PipeContextSupervisor`1.GreenPipes.IPipeContextSource<TContext>.Send(IPipe`1 pipe, CancellationToken cancellationToken)
   at MassTransit.Pipeline.Filters.GenerateFaultFilter.GenerateFault(ExceptionReceiveContext context)
   at MassTransit.Pipeline.Filters.GenerateFaultFilter.GreenPipes.IFilter<MassTransit.ExceptionReceiveContext>.Send(ExceptionReceiveContext context, IPipe`1 next)
   at GreenPipes.Filters.RescueFilter`2.GreenPipes.IFilter<TContext>.Send(TContext context, IPipe`1 next)
   at MassTransit.Pipeline.Filters.DeadLetterFilter.GreenPipes.IFilter<MassTransit.ReceiveContext>.Send(ReceiveContext context, IPipe`1 next)
   at MassTransit.Transports.ReceivePipeDispatcher.Dispatch(ReceiveContext context, ReceiveLockContext receiveLock)
   at MassTransit.Transports.ReceivePipeDispatcher.Dispatch(ReceiveContext context, ReceiveLockContext receiveLock)
   at MassTransit.Transports.ReceivePipeDispatcher.Dispatch(ReceiveContext context, ReceiveLockContext receiveLock)
   at MassTransit.RabbitMqTransport.Pipeline.RabbitMqBasicConsumer.<>c__DisplayClass23_0.<<HandleBasicDeliver>b__0>d.MoveNext()

Reproducible Demo

(Paste the link to an example project and exact instructions to reproduce the issue.)

This is a timeout occurring at the broker, which is likely causing the channel to become unusable. Seriously doubt I can reproduce this one, seems like it's trying to create the topology to publish the fault and unable to do so, which makes me think the RMQ timeout is making the channel in an unusable state.

Searching in google we have found that error "Pipelining of requests forbidden" is being related to sharing a channel between threads.
We have this configuration set:
configurator.UseInMemoryOutbox(c => c.ConcurrentMessageDelivery = true);
Is it possible that there is a threading issue?

It should no matter, all commands to the RabbitMQ channel are dispatched through a System.Threading.Channel to ensure they're executed one at a time.

Hello @phatboyg
Researching how to reproduce this issue we stumble upon this other one https://github.com/MassTransit/MassTransit/issues/2058 that we believe they are related

Fixed with changes implemented on #2058.


config: add restrictions to tikv and tidb release branchs

For the release branch, we want to strictly restrict push permissions.

/assign @Mini256
PTAL~

Should tidb:release-3.0 be restricted?

Good catch! Thanks!

/merge


devcontainer features test treats missing scenario script as ok

Observation
When scenarios.json contains a scenario which does not have a shell script, it's treated as an "info".
There is no error, nothing is red, etc.
Expectation
In my humble opinion this is fundamentally wrong.
Obviously I intended to execute a specific scenario, but forgot to include the script.
Please treat missing .sh file as test error.

I actually ran into this today.  I agree


tsParticles v3.0.0

tsParticles v3
Breaking Changes

Renamed all packages (except "tsparticles") to use the @tsparticles/ prefix, instead of tsparticles-. With this new naming system, all packages will be part of the npm company @tsparticles (#3977)

There are a lot of conflicts with this version, it will be reopened when v3 will be under active development.


UserDialogs is not compatible with popular image processing libraries such as AForge (because of userdialogs dependency on Splat)

Please refrain from +1's, nuget library update requests (this is not an issue with the library), and requesting timelines for something.  Please also make sure you have read the FAQ section on the README

Please check all of the platforms you are having the issue on
[x] iOS
[x] Android
[] WP81
[] WP8
[] UWP
[x] PCL

Please state the issue to the best of your ability below

Recent versions of userdialogs that reference Splat are not compatible with popular image processing libraries such as AForge which reference shim.dll. The reason is that both Splat.dll and shim.dll have their own implementation of Shim.Drawing. Resulting in compile errors shown below.
Suggestion
Does userdialogs really need to reference splat? It seems to me that it would not be necessary to raise dialogs in cross platform, for example, raising a dialog in Android does not require the bitmap support that splat provides.

Please copy and paste the exception details below.  If you are having a crash and this detail is missing, your issue will be closed without warning.

Q) Does userdialogs really need to reference splat?
A) Yes, it does.  Splat is used for colors and icon loading for toasts and actionsheets.

Q) Can you elaborate on how its using color/icons? From the Android/IOS perspective colors and icons are usually provided via Android/IOS Resources?

You are welcome to take a look at the samples and source code of the library itself.  Splat is used specifically so I'm not stuck to the way android or iOS loads this data up.  I wanted this library to be as cross platform as possible.
You are welcome to submit a PR that gives all the same support as splat, but without the library if you want.  I'm afraid it isn't something I specifically want to tackle.


nextjs-mf v8.1.0-canary.3: unmet dependencies

The recently published packages<EMAIL_ADDRESS>and canary.3 are requiring<EMAIL_ADDRESS>but the latest released version of utilities on npm is 3.0.3-0.
Is it possible to release the utilities package as well or downgrade the dependency in the nextjs-mf package?

@brunos3d  CI auto release issues here

Try new canary release

canary.4 and canary.5 are both working fine for me, although I see an eager consumption error for react-dom in my console. For me this sounds pretty similar to #1607?


Avoid slowpath in pow

Based on the flame graphs, we seem to be hitting this slow path (https://stackoverflow.com/questions/14687665/very-slow-stdpow-for-bases-very-close-to-1), same as what we hit in thermodynamics.
This PR adds pow_fast(x, y) = exp(y * log(x)) to avoid the slow path.

bors try

This is a nice speedup.

bors r+


Change namespace for MGC in quickstart script

What
Similar to make local-setup, this deploys MGC in the multicluster-gateway-controller-system namespace when running the quickstart script.
Verification
This is not currently in a verifiable state. I've verified that this works locally and following on with the OCM guide works also. Leave a message below if you would like to do further verification and I can push up a temporary change.

Verified that everything is working locally, OCM guide also works.
/approve


Pass query parameters as an object

Query parameters should now be passed as an object instead of key/value pairs, see https://github.com/chaijs/chai-http/pull/33 for details

@pgrm Please fix the unit test.

@horiuchi sorry it took so long, finally managed to get to it - hope this will work now

@pgrm Thank you for your contribution!


Implementing an opaque transactional HdfsState

Thanks much for this contrib.
First, could you confirm that the current HdfsState implementation is non-transactional state and so there is no guarantee that data gets written to HDFS exactly once?
Second, wanted your opinion on implementing an opaque transactional state for writes to HDFS:
A naive implementation of maintaining the state of the file as of previous batch separate from the current file will likely be expensive to implement without the support of file appends. For instance, in a sample implementation, every batch of writes will end up in its own file with no batching efficiencies for downstream consumers.
An alternative implementation could be to have the file f and the prev batch b as 2 separate files where f is always in an open state while b is written afresh and closed for every batch. The name of the file to store b could itself be the "previous tx id". When the current write happens with a different tx id, the execute() function reads b and writes to f. It then deletes b. A new file with the current tx id is created and this stores the current b.
At the time of rotation, b is read and written to f which is rotated away. File storing b is emptied since we will need the tx id for the next write.
When the current write happens with the same tx id as the previous attempt, then b is overwritten with the current batch's data. In particular, f is untouched.
Appreciate your feedback
Thanks
-Ranga

In case someone else is interested in what came about from this, I have documented our findings and eventual approach over at http://blog.thedatateam.in/2015/02/guaranteeing-exactly-once-load.html


Unable to query all NICs on a specific subscription

I have a script that runs a query for each of our subscriptions and get all the network_interfaces under our subscription. It work great for all subscription but on a specific one subscription we started getting errors a few days ago.
This is the command we run:
network_client = NetworkManagementClient(azure_credentials_dict, subscription_id)
all_nics = list(network_client.network_interfaces.list_all())
and this is the error we get:
azure.core.exceptions.HttpResponseError: (ProviderError) Resource provider 'Microsoft.Network' failed to return collection response for type 'networkInterfaces'.
I tried changing the API version of azure-mgmt-network from 18.0 to 17.1.0 but it did not help

Thanks for the issue! We'll investigate this asap

Had to reregister the network resource in Azure


BlendLuxCore 2.3 crashes Blender 2.82a whenever rendering or open material preview

.blend file: any
Steps to reproduce: Start render or open material preview.
Error message from Blender console: None
OS: openuse Tumbleweed, Geforce 8800 GTX,
Blender version: 2.82a
LuxCore version: 2.3 linux64
Whereas v2.2 works fine, 2.3 crashes Blender about 5 sec after starting a render job or opening material preview.
No error message, terminal message ends with:
BlendLuxCore 2.3 registered (with pyluxcore 2.3)
Warning: property 'release_confirm' not found in keymap item 'OperatorProperties'
==================================================
[Engine/Final] Rendering layer "View Layer"
[Exporter] Creating session
[SDL][4.061] Camera type: perspective
[SDL][4.061] Camera position: Point[7.35889, -6.92579, 4.95831]
[SDL][4.061] Camera target: Point[6.70733, -6.31162, 4.51304]
[SDL][4.061] Camera clipping plane disabled

What I miss in v2.3 is a startup message in v2.2, warning, that no material node is set for default Material.
I guess this is an issue related to that old GPU, but the NVIDIA proprietary driver did it fine using Version 2.2. Although
kind regards,
joc

The GPU kernels in v2.2 are a lot smaller than the one in v2.3. I assume it is crash due to old and discontinued drivers. I doubt there is anything we can do.


SuperBuild does not rebuild on code changes

solution?: https://github.com/commontk/CTK/commit/00be8fae583173f338893659b9d8296ce9d5765b

Put BUILD_ALWAYS 1 in each external project

done in https://github.com/SuperElastix/SuperElastix/commit/0cfc28147a77a25d0d05b163acd82af8abfc76d9

I noticed the problem persists. Deleting, in my case the superelastix-build and prefix directories was needed.


Added null check to prevent NullPointerException when connecting to rabb...

I have added a null check in the connect() method of com.codahale.metrics.graphite.GraphiteRabbitMQ.java which prevents the method to fail with NullPointerException

Have you experienced a null pointer exception? If so, could you send me the stack trace?

Hi Ryan, please ignore my pull request.  My mistake, I've had this fix in mind for a while but I forgot that I already fixed this long ago! I just didn't noticed that the null check had been moved in isConnected() method.
Sorry for my wrong pull request

No problem!


Add part on synthetic data

This notebook explains how to use the command generate

Hi @14thibea,
Sorry for the late revision of this PR. I was not aware of its existence. Next time please ping me if I'm not reactive enough!
BTW, will this notebook be included in the clinicadl tutorial ?

Hi @14thibea,
Sorry for the late revision of this PR. I was not aware of its existence. Next time please ping me if I'm not reactive enough!
BTW, will this notebook be included in the clinicadl tutorial ?

Hi !
Actually the notebook was not ready so this is why I never told about it.
It is not working yet because there are some issues in the generate function of clinicadl, I made a new branch in my fork to fix them.
It would be great to add it !

Hi !
Actually the notebook was not ready so this is why I never told about it.
It is not working yet because there are some issues in the generate function of clinicadl, I made a new branch in my fork to fix them.
It would be great to add it !

Ok, I see!
Let me know when it will be ready or feel free to merge it to the main branch. We should see later how to integrate it to the tutorial.

Ok, I see!
Let me know when it will be ready or feel free to merge it to the main branch. We should see later how to integrate it to the tutorial.

Hi @mdiazmel !
I think the changes for clinicadl==0.2.0 are ready !


Remove GParse

Currently we depend on GParse. If we want to remove Groovy we need to remove GParse, too.

see #253

See #269


Search by Both PIN Code and District to be Allowed with Preference on PIN Code

Currently, feature is available to either book using PIN Code or using District with by default PIN Code being selected.
However it would be nice if feature can be added so that user can search by both with preference to PIN Code first and then district so that in case user doesn't get slot for a particular PIN Code, they might be able to get slot on the district level.

Feature is added with commit: e6e71fcab956d0289f9fef67c01510d2302a7bf0
How to Use the Feature:
In appsettings.json, both the fields so searching by district and PIN Code should be set to True. Also, the PIN Codes and Districts must be entered under PINCodes and Districts Section Respectively.
Example:
"IsSearchToBeDoneByDistrict": true,
"IsSearchToBeDoneByPINCode": true,
"Districts": {
    "Bhandara": 370,
    "Mumbai": 395
  },
  "PINCodes": {
    "MyFirstPreference": 441804,
    "MySecondPreference": 400051
  }

@PSuyog97 @priyanka1111 Please test/review if the feature is working properly.


Add a cassandra-reaper dashboard

Make a dashboard with this metric is realy hard.
when you have metrics like this:
io_cassandrareaper_service_SegmentRunner_repairing_null_bigclustername_bigkeyspace
com_datastax_driver_core_Cluster_big_cluster_name_authentication_errors
or
io_cassandrareaper_jmx_JmxConnectionFactory_connections_10x218x10x101234
io_cassandrareaper_jmx_JmxProxyImpl_cobrowsingtransitcas_10x218x10x191_repairStatusHandlers
io_cassandrareaper_service_SegmentRunner_abort_10_218_10_10
org_eclipse_jetty_server_HttpConnectionFactory_0_0_0_0_8080_connections
@rzvoncek How do you plane work with this metrics without prometheus metric_relabel_configs?

Hi @therb1 , we know the metrics Reaper exposes have their nuances and limitations. We've done very little to tweak them, mostly because when metrics get pulled, it's usually the puller who has to process them. This makes life easier for us, because we don't need to make Reaper support every metric format out there (which is not feasible, really). The disadvantage is, of course, there are still cases like yours.
To answer your questions about plans. Metrics is not something that was in the initial Reaper. It's something we're adding incrementally. We had nothing, now we have the Prometheus endpoint, and there were talks over at ASF Reaper Slack to add a DataDog one.
So it might be the time for another iteration on metrics to make the experience one bit better. But that deserves a dedicated issue (at least). And as always, we're always happy to accept help :)


refactor: re-work network interception to be non-flaky

the PR moves the interception logic to NetworkStorage since interception is tightly coupled with storage. It removes the NetworkManager class which only provided basic event listeners.
NetworkStorage is multi-target so that it is able to control interception across all targets including the browser target.
The Fetch/Network domains are enabled on the page/frame target levels to intercept all requests from the targets.
The code is modified to await for interception to conclude before sending BiDi events.
Hopefully, it solves existing flakiness in the interception.
TODO: credentials
TODO: re-enable disabled tests

Puppeteer also fails with the latest Canary so we should be OK, I believe the other test to be flaky
https://github.com/puppeteer/puppeteer/actions/runs/7905564059/job/21578469250

I think it is ready to be landed.


Template repo for new actions?

WIll there be more custom actions?  If so, we should probably use a template to make them more consistent.

No point.  Actions are different enough that this isn't worth the bother.


How to retrieve current instance

Hy guys,
how can I retrieve the current Flatpickr instance of a field without loose configurations?
I'm using this code to create Flatpickr instances to all date fields:
flatpickr('.datepicker)', {
    altInput: true,
    time_24hr: true,
    altFormat: 'd-m-Y',
    dateFormat: 'Y-m-d',
});

On some fields I have the need to perform some operations on "onChange" event, so I have tried this code, but, as I expected, it resets my previous configurations (format, ...):
flatpickr('input[name=date_start]', {
    onChange: function() {
        // ...
    }
});

Thoughts?

Function(s) in onChange receive some arguments. See https://chmln.github.io/flatpickr/#eventsAPI
The instance variable is the corresponding flatpickr instance

Thank you @chmln,
I have seen the documentation but it doesn't solve my problem ... in any case I loose my previous configurations (locale, format, ...).
In my project I have an "app.js" file that contains:
flatpickr('.datepicker)', {
    altInput: true,
    time_24hr: true,
    altFormat: 'd-m-Y',
    dateFormat: 'Y-m-d',
});

I some pages I want listen the "change" event of some of ".datepicker" fields keeping the configurations of the original instance.

@billmn You could always use plain old addEventListener("change", ...) for those inputs.
flatpickr binds to the _flatpickr property of the element, so you could leverage that

@billmn correct me if I'm wrong, but I think the gist of things is he initiating all the date pickers on the page, then afterwards was to go modify the properties on certain ones without resetting what was originally set.
Let's say instead of change, it was
flatpickr('input[name=date_start]', {
   disableMobile: true
});

From my understanding, this will destroy the previous instance, which is why the other properties are lost?

@billmn just modify the config object then.
Something like
const element = document.querySelector("input[name=some_value]");
element._flatpickr.config.onChange = function(dateObj, dateString, flatpickrInstance) ...

@chmln Thank you! With this last example now I can retrieve the instance and update the "onChange" event without loose original properties.

this is working sollution;
const element = document.querySelector("#date_in");
element.onChange = (e) = {
// get flatpicker of datein and date out flatpicker
    let currentFp = e.target._flatpickr;
    let targetFp = document.getElementById("date_out")._flatpickr;

    let dateInValue = currentFp.selectedDates; // get current date from first date picker
    let currentDateObj = new Date(dateInValue);
    currentDateObj.setDate(currentDateObj.getDate() + 1); //set next datepicker init date

    targetFp.config.minDate = currentDateObj;
    targetFp.setDate(currentDateObj);
    targetFp.open(); // this will auto open next datepicker
}

@jkhaled 's solution is working great for setting the minDate of the next instance.
In the case of 'n' instances, is there any way to set the minDate of all remaining instances?


Use Docker network events in the plugin

Currently, weaveplugin listens for container started events, to know when to add a container name to DNS.  We do some poking around in the API to see whether the container is actually connected to the weave network.
This approach is rather indirect, and misses docker network connect / disconnect.
In 1.10, Docker introduces network events, which give a much more direct way to achieve the requirement.
Given #813, we may be justified in requiring minimum Docker 1.10 when using the plugin.

Also, as noted on IRC, users can use --alias to give additional names in docker network connect

Post #2347 we should also do the arp configuration on docker network connect

I'm going to work on this.

Thanks @dlmiddlecote - if you have any questions please ask here or in the Slack


fix(nx preview): fix pagination PR #492 that broke preview

What is it?

[ ] Feature / enhancement
[x] Bug
[ ] Docs / tests

Description
PR #492 broke docs preview. This PR fixes the issue without improving the docs. I simply commented out the old Pagination components for the time being since they have been changed.
Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

@gioboa I removed the _index for the headless route but kept the one for fluffy as otherwise the page would return a 404 not found.

Thanks @maiieul you rock

Awesome stuff! Merging


NEXT-9304 Add option to make theme configuration field full width for…

1. Why is this change necessary?
When you use text, media or wysiwyg components in your theme configuration the fields are very small as the administration splits the configuration section into two columns.
2. What does this change do, exactly?
Fix an unrelated bug that implode is used wrong.
Add new new field for theme configuration fields.
Add a new class in the administration that makes a full width column in the grid.
Make logo fields full width.
3. Describe each step to reproduce the issue or behaviour.

Use a wysiwyg field
Open in admin
See only a few 100 pixel for editing which can't contain the full wysiwyg utilities

4. Please link to the relevant issues (if any).
NEXT-9304
5. Checklist

[x] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[x] I have created a changelog file with all necessary information about my changes
[x] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Wohoo 🎉


fixing formatting in 1.25.0 doc and updating install prereq

Description of the change:
Fixing some formatting issues in the 1.25.0 upgrade code and change the instillation prereq to be go 1.19
Motivation for the change:
When following the upgrade from 1.22 to 1.26 I noticed some formating issues in the 1.25.0 doc that caused them to not copy properly, and also missing the need to change from go 1.18 to go 1.19.
Checklist
If the pull request includes user-facing changes, extra documentation is required:

[ ] Add a new changelog fragment in changelog/fragments (see changelog/fragments/00-template.yaml)
[x] Add or update relevant sections of the docs website in website/content/en/docs

Signed-off-by: Adam D. Cornett<EMAIL_ADDRESS>

@everettraven I would expect to see this change live in https://v1-26-x.sdk.operatorframework.io/docs/installation/ but it still mentions go 1.18... am I missing something ?


Deprecate checkActiveStatus

There is no proper way to fix this call. It gives the implementer a false sense of confidence that the value is correct. The only way to know if there are active sessions is via a status call or an authorizations list refresh. There currently is a event driven option with the onSessionUpdate method of the SessionListener. As such, this call needs to be deprecated in a future release.

Enhancement has been pushed to the repo. It will be part of the next release.


Fix luv version

@zhaozg I deleted the 1.41.0-0 tag for now. Can re-create it once the version is fixed.


View Model section missing

Description
There's no description on how to generate the view model, it just says "consider the code" and then asks you to replace some code in the Edit page and the Create page, which in turn, breaks the application because there is no context for StudentVM.
Page URL
https://learn.microsoft.com/en-us/aspnet/core/data/ef-rp/crud?view=aspnetcore-6.0
Content source URL
https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/data/ef-rp/crud.md
Document ID
f8a63abf-824b-5b80-e03d-abcb2c162b95
Article author
@tdykstra

Hello! Thanks for contacting us. This sounds like a general question about using ASP.NET Core. While we try to look at and respond to all issues, for questions like this we recommend posting to a community support group like Stack Overflow with the asp.net-core tag.

Stack Overflow
ASP.NET Core Slack
ASP.NET Gitter

Potential bugs in the ASP.NET Core framework and product feedback can be reported at dotnet/aspnetcore issues (include full repro steps and cross-link to a repro project in GH when appropriate). For Visual Studio, use the Report a Problem gesture or Suggest a Feature gesture within VS, which open internal issues for the VS team. For Visual Studio Code, you can open an issue at microsoft/vscode issues.


Add more CSS-in-JS helpers

@Saturate asked for some help with this in a comment on #589. This adds a helper for React-JSS so others don't have to write one, and updates the samples.

Thanks, this is pretty cool. When is the timeline for release of this and #589 ?

Soon I hope :) You can clone this repo and build from source if you need this today


Incorrect event handler when the VSTO Add-in is unloaded

In the second row and second column of ThisAddIn members to use for other tasks section, the ThisAddIn_Startup seems incorrect, which should be replaced with ThisAddIn_Shutdown.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2db2d7da-16be-b472-b1a3-c1cff6460226
Version Independent ID: fb24e313-a9cf-58e1-b152-4948a5fd6ca1
Content: Program VSTO Add-ins - Visual Studio
Content Source: docs/vsto/programming-vsto-add-ins.md
Product: visual-studio-windows
Technology: office-development
GitHub Login: @John-Hart
Microsoft Alias: johnhart

Thank you for your feedback.  I have updated the documentation and it should be live by tomorrow.


can't verify my account

I`m trying to setup Azure Bot on my subscription, but it is stucked into the login page:
AzureBot [wsfed enabled]
For added security, we need to further verify your account
How do you want us to verify your account?
I`ve select my account and it keeps displaying a loading, but it's not redirecting to the portal. I've tried with most of the browsers, same problem in all of them. (chrome, edge, firefox)
Any clues?

After inspecting the console: aad.login.min.js:21 Uncaught TypeError: Cannot read property 'Result' of undefined(…)

When you say you are trying to setup Azure Bot on your subscription, do you mean you are trying to run a version of the Azure Bot yourself? These are the notes we had for you to create your Azure AD for it, and then the rest of the Developer Set Up is here.
If you are just trying to use the bot but it's failing, what type of user are you logging in as? A Microsoft account (hotmail.com, outlook.com, etc) or an Azure Active Directory account?

My bad, but definitely the official website is quite confusing. I could not found this link to setup the Azure AD. It just point me to this website: https://bots.botframework.com/bot?id=azurebot and has a link to this https://microsoft.github.io/AzureBot/
Nothing related to setup the Azure AD

No problem. In that https://microsoft.github.io/AzureBot/ page we have a phrase saying 'If you're a developer and would like to contribute or use the code, please start here.' which takes you to the Developer Set Up and then to the AD Set Up as part of it. We'll see how we can make that easier to navigate

awesome! So far this https://github.com/Microsoft/AzureBot/issues/ are the issues that MS is working on? Is there a list of the wish list? I would like to contribute for this project...

Yes, we take pull requests if you want to contribute, thanks! The latest work is in the addextensibility branch so that's the place to look. This is a sample, just meant to show people how to get started creating a bot though, so we might not maintain it for too long.


In Infrastructure Mapping wizard selected count appears in the wrong place

In the Infra Mapping wizard there is a count of "x of y items selected" that should be displayed beneath the list box. Right now it is being displayed inside the list box.
Current:

Design:

would like to verify this in the next QA/nightly build.

@bthurber could you test this by chance?

This appears to be working as intended in latest nightly.


feat: use RJSF Form in chart store

Description
It additionally fixes the css shortcomings of that area. Almost all the heights of the different sections were being controlled using explicit heights in the form of calc(100vh - __some_height__in__px). Additionally fixed the overlapping top headers in the router section of discover chart.

Fixes https://github.com/devtron-labs/sprint-tasks/issues/860
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[x] 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

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Checklist:

[x] The title of the PR states what changed and the related issues number (used for the release note).
[ ] Does this PR require documentation updates?
[ ] I've updated documentation as required by this PR.
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas

TODO: update the yarn.lock before merging


Cant download image for offline use.

Expected behavior
Download image
Actual behavior
Error message:
image operating system "windows" cannot be used on this platform
Information about the Issue
Trying to download an image for offline transfer to a windows server 2016 machine. But since the image wouldn't work on my Win7 docker toolkit machine, it refuses to download.
Steps to reproduce the behavior

Install docker toolkit
try: docker pull microsoft/windowsservercore:latest

This is a Windows Container image only - Please see the documentation for this image and the requirements.
To learn more about Windows Containers, please see this post:
https://blog.docker.com/2016/09/build-your-first-docker-windows-server-container/
Additionally, if you're running Docker for Windows, you can switch to using windows containers:
https://docs.docker.com/docker-for-windows/#switch-between-windows-and-linux-containers


Added mobile support to jsnes

Using hammer.js I added a tap/hold/release function that has been tested on an ipad.
I provided mock up html and js files that work on a dummy apache server.

I'm used nipple.js in my private fork and it working awesome on iPad. It can solve problem with virtual joypad.

Thanks @joeheyming! It'd be great to get this supported properly, rather than it just be an experiment.
I think at the very least, we should have some built in code that does browser detection, and if it is a mobile browser, attempts to add overlay controls. That can be in the main emulator -- I don't think it needs to be separate.
@drakmail is the code in your fork good enough for a pull request?

@bfirsh unfortunately the fork is full of dirty hacks 😅  Also I'm not sure that I could remember where was the fork hosted =/

Hey!  My hacks are clean :-)!
But seriously, I wrote this so long ago, I probably would just rewrite it if I had time.

The web stuff for the emulator is now in a separate repository, so I've moved this to here. :) https://github.com/bfirsh/jsnes-web/issues/20


Remove unrequired assignments

dockerfile_contents it's assigned to itself (noop)
dockerfile_mode is set later in function based on
dockerfile_contents:
https://github.com/anchore/anchore-engine/blob/7362a7fdbd867013be967fe96ad4a64c61580c85/anchore_engine/clients/localanchore_standalone.py#L561
Signed-off-by: Jorge Maroto<EMAIL_ADDRESS>
What this PR does / why we need it:
It removes a self-assignment which is flagged as a major bug by some static analysis tools.
Which issue this PR fixes (optional, in fixes #<issue number>)(, fixes #<issue_number, ...) format, will close the issue when PR is merged: fixes #:
Special notes:

Thanks @marojor , we'll take a look. I appreciate the PR.


Debugger isn't working since the last 1 or 2 updates

Hello, I write mainly code in C/C++. Since today I've noticed that on 2 computers Vs Code Debugging doesn't work even though I
didn't changed anything.  When I press Debug it just builds the file but then no Debugging and it stops. Please look into it!

/extC++


⚠ Bofrost.at has degraded performance

In a2dd8ab, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1541 ms

Resolved: Bofrost.at performance has improved in 7f83dc3.


public home page for Topics

3 x x list of topics that are public
1404
see sources home page, browse by category for UI template
embed LOGIN form

what is the link_id? does it apply for public topics?
eg user_mc.topicList(link_id=link_id)

up and running. will need to test when we have set public flags

a few questions regarding public v private topic lists...
we can easily use the same python call as we have with the summary page call
However, since the UI is different (as spec'd afaik), do we want a different action and reducer? I am assuming so since grabbing the public topic list from state is different than the loggedin topic lists
Also assuming that filtering out the non-public topics on the client side would be a security violation.

that is almost exactly what I did yesterday (and checked in). The server endpoint returns only is_public == 1 topics...  My main concern was how to handle the routing.  Right now there is topics/public/home, which means if you Are logged in, you will see all topics (not just the public ones).  Let's think about that case  - it is not the same as the public summary routing scenario since the UI is different...

update UI, extract as a common component

ContentPreview is the new common element for browsing items with the particular styling in PopularCollections and PublicTopic containers


AzureUSGovernment Availability

Is the standard SKU available in the AzureUSGovernment cloud environment? If not, when is this particular sku planned?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 09325ff2-5a0a-0aff-e3cb-d1c0585a6842
Version Independent ID: f370d680-5d1d-99a9-e350-7d9551d24ce6
Content: Azure Standard Load Balancer overview
Content Source: articles/load-balancer/load-balancer-standard-overview.md
Service: load-balancer
GitHub Login: @KumudD
Microsoft Alias: kumud

@codyrat Standard Load Balancers are not currently available in Azure Government, but we are bringing the feature to Azure Govt in the future. I recommend adding your input to the request to let them know you would like it added.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Resolve directory imports and bypass empty index shell files.

npm test

I think you need a 3rd test case, where the import is pointing to the file itself and just needs the .js extension, so
import stub from "./fixtures/import-stubs/foo";

would become
import stub from "./fixtures/import-stubs/foo.js";

@dhoward Test added.

:+1:


Messages stick to top of view after adding a static UIImageView

I had already viewed issue #63 and followed the steps through.  I was able to successfully add a static background to my chat application, but when the view loads the messages are stuck to the top of the screen as seen in the below image.
Clicking into the "Send message" box brings the messages back down to their normal position.  Any ideas why this is happening?
override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)

    // Pull messages back from parse
    loadMessages()

    // Use the JSQ image factory to configure chat bubbles
    let bubbleFactory = JSQMessagesBubbleImageFactory()

    selfBubbleColor = UIColor(red: 32.0/255.0, green: 200.0/255.0, blue: 95.0/255.0, alpha: 1.0)
    userBubbleColor = UIColor(red: 33.0/255.0, green: 178.0/255.0, blue: 219.0/255.0, alpha: 1.0)

    sendBubbleImage = bubbleFactory.outgoingMessagesBubbleImageWithColor(selfBubbleColor!)
    recieveBubbleImage = bubbleFactory.incomingMessagesBubbleImageWithColor(userBubbleColor)

    // Set the static background view and insert it as a subview
   self.collectionView.backgroundColor = UIColor.clearColor()
    backgroundView = UIImageView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height))
    backgroundView.image = UIImage(named: "background")

    self.view.insertSubview(backgroundView, atIndex: 0)
}

Hey @alexmk92
Hm... very odd. All of that code looks correct. It sounds and looks like your collection view insets are getting messed up when the view hierarchy changes.
I would try invalidating the layout and reloading data after you add the image.

Hi @jessesquires ,
I had already tried that as a solution, unfortunately it still produces the same results ( I assume you meant I should put my call to loadMessages() at the end of the function once the view hierarchy has been drawn )
Any other thoughts?
Cheers.

Yeah -- depending on what that function does.
self.view.insertSubview(backgroundView, atIndex: 0)
self.collection.collectionViewLayout.invalidateLayout()
self.collectionView.reloadData()

@jessesquires that's exactly what I'd tried earlier, still produces the same results.

Hey @alexmk92 - the only thing that sticks out about this is that i would make sure that the callback block in query.findObjectsInBackgroundWithBlock is called on the main thread.

Thanks for all your help Jesse, after looking further into the issue what happened was, Inserting the background subview invalidated the TopLayoutView constraint, to fix this I simply reset the top inset of the collection view:
let height = self.navigationController?.navigationBar.frame.height
if let h:CGFloat = height {
   self.collectionView.contentInset = UIEdgeInsetsMake(h, 0, 0, 0)
}

Nice! Thanks for the update @alexmk92 !


Breadcrumb is broken on pages that are not flagged to appear in menus

Feature Request
Is your feature request related to a problem or unsupported use case? Please describe.
The breadcrumb is broken on pages that are not flagged for "menu navigation"

Describe the solution you'd like
Rewrite the breadcrumb template without using the "menu" template tag.

This is actually not a bug but a feature... Pages that are not marked to be included in menus are omitted from the breadcrum which makes the breadcrum jump directly from its parent page to its children... which makes sens after all.

This is actually not a bug but a feature... Pages that are not marked to be included in menus are omitted from the breadcrum which makes the breadcrum jump directly from its parent page to its children... which makes sens after all.


Feature Request to add finer-grained version of updated-at

Hello and thanks for the amazing project! I'm working with the Cabal (Haskell package manager) maintainers team to improve Mergify-based CI. Here's our current config.
Problem
Some time ago we decided we want to implement some kind of chill-out period after a PR has been "essentially accepted" and before merging. Meaning, after a discussion on a PR finishes, all suggested updates were applied and we added the "merge me" label (we use the label in our Mergify config), we wanted to give a room of, say, 2 days to any last-minute comments and concerns.
What we did is we added the updated-at<2 days ago condition. It comes close to what we want but there's an issue when a PR has to be delayed indefinitely because of rebases needed before a merge. I'm not sure how Mergify proceeds exactly, but it feels like many PRs sit for ~2 days and then some time close to the end of the 2-days waiting period Mergify rebases it according to updates on master, and the 2-days timer resets much to our despair. Here's an example of PR that has been suffered from this kind of thing recently. Don't know if it's relevant, but we sometimes have to merge manually to overcome the waiting period for some critical PRs -- I/m guessing it may add to the problem of repeated automatic rebases.
Feature Request
What may help to avoid our problem, I think, is a more fine-grained attribute than updated-at that wouldn't care about the rebases (or any updates generally, as long as they pass the workflow checks). I have two options in mind:

a condition saying that a certain label was applied certain time in the past; something like: label-applied(merge me)<2 days ago
a condition saying that the last comment was made at a certain period in the past, e.g.: last-commented-at<2 days ago

I think the first idea goes a bit beyond what the condition grammar currently allows. The second one though looks perfectly in line with what is currently available. I think either would work for us (better than updated-at).
Does it make sense?

Thanks for your report @ulysses4ever
The updated-at field comes from GitHub API, and indeed it gets updated when the PR is touched by Mergify, so that's probably not a good usage for this field.
I'd try this in your case: implement a 2 level approach, where you first validate the delay with a label, and then use that label as the condition to trigger the merge.
--- orig.yml	2022-08-29 13:43:24.000000000 +0200
+++ target.yml	2022-08-29 13:43:12.000000000 +0200
@@ -1,4 +1,12 @@
 pull_request_rules:
+  - actions:
+      label:
+        add:
+          - merge delay passed
+    name: Wait for 2 days before validating merge
+    conditions:
+      - updated-at<2 days ago
+
   # rebase+merge strategy
   - actions:
       queue:
@@ -11,8 +19,9 @@
     conditions:
       - base=master
       - label=merge me
+      - label=merge delay passed
       - '#approved-reviews-by>=2'
-      - updated-at<2 days ago
+
   # merge+squash strategy
   - actions:
       queue:
@@ -25,8 +34,9 @@
     conditions:
       - base=master
       - label=squash+merge me
+      - label=merge delay passed
       - '#approved-reviews-by>=2'
-      - updated-at<2 days ago
+
   # rebase+merge strategy for backports: require 1 approver instead of 2
   - actions:
       queue:


Expose children (slides DOM elements) list as a public interface for production version (the alias for getImgs)

Thanks for the tiny yet powerful slider.
In order to make it even more capable could you please expose the children list as a public interface (not only for testing as you do it now via getImgs: () => imgs,)?
This opens a world of new possibilities to add dots or image previews (either passive decoration or active controller elements) to the slider. Yet this update is just a minute to introduce.
This could be something like simpleslider.children array with native JS length property and all the JS array prototype functions. This would as well expose the slides' DOM elements for more customization.

hi @WhereJuly this sounds like a great idea 😄 it could def make it a lot easier to extend functionality from the slider, not sure why I didn't included it from the start but I guess it has to do with cutting all the cruft in order to get it to the smallest size possible 😁


reportMissingImports

Environment data

Language Server version: XXX
OS and version: XXX
Python version (& distribution if applicable, e.g. Anaconda): XXX

Code Snippet

XXX

Repro Steps

XXX

Expected behavior
XXX
Actual behavior
XXX
Logs

XXX

You didn't provide the information requested in the bug template. Closing the bug report because there is insufficient information to diagnose.
@viralzac, you have been asked multiple times to provide specific details in this thread. If you want assistance, we're happy to help, but please don't waste our time.


VM Update Failed

While installing VM package we are getting below issue. Early response is appreciated.

Hi anandshelot,
When selecting the install path for your Innovator instance, be sure to select the Innovator subfolder.
Ex: If your Innovator instance is installed in C:\Program Files (x86)\Aras\11SP12, select C:\Program Files (x86)\Aras\11SP12\Innovator.
I will update the readme to clarify this step in the installation.
Eli

Hello EliJDonahue,
Thank you for your quick response. It works for me!!!


Force-inline Deque.subscript._modify to work around a performance issue

As @Lukasa discovered in #164, the _modify accessor in Deque's index subscript tends to call malloc unless it happens to get inlined into the caller. Try to prevent this performance bottleneck by force-inlining this accessor.
To mitigate potential code size issues, move the preparation/finalization steps into separate functions that aren't force-inlined.
Resolves #164.
Checklist

[X] I've read the Contribution Guidelines
[X] My contributions are licensed under the Swift license.
[X] I've followed the coding style of the rest of the project.
[ ] I've added tests covering all new code paths my change adds to the project (if appropriate).
[ ] I've added benchmarks covering new functionality (if appropriate).
[X] I've verified that my change does not break any existing tests or introduce unexplained benchmark regressions.
[ ] I've updated the documentation if necessary.

@swift-ci test

It turns out we did not have any benchmarks exercising this accessor. The improvement is pretty sizable:

malloc is quite fast though! The extra 10ns does dominate this benchmark, but in higher-level code it can often be swamped by the actual work.

@swift-ci test

@swift-ci test

@swift-ci test

@lorentey Is that a 10ns slowdown? The y axis is logarithmic, so isn't this a 10x improvement? (Eyeballing logarithmic scales is hard but we appear to be about 1/3 of the way through the 10ns to 100ns branch in the "before" which would be about 20ns, as compared to also about 1/3 of the way through the 1ns to 10ns branch in the "after", which would be about 2ns.)
Regardless, I agree the gain is great. I also think this is a best-case scenario for malloc, as the allocator is uncontended. I'd be curious if we can run the benchmark concurrently in multiple threads. That should slow it down due to increased synchronization overhead between threads and produce an even more marked gain.
(I realise now that the benchmark tool is OSS, so feel free to tell me to buzz off and get my own data :wink:)

Ah good point, I haven't considered allocations getting swamped. Is there typically no thread-local fast path?
The benchmarking facility is very intentionally single-threaded (benchmarking concurrent code well is tricky), but it wouldn't be too hard to introduce some artificial background task as an experiment. I'm not interested enough to do it myself right now though. :-P

Yes you are right, the absolute values are closer to 2ns vs 20ns, so the measured cost for malloc/free is 18ns, not 10ns.

Ah good point, I haven't considered allocations getting swamped. Is there typically no thread-local fast path?

To bring us home, the answer is "sometimes, it depends on the allocator". I can't speak to the Darwin allocator which I don't know well enough, but glibc does have a thread-local fast path at the cost of massively increasing memory fragmentation, while allocators like jemalloc or tcmalloc will have a thread-local fast path that occasionally attempts to steal memory from across threads, causing coordination hits. In general, adding tcmalloc to a multithreaded program on Linux will greatly reduce its memory usage at the cost of mildly increasing its CPU usage.

Darwin has a lockless fast path, but it's disabled in daemons for fragmentation reasons


Login token expiration

Hi,
What the point to get a token expiration after 12h ?
Thanks for any informations !
Cheers

I use cronjob to self update token


Automatically add extras entry for --optional

[x] I have searched the issues of this repo and believe that this is not a duplicate.
[x] I have searched the documentation and believe that my question is not covered.

Question

So it took a while and 4 tries, but apparently to add extras you have to both do poetry add lib --optional and add a field in [tool.poetry.extras] as a list of dependencies for each group. It would be nice if the default behavior of poetry add lib --optional would either add a field in the extras section automatically or suggest adding a field into extras (like "to add as an extra, add lib = ["lib"] to [tool.poetry.extras]" or something), or at a minimum have a section in the docs on how to have "extras".
edit: nvm the extras does describe how to add, but i'd still like to have an cli option to add a new section automatically when add --optional (like add --peer?)

here is my example:
when I add gunicorn to deploy extras via poetry add gunicorn --optional --extras deploy, it adds to pyproject.toml like this
$ cat pyproject.toml
[tool.poetry]
name = "..."
version = "0.1.0"
description = ""
authors = ["..."]
license = "MIT"

[tool.poetry.dependencies]
python = "^3.6"
uvicorn = "^0.7.1"
wsproto = "^0.14.0"
gunicorn = {version = "^19.9",optional = true,extras = ["deploy"]}

[tool.poetry.dev-dependencies]

[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"

As we see extras is in attribute, not in section and I think it's a bug.
When run install
$ poetry install -E deploy
Installing dependencies from lock file

[ValueError]
Extra [deploy] is not specified.

install [--no-dev] [--dry-run] [-E|--extras EXTRAS] [--develop DEVELOP]


Custom decorations for unselected tabs

Great project by the way.
I am using your docking library to develop. I was going through documentation and issues but i didn't found anything that is related to this.
I am using Tabbed Docking from your library and i want 2 selected tab to look like physical buttons. Selected Tabs looks like it's Pressed and unselected ones will look like they are popping out of the screen.

So the selected behaviour is working as expected. But i don't see any API to set the decoration for the unselected tabs. I want my tabs to look like the buttons (popped out).
Can you let me know whether you have an API for this behaviour i am trying to make?

Hi @Omegaki113r!
You can change the TabThemeData that is inside the TabbedViewThemeData.
This class represents the normal state of the tab (not selected).
You can override some attributes for the states (selected, disabled and hover) using the TabStatusThemeData that is inside the TabThemeData.
As there are a lot of configuration options, it gets a little confusing but here is a simple example I made to change the example committed to the project:
    TabbedViewThemeData themeData = TabbedViewThemeData.classic();
    themeData.tab
      ..decoration = BoxDecoration(color: Colors.green)
      ..selectedStatus.decoration = BoxDecoration(color: Colors.blue)
      ..highlightedStatus.decoration = BoxDecoration(color: Colors.yellow);

    TabbedView tabbedView = TabbedView(controller: _controller);
    return Scaffold(
        body: Container(
            child: TabbedViewTheme(child: tabbedView, data: themeData),
            padding: EdgeInsets.all(32)));

To achieve the same effect you can configure the decoration as you would with Container Flutter. You can use a BoxDecoration.
You can see more some examples in https://caduandrade.github.io/tabbed_view

Hi @Omegaki113r!
You can change the TabThemeData that is inside the TabbedViewThemeData.
This class represents the normal state of the tab (not selected). You can override some attributes for the states (selected, disabled and hover) using the TabStatusThemeData that is inside the TabThemeData.
As there are a lot of configuration options, it gets a little confusing but here is a simple example I made to change the example committed to the project:
    TabbedViewThemeData themeData = TabbedViewThemeData.classic();
    themeData.tab
      ..decoration = BoxDecoration(color: Colors.green)
      ..selectedStatus.decoration = BoxDecoration(color: Colors.blue)
      ..highlightedStatus.decoration = BoxDecoration(color: Colors.yellow);

    TabbedView tabbedView = TabbedView(controller: _controller);
    return Scaffold(
        body: Container(
            child: TabbedViewTheme(child: tabbedView, data: themeData),
            padding: EdgeInsets.all(32)));

To achieve the same effect you can configure the decoration as you would with Container Flutter. You can use a BoxDecoration.
You can see more some examples in https://caduandrade.github.io/tabbed_view

Amazing.. This is what i needed to do..
now i get the exact result i wanted.
Thanks for the Quick reply and help


Analysis of Impact for RKE snapshot/restore on Longhorn application

Description
Analysis of the impact of restoring to snapshot in rancher on Longhorn.
Steps to follow

Set up a rancher cluster.
Deploy longhorn on the cluster.
Create a cluster snapshot using Rancher UI.
Create some volumes and attach them to pods.
Have some data written in the volumes and do other operations like taking snapshots and backup of data.
Create a cluster snapshot using Rancher UI.
Repeat steps 5 and 6.
Restore cluster snapshots created on step 3 and 6 using Rancher UI and observe the behavior of longhorn components.

Expectation
Longhorn should continue to work properly.

Background Info:
A RKE Snapshot/Backup essentially contains a snapshot of ETCD and copies of certificates in a cluster.
When we restoring the cluster using a snapshot, RKE effectively reverts ETCD to be the same as the ETCD snapshot. (Actually, it deletes the old ETCD cluster and creates a new one base on the snapshot, link. However, the effect is the same)
Scenarios 1: Before and After installing Longhorn
Steps:

Create 2 downstream cluster using Rancher UI
Take a snapshot, snap-1, for each the downstream cluster
Install Longhorn v1.0.2 and Longhorn master 11/30/2020 on each the downstream cluster
Take a snapshot, snap-2, for each the downstream cluster
Restore the downstream to snap-1, all Longhorn components are deleted
Restore the downstream to snap-2, all Longhorn components are recreated
Create a deployment of 1 pod that uses a Longhorn volume

Observe:

Case 1: Longhorn v1.0.2
Volume stays in attaching state forever. Longhorn manager error log message indicates that the instance manager CRs' IP is not synced with the instance manager pods' IP:
[longhorn-manager-p29vj] time="2020-11-30T22:03:16Z" level=error msg="Failed to get the notifier of instance manager instance-manager-e-daea9d2f before monitoring: failed to open process update stream: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:8500: i/o timeout\""

A workaround is to detach all volumes and deleting all instance manager pods. After this, the volume is able to attach and the workload is able to start.

Case 2: Longhorn master 11/30/2020
The volume is able to attach and the workload is able to start.

Scenarios 2: Before and After creating volumes
Steps:

Continue from steps in scenarios 1
Scale the deployment to 2 pods
Write some data to the existing volumes
Manually create one more volume, testvol1 with a size of 2GB
Take a snapshot, snap-3, of the downstream clusters
Restore the downstream to snap-2, volumes are deleted
Restore the downstream to snap-3, volumes are recreated

Observe:

Case 1: Longhorn v1.0.2
Longhorn manager error log message indicates that the instance manager CRs' IP is not synced with the instance manager pods' IP. A workaround is to detach all volumes and deleting all instance manager pods. After this, the volume is able to attach and the workload is able to start. Found the old data inside the volumes.
Case 2: Longhorn master 11/30/2020
The volume is able to attach and the workload is able to start.  Found the old data inside the volumes.

Scenarios 3: Before and After Volume Resizing
Steps:

Continue from steps in scenarios 2 for the cluster with Longhorn master 11/30/2020
Expand testvol1 from 2GB to 4GB
Attach testvol1 to a pod,  create a 3GB file in testvol1
Take a snapshot, snap-4, of the downstream cluster
Restore the downstream to snap-3

Observe:
The engine instance manager of testvol1's engine is stuck in a crash loop. Longhorn manager log:
[longhorn-manager-v6hvz] time="2020-12-01T00:10:31Z" level=warning msg="Starts to clean up then recreates pod for instance manager instance-manager-e-0693aa2f with state error"
[longhorn-manager-v6hvz] time="2020-12-01T00:10:31Z" level=error msg="failed to mark existing instances to error when stopping instance manager monitor: failed to update instance map for instance manager instance-manager-e-0693aa2f: Operation cannot be fulfilled on instancemanagers.longhorn.io \"instance-manager-e-0693aa2f\": the object has been modified; please apply your changes to the latest version and try again"

I couldn't find a workaround. Removing all instance manager pods doesn't help.
When restoring the downstream cluster to snap-4, volumes, volumes' data, workloads are as expected.
Repeat 2 steps: restore to snap-3, restoring to snap-4. I observed different error messages sometimes.
[longhorn-manager-c7xs9] E1201 05:17:10.897788       1 engine_controller.go:689] failed to update status for engine testvol1-e-943a4a6f: BUG: The expected size<PHONE_NUMBER> of engine testvol1-e-943a4a6f should not be smaller than the current size<PHONE_NUMBER>

Scenarios 4: Restore between different Longhorn versions
Steps:

Continue from steps in scenarios 2 for the cluster with Longhorn v1.0.2
Upgrade Longhorn to v1.1.0
Scale the workload deployment to 3 pods
Take a snapshot, snap-4, of the downstream cluster
Restore the downstream to snap-3

Observe:
The volume is able to attach and the workload is able to start.  Found the old data inside the volumes.

Restore the downstream to snap-3
Observe:
The volume is able to attach and the workload is able to start.

Conclusion
RKE snapshot/restore feature is intended for backup/restore application configuration saved in ETCD.
Longhorn not only saves application configuration but also saves the application's state (data) into ETCD.
It easily to mess up Longhorn's state with the RKE snapshot/restore feature when RKE reverts Longhorn CRs in ETCD but the Longhorn data on disk or the backupstore are not reverted (scenario 3)

Background Info:
A RKE Snapshot/Backup essentially contains a snapshot of ETCD and copies of certificates in a cluster.
When we restoring the cluster using a snapshot, RKE effectively reverts ETCD to be the same as the ETCD snapshot. (Actually, it deletes the old ETCD cluster and creates a new one base on the snapshot, link. However, the effect is the same)
Scenarios 1: Before and After installing Longhorn
Steps:

Create 2 downstream cluster using Rancher UI
Take a snapshot, snap-1, for each the downstream cluster
Install Longhorn v1.0.2 and Longhorn master 11/30/2020 on each the downstream cluster
Take a snapshot, snap-2, for each the downstream cluster
Restore the downstream to snap-1, all Longhorn components are deleted
Restore the downstream to snap-2, all Longhorn components are recreated
Create a deployment of 1 pod that uses a Longhorn volume

Observe:

Case 1: Longhorn v1.0.2
Volume stays in attaching state forever. Longhorn manager error log message indicates that the instance manager CRs' IP is not synced with the instance manager pods' IP:
[longhorn-manager-p29vj] time="2020-11-30T22:03:16Z" level=error msg="Failed to get the notifier of instance manager instance-manager-e-daea9d2f before monitoring: failed to open process update stream: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:8500: i/o timeout\""

A workaround is to detach all volumes and deleting all instance manager pods. After this, the volume is able to attach and the workload is able to start.

Case 2: Longhorn master 11/30/2020
The volume is able to attach and the workload is able to start.

Scenarios 2: Before and After creating volumes
Steps:

Continue from steps in scenarios 1
Scale the deployment to 2 pods
Write some data to the existing volumes
Manually create one more volume, testvol1 with a size of 2GB
Take a snapshot, snap-3, of the downstream clusters
Restore the downstream to snap-2, volumes are deleted
Restore the downstream to snap-3, volumes are recreated

Observe:

Case 1: Longhorn v1.0.2
Longhorn manager error log message indicates that the instance manager CRs' IP is not synced with the instance manager pods' IP. A workaround is to detach all volumes and deleting all instance manager pods. After this, the volume is able to attach and the workload is able to start. Found the old data inside the volumes.
Case 2: Longhorn master 11/30/2020
The volume is able to attach and the workload is able to start.  Found the old data inside the volumes.

Scenarios 3: Before and After Volume Resizing
Steps:

Continue from steps in scenarios 2 for the cluster with Longhorn master 11/30/2020
Expand testvol1 from 2GB to 4GB
Attach testvol1 to a pod,  create a 3GB file in testvol1
Take a snapshot, snap-4, of the downstream cluster
Restore the downstream to snap-3

Observe:
The engine instance manager of testvol1's engine is stuck in a crash loop. Longhorn manager log:
[longhorn-manager-v6hvz] time="2020-12-01T00:10:31Z" level=warning msg="Starts to clean up then recreates pod for instance manager instance-manager-e-0693aa2f with state error"
[longhorn-manager-v6hvz] time="2020-12-01T00:10:31Z" level=error msg="failed to mark existing instances to error when stopping instance manager monitor: failed to update instance map for instance manager instance-manager-e-0693aa2f: Operation cannot be fulfilled on instancemanagers.longhorn.io \"instance-manager-e-0693aa2f\": the object has been modified; please apply your changes to the latest version and try again"

I couldn't find a workaround. Removing all instance manager pods doesn't help.
When restoring the downstream cluster to snap-4, volumes, volumes' data, workloads are as expected.
Repeat 2 steps: restore to snap-3, restoring to snap-4. I observed different error messages sometimes.
[longhorn-manager-c7xs9] E1201 05:17:10.897788       1 engine_controller.go:689] failed to update status for engine testvol1-e-943a4a6f: BUG: The expected size<PHONE_NUMBER> of engine testvol1-e-943a4a6f should not be smaller than the current size<PHONE_NUMBER>

Scenarios 4: Restore between different Longhorn versions
Steps:

Continue from steps in scenarios 2 for the cluster with Longhorn v1.0.2
Upgrade Longhorn to v1.1.0
Scale the workload deployment to 3 pods
Take a snapshot, snap-4, of the downstream cluster
Restore the downstream to snap-3

Observe:
The volume is able to attach and the workload is able to start.  Found the old data inside the volumes.

Restore the downstream to snap-4

Observe:
The volume is able to attach and the workload is able to start.
Conclusion
RKE snapshot/restore feature is intended for backup/restore application configuration saved in ETCD.
Longhorn not only saves application configuration but also saves the application's state (data) into ETCD.
It easily to mess up Longhorn's state with the RKE snapshot/restore feature when RKE reverts Longhorn CRs in ETCD but the Longhorn data on disk or the backupstore are not reverted (scenario 3)

@yasker @shuo-wu Can you take a look at this analysis?

@PhanLe1010 Thanks for the detail analysis. We might need some major changes to make it work with etcd restore.
Punt to v1.2.0.


add structure for supporting DECALS dataset

In my previous PRs, I laid the groundwork for supporting general (non-SDSS) datasets, by making an interface where Celeste creates a SurveyDataSet object describing how the data is stored, and then calling load_images(dataset, box) and expecting to get back an array of survey-agnostic Celeste.Image objects containing image data. The SDSS data I/O routines now conform to this interface.
This PR lays out implementing load_images for a new SurveyDataSet type, called DECALSDataSet, which represents data from the Dark Energy Camera Legacy Survey. It goes as far as determining which images overlap the given bounding box, but does not yet load them.
The remaining to-dos to actually load the images are fairly straight-forward, but I don't know when I'm going to have time to implement them so I'm handing this off now. Most of the hard part is figuring out where the raw and calibrated images are actually located.
Here are the remaining to-do items (also commented in the code itself):

Create a function to read in both raw and calibrated images and determine calibration array (simply divide the calibrated image by the raw image)

Change the Celeste.Image type to accept a 2-d rather than 1-d calibration array (in general, calibration will not be constant in one dimension like in SDSS.)

Add a has_background boolean flag to Celeste.Image (e.g., make the background array optional). Then after calling load_images(dataset, box), check has_background and if false, calculate the background with SEP (and set flag to true). This allows us to optionally read the background from the dataset (e.g., SDSS supplies one, but DECaLS does not).

Add option to SDSSDataSet type to read background or not (e.g., use the SDSS-calculated background or let Celeste determine the background).

Add general config options for background subtraction, detection parameters (OK, not actually necessary for load_images, but nice to have).

Do something for the PSF (needs investigation into DECaLS PSF model). OK, this is another hard part.

Testing: make smaller versions of some calibrated and raw images images in that ra, dec range (remove ccds from files) and put them at NERSC for download with a Makefile (Are the raw and calibrated images actually on disk at NERSC?)

Nice work Kyle! Looks like some problem with a unit test---probably something small since it ran for 11 minutes before the error.

Looks like the error is due to some dependencies shifting beneath us.


Add Meson build definitions.

Interesting. This wrap has a dependency. However I can't actually automatically test it as the dependency is not available in AUR and there is no subproject/imgui.wrap. This is another type of project and we will probably have more of these where it depends on other wraps but it doesn't sound like a good idea to actually ship another wrap here. What do you think?

https://github.com/mesonbuild/mesonwrap/issues/137


Instantiation has weird semantics

Given some type t = forall a. a, I'd expect instantiate t = a_1, where a_1 is a fresh unification variable. This is not the case, and th-tc will yell at me, saying cannot match a with whatever when I try to unify it.
The following is a partial fix:
instantiate' :: MonadTc m => Type -> m Type
instantiate' (ForallT tys _ t) = do
  let names = fmap bndrName tys
  tys' <- for names $ \name -> (name, ) <$> freshTy
  instantiate' $ applySubstitution (M.fromList tys') t
instantiate' (a :-> b) = (a :->) <$> instantiate' b
instantiate' t = pure t

freshTy :: MonadTc m => m Type
freshTy = VarT <$> freshUnifTV

bndrName :: TyVarBndr -> Name
bndrName (PlainTV n) = n
bndrName (KindedTV n _) = n

pattern (:->) :: Type -> Type -> Type
pattern t :-> ts <- AppT (AppT ArrowT t) ts
  where
    t :-> ts = AppT (AppT ArrowT t) ts

This is a partial fix because it silently drops the cxt from the ForallT; but attempting to unify on these complains about:
error:
split ForallT [] [AppT (ConT GHC.Base.Monoid) (VarT u_6989586621679876358)] (VarT u_6989586621679876358)

The documentation for the method says -- | Replace all free variables with fresh unificational type variables.. That's what it does.

Fair enough, but I guess my point is that it's an unhelpful name for doing that.


Add support to Json Utils to get values as Double,Int,String array

Describe the feature
As a user I would like to parse json object that could have values like double arrays,int arrays or string arrays for a specific key
Take for an example a JSON object from
{
"embedding":[0.432442,-0.234342,.....]
"co-ordinates":[10.2423,4.432]
}

Use Case
This would be useful for consider a machine learning applications calling sagemaker endpoints. Which could return an inference which could contain embedding or other outputs in which a value can be an array.
Proposed Solution
One simple solution that comes to my mind is a method like this for JsonView Class
Array<double> JsonView::GetDoubleArray(const Aws::String& key) const
{
    assert(m_value);
    auto array = cJSON_AS4CPP_GetObjectItemCaseSensitive(m_value, key.c_str());
    assert(cJSON_AS4CPP_IsArray(array));
    Array<double> returnArray(cJSON_AS4CPP_GetArraySize(array));

    auto element = array->child;
    for (unsigned i = 0; element && i < returnArray.GetLength(); ++i, element = element->next)
    {
        returnArray[i] = element->valuedouble;
    }

    return returnArray;
}

Other Information
No response
Acknowledgements

[X] I may be able to implement this feature request
[ ] This feature might incur a breaking change

Looking into if we want to add this feature


MudButtonGroup - Improves the styling when tooltips are used on buttons

I ran into an issue where adding tooltips seemed to clobber the styling on a MudButtonGroup. Specifically, the right most button is not rounded and the dividers are missing. Please see example here: https://try.mudblazor.com/snippet/wuwvEjbnLyHSRDtP
I assumed that the expected behavior would be to have the styling be independent of a tooltip. To this end, I modified all the places in _buttongroup.scss that mentioned :first-child or :last-child to add another direct descendant selector. This works visually in the test I added, but I'm not sure about other edge cases you might be aware of. Also, please let me know if there are better ways to simplify the .scss changes (I've never touched one of these files before today 😃).
Question about the tests: how much UI is best in a single test component? This fix should work for RTL as well, but I didn't want to add even more MudButtonGroups if that is too busy.  Thanks!

@rfellers keep the test components fairly simple so that it is clear to others what the test does test.

@rfellers will you add / make the requested changes? and if tehre is any visual changes please show the difference in the PR with screenshots / gifs

Thanks @henon, @Garderoben for the comments and to @mikes-gh for fixing the title (sorry if I missed the format somewhere). I have added a toggle to the visual test to check RTL languages. Below are some before and after screenshots for LTR languages (situation is same for RTL). The buttons groups on top and to the left aren't wrapped in tooltips and function properly. I made changes to fix the bottom and right sets.
Before:

After:


Encode fixed vertical height levels for each weather model

Currently averaging over levels.

This was fixed by #305


chore: Update openRPC dependency

:tada: This PR is included in version 1.2.0-next.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0-next-major.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


JS interop with prerendering updates

Fixes #26862
Thanks @JefSchraag! :rocket: ... Those are great suggestions. A few notes on the update here ...

The section can be renamed to merely "Prerendering." This content comes from an INCLUDE file to appear in two spots, the Lifecycle topic and the Call JS from .NET topic. I think that will work in both spots. I ran through the docs and updated the references everywhere for this section heading change.
It's ok to use the word "server" (lowercase) because that's where prerendering happens in either a Blazor Server app or hosted Blazor WebAssembly (solution). "Server" isn't used in the docs to mean "Blazor Server." I do use it in spots with special formatting [Server project (or app)] when referring to that project/app in a hosted WASM solution.
When I have the two methods separated by a conjunction (i.e., "and"), I go plural on the verb. When I combine them (i.e., OnAfterRender{Async}), I use a singular verb. I think this will work ok for us. I think I will update use of a slash (OnAfterRender/OnAfterRenderAsync) to that format with the braces on a follow-up commit here in a sec. UPDATE: Done! 👍

If you want to look at the PR before I merge it, please look quickly 👀🏃. I don't want to leave PRs lying around due to our rapid rollout of .NET 7 docs for the upcoming release ... 💥 merge conflicts ensue! 💥😈😆
UPDATE: mmm 🤔 ... Actually, I think I do want to use a different section heading in the Lifecycle topic to pair better with the existing Stateful reconnection after prerendering section. Hold on for another commit to fix it. ..... Ok ... Lick'd IT! 🐄👅 ... let's see how that looks on the diff.

A nice improvement that makes this complex topic better to grasp. Thanks for the fast update.

Thanks @JefSchraag ... and sorry about all of the churn pings. I should've branched for this! 😆