Blazor Index Out of Range Exception

Describe the bug
Exception thrown: 'System.IndexOutOfRangeException' in System.Private.CoreLib.dll
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
I have a periodic task that runs at 1Hz and components that get their data and update their state call StateHasChanged() at that frequency.
To Reproduce

Using this version of ASP.NET Core: Blazor 0.7.0
Run this code:

            _updateTimer = new Timer((state) =>
            {
                try
                {
                    Updated();
                }
                catch(Exception ext)
                {
                    System.Diagnostics.Trace.WriteLine(ext.ToString());
                }
            }, null, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1));

With these arguments:
Blazor Components that register for this event call StateHasChanged() when appropriate.
See error:

Exception thrown: 'System.IndexOutOfRangeException' in System.Private.CoreLib.dll
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
   at Microsoft.AspNetCore.Blazor.Rendering.Renderer.AssignEventHandlerId(RenderTreeFrame& frame)
   at Microsoft.AspNetCore.Blazor.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForAttributeFrame(DiffContext& diffContext, Int32 oldFrameIndex, Int32 newFrameIndex)
   at Microsoft.AspNetCore.Blazor.RenderTree.RenderTreeDiffBuilder.AppendAttributeDiffEntriesForRange(DiffContext& diffContext, Int32 oldStartIndex, Int32 oldEndIndexExcl, Int32 newStartIndex, Int32 newEndIndexExcl)
   at Microsoft.AspNetCore.Blazor.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForFramesWithSameSequence(DiffContext& diffContext, Int32 oldFrameIndex, Int32 newFrameIndex)
   at Microsoft.AspNetCore.Blazor.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForRange(DiffContext& diffContext, Int32 oldStartIndex, Int32 oldEndIndexExcl, Int32 newStartIndex, Int32 newEndIndexExcl)
   at Microsoft.AspNetCore.Blazor.RenderTree.RenderTreeDiffBuilder.ComputeDiff(Renderer renderer, RenderBatchBuilder batchBuilder, Int32 componentId, ArrayRange`1 oldTree, ArrayRange`1 newTree)
   at Microsoft.AspNetCore.Blazor.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment)
   at Microsoft.AspNetCore.Blazor.Rendering.Renderer.RenderInExistingBatch(RenderQueueEntry renderQueueEntry)
   at Microsoft.AspNetCore.Blazor.Rendering.Renderer.ProcessRenderQueue()
   at Microsoft.AspNetCore.Blazor.Rendering.Renderer.AddToRenderQueue(Int32 componentId, RenderFragment renderFragment)
   at Microsoft.AspNetCore.Blazor.Server.Circuits.CircuitSynchronizationContext.ExecuteSynchronously(TaskCompletionSource`1 completion, SendOrPostCallback d, Object state)
   at Microsoft.AspNetCore.Blazor.Server.Circuits.CircuitSynchronizationContext.Post(SendOrPostCallback d, Object state)
   at NG.Blazor.Client.Components.Settings.<OnAfterRender>b__10_0() in C:\compile\BlazorEcdis\NG.Blazor.Client\Components\Settings.cshtml:line 32
   at NG.Blazor.Client.DataService.<.ctor>b__7_0(Object state) in C:\compile\BlazorEcdis\NG.Blazor.Client\DataService.cs:line 31

Expected behavior
Dictionary can be added to.
Screenshots
N/A
Additional context
Likely this could be addressed by changing the Dictionary that houses the _eventBindings (and _componentStateById?) to a Concurrent Dictionary here:
https://github.com/aspnet/AspNetCore/blob/436b5461ad0337aac90089aa7ccb61dd875808e4/src/Components/src/Microsoft.AspNetCore.Components/Rendering/Renderer.cs

This bug still exists in Razor Components 3.0 preview 2 (end of Jan2019).
RemoveEventHandlerIds runs asynchronously (called from thread pool) and corrupts the _eventBindings dictionary by modifiying it without any locking mechanism.
I've seen multiple threads doing RemoveEventHandlerIds in parallel for the very same Renderer instance and also RemoveEventHandlerIds run in parallel with building a new render tree diff.
I'm using no timers but just some OnInitAsync and OnParameterSetAsync overrides .

Also experiencing this issue here using Razor Components from ASP.NET Core 3.0 Preview 2.

I ported my app to Core 3.0 Preview 2 and now see cross threading exceptions which have been addressed using the newly supplied Invoke/InvokeAsync methods in the component's base. Unfortunately I too still see this bug. I have added local try/catch blocks in various places for the time being.

For those tracking this ticket, it looks like some work has been done for the next release that should resolve this issue. Appears that the calls to the Renderer are going to be passed through an Invoker to ensure there won't be cross threaded access to the Dictionaries.

Alas, I am still getting exceptions with Preview 3.

Even with a try catch in Preview 3, the Signal R socket ends up disconnecting when this error occurs.

Having the same problem, including SignalR disconnect. This is pretty disruptive...

While I did not see the IndexOutOfRangeException since preview3, the display freeze followed by a SignalR timeout after 30s in browser still happens far too often.
I made a test project for simulating this: https://github.com/springy76/RazorComponentsProblems/blob/problem/ConnectionDiesWhenUsingAsyncOperations/WebApp/Components/Pages/Index.razor
Sometimes you only have to click some of the 12 buttons, sometimes you have to alternate for a minute. But sooner or later the display will freeze ("loading" text will not disappear, all buttons without function) and 30s later the browser will log connection timeout to debug console.
Even after having disabled "just my code", and enabling every .net exception and every managed debugging assistant in exception settings, I did not see neither an exception in debugger nor deadlocked threads in thread-list. I wonder if anyone can narrow this down?

@springy76 Thanks for posting. These could be related, however I would recommend creating another ticket for the disconnect and then link them.

I changed my sample above and now it crashes always on first click of button 0-4 or 6-11. But only reproducible using a freshly started server. I've seen the exception happen a second time and then even after hitting F5 (which creates a new circuit) it did not happen again.
Stacktrace:
warn: Microsoft.AspNetCore.Components.Browser.Rendering.RemoteRenderer[1]
      Unhandled exception rendering component: Index was outside the bounds of the array.
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
   at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
   at Microsoft.AspNetCore.Components.Rendering.Renderer.AssignEventHandlerId(RenderTreeFrame& frame)
   at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InitializeNewAttributeFrame(DiffContext& diffContext, RenderTreeFrame& newFrame)
   at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForAttributeFrame(DiffContext& diffContext, Int32 oldFrameIndex, Int32 newFrameIndex)
   at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendAttributeDiffEntriesForRange(DiffContext& diffContext, Int32 oldStartIndex, Int32 oldEndIndexExcl, Int32 newStartIndex, Int32 newEndIndexExcl)
   at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForFramesWithSameSequence(DiffContext& diffContext, Int32 oldFrameIndex, Int32 newFrameIndex)
   at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForRange(DiffContext& diffContext, Int32 oldStartIndex, Int32 oldEndIndexExcl, Int32 newStartIndex, Int32 newEndIndexExcl)
   at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForFramesWithSameSequence(DiffContext& diffContext, Int32 oldFrameIndex, Int32 newFrameIndex)
   at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForRange(DiffContext& diffContext, Int32 oldStartIndex, Int32 oldEndIndexExcl, Int32 newStartIndex, Int32 newEndIndexExcl)
   at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.ComputeDiff(Renderer renderer, RenderBatchBuilder batchBuilder, Int32 componentId, ArrayRange`1 oldTree, ArrayRange`1 newTree)
   at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment)
   at Microsoft.AspNetCore.Components.Rendering.Renderer.RenderInExistingBatch(RenderQueueEntry renderQueueEntry)
   at Microsoft.AspNetCore.Components.Rendering.Renderer.ProcessRenderQueue()
   at Microsoft.AspNetCore.Components.Rendering.Renderer.AddToRenderQueue(Int32 componentId, RenderFragment renderFragment)
   at Microsoft.AspNetCore.Components.ComponentBase.StateHasChanged()
   at WebApp.Components.Pages.Index.SetValueAsync(Int32 newVal) in C:\dev\gitWork\tests\RazorComponentsProblems\WebApp\Components\Pages\Index.razor:line 49
   at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)
   at Microsoft.AspNetCore.Components.Rendering.Renderer.GetErrorHandledTask(Task taskToHandle)

Thanks @springy76. That is the same exception that this thread is tracking. Glad to see that you have code and a process that is repeatable. @SteveSandersonMS do you think this could be addressed before the official release?

I've done some investigation, and now would like to discuss and re-triage. cc @mkArtakMSFT
Although I've been unable to reproduce the IndexOutOfRangeException personally, I think I've found two bugs that are behind this problem.
1. Use of ContinueWith in Renderer.cs
We still have a use of ContinueWith here: https://github.com/aspnet/AspNetCore/blob/master/src/Components/Components/src/Rendering/Renderer.cs#L625
This escapes from the renderer's sync context, leading to general thread-safety issues. In particular, the code that runs here tries to mutate _eventBindings. This is basically what @springy76 was reporting here. Note that the fix is not to use locking, but rather to ensure we stay on the correct sync context so no locking is needed.
2. MessagePack's ReadStringSlow looks broken
Fixing (1) above isn't sufficient. The connection can still become broken, because when there's enough contention, incoming messages get corrupted. What I was seeing was it trying to call a SignalR Hub called OnOnOnOnOnOnOnOnO, when it should have been calling OnRenderCompleted.
I think I've traced this down to a bug around here: https://github.com/aspnet/MessagePack-CSharp/blob/master/src/MessagePack/MessagePackReader.cs#L791
Notice that inside this while loop, it never calls reader.Advance at all. So if the current span is shorter than the length of the entire string, it will just keep copying the contents of the current span over and over until it fills up the correct output length. In my case, the initial span was length 2, so it just keeps duplicating On until it gets to the desired number of characters.
If I modify the code to put this.reader.Advance(bytesRead); right at the end of the while loop, it starts working OK.
Since this is so completely broken and doesn't seem to have been reported yet, it looks like ReadStringSlow is only used incredibly rarely, and you really have to stress the system to get into a scenario where more than one span is involved.
Blazor team: let's discuss how best to get this fix into the MessagePack code.

Would it be possible to resync that ContinueWith code with the correct sync context for preview4 milestone?
(btw: That ContinueWith exactly is what I meant by saying "called from thread pool").

Sorry, no, it's too late.

Thats sad. Since preview1 all of our beta testers get hit by this bug regularily and the only thing they notice is that the app (or sometimes even just a part of it) stops responding to clicks at any random time -- they don't see the exception stacktrace scroll by in console of course.
Shouldn't this be fixable by a "simple" syncContext.Post?


Revert "Update to libcudf unsigned sum aggregation types change (#10267)"

This reverts commit 3bb2f6c11faae17cf8c869d97a60841e7d5762ff.
This fixes #10324

build

Because this is blocking all other builds I am going to admin merge it. The unit tests passed locally on my desktop, which were failing without this change.


Fix Issue #1946 by correcting typo from presnet to present

Changed __conjugation_suffix_verb_presnet to __conjugation_suffix_verb_present  in nltk/stem/snowball.py

@alvations Now that #1942 is merged, can you please do a retest on this one?

[CI: retest]

thanks :)

@alvations Is this good enough for merge?

Thanks @somnathrakshit

Thanks for the merge. :smile:


Support multiple emulation host in CI job

The current CI job script runs all emulated chassis on a single host. We need to distribute them onto multiple hosts.

Since free travis-ci account provides only one VM for the project, this feature may only be developed and tested in downstream environment.

@huikang I've tried something like the below, but it never creates containers on the worker nodes. What am I doing wrong?
`diff --git a/ci/scale-run.sh b/ci/scale-run.sh
index 424e7e2..b646326 100755
--- a/ci/scale-run.sh
+++ b/ci/scale-run.sh
@@ -67,12 +67,15 @@ $OVNSUDO docker exec ovn-south-database ovn-sbctl show
$OVNSUDO docker exec ovn-rally rally-ovs deployment create --file /root/rally-ovn/ovn-multihost-deployment.json --name ovn-multihost
Register the emulated sandboxes in the rally database
-$OVNSUDO docker exec ovn-rally rally-ovs task start /root/rally-ovn/workload/create-sandbox-$OVN_RALLY_HOSTNAME.json 2>&1 | tee /tmp/rally-ovs-output.raw
-check_ovn_rally /tmp/rally-ovs-output.raw
-TASKID=$($OVNSUDO docker exec ovn-rally rally task list --uuids-only)
-$OVNSUDO docker exec ovn-rally rally task report $TASKID --out /root/create-sandbox-output.html
-$OVNSUDO docker cp ovn-rally:/root/create-sandbox-output.html .
-$OVNSUDO docker exec ovn-rally rally task delete --uuid $TASKID
+SANDBOXHOSTS=$($OVNSUDO docker exec ovn-rally ls root/rally-ovn/workload/ | grep create-sandbox-)
+for sand in $SANDBOXHOSTS ; do

$OVNSUDO docker exec ovn-rally rally-ovs task start /root/rally-ovn/workload/$sand 2>&1 | tee /tmp/rally-ovs-output.raw
check_ovn_rally /tmp/rally-ovs-output.raw
TASKID=$($OVNSUDO docker exec ovn-rally rally task list --uuids-only)
$OVNSUDO docker exec ovn-rally rally task report $TASKID --out /root/create-sandbox-output.html
$OVNSUDO docker cp ovn-rally:/root/create-sandbox-output.html .
#$OVNSUDO docker exec ovn-rally rally task delete --uuid $TASKID
+done

Run tests
$OVNSUDO docker exec ovn-rally rally-ovs task start /root/rally-ovn/workload/create_networks.json 2>&1 | tee /tmp/rally-ovs-output.raw
`

Here is what my ci/ansible/docker-ovn-hosts looks like:
# You should only add one IP address in this role. The node in this role runs
# the OVN databse container
[ovn-control]
<IP_ADDRESS>

# Add host IPs to run emulated OVN chassis
[emulation-hosts]
<IP_ADDRESS>      provider_ip=<IP_ADDRESS>
<IP_ADDRESS>      provider_ip=<IP_ADDRESS>

[rally]
<IP_ADDRESS>

@mestery the create-sandbox rally job does not create containers, which are created during ansbile-play. What create-sandbox rally job does is to register the sandbox containers in the ovs-rally database. You can check the results by running create-and-bind-lport workload.

BTW, @mestery you could also test your change to ci/scale-run.sh with travis-ci. Although travis-ci allows only one VM, all rally-ovs job should succeed with those changes.

@huikang I figured this out now, I should have a PR done soon on this.

Excellent!!

On Jul 24, 2016, at 18:31, Kyle Mestery<EMAIL_ADDRESS>wrote:
@huikang I figured this out now, I should have a PR done soon on this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I'm going to close this one as PR #96 merged, which allows for multiple hosts to run in the CI system as emulation hosts.


Some issues

// Change the Font-size or the let the user change it. It's really to small.
// Error-Handling if it's not a npm-project.
// Don't allow the user to scale the window to the absolute minimum.
// Why are there Developer Tools? /view/toggle developer tools
// Maybe let the user delete projects from project tree and not only when you're inside the project?

Great tool, great design. Works fast and without any problems. I'm going to be happy about the final release.

My Node version is 2.15.8 on a mac.

@sergejr
Hey hey, thanks for feedback. 😊

My Node version is 2.15.8 on a mac.

But this version was correctly evaluated when you had a look into settings?

Change the Font-size or the let the user change it. It's really to small.

Assuming only the "terminal" font-size? or the overall font-size, which I think is fine. :)

Maybe let the user delete projects from project tree and not only when you're inside the project?

Ja I thought about that, but didn't want to clutter the clean list view. Any recommendations?

Hey,
/ But this version was correctly evaluated when you had a look into settings?
- Yes.
/ Assuming only the "terminal" font-size? or the overall font-size, which I think is fine. :)
- Only the „terminal“ font-size. Overall it’s good.
/ Maybe let the user delete projects from project tree and not only when you're inside the project?
- Maybe use the native delete movement from right to left which known from iOS / Apple Mail for deleting projects or enable the right click event?
Best Regards,
Sergej

Am 21.07.2016 um 09:49 schrieb Stefan Judis<EMAIL_ADDRESS>@sergejr https://github.com/sergejr
Hey hey, thanks for feedback. 😊
My Node version is 2.15.8 on a mac.
But this version was correctly evaluated when you had a look into settings?
Change the Font-size or the let the user change it. It's really to small.
Assuming only the "terminal" font-size? or the overall font-size, which I think is fine. :)
Maybe let the user delete projects from project tree and not only when you're inside the project?
Ja I thought about that, but didn't want to clutter the clean list view. Any recommendations?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/stefanjudis/forrest/issues/5#issuecomment-234181815, or mute the thread https://github.com/notifications/unsubscribe-auth/AFW_a4zR72jrRKbWLwVMbgUCRfR1KSHAks5qXySQgaJpZM4JRfRE.

Maybe use the native delete movement from right to left which known from iOS / Apple Mail for deleting projects or enable the right click event?

Hmm... not about dragging. People are not used to these interactions on desktop, or?
Context menu is worth a try. 👍
Thx.

Why are there Developer Tools? /view/toggle developer tools

Will keep it for now, to maybe get better user reports.

Error-Handling if it's not a npm-project.

Will be resolved in another issue. The rest is fixed... 😎

Okay cool, can I get the current version?

Am 21.07.2016 um 15:12 schrieb Stefan Judis<EMAIL_ADDRESS>Why are there Developer Tools? /view/toggle developer tools
Will keep it for now, to maybe get better user reports.
Error-Handling if it's not a npm-project.
Will be resolved in another issue. The rest is fixed... 😎
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/stefanjudis/forrest/issues/5#issuecomment-234248817, or mute the thread https://github.com/notifications/unsubscribe-auth/AFW_a2iSEe2dV2TgaV9R138PU5MuJT7Jks5qX3BbgaJpZM4JRfRE.

you'll get a download link in a few min. :)


Implement general way of attribute parsing

The current special cased way of attribute parsing is not sustainable.

This has actually been fixed a while ago.


docs: Added notebook guidelines in README

As per @felixdittrich92 suggestion, this PR adds some notebook guidelines to the README.
Any feedback is welcome!

@fg-mindee
Thanks 👍

ping @charlesmindee & @SiddhantBahuguna for review also :pray:

@fakela @charlesmindee @SiddhantBahuguna would you mind reviewing it please? :pray:
(if you don't have time, I can merge it otherwise)

I'll wait for you to resolved actual conversation before reviewing again.

@fg-mindee: can we merge this one?

@fharper sure, but the PR requires an approval from either you @fakela or @charlesmindee  :sweat_smile:


Fix typo in KittenPlugin.DIALOG_CAT_BALL_OF_WOOL

I'm not sure how this has just started to affect behavior, but I think it might help. Closes #19

What @peterschriever says. I still have to make a PR to the main RuneLite repo though.
I'm closing this PR.


[ButtonGroup] + [Badge]: Wrapping a Button in a badge doesn't work if it's inside a button group

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯

Because ButtonGroup passes the values assuming the direct children are Buttons, it's passing these props to the Badge Element, causing the breakage.  The styles and props aren't applied to the descendant Button, and the following errors occur:
Warning: Failed prop type: Invalid prop `variant` of value `outlined` supplied to
   `ForwardRef(Badge)`, expected one of ["dot","standard"].`

`Warning: React does not recognize the fullWidth / disableRipple / disableFocusRipple
    prop on a DOM element.`

This is the same as this person was experiencing: https://github.com/mui-org/material-ui/issues/16156, but while that use case has a reasonable workaround, I don't know that this one does as much (and it seems like a very common use case)
Expected Behavior 🤔
It would be great if there was either:

A way to have non-Button children of ButtonGroup (I'd imagine this would be ideal, because it makes sense to wrap ToolTips and other things around buttons in groups?
Have a way to have a Badge that doesn't involve wrapping it.

Steps to Reproduce 🕹
https://codesandbox.io/embed/create-react-app-b6odz
<ButtonGroup>
  <Button>foo</Button>
  <Button>bar</Button>
  <Badge badgeContent={4} color="primary">
    <Button>lee</Button>
  </Badge>
</ButtonGroup>

The closest to a working state I can get is:
import React from "react";
import Container from "@material-ui/core/Container";
import ButtonGroup from "@material-ui/core/ButtonGroup";
import Button from "@material-ui/core/Button";
import Badge from "@material-ui/core/Badge";
import Box from "@material-ui/core/Box";

const Adapt = ({ children, ...other }) => children(other);

export default function App() {
  return (
    <Container maxWidth="sm">
      <Box my={5}>
        <ButtonGroup>
          <Button>Foo</Button>
          <Button>bar</Button>
          <Adapt>
            {({ className, ...props }) => (
              <Badge badgeContent={4} color="primary" className={className}>
                <Button {...props}>lee</Button>
              </Badge>
            )}
          </Adapt>
        </ButtonGroup>
      </Box>

      <Box my={5}>
        <Badge badgeContent={5} color="primary">
          <Button variant="outlined">lee</Button>
        </Badge>
      </Box>
    </Container>
  );
}

I don't see any clear solution for supporting this case, any idea?

I've ran into this in the context of #11601.

The workaround of forwarding the props when nesting buttons doesn't fully work because the .MuiButtonGroup-grouped:not(:first-child) and .MuiButtonGroup-grouped:not(:last-child) selectors aren't matched.

Found the same problem recently.
My solution is to wrap the whole ToggleButtonGroup and override zIndex for it.
I hope it will help someone.
<Badge>
  <ToggleButtonGroup
    sx={{
      zIndex: 1,
    }}
  >
    <ToggleButton />
    <ToggleButton />
  </ToggleButtonGroup>
</Badge>


Error found on bundle update: "Could not find gem 'sprockets (>= 4.0) ruby'" but the latest version of sprockets is "2.12.3"

I am trying to update to the latest version os sass-rails but on bundle update I find the following error:
"Could not find gem 'sprockets (>= 4.0) ruby'"

However, the latest version of sprockets is "2.12.3": https://github.com/sstephenson/sprockets/blob/master/lib/sprockets/version.rb

We were using sstephenson's version because it was necessary for gulp but the right repository is https://github.com/rails/sprockets


Release notes 1.29 - initContainer information missing

Problem description
In the version 1.29 the support for initContainers have been added through the following PR.
https://github.com/docker/compose/pull/8122
But there is no reference to this feature in the release notes. Also there is no documentation provided on how to use this.
https://github.com/docker/docker.github.io/blob/master/compose/release-notes.md#1290
Problem location

I saw a problem on the following URLs:

https://docs.docker.com/compose/release-notes/
https://docs.docker.com/compose/compose-file/compose-file-v3/

Project version(s) affected
docker-compose - 1.29
Suggestions for a fix
Add the information to the release notes and also add some context on how to use it to the main documentation of docker-compose.
Thanks very much! :)

Seeking clarification on this also. The listed release notes refers to "Add a depends_on condition to wait for successful service completion". Other resources discussing the addition of init containers (like the PR and discussions for it) don't indicate that.
Is this feature enabled by the init: true (for services), indicated in the compose file doc, indicating that was added in 3.7?
To be clear, I'm not an active participant in things. I just heard the news (of init containers in Compose). Apologies if I have something crazy wrong here.

depends_on has a condition key.  the following values are available according to the compose tests.
service_started service_healthy service_completed_successfully
you can try this with my example.
version: '3.4'
services:
  my_init:
    image: alpine
    command: /bin/sh -c "exit 1"
  my_follower:
    depends_on:
      my_init:
        condition: service_completed_successfully
    image: alpine
    command: /bin/sh -c "echo init finished"

if the depends_on container exits none zero, you will see an error:
Creating my_init_1 ... done

ERROR: for my_follower  Container "cd06a63129c2" exited with code 1.
ERROR: Encountered errors while bringing up the project.

I appreciate that as a seeming clue. Still looking forward to more official confirmation/documentation (for everyone's sake, I mean). I'm on mobile as I see this so am challenged to dig around based on this info, but I wanted to reply before losing track of my notification of your reply. Perhaps someone else may have additional thoughts.

Is this feature enabled by the init: true (for services), indicated in the compose file doc, indicating that was added in 3.7?

No init: true is to "Run an init inside the container that forwards signals and reaps processes." according to the docs. So, absolutely different feature.

depends_on has a condition key. the following values are available according to the compose tests.
service_started service_healthy service_completed_successfully

Yes, i confirm that works. Below config starts testback only after testback_prepare finishes successfully.
version: '3.7'
services:
    testback_prepare:
        container_name: testback_prepare
        image: alpine
        command: /bin/sh -c 'echo come on; sleep 3'
    testback:
        container_name: testback
        image: alpine
        command: /bin/sh -c 'echo yohoho; sleep 1000'
        depends_on:
            testback_prepare:
                condition: service_completed_successfully

docker-compose --version
docker-compose version 1.29.1, build c34c88b2

OK, it seems to be specifically that the depends_on value of service_completed_successfully is what's new in docker-compose 1.29.0, which is what gives the equivalent of initcontainer functionality in compose: that a given container/service must not only start but complete (and complete successfully) before the dependent container/service will proceed to start.
Back to the initial discussion in this thread, it was just not as clear in the resources I or we (?) were looking at. Thanks.

I seems like it's not waiting for completion.
This yaml file
services:
  init:
    image: busybox
    command: sh -c 'echo "$$(date +%H:%M:%S) running migration..."; sleep 20; echo "$$(date +%H:%M:%S) migration completed"'
  app:
    image: node:alpine
    command: node -e 'console.log(new Date().toLocaleTimeString(), "app started")'
    depends_on:
      init:
        condition: service_completed_successfully

Produces the below output. So it seems like the app is started before the init container even starts.
$ docker container prune -f
$ docker compose up
[+] Running 2/2
 ⠿ Container test_init_1  Started                                                                                1.3s
 ⠿ Container test_app_1   Started                                                                                22.7s
Attaching to app_1, init_1
app_1   | 12:04:11 PM app started
app_1 exited with code 0
init_1  | 12:04:12 running migration...
init_1  | 12:04:32 migration completed
init_1 exited with code 0

Strange enough when I am using this file
services:
  init:
    image: busybox
    command: sh -c 'echo "$$(date +%H:%M:%S) running migration..."; sleep 20; echo "$$(date +%H:%M:%S) migration completed"'
  app:
    image: busybox
    command: sh -c 'echo "$$(date +%H:%M:%S) app started"'
    depends_on:
      init:
        condition: service_completed_successfully

It behaves as expected.
$ docker container prune -f
$ docker compose up
[+] Running 2/2
 ⠿ Container test_init_1  Started                                                                                1.3s
 ⠿ Container test_app_1   Started                                                                                22.6s
Attaching to app_1, init_1
init_1  | 12:07:12 running migration...
init_1  | 12:07:32 migration completed
init_1 exited with code 0
app_1   | 12:07:34 app started
app_1 exited with code 0

Am I missing something?

service_completed_successfully is self-explanatory, but how do service_started and service_healthy work? Are we to implement something similar to readiness/liveness probes?

@jflambert, those are also self-explanatory.

Sorry, but if all this was so "self-explanatory", why would we have raised the concern in the first place?

@bluebrown, wait, what? To be clear I'm with you on that. But you had just responded differently to @jflambert (whose comment from 2 hrs ago seems gone now, oddly).
To recap, it seems that jf and @dennzo (who started the issue) and I are of the opinion that more documented clarification on these things is needed. But your reply to jf (in sharing what they had) was that it "also" was "self-explanatory". Thus my last question to you. :-) Just trying to help.

In case anyone stumbles upon this issue, I have some example repositories that can help users with init containers in compose

Hashicorp Vault Config Init with Docker Compose Trial
Proof of Concept of Initializing InfluxDBv2 with Docker Compose Init Containers
Role-Based Access Control in Mosquitto MQTT with Compose Init Containers

These are by no means full-proof examples but might be helpful to someone working with them

/remove-lifecycle stale
/lifecycle frozen


Running Saleor in kubernetes/docker fails to work after some hours.

What I'm trying to achieve
Running base saleor in Kubernetes/Docker on Google Cloud for an extended period of time.
(only modified database conn. string and file storage in config)
The Issue
Everything will run smoothly for some time, and then suddenly the site becomes unresponsive after ~4 hours, some times much less. When this happens, all requests hang forever.
Steps to reproduce the problem
Create and start a workload in a kubernetes cluster on GCP, with the docker-image built like this:
docker build -t mystorefront .
docker push gcr.io/MY_GCP_REPO/mystorefront
The screenshot below is the only clue I have.
Should I attempt to add more logging? Is this a known issue?
I have done very little work with uwsgi and django, and am therefor unsure, exactly what goes wrong, but the logs seem to indicate something with the thread/process manager "behind the scenes".
What I expected to happen
Saleor running "forever".
Screenshots

+1


How do you bypass memory limitations on the WMT dataset?

This isn't really related to your code but: Since the WMT dataset for the vanilla knn-MT has a pretty big datastore (I think in the ballpark of 900M keys), the corresponding FAISS index is quite big and loading it to a single GPU together with the model is a pretty big issue. Naturally, you'd want to shard the index over multiple GPUs but FAISS has some problems searching over a sharded index with GPU tensors, see: https://github.com/facebookresearch/faiss/issues/2074 or https://github.com/facebookresearch/faiss/issues/1997. Also loading it to a separate GPU, transferring tensors there for searching, and moving the results back, runs into some memory deallocation issues inside FAISS.

From my understanding you don't shard as well, according to this line and then you also transfer the tensors you search on to CPU here (you can pass GPU tensors btw if you import faiss.contrib.torch_utils that changes the function signatures to accept GPU tensors instead of np arrays). Does your index for WMT with vanilla knn-MT just fit in GPU memory?
For the domain dataset, the datastores are relatively small so this isn't a big issue and I got them set-up just fine!

@SirRob1997 Hi, as you may noticed, we find KNN on source side before running generate.py, which makes tuning hyperparameters much faster. Therefore we could load and find knn for each token in vocabulary one by one, instead of loading all of them into the GPU. The relevant code is [here].(https://github.com/ShannonAI/fast-knn-nmt/blob/main/fast_knn_nmt/knn/find_knn_neighbors.py)

Cool, thanks for the input!
If anyone finds this issue: I've got it running following the pointers outlined in the FAISS issues linked above.


Raw draft of refactored primitives interfaces

TODO

Given this work being in progress, shall we close https://github.com/hyperledger/aries-vcx/pull/829 ?

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@88f6e8e). Click here to learn what that means.
Report is 2 commits behind head on main.
The diff coverage is 0.00%.

:exclamation: Current head 7e0e6dc differs from pull request most recent head c295bdb. Consider uploading reports for the commit c295bdb to get more accurate results

@@          Coverage Diff           @@
##             main   #1042   +/-   ##
======================================
  Coverage        ?   0.05%
======================================
  Files           ?     387
  Lines           ?   21302
  Branches        ?    3837
======================================
  Hits            ?      12
  Misses          ?   21289
  Partials        ?       1

Flag
Coverage Δ

unittests-aries-vcx
0.05% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

aries_vcx_core/src/anoncreds/credx_anoncreds.rs
0.00% <ø> (ø)

...cx_core/src/ledger/request_submitter/vdr_ledger.rs
0.00% <0.00%> (ø)

aries_vcx_core/src/wallet2/mod.rs
0.00% <0.00%> (ø)

aries_vcx_core/src/vc/credx.rs
0.00% <0.00%> (ø)

aries_vcx_core/src/wallet2/vdrtools.rs
0.00% <0.00%> (ø)

Closing, for the record, related work is happening in
https://github.com/hyperledger/aries-vcx/pull/1110
https://github.com/hyperledger/aries-vcx/pull/1116
https://github.com/hyperledger/aries-vcx/pull/1118
https://github.com/hyperledger/aries-vcx/pull/1124
https://github.com/hyperledger/aries-vcx/pull/1093
https://github.com/hyperledger/aries-vcx/pull/1084


[REAME] duplicate ReduxAsyncConnect import variable

n the README on this repo there is a duplicate of an import variable:
import { Router, browserHistory } from 'react-router';
// BELOW is the duplicate of ReduxAsyncConnect
import { ReduxAsyncConnect, asyncConnect, reducer as reduxAsyncConnect } from 'redux-connect'
import React from 'react'
import { render } from 'react-dom'
import { createStore, combineReducers } from 'redux';

Should have looked closer.... my bad

No prob, likely we can rework it to a more readable syntax if you want?


EVEREST-302 Improve validation for backupStorage

CHANGE DESCRIPTION
Problem:
EVEREST-302
Short explanation of the problem.
Related pull requests

[link]

Cause:
Short explanation of the root cause of the issue if applicable.
Solution:
Short explanation of the solution we are providing with this PR.
CHECKLIST
Jira

[ ] Is the Jira ticket created and referenced properly?

Tests

[ ] Is an Integration test/test case added for the new feature/change?
[ ] Are unit tests added where appropriate?

That makes API a bit weird. Why do we have exactly that 3 parameters required? It doesn't really solve the original problem described in the ticket, I mean, what if I'll do a request with the "regioon" instead of "region"? I also have a concern about the FE compatibility. We need to make sure that it's not gonna break the existing integration before 0.3 or we need to create a FE ticket for this.
Not sure we need to address the original problem though since we have the openAPI spec that describes the correct field names.

I'm not sure either but this PR was a low-effort stuff so I decided to discuss it with you. I'll talk to QA team


Remove Yum Updates in Cloud-Init

Issue #, if available:
https://github.com/awslabs/amazon-eks-ami/issues/1099
Description of changes:
Generally, the cloud-init AL2 config checks for and updates some security related packages via the 'package-update-upgrade-install' module in the cloud-init-config stage (before user-data). This usually results in a 5 second delay executing user-data, even though updates are not required a lot of the time, if AMIs are being updated frequently.  The main latency when checking for updates is the yum cache hydration in /var/cache/yum which downloads  ~700M of data when the first yum update is executed.
du -h /var/cache/yum/
473M	/var/cache/yum/x86_64/2/amzn2-core/gen
0	/var/cache/yum/x86_64/2/amzn2-core/packages
590M	/var/cache/yum/x86_64/2/amzn2-core
768K	/var/cache/yum/x86_64/2/amzn2extra-docker/gen
0	/var/cache/yum/x86_64/2/amzn2extra-docker/packages
936K	/var/cache/yum/x86_64/2/amzn2extra-docker
95M	/var/cache/yum/x86_64/2/amzn2extra-kernel-5.4/gen
0	/var/cache/yum/x86_64/2/amzn2extra-kernel-5.4/packages
121M	/var/cache/yum/x86_64/2/amzn2extra-kernel-5.4
711M	/var/cache/yum/x86_64/2
711M	/var/cache/yum/x86_64
711M	/var/cache/yum/

It would be possible to include the cache in the AMI, but we would need to create an image per region which we currently do not do.
Additionally, updating packages on startup can result in version skew across a cluster of instances using the same AMI version. This is undesirable from a configuration perspective and could cause stability problems in the case of an update breaking a node's bootstrap process.
In the following cloud-init analyze table, notice that config-package-update-upgrade-install takes 5 seconds to complete when no updates are needed. If updates are required, this module can take anywhere from 5-10 seconds.
No Updates are required:
> /usr/local/bin/cloud-init analyze show
-- Boot Record 01 --
The total time elapsed since completing an event is printed after the "@" character.
The time the event takes is printed after the "+" character.

Starting stage: init-local
|`->no cache found @00.00000s +00.00000s
Finished stage: (init-local) 00.00000 seconds

Starting stage: init-network
|`->no cache found @01.00000s +00.00000s
|`->found network data from DataSourceEc2 @01.00000s +01.00000s
|`->setting up datasource @02.00000s +00.00000s
|`->reading and applying user-data @02.00000s +00.00000s
|`->reading and applying vendor-data @02.00000s +00.00000s
|`->activating datasource @02.00000s +00.00000s
|`->config-migrator ran successfully @02.00000s +00.00000s
|`->config-bootcmd ran successfully @02.00000s +00.00000s
|`->config-write-files ran successfully @02.00000s +00.00000s
|`->config-write-metadata ran successfully @02.00000s +00.00000s
|`->config-amazonlinux_repo_https ran successfully @02.00000s +00.00000s
|`->config-growpart ran successfully @02.00000s +00.00000s
|`->config-resizefs ran successfully @02.00000s +00.00000s
|`->config-set-hostname ran successfully @02.00000s +00.00000s
|`->config-update-hostname ran successfully @02.00000s +00.00000s
|`->config-update-etc-hosts ran successfully @02.00000s +00.00000s
|`->config-rsyslog ran successfully @02.00000s +00.00000s
|`->config-users-groups ran successfully @02.00000s +00.00000s
|`->config-ssh ran successfully @02.00000s +00.00000s
|`->config-resolv-conf ran successfully @02.00000s +00.00000s
Finished stage: (init-network) 01.00000 seconds

Starting stage: modules-config
|`->config-disk_setup ran successfully @03.00000s +00.00000s
|`->config-mounts ran successfully @03.00000s +00.00000s
|`->config-locale ran successfully @03.00000s +00.00000s
|`->config-set-passwords ran successfully @03.00000s +00.00000s
|`->config-yum-configure ran successfully @03.00000s +00.00000s
|`->config-yum-add-repo ran successfully @03.00000s +00.00000s
|`->config-package-update-upgrade-install ran successfully @03.00000s +05.00000s
|`->config-timezone ran successfully @08.00000s +00.00000s
|`->config-disable-ec2-metadata ran successfully @08.00000s +00.00000s
|`->config-runcmd ran successfully @08.00000s +00.00000s
Finished stage: (modules-config) 05.00000 seconds

Starting stage: modules-final
|`->config-scripts-per-once ran successfully @08.00000s +00.00000s
|`->config-scripts-per-boot ran successfully @08.00000s +00.00000s
|`->config-scripts-per-instance ran successfully @08.00000s +00.00000s
|`->config-scripts-user ran successfully @08.00000s +04.00000s
|`->config-ssh-authkey-fingerprints ran successfully @12.00000s +00.00000s
|`->config-keys-to-console ran successfully @12.00000s +00.00000s
|`->config-phone-home ran successfully @12.00000s +00.00000s
|`->config-final-message ran successfully @12.00000s +00.00000s
|`->config-power-state-change ran successfully @12.00000s +00.00000s
Finished stage: (modules-final) 04.00000 seconds

Total Time: 10.00000 seconds

1 boot records analyzed

Updates are required:
> /usr/local/bin/cloud-init analyze show
-- Boot Record 01 --
The total time elapsed since completing an event is printed after the "@" character.
The time the event takes is printed after the "+" character.

Starting stage: init-local
|`->no cache found @00.00000s +00.00000s
Finished stage: (init-local) 00.00000 seconds

Starting stage: init-network
|`->no cache found @01.00000s +00.00000s
|`->found network data from DataSourceEc2 @01.00000s +00.00000s
|`->setting up datasource @01.00000s +00.00000s
|`->reading and applying user-data @01.00000s +00.00000s
|`->reading and applying vendor-data @01.00000s +00.00000s
|`->activating datasource @01.00000s +00.00000s
|`->config-migrator ran successfully @01.00000s +00.00000s
|`->config-bootcmd ran successfully @01.00000s +00.00000s
|`->config-write-files ran successfully @01.00000s +00.00000s
|`->config-write-metadata ran successfully @01.00000s +00.00000s
|`->config-amazonlinux_repo_https ran successfully @01.00000s +00.00000s
|`->config-growpart ran successfully @01.00000s +00.00000s
|`->config-resizefs ran successfully @01.00000s +00.00000s
|`->config-set-hostname ran successfully @01.00000s +00.00000s
|`->config-update-hostname ran successfully @01.00000s +00.00000s
|`->config-update-etc-hosts ran successfully @01.00000s +00.00000s
|`->config-rsyslog ran successfully @01.00000s +00.00000s
|`->config-users-groups ran successfully @01.00000s +01.00000s
|`->config-ssh ran successfully @02.00000s +00.00000s
|`->config-resolv-conf ran successfully @02.00000s +00.00000s
Finished stage: (init-network) 01.00000 seconds

Starting stage: modules-config
|`->config-disk_setup ran successfully @02.00000s +00.00000s
|`->config-mounts ran successfully @02.00000s +00.00000s
|`->config-locale ran successfully @02.00000s +00.00000s
|`->config-set-passwords ran successfully @02.00000s +00.00000s
|`->config-yum-configure ran successfully @02.00000s +00.00000s
|`->config-yum-add-repo ran successfully @02.00000s +00.00000s
|`->config-package-update-upgrade-install ran successfully @02.00000s +05.00000s
|`->config-timezone ran successfully @07.00000s +00.00000s
|`->config-disable-ec2-metadata ran successfully @07.00000s +00.00000s
|`->config-runcmd ran successfully @07.00000s +00.00000s
Finished stage: (modules-config) 05.00000 seconds

Starting stage: modules-final
|`->config-scripts-per-once ran successfully @07.00000s +00.00000s
|`->config-scripts-per-boot ran successfully @07.00000s +00.00000s
|`->config-scripts-per-instance ran successfully @07.00000s +00.00000s
|`->config-scripts-user ran successfully @07.00000s +05.00000s
|`->config-ssh-authkey-fingerprints ran successfully @12.00000s +00.00000s
|`->config-keys-to-console ran successfully @12.00000s +00.00000s
|`->config-phone-home ran successfully @12.00000s +00.00000s
|`->config-final-message ran successfully @12.00000s +00.00000s
|`->config-power-state-change ran successfully @12.00000s +00.00000s
Finished stage: (modules-final) 05.00000 seconds

Total Time: 11.00000 seconds

1 boot records analyzed

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Testing Done
Created AMI, launched, observed going to ready

See this guide for recommended testing for PRs. Some tests may not apply. Completing tests and providing additional validation steps are not required, but it is recommended and may reduce review time and time to merge.

I buy the version skew argument.
In your second test, when updates were installed; what packages were affected? I've never really understood what gets classified as "security-related" for this behavior. The kernel obviously couldn't be updated because that would require a reboot. What would we be giving up by removing this?

I buy the version skew argument.
In your second test, when updates were installed; what packages were affected? I've never really understood what gets classified as "security-related" for this behavior. The kernel obviously couldn't be updated because that would require a reboot. What would we be giving up by removing this?

The second test was a systemd update that happened in the wild with the previous AMI release. The packages were updated but didn't take affect since it would have required a reboot anyways. So the 8 seconds was just checking and then downloading the packages that weren't even installed.

To answer your question more directly on what we would lose out on:
Some of packages that can be updated would be a CVE patch for curl or sshd. In curl's case, the binary would be updated and the next invocation of it would be patched. In sshd's case, the binary would be updated but the service wouldn't be restarted unless the user restarted it manually within user-data.

So does this PR break usage of packages entirely?
Because after updating to the latest ami this doesn't seem to work anymore:
packages:
- amazon-efs-utils

meaning the package isn't installed... (reverting the the previous ami works)
Is that the expected change?
If it is, then it really should be communicated better because it is a breaking change.


Not working with Double Precision Networks

When trying to use the summary function on a network after calling net.double(), an error is returned:
RuntimeError: Expected object of type torch.FloatTensor but found type torch.DoubleTensor for argument #2 'mat2'

The calling code is:
net = FCNet(obs_space=checkpoint['env'].observation_space.shape[0], action_space=checkpoint['env'].action_space.n,
          shape=netConfig['shape'], activation=netConfig['activation'], dropout_rate=netConfig['dropout'],
          bias=netConfig['bias'])

if TENSOR_TYPE == torch.FloatTensor:
    net = net.float()
elif TENSOR_TYPE == torch.DoubleTensor:
    net = net.double()
netArch = buildNetArch(net)
summary(net, input_size=(1, checkpoint['env'].observation_space.shape[0]))

I've gotten this error outside of torchsummary in the past when trying to pass in tensors of the wrong type. It seems like torchsummary passes a FloatTensor through the network to get the metrics, but this doesn't work on a network specifically made to use DoubleTensors. Is this correct?
If so, I could maybe try and fix it myself.

same issue with networks built off half-float tensors

check out the pull request #89, just added dtype to torchsummary()


(function) /u xp set xxxL

Use /u xp set xxx to set the player's xp points to the specific number.
Use xxxL to mean the xxx level of xp in using command /u xp.

EssentialsX already provided that.

Move experiences between player and exp bottle to set player xp to sepicific level is a specific usage of take/store levels of experience. It is better to provide a command taking/storing specific levels of player experiences instead of set target level, which is less customizable.
You could change command pattern to /u xp <store|take> <amount> [absolute|level], adding new features without breaking the old command pattern.


Update app.component.html

Moved from:https://github.com/angular/angular-cli/pull/7312
optimize svg src (logo)
use base64 of
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 250 250">
  <path fill="#DD0031" d="M125 30L31.9 63.2l14.2 123.1L125 230l78.9-43.7 14.2-123.1z"/>
  <path fill="#C3002F" d="M125 30v22.2-.1V230l78.9-43.7 14.2-123.1L125 30z"/>
  <path fill="#FFF" d="M125 52.1L66.8 182.6h21.7l11.7-29.2h49.4l11.7 29.2H183L125 52.1zm17 83.3h-34l17-40.9 17 40.9z"/>
</svg>

instead of Adobe Illustrator export svg result

How can I rename commit to fix(@schematics/angular): optimize logo src?

@KhodeN we do not accept chore anymore. This probably should be considered a refactor(@schematics/angular).
You can use git commit --amend to change the message of the commit, then git push -f to force push the commit to your branch. Github will update this PR.


Performance speedups

I tried switching over from print() to export_fig() because I want to use pdf output with pdflatex, and print() makes it difficult by generating a full page with a small graph in the middle.  However, I'm finding export_fig() to be far slower than print() when simply called as export_fig('-dpdf', 'graph.pdf').  Any way to speed it up?
Thanks.

export_fig does a lot more stuff than print or saveas, including cropping, font substitutions, line-width adjustments etc. This extra processing requires extra time.
Still, I believe that you will find the very latest version of export_fig (from today) faster than before. It will still probably be slower than print, but perhaps the slowdown will not be so noticeable now.


Problem with install

Hi, I am triyng to install teprha, the firt step finish succesfully (perl Makefile.PL), but in the second step, I obtain this error:
make test
make: *** No rule to make target 'lib/Tephra.pm', needed by 'pm_to_blib'.  Stop.
Can you help me with the isntallation??
Thanks
Sergio

Hi, I recommend you to run make clean and then perl Makefile.PL prior to running the make test. Let me know what the output of the commands is because it appears the Makefile is not getting generated.

Hi Evan, thank you for the response. I delete the complete directory and executed the Makefile.PL again. The final output of the Makefile.PL script was:
ar: u' modifier ignored since D' is the default (see U') ar: u' modifier ignored since D' is the default (see U')
Checks for more recent updates to EMBOSS
...No such file or directory at lib/Tephra/Config/Install.pm line 270.
I have installed all dependencies and prerequisites
Sergio


ENH: update package version to 0.5.2

Hi! This is the friendly automated conda-forge-webservice.
I've started a version update as instructed in #9.
I'm currently searching for new versions and will update this PR shortly if I find one! Thank you for waiting!
Fixes #9

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/meta.yaml) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe/meta.yaml:

ℹ noarch: python recipes should usually follow the syntax in our documentation for specifying the Python version.

For the host section of the recipe, you should usually use python {{ python_min }} for the python entry.
For the run section of the recipe, you should usually use python >={{ python_min }} for the python entry.
For the test.requires section of the recipe, you should usually use python {{ python_min }} for the python entry.
If the package requires a newer Python version than the currently supported minimum version on conda-forge, you can override the python_min variable by adding a Jinja2 set statement at the top of your recipe (or using an equivalent context variable for v1 recipes).

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12084793859. Examine the logs at this URL for more detail.

@renan-r-santos if you want you can add me as maintainer (with this username, thanks!)

@conda-forge-admin, please re-render.

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/meta.yaml) and found it was in an excellent condition.

Thanks for the offer @carlodri. There isn't much going on here, so for now I prefer not adding new maintainers. Thanks


🧪 add regression test for available octicons

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 90.07%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #187   +/-   ##
=======================================
  Coverage   90.07%   90.07%
=======================================
  Files          11       11
  Lines         947      947
=======================================
  Hits          853      853
  Misses         94       94

Flag
Coverage Δ

pytests
90.07% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


First step to TypeScript upgrade

First steps towards #503.  This simply renames all the files (including generated ones) to *.ts, and makes any changes necessary to get the build and tests to pass.  I am going to update #503 with the full list of steps we need to take here.

[x] npm test succeeds
[x] Pull request has been squashed into 1 commit
[ ] I did NOT manually make changes to anything in apis/
[x] Code coverage does not decrease (if any source code was changed)
[x] Appropriate JSDoc comments were updated in source code (if applicable)
[x] Appropriate changes to readme/docs are included in PR

I chose to hand modify apis/ to mollify the TypeScript compiler, and because I didn't want to complicate the PR with schema changes.

Codecov Report

Merging #731 into master will decrease coverage by 15.13%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           master     #731       +/-   ##
===========================================
- Coverage   94.71%   79.58%   -15.14%
===========================================
  Files          20        8       -12
  Lines        1382      240     -1142
  Branches        0       53       +53
===========================================
- Hits         1309      191     -1118
+ Misses         73       30       -43
- Partials        0       19       +19

Impacted Files
Coverage Δ

lib/auth/computeclient.ts
100% <ø> (ø)

lib/utils.ts
100% <ø> (ø)

lib/transporters.ts
100% <ø> (ø)

lib/auth/jwtclient.ts
100% <ø> (ø)

lib/discovery.ts
67.64% <100%> (ø)

lib/apirequest.ts
97.29% <100%> (ø)

lib/googleapis.ts
78.18% <100%> (ø)

lib/generator_utils.ts
60% <100%> (ø)

... and 1 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4a4cf04...6efcf1d. Read the comment docs.

@matthewloring since @ofrobots is out, can you take a look?

This simply renames all the files (including generated ones) to *.ts

This seems wrong to me unless the thing that generates the code has been updated to spit out *.ts files. Hand-edits to autogen code need to not happen.

@lukesneeringer I updated the generators and templates to emit *.ts files, re-ran the generator, and ensured that it all worked.  The problem is that regenerating the ts files is non-deterministic.  The PR would include surface changes, and about 200k lines across all generated files to review.
It's really up to you guys.  I'm trying to limit the scope and improve the readability of the PR - but I'm happy to throw a watermelon over the fence :)

If you updated the generator, that resolves my complaint.

I'm going to test this branch against our Node.js samples that use google-api-nodejs-client

Tested against our googleapis samples in the nodejs-docs-samples repo.


Error(could not convert string to float: 'None')

Trying to set this up and get Error(results) or Error(could not convert string to float: 'None') when adding endpoint.
I am using Programmatic API Keys, with the following permission; Project Data Access Read Only.
Username is Public Key and Token is Private key.

I am assuming this is down to me attempting to use Programmatic API keys rather than user defined, is possible to update the code to use Programmatic API keys instead, since Atlas no longer allow creation of Personal API keys and they won't work after March 2021. https://docs.atlas.mongodb.com/configure-api-access

UPDATE:
Authentication clearly works, I am able to see MongoDB and the cluster I would expect in Dynatrace, however there is very little information metrics wise.

UPDATE:
Authentication clearly works, I am able to see MongoDB and the cluster I would expect in Dynatrace, however there is very little information metrics wise.

Hi, I am facing the same issue. How did you manage to get the plugin to work?
I also used Public Key as username and private key as Token and got "Error(could not convert string to float: 'None')"

UPDATE:
Authentication clearly works, I am able to see MongoDB and the cluster I would expect in Dynatrace, however there is very little information metrics wise.

Hi, I am facing the same issue. How did you manage to get the plugin to work?
I also used Public Key as username and private key as Token and got "Error(could not convert string to float: 'None')"

I moved from Dynatrace to New Relic and used their integration instead, Dynatrace offer a plugin you can pay for this 3rd party one is clearly not maintained.

I moved from Dynatrace to New Relic and used their integration instead, Dynatrace offer a plugin you can pay for this 3rd party one is clearly not maintained.

Ah ok thanks for letting me know. I managed to add a fix into the code (local copy).
The fix is to change this line in AtlasPlugin.py (in the root folder and the zip file) to dataPoints[-2]["value"]:
![image](https://user-images.githubusercontent.com/32074198/121845637-542bd500-cd18-11eb-8c0c-7d8ec2ba0968.png)

Dynatrace requires that the data be passed in as a number. This code is meant to change any "None" to 0 to avoid errors. It checks if the last or second last entry in the list has data. If not, it will return 0 instead of the value of the data itself (which may  be None). However, due to this error, the elif case where the last and second last entries are both None returns False, and dataPoints[-2]["value"] (None) is returned instead.
I will try to add in a merge request.


Latvia list of sanction

@atehe since this will be part of the core sanctions set I've made another edit. Maybe it's useful to have a look at the latest commits here: https://github.com/opensanctions/opensanctions/commits/14db4a367c46c6ff184b8480b4480f8e0397f58b/datasets/lv/fiu_sanctions/crawler.py

got it...
it is helpful


mobileBreakPoint not working

Hi,
I have this options:
$scope.signatureCanvasOptions = {
            margins: [5, 5],
            columns: 20,
            minRows: 100,
            maxRows: 100,
            pushing: true,
            floating: false,
            swapping: true,
            draggable: {
                handle: 'img'
            },
            defaultSizeX: 5,
            defaultSizeY: 10,
            isMobile: false,
            mobileBreakPoint: 200,
            mobileModeEnabled: true,
};

but in the end I always get the grid displayed as mobile. http://i.imgur.com/J3AJZCY.png
What am I doing wrong?

Hi,
I had the same problem and started debugging the gridster source.
search after
gridster.isMobile = gridster.mobileModeEnabled && gridster.curWidth <= gridster.mobileBreakPoint;
and the watch of gridster.isMobile.
Then set a breakpoint to this lines, now you can see the width of the container element. At some moments my container's width is under 200px. As result I got the mobile View.


Fixed Inappropriate Logical Expression (AIV-672)

Summary
This PR fixes a logical bug in your codebase related to Apache TVM.
Description
While triaging your project, our bug fixing tool generated the following message(s)-

In file: pytorch.py, method: tensor_split, a logical equality check operation was performed. The operands are such that the comparison operation always returns either true or false. Such logical short circuits in code lead to unintended behavior. iCR suggested that the logical operation should be reviewed for correctness.

Solution / Suggested Changes
This bug has already been fixed in the original apache/tvm repository. Since your project has an outdated version of the code, it's required that you fix the bug. This pull request contains the same fix used in the original repository.
CLA Requirements
This section is only relevant if your project requires contributors to sign a Contributor License Agreement (CLA) for external contributions.
All contributed commits are already automatically signed off.

The meaning of a signoff depends on the project, but it typically certifies that committer has the rights to submit this work under the same license and agrees to a Developer Certificate of Origin (see https://developercertificate.org/ for more information).
- Git Commit SignOff documentation

Sponsorship and Support
This work is done by the security researchers from OpenRefactory and is supported by the Open Source Security Foundation (OpenSSF): Project Alpha-Omega. Alpha-Omega is a project partnering with open source software project maintainers to systematically find new, as-yet-undiscovered vulnerabilities in open source code - and get them fixed – to improve global software supply chain security.
The bug is found by running the Intelligent Code Repair (iCR) tool by OpenRefactory and then manually triaging the results.

Thank you for your modify! It has been already merged.


Sub-actions listed under main actions are not organized sequentially according to their alphabetical character.

Describe the Bug with repro steps

Create a consumption logic app
Open designer
Add a trigger of your wish
Filet with in-app and add some actions.

Expected: Sub-actions listed under main actions should be organized sequentially according to their alphabetical character.
Actual: Sub-actions listed under main actions are not organized sequentially according to their alphabetical character.
What type of Logic App Is this happening in?
Consumption (Portal)
Which operating system are you using?
Windows
Are you using new designer or old designer
New Designer
Did you refer to the TSG before filing this issue? https://aka.ms/lauxtsg
Yes
Workflow JSON

Screenshots or Videos

Browser
Edge
Additional context
Version: 2.41028.1.6

Issue repro in latest portal test pass
Version: 0.2022.1.794

Issue repro in latest canary environment
Version: 0.2022.1.806

Issue repro in latest canary test pass
Version: 0.2022.1.811


Add support for verify peer.

Add logic to ConnectionHandler and support for verification options.

/azp run java - eventhubs -tests

/azp run java - eventhubs - tests

/azp run java - eventhubs - tests


Create Knight_travel.cpp

This is a good alternative implementation for this code. but needs to be updated per repo standards


Could somebody with write rights to the repo create a feature branch for focus fixes?

Tania, who is currently on vacation, asked me break all of the focus/hover/etc. style fixes into multiple PRs that I would merge incrementally over time into one base PR. (For rationale, please read the description of #1402 that I updated today.)
I was going to use #1402 as the base PR, but I realized that because #1402 is based off my fork, if I try to create new PRs based off of my fork, then those new PRs will only show up in my fork and not in this repo. Furthermore, I won't be able to take advantage of the CI and build processes (such as the Read the Docs preview build) that have been set up for this repo.
I think it's going to be critical to have Read the Docs previews in order to facilitate reviewing with @smeragoel the implementation of the designs.
So I'm thinking that it would be good if someone could create a feature branch on this repo which I can use as a base when creating PRs.
Alternatively, we could still go with #1402, but in that case I will need to make a long series of commits over time and will need reviewers to use the "review changes since my last review" feature to review and then re-review the PR multiple times over the course of this work before merging it in.
Does that make sense?

If I create a feature-focus branch from the current main is it ok for you ? Or should I make it start from a specific commit ?

From main would be perfect, thank you!

done: https://github.com/pydata/pydata-sphinx-theme/tree/feature-focus

Thank you, that's perfect. Now I can open a series of PRs, like #1545, against feature-focus, have them each reviewed independently of each other, then have the entire sweep of changes reviewed in one big PR merging feature-focus into main.


New Organized guide icons

Description
All icons on the website Organized guide have been updated.
Changed the placement of the search field.
Please delete options that are not relevant.

[x] This change requires a documentation update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

@mrtavor feel free to merge once you have completed the tasks. Thanks a lot!

Hey @ux-git! I haven't rights to merge in this repository 😅

@rhahao could you give @mrtavor the corresponding rights if that's OK?

@mrtavor: you now have permission to merge changes on this repo. Thank you.

Thanks @rhahao


Async run time

A prototype of an async runtime.
There's some issues with what appears to be the interprocess pipe disconnecting in some series_f1 tests but this could probably be worked around once #16 is finished.
series_f2 and series_f3 haven't been updated yet
a start towards #6

Codecov Report
Patch coverage: 67.58% and project coverage change: -4.70 :warning:

Comparison is base (469487a) 93.63% compared to head (b894544) 88.93%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #17      +/-   ##
==========================================
- Coverage   93.63%   88.93%   -4.70%
==========================================
  Files          18       18
  Lines        7902     7404     -498
==========================================
- Hits         7399     6585     -814
- Misses        503      819     +316

Impacted Files
Coverage Δ

cfdp-core/src/lib.rs
100.00% <ø> (ø)

cfdp-core/src/transaction/error.rs
0.00% <ø> (ø)

cfdp-core/src/transport.rs
0.00% <0.00%> (-42.06%)
:arrow_down:

cfdp-core/src/user.rs
0.00% <0.00%> (-88.47%)
:arrow_down:

cfdp-core/src/daemon.rs
62.65% <35.41%> (-14.26%)
:arrow_down:

cfdp-core/src/transaction/send.rs
90.81% <63.82%> (-7.66%)
:arrow_down:

cfdp-core/src/pdu.rs
94.16% <92.85%> (-0.92%)
:arrow_down:

cfdp-core/src/transaction/recv.rs
94.22% <94.73%> (-4.16%)
:arrow_down:

cfdp-core/src/pdu/ops.rs
97.13% <97.09%> (-0.40%)
:arrow_down:

cfdp-core/src/pdu/user_ops.rs
99.57% <99.27%> (-0.02%)
:arrow_down:

... and 11 more

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[Fix-10413] Fix Master startup failure the server still hang

Purpose of the pull request
close #10413
Brief change log
Add BaseDaemonThread as the base class for all thread used in DS.

Codecov Report

Merging #10500 (b616778) into dev (2c227ab) will decrease coverage by 0.01%.
The diff coverage is 30.15%.

@@             Coverage Diff              @@
##                dev   #10500      +/-   ##
============================================
- Coverage     40.86%   40.85%   -0.02%
  Complexity     4849     4849
============================================
  Files           886      887       +1
  Lines         36009    36041      +32
  Branches       3994     3998       +4
============================================
+ Hits          14716    14725       +9
- Misses        19835    19859      +24
+ Partials       1458     1457       -1

Impacted Files
Coverage Δ

...lphinscheduler/common/thread/BaseDaemonThread.java
0.00% <0.00%> (ø)

...ver/master/consumer/TaskPriorityQueueConsumer.java
0.00% <0.00%> (ø)

...ter/processor/queue/StateEventResponseService.java
0.00% <0.00%> (ø)

...uler/server/master/runner/EventExecuteService.java
0.00% <0.00%> (ø)

...er/server/master/runner/FailoverExecuteThread.java
0.00% <0.00%> (ø)

...r/server/master/runner/MasterSchedulerService.java
0.00% <0.00%> (ø)

.../server/master/runner/StateWheelExecuteThread.java
0.47% <0.00%> (-0.01%)
:arrow_down:

...inscheduler/plugin/task/zeppelin/ZeppelinTask.java
48.68% <34.37%> (-7.92%)
:arrow_down:

...erver/master/processor/queue/TaskEventService.java
60.78% <85.71%> (+1.60%)
:arrow_up:

...olphinscheduler/common/storage/StorageOperate.java
100.00% <100.00%> (ø)

... and 3 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 704e633...b616778. Read the comment docs.


GridItem Drag Handle

related to this:
https://github.com/jbaysolutions/vue-grid-layout/issues/16

How do you specify a drag handle, say I only want to be able to drag a GridItem by a specific area?

Check out this example: https://jbaysolutions.github.io/vue-grid-layout/examples/04-allow-ignore.html
You can view the source and css to check how it's done.

@gmsa that's perfect. Thank you!


[USE] Out of date

The overrides and cluster patterns are out of date with the latest override files. When can we expect a spec update?

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

ID: 194a6d3c-4137-46e9-3a4b-44b990200986
Version Independent ID: a0c8e788-5228-aa28-670e-3ba1ac3faecd
Content: Creating and supporting OpenType fonts for the Universal Shaping Engine - Typography
Content Source: typographydocs/script-development/use.md
Product: typography
GitHub Login: @Anglass
Microsoft Alias: anglass

Pushed updates for data files and overrides quoted in spec. Cluster updates for Egyptian will be done separaretly.


Lighting does not occur in the inventory with some blocks

This bug has been around for a while, but I haven't reported it out of lazines

For which version of Minecraft of the mod is this? I must have missed it not working.

luminous-no-shading-0.2.2+mc1.21.1

luminous-no-shading-0.2.2+mc1.21.1

Have you tried with this mod only, or this mod only + Sodium? I tested on actual instances and it's working fine. I'm not quite sure how it broke.

Well, then it must be a problem with my modpack. Could you tell me which mod from
this list is the problem? Higher versions also suffer from this
https://modrinth.com/modpack/bedrock-reloaded/version/18.0.0

I will try finding it.

I did some tests and realized that this bug only occurs with Bedrockify. I've tried disabling everything via the configuration screen but I'm not sure which option does it.

I've found the source of the problem/possible temporary fix! Just disable the mixin client.features.hudOpacity


chore: Update from '_rust/main' template

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 42.535%

Totals

Change from base Build<PHONE_NUMBER>1:
0.0%

Covered Lines:
245

Relevant Lines:
576

💛  - Coveralls


OAuth 2 Autoconfiguration 401 Error for preflight request

Summary
OAuth 2 Autoconfigurer doesn't take into account the preflight requests sent by browsers typically before requests with Authorization header.
Actual Behavior
The browser sends a request with method OPTIONS with some Access-Control-Allow-* headers. Even though the request has been set up for HTTP Basic authentication, this preflight request doesn't have this yet.
Because of this, Spring Security falsely responds with a 401 status and the message "access-denied"
Expected Behavior
The browser sends a request with method OPTIONS with some Access-Control-Allow-* headers. Even though the request has been set up for HTTP Basic authentication, this preflight request doesn't have this yet.
Spring Security realises that this is only a preflight request and responds with a status code of 200, allowing the browser to continue with the real request.
Configuration
The configuration comes from the org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure. More specifically, from class org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerSecurityConfiguration:89, where only the fullyAuthenticated option is passed and there is no exception set for when a preflight request arrives.
Version
The version is: org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.1.8.RELEASE
Sample
https://bitbucket.org/rolaca11/spring-security-sample/
In this project, the /rest/oauth/token resource should be queried.
I tried implementing a workaround, where I register a filter checking for preflight requests, which solves the immediate problem of these kinds of requests resulting in 401 Unauthorized status.
However, in order for it to have an effect, I need to set the highest precedence to the configuration bean. This, however, hijacks the request from the desired filter chain as well, resulting in all kinds of errors along the way, when the browser sends the real authentication request.

These kinds of workarounds are the reason this bug should be dealt with asap.
Because this filter makes the browser believe that any kind of request is available from everywhere, without any constraints, which is not true in the case of a well-configured server.
This makes preflight requests completely redundant and defeats the whole purpose altogether.
If one were to write the logic, where the response to preflight requests matches the actual configuration of the server, then it would be almost a complete duplicate of the already existing DefaultCorsProcessor, except for obviously setting the response status to 200.
Of course, one could override the currently available DefaultCorsProcessor, but I don't see a reason why wouldn't the original implementation include that logic in the first place.


Support forwardRef and Context in pretty-format

Summary
Supersedes https://github.com/facebook/jest/pull/6076 and adds support for formatting the new Context api. Naming for the Context components is up for grabs.
The PR also includes an upgrade of React since it's necessary to test. However once https://github.com/facebook/jest/pull/6090 is merged I can rebase this PR.
Test plan
Run tests and make sure they pass.

Other then a minor comment the code looks correct to me. Thanks!

This also needs a rebase 🙂

@camspiers @SimenB addressed all comments and rebased. Can squash if you want?

We squash on merge, so no worries there 🙂

Mind updating the changelog? At least Context should be mentioned 🙂

Codecov Report

Merging #6093 into master will increase coverage by 0.05%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #6093      +/-   ##
==========================================
+ Coverage    64.1%   64.16%   +0.05%
==========================================
  Files         217      217
  Lines        8335     8343       +8
  Branches        4        4
==========================================
+ Hits         5343     5353      +10
+ Misses       2991     2989       -2
  Partials        1        1

Impacted Files
Coverage Δ

...ackages/pretty-format/src/plugins/react_element.js
100% <100%> (+8%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4c75933...6654f3c. Read the comment docs.

@SimenB done


autumn cleaning

add build setup notes to readme
rework CI to use status-im/Nim and build cache
remove travis options, use single travis setup
fix licensing spacing / markdown
fix badge url's
fix deprecated isNil's
remove explicit nimcache setting

Awesome thanks!


fix Children() and add test

Codecov Report

Merging #159 (b85cee7) into ipa-stateless (c6ec2b6) will increase coverage by 1.73%.
The diff coverage is 100.00%.

@@                Coverage Diff                @@
##           ipa-stateless     #159      +/-   ##
=================================================
+ Coverage          86.84%   88.58%   +1.73%
=================================================
  Files                  9        9
  Lines                768      771       +3
=================================================
+ Hits                 667      683      +16
+ Misses                80       67      -13
  Partials              21       21

Impacted Files
Coverage Δ

stateless.go
84.61% <100.00%> (+7.01%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c6ec2b6...b85cee7. Read the comment docs.


Typescript: withIronSession does not extend req type to include session

I may be missing something, but as far as I can tell, withIronSession does not extend the req type to include req.session.
export const getServerSideProps: GetServerSideProps = withIronSession(
  async ({ req }: GetServerSidePropsContext) => {
    console.log('session', req.session.get('token'))
...

Here, Typescript will complain:
Property 'session' does not exist on type 'IncomingMessage & { cookies?: { [key: string]: any; }; }'.ts(2339)

I believe an approach similar to next-connect to allow passing the req type as a generic to extend the original type might work: https://github.com/hoangvvo/next-connect/blob/efd72ef77878fd0cc0c546c395d3cdbf20ede9fd/lib/index.d.ts#L34
The slightly tricky part is that withIronSession is designed to work with both API handlers and getServerSideProps so the arguments will be different. I'm not very familiar with adding types to JS, but I'll attempt it. Any hints would be appreciated!

Just reporting back, I was able to get rid of the error by simply removing the GetServerSidePropsContext type on the handler. It's now an any, which isn't ideal, but it unblocked me.

Just reporting back, I was able to get rid of the error by simply removing the GetServerSidePropsContext type on the handler. It's now an any, which isn't ideal, but it unblocked me.

Hey there, the approach from next-connect is great and I am all in to have something similar in next-iron-session.
I will accept any PR that provide such a feature, thanks!

Hey there! I put together a little PR for this... I'm pretty new to Typescript, so there's probably a better way to handle this, but it seems to make VSCode happy on my end.

For anyone else facing this issue, this is how I was able to fix it on my end:
import { Session, withIronSession } from "next-iron-session";

interface ExtendedRequest extends NextApiRequest {
  session: Session;
}

const handler = async (req: ExtendedRequest, res: NextApiResponse) => {}

export default withIronSession(handler, {
 ...options
});

Also you can do it like this
interface NextApiRequestWithSession extends NextApiRequest {
    session: Session;
}

export const withSession = (handler: (req: NextApiRequestWithSession, res: NextApiResponse) => void): any => (
    withIronSession(handler, {
        // options
    })
);

And then you will have your api route request/response typed without any additions
const handler = withSession(async (request, response): Promise<void> => {
    const { session } = request;
}

Fixed in 4.2.0, thanks!

Hey @vvo and @Vandivier, the pattern in the docs/example seems to work well in the API handlers, but getServerSideProps doesn't pass req, res args, instead it passes a context object with keys req and res. In my code I need to destructure those, making a union type like:
export type NextIronHandler =
  | ((req: NextIronRequest, res: NextApiResponse) => void | Promise<void>)
  | (({ req: NextIronRequest, res: NextApiResponse }) => void | Promise<void>);

Additionally, I typically want my getServerSideProps to return a Promise with an interface that matches the props for the page. Doesn't returning Promise<void> break that? Maybe we should implement a generic?
When I clone the example repo, I get these three errors in profile-ssr.tsx:
Type '{ props: { user?: undefined; }; }' is not assignable to type 'void'.
Property 'req' does not exist on type 'NextApiRequest & { session: Session; }'
Property 'res' does not exist on type 'NextApiRequest & { session: Session; }'

this implementation of a generic seems to cover my needs.
export type NextIronRequest = NextApiRequest & { session: Session };
export type NextIronHandler<T> =
  | ((req: NextIronRequest, res: NextApiResponse) => void | Promise<void>)
  | ((context: {
      req: NextIronRequest;
      res: NextApiResponse;
    }) => T | Promise<T>);

export function withSession<T>(handler: NextIronHandler<T>) {
// ...
}

@benhickson lgtm and pr'd here https://github.com/vvo/next-iron-session/pull/361


Enable more Aqua tests by solving piracy and ambiguities issues

Fixes #135
This PR is the main contribution to solve #135. But there are some others I will open in other packages, they are required to make everything work.
It removes all avoidable piracies and all direct ambiguities within the package. As a part of it I also addressed a TODO because otherwise some ambiguities were much difficult to solve: I changed all methods such as observable(refs::Tuple{Vararg{RegRef, N}}, obs, something=nothing; time) to observable(refs::Tuple{Vararg{RegRef, N}}, obs; something=nothing, time=nothing), which means that something is now a keyword argument of those functions. This is a minor breaking change so maybe it will require a new major version if we want to be strict about it.

[ ] The code is properly formatted and commented.
[ ] Substantial new functionality is documented within the docs.
[ ] All new functionality is tested.
[ ] All of the automated tests on github pass.
[ ] If formatting issues are reported in the new code you have written, please correct them.

Thank you, this is very much appreciated! A new breaking release is reasonable for the change you suggested.

I will try to address all formatting problems before you review it because I think that since all PRs are actually dependent from one another it is probably needed that everything is already in place and then you could dev all packages and see if everything works as expected (It should)

I'm not sure if there is a better methodology than this one, let me know if you have suggestions :-)
We will see green at the end of the tunnel

The SProjector warning in the doc builder is fixed in a separate PR.
Thanks for coordinating all these fixes! I have noted down this bounty and I will be sending you more details on how it will be processed at the end of the month (it will probably be a slow process, as it is managed through a non-profit -- on your end, you will be asked to fill out a form with payment details, but that is all the boilerplate you need to worry about).

Thanks @Krastanov for the help in passing CI tests.
Do I need to write an email to you at some address to help processing the request?

Yes, please just send along an email with your name and a link to the bounty. NumFocus will contact you directly to get the transfer information.


Review dotnet new documentation

https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-new

The person working on this should probably review the article as I have in the following PR when it's ready (it's still WIP):
#14356


Added common chart

Description of the change
Adds a common chart of reusable partials
Existing or Associated Issue(s)
#337
Checklist

[ ] Chart version bumped in Chart.yaml according to semver. Where applicable, update and bump the versions in any associated umbrella chart
[ ] Variables are documented in the values.yaml and added to the README.md. The helm-docs utility can be used to generate the necessary content. Use helm-docs --dry-run to preview the content.
[ ] JSON Schema generated.
[x] List tests pass for Chart using the Chart Testing tool and the ct lint command.

@cpanato @k4leung4 can you take a look and integrate?

@cpanato @k4leung4 can you take a look and integrate?

sorry taking too long, let me review this early next week