Fetch multiple api data in the MainActivity.

If I have to fetch data from three diffrent api in MainActivity.
Could I define three [State/Effect] in this architecture?
Because I need to update UI loading separately.
thx

If you wish to fetch from multiple sources then I will suggest you to have multiple FetchStatus in the same ViewState.
So it would be like:
data class MainViewState(val fetchStatusSourceOne: FetchStatus, val fetchStatusSourceTwo: FetchStatus, val fetchStatusSourceThree: FetchStatus, val newsList: List<NewsItem>)
Later, you can manage these properties based on your business logic.
Please let me know if you have any doubts.

Hi @RohitSurwase, as your answer above I have a question for u.
Do u mean :
data class MainViewState(val fetchStatusSourceOne: FetchStatus, val fetchStatusSourceTwo: FetchStatus, val fetchStatusSourceThree: FetchStatus, val newsList1: List<NewsItem1>, val newsList2: List<NewsItem2>, val newsList3: List<NewsItem3>)
Because when fragment re-create, I want my LiveData save old response.
As your code above, I have to call api to get data again because u have only one newList item.
Please help understand it clearly. Thanks so much


BC Wave 2 AL Visual Studio Code unable to reference Page Purchase Quote

Describe the bug
Unable to reference Page "Purchase Quote" in Visual Studio Code. I can reference other standard objects but only getting error when I try to reference Purchase Quote page.

To Reproduce
Steps and to reproduce the behavior:

Try to declare a variable in codeunit to refer to Page "Purchase Quote".

AL Code to reproduce the issue
Expected behavior
Able to reference Page "Purchase Quote" without errors showing up on Visual studio code.
Screenshots
If applicable, add screenshots to help explain your problem.
Dependencies set in app.json

downloaded symbols

5. Versions:

AL Language: 4.0.176004

Business Central:

Closed. There was another file created by colleague with the same object name and ID as the purchase quote page.


Newegg error with evga xc3 ultra

Description
[11:02:31 PM] info :: ��� [newegg] evga xc3 ultra 3080 IN STOCK ���
[11:02:31 PM] info :: https://www.newegg.com/evga-geforce-rtx-3080-10g-p5-3885-kr/p/N82E16814487520

seems to be an error, don't know if this will be temporary or if we should get a filter made for it, perhaps the product page is moving?
https://i.imgur.com/prQ8EVL.png
Possible solution
add new out of stock label
'sorry, we can\'t find this item. please check your item#'

Funny you mention this, I got this:

#207 has more logic for newegg

@geman220 I don't think that will fix the issue above where it gets added to cart for $0

@ethanspitz Yeah thats what shows on the add to cart page opened by the bot, but the screenshot is the image taken by the bot, I added that label to my local copy and its suppressed the false positives for now.
@geman220 Yeah I think you'll need another label for this error, the one I added in this issue solved it for me.

Ah wait, I think that PR should cover it with the perhaps we can get you started in one of these areas.

Actually, I take it back, the screenshot taken is this:

And I think that's covered by @geman220

Actually, I take it back, the screenshot taken is this:

And I think that's covered by @geman220

I am getting the screenshot of your first post still.

Actually, I take it back, the screenshot taken is this:

And I think that's covered by @geman220

I am getting the screenshot of your first post still.

My first post shows what you get when you click on the link that it sends. The screenshot here shows the screenshot the bot took to "prove" the card was "in stock"

Invert logic was implemented should stop these

Invert logic was implemented should stop these

Confirmed


[Bug]: No 'Filterable' option available to hide filter from dropdown in Tree/Multi Tree Select widget

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Provide 'Filterable' option in Tree & Multi Tree select widget to provide user a option to hide filter from dropdown. Since Filterable option is available in Select & Multi Select widget.
https://www.loom.com/share/8e2a4829f20f412f9ea8a558db4d70ca
Steps To Reproduce

Add Tree or Multi-Tree select widget
Observe there is no option of 'Filterable' in property pane like Select/Multi select widget

Public Sample App
No response
Version
Cloud/Production

Stats

Stat
Values

Reach
447

Effort (months)
0.5


update README with actual example

seems like the "project" property is recently added, and missing from the example.

provide abstract of the format
provide detailed real-life example

Brilliant, thanks @ahmadnassri


Understanding raaghu design system [Storybook]

1.Understanding of raaghu design system
2.Share user experience

Missing actions for below components.

Order Confirmation

Admin Dashboard: Currently, we are displaying a static dashboard, so no actions are being added. However, to implement this dashboard, we need actions. This will make it easier for developers to implement components.

Api Scope Basic Resource : Cancel button action missing

Api Resource Basic : Cancel button action missing

Element Avatar
Issue: for dark theme With Initial story does not display label

document list of data types  for  datatable component
because base on datatype  need to pass values in tabledata arrary

for button need to save text as user enter, currently button label display in upper case only

Add multiple badges in datatable column

functionality for Delete/Edit column for Datatable


Need to merge to main but different histories exist

Dear Wang,
The git histories have diverged. Accordingly, I have had to fork the repo to RUM and do some development there. My fork is descended from the dev branch.
I suggest you make the dev branch the main branch now otherwise we will get a lot of merge conflicts. I will email you about this. The RUM fork is here: https://github.com/ReallyUsefulModels/ASDM

This is no longer relevant


add decade search

when the user searches for a decade, results should return stories that  their years in the range

added:b0c91cfc8ed633034a9b529e0b17043ac6f2794a


Update README installation instructions to use nightly-2022-05-16 (#306)

Closes https://github.com/rust-lang/rust-semverver/issues/306
Also we should encourage use of the nightly install for CI to achieve better stability.

@bors r+

:pushpin: Commit 22097905ed80fcfedf7da95571d46e4e3627c77c has been approved by JohnTitor

:hourglass: Testing commit 22097905ed80fcfedf7da95571d46e4e3627c77c with merge e638bd3a048c7814df8597dbf035ed9366b16e81...

:sunny: Test successful - checks-actions
Approved by: JohnTitor
Pushing e638bd3a048c7814df8597dbf035ed9366b16e81 to master...


Accessibility: A VSCode window is causing screen readers to hang due to IAccessible::get_accName() hanging.

Does this issue occur when all extensions are disabled?: Unknown - When I restart vscode the issue no longer occurs generally, so difficult to test if it occurs when all extensions are disabled using code --disable-extensions.

VS Code Version:
OS Version:

Steps to Reproduce:
The issue occurs when the IAccessible's name is queried for a VSCode setup window. The window has:

Caption: "Setup"
WindowClass: "TApplication"
ProcessName: "CodeSetup-stable-5437499feb04f7a586f677b155b039bc2b3669eb.tmp"
ProcessPath: "C:\Users<user>\AppData\Local\Temp\is-3F2PH.tmp\CodeSetup-stable-5437499feb04f7a586f677b155b039bc2b3669eb.tmp"

I have little understanding where and when processes in the temporary directory would be launched, but I anticipate launching such a process would allow this bug to be reproducible.

The process is responsible for VSCode application updates on windows. Can you share the steps which you used to confirm that the hang is happening inside IAccessible::get_accName

Hi, for me specifically, I'm using VBA and found this issue while developing this Accessibility inspector.
FWIW to replicate, in VBA:
Dim desktop as stdAcc: set desktop = stdAcc.CreateFromDesktop()
Dim child as stdAcc
For each child in desktop.children
  With stdWindow.CreateFromHwnd(child.hwnd)
    debug.print .caption, .class
    With stdProcess.CreateFromProcessID(.ProcessID)
      debug.print .name, .path
    End with
  end with
  debug.print child.name
next

So to be fair, it might not be fault of IAccessible::get_accName, but possibly IDispatch::Invoke on this object. But it would be unusual for these to be implemented with great variability, and none of the other methods on the IDispatch have any issue, just extracting the name, so it rather does imply it's a fault with this method.

Think this was closed in error?


[Teleporter] - Allow for areas/objects that are not valid teleport targets

This should prevent teleporting to certain locations and also for play space falling (e.g. if you put your head over a table, then don't stand on the table)
I think a dumb script is the best solution rather than using tags as tags are too limiting.
Need to check if you can add a script to multiple objects at the same time (otherwise it will be a laborious task)

Completed with a36dd7fc8ee1cd8fd703cb4ef24cec7e91915904


Auto lock smartnode collaterals after sync completes.

When performing a full sync, smartnode collateral transactions are not locked when the sync completes.  The problem is that during initialization, those transactions are locked - but we have not synced the transactions, yet, so they are not locked.
I have added a one-time re-lock of collateral transactions when the sync completes.

Fixes #272


refactor: first batch of landing page improvements

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR type

[ ] Bugfix
[ ] Feature
[x] Refactoring

What's new?

[x] PR closes #474
[x] first batch of improvements. this will require lots if increments

Before submitting Pull Request, please make sure:

[ ] My contribution builds clean without any errors or warnings
[ ] I've merged recent default branch -- main and I've no conflicts
[ ] I've tried to respect high code quality standards
[ ] I've didn't break any original functionality
[ ] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </rmrk/collection/26902bc2f7c20c546a-1FVG7>
[ ] I've tested PR on mobile and everything seems works
[ ] I found edge cases
[ ] I've written some unit tests 🧪

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[ ] Are you at KodaDot Discord?

Screenshot

[ ] My fix has changed something on UI; a screenshot is best to understand changes for others.

What improvements inside 😜

What improvements inside 😜

no legacy js, lazy imports of landing page components, modern image formats & fixed sizes, few seo & a11y stuff

@yangwao wrote a list of all iterations that will have to be made to improve pagespeed https://github.com/kodadot/nft-gallery/issues/2816

I've tested this meanwhile and found improvements!
Let's merge this tho! :)

pay 200 usd

😍 Perfect, I’ve sent the payout
💵 $200 @ 155.81 USD/KSM ~ 1.284 $KSM
🧗 EqdyzrzVmeHwMdMwvPeCMnNdbuQDbD3YrjY93xq9Ln3jUGW
🔗 0x4f6ee9b467d40c2681471a6681245984c30789de8a3ef13b7aeaddde1a48884b
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


[C++] Allow FieldPath to work with ListElement

FieldRef::FromDotPath can parse a single list element field. ie. {}'path.to.list[0]{`}but does not work in practice. Failing with:
struct_field: cannot subscript field of type list<....>
Being able to add a slice or multiple list elements is not within the scope of this issue.
Reporter: Miles Granger / @milesgranger
Assignee: Miles Granger / @milesgranger
PRs and other links:

GitHub Pull Request #14697

Note: This issue was originally created as ARROW-18265. Please see the migration documentation for further details.

FieldPath::Get(list_array) would return the child data for the list array, IE the undelimited list values. This is disallowed in scalar expressions because it results in a column whose length is entirely unrelated to the lengths of sibling columns. Consider projecting .s, .l[0] from Table.from_pydict({"s": ["a", "b"], "l": [[1,2,3], [4,5,6]]}); we can't do that just as we can't do Table.from_pydict({".s": ["a", "b"], ".l[0]": [1,2,3,4,5,6]}). It might be desirable to let pyarrow's field reference mechanism be more flexible (as in substrait) and implicitly replace a path like .l[0:1] with a call to list_slice or similar. However that should be a python API decision and should not propagate to the C++ library, where it's important that using FieldPath::Get be consistently performant


Add isNewDataVisCert property

Issue Description
On the user object, we will need both a isDataVisCert and an isNewDataVisCert property.
isDataVisCert should refer to what we will call the "Legacy Data Visualization Certificate" and is isNewDataVisCert should refer to the "Data Visualization Certificate".
Browser Information

Browser Name, Version:
Operating System:
Mobile, Desktop, or Tablet:

Your Code

Screenshot

This is already the case, we are missing the routes.
Refer discussion on https://github.com/freeCodeCamp/freeCodeCamp/issues/16246#issuecomment-353406672

Hi guys,
I can offer to decorate the existing description of Data Vis Cert with a (Legacy) and put a commented out button for the new one in. Once you have the route that is an easy fix.
code or it didn't happen:
if isDataVisCert                         .button-spacer                         a.btn.btn-primary.btn-block(href='/' + username + '/data-visualization-certification') View My Data Visualization Certification (Legacy)                     //- if isNewDataVisCert                         .button-spacer                         a.btn.btn-primary.btn-block(href='/' + username + '/data-visualization-certification') View My Data Visualization Certification

@cpheimbach this issue is about something else, please proceed with the original thread instead. Also we would not need any commented code, which can be added later.

@QuincyLarson @jonathan-grah
Just to add that the Cert PR has some significant changes to the backend code which needed QA before a merge, I was hoping to do so, but I guess we went ahead with the merge.
This is fine since we are pressing for shipping beta, but I sincerely advice from my experience that we should not let the UAT(user acceptance test) fall behind.
The last thing we want is users complaining X is not working, Y is broken, and then doing hot-fixes etc.
While a PR is open all the QA that goes into is actual contribution work in checking that the original contributor did not unknowingly miss out on something.

That is why, we want to have 2-3 sets of eyes at the code, which is of huge impact.

P.S:
Please take this in good faith and me speaking frankly as a Dev for a quite a bit now, I am not trying to complain or being mean, I love all of the hard work done by everyone here, and hence would like to see that its reaches to fruition with our users appreciating it rather than complaining (which is easy ironically), when we fall short.

Hey, this will be addressed in an upcoming pull request. Thanks for the report 👍


Make Sensors 6211/1.1 , 6211/1.2, 6211/2.1, 6211/2.2, 6251/0.4, 6221/2.0 available as Switches

Make Sensors available as Switches - so that I can use a Sensor switch as a Switch in Homekit to be able to control other Homekit Devices

To make a new accessory available in the plugin I'd need the function ID and the list of input and output datapoints with their pairing IDs.

@pgerke can you provide a quick guide on where/how to get that info?

@korneliuscode I have started to create a guide here, hope it helps!

@korneliuscode I have started to create a guide here, hope it helps!

This is great. Thanks a lot. I just posted one on the other issue.

Also here the
6211/1.1
Switch_1_1_response_1672577386034.json.txt
6211/2.2
Switch_2_2_response_1672577458845.json.txt

@korneliuscode Moved here from #30:
@pgerke thanks for the guide! Here are the 2 snippets
6251/0.4:
{
  "00000000-0000-0000-0000-000000000000": {
    "devices": {
      "XXXXXXX": {
        "interface": "TP",
        "displayName": "Switch actuator, 4gang, 16 A, MDRC",
        "unresponsive": false,
        "channels": {
          "ch0000": {
            "floor": "01",
            "room": "01",
            "displayName": "Tor 1",
            "functionID": "45",
            "inputs": {
              "idp0001": {
                "pairingID": 2,
                "value": "1"
              },
              "idp0003": {
                "pairingID": 4,
                "value": "0"
              }
            },
            "outputs": {}
          },
          "ch0001": {
            "floor": "01",
            "room": "01",
            "displayName": "Tor 2",
            "functionID": "45",
            "inputs": {
              "idp0001": {
                "pairingID": 2,
                "value": "1"
              },
              "idp0003": {
                "pairingID": 4,
                "value": "0"
              }
            },
            "outputs": {}
          },
          "ch0002": {
            "displayName": "Ⓒ",
            "functionID": "7",
            "inputs": {
              "idp0000": {
                "pairingID": 1,
                "value": "0"
              },
              "idp0001": {
                "pairingID": 2,
                "value": "0"
              },
              "idp0002": {
                "pairingID": 3,
                "value": "0"
              },
              "idp0003": {
                "pairingID": 4,
                "value": "0"
              },
              "idp0004": {
                "pairingID": 6,
                "value": "0"
              }
            },
            "outputs": {
              "odp0000": {
                "pairingID": 256,
                "value": "0"
              },
              "odp0001": {
                "pairingID": 257,
                "value": "0"
              },
              "odp0004": {
                "pairingID": 273,
                "value": "0"
              }
            }
          },
          "ch0003": {
            "displayName": "Ⓓ",
            "functionID": "7",
            "inputs": {
              "idp0000": {
                "pairingID": 1,
                "value": "0"
              },
              "idp0001": {
                "pairingID": 2,
                "value": "0"
              },
              "idp0002": {
                "pairingID": 3,
                "value": "0"
              },
              "idp0003": {
                "pairingID": 4,
                "value": "0"
              },
              "idp0004": {
                "pairingID": 6,
                "value": "0"
              }
            },
            "outputs": {
              "odp0000": {
                "pairingID": 256,
                "value": "0"
              },
              "odp0001": {
                "pairingID": 257,
                "value": "0"
              },
              "odp0004": {
                "pairingID": 273,
                "value": "0"
              }
            }
          }
        }
      }
    }
  }
}

And the wall mounted sensor unit 6221/2.0 which actually triggers it
{
  "00000000-0000-0000-0000-000000000000": {
    "devices": {
      "YYYYYYYYYYY": {
        "floor": "01",
        "room": "01",
        "interface": "TP",
        "displayName": "Schalter Zentral ",
        "unresponsive": false,
        "channels": {
          "ch0001": {
            "displayName": "Schalter Zentral ",
            "functionID": "6",
            "inputs": {
              "idp0005": {
                "pairingID": 273,
                "value": "0"
              },
              "idp000b": {
                "pairingID": 278,
                "value": "0"
              },
              "idp000c": {
                "pairingID": 18,
                "value": "1"
              }
            },
            "outputs": {
              "odp0007": {
                "pairingID": 4,
                "value": "0"
              }
            }
          },
          "ch0002": {
            "displayName": "Schalter Zentral ",
            "functionID": "6",
            "inputs": {},
            "outputs": {
              "odp0007": {
                "pairingID": 4,
                "value": "0"
              }
            }
          },
          "ch0004": {
            "displayName": "Schalter Zentral ",
            "functionID": "4",
            "inputs": {
              "idp0000": {
                "pairingID": 256,
                "value": "0"
              },
              "idp0005": {
                "pairingID": 273,
                "value": "0"
              },
              "idp0006": {
                "pairingID": 261,
                "value": "0"
              },
              "idp000b": {
                "pairingID": 278,
                "value": "0"
              },
              "idp000c": {
                "pairingID": 18,
                "value": "1"
              }
            },
            "outputs": {
              "odp0005": {
                "pairingID": 2,
                "value": "1"
              },
              "odp0007": {
                "pairingID": 4,
                "value": "0"
              }
            }
          },
          "ch0005": {
            "displayName": "Schalter Zentral ",
            "functionID": "4",
            "inputs": {
              "idp0000": {
                "pairingID": 256,
                "value": "0"
              },
              "idp0006": {
                "pairingID": 261,
                "value": "0"
              }
            },
            "outputs": {
              "odp0005": {
                "pairingID": 2,
                "value": "1"
              },
              "odp0007": {
                "pairingID": 4,
                "value": "0"
              }
            }
          }
        }
      }
    }
  }
}

@pgerke Do you want to build a pre package including the recent changes for testing?

No problem, here you go v1.5.0-pre.4 😉

Great thank you. The bridge shows the right number of devices. But the list only shows 51 in HomeKit (instead of 68). Is there any Limitation in HomeKit for device types?

If there is a limitation, it is not the issue here. I have over a hundred devices connected to my productive Homebridge instance and it's working without issue. I'd start troubleshooting with a restart of the Home App. I've also made a habit of closing the Home App while I install updates, because I have the impression that having the app open while devices are being recognized causes issues, but I don't have any reliable data on that one. Good luck! 🤞

I figured it out. The devices are added to the Standardraum, but you have to go in that room to see them at the bottom. Turns out the new equipment needs a home central. Do you know anything about that?

I figured it out. The devices are added to the Standardraum, but you have to go in that room to see them at the bottom. Turns out the new equipment needs a home central. Do you know anything about that?

I was not aware of the restriction, but it kinda makes sense. The sensors are only useful, if you use them as a trigger for actions. Without a permanently available control center, there might not be a device present at home that can trigger the action. Additional information is available with Apple: https://support.apple.com/de-de/HT207057

Yesterday I created the new accessories for the FID_STAIRCASE_LIGHT_SENSOR (FID 4), the FID_SCENE_SENSOR (FID 6) and the FID_TRIGGER (FID 45). Devices are detected correctly in Apple Home, but the SysAP is not sending a signal when I trigger the sensor. I can see in my monitor and in the System Access Point analysis tool that the scenes and the involved devices are activated as expected, but no message is sent for the scene controller. The same is true for the staircase light sensor. For the FID_TRIGGER I can't say as I don't have a device with that FID in my setup.
I'd rather not change the scope of the ticket, so I'll probably add the accessories as experimentally supported. Maybe B+J changes the behavior in a firmware update in the future.

Support for scene sensors is included in preview version v1.5.0-pre.6.


Request: Predict disk full before sync job

Can rclone predict there wont be enough storage to download all the files form source?
Cron run a sync job every house, from server to local hd, and if by mistake I let the server files grow more than what fits into the local HD, a whole day of cron jobs will result in lots of wa$ted data u$age in the s3 service, because it will always start sync, download a buch of data, exits in error whem disk gets full, liberate some extra free space when temp files are gone, and get ready to start again and again each hour...
Maybe the best I can do is a bash script to compare rclone --size result .vs the output of "df" command?
Thank you!

Unfortunately rclone doesn't know how much disk it needs until it has done the sync.
It would have to do a pre-pass which would slow things down, rather like using --delete-before.

Just going through and cleaning some older items up.
I'm not sure this would be something inside rclone as like rsync, things like that happen with a pre check or something along those lines. The bane of many things is running out of disk space.
I would think it's best to close this out as it's normally handled with a pre check or something along those lines and that can be done with script or something.
@nagualcode  - good to close this out?


(docs) Release: 2.24.8

Looks like the docs and main branches need to be merged into the release branch


filter should return a new OrderedDictionary, not an array of Key-Value pairs

When calling filter on an unordered Dictionary, you receive a new Dictionary, but oddly, when calling filter on an OrderedDictionary, you receive an array of tuples. I think it would be better to receive a new OrderedDictionary instead. It would also be good to have a new filtered method as well that filters in place.

Thanks again for reporting this feature request. In version 4.0, which is about to be released soon, your desired functionality for filter(_:) is already available. Check it out on the branch v4.0 (#69) or wait a few days till the version is officially released.


[feat]: [CDS-75221]: Update docs for gitBranch selection

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?
Updating the docs with gitBranch selection changes

[ ] Issue
[ ] Feature
[X] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


bower link does not work in Windows

Windows 7 -- npm link works.  bower link does not.  Is this fixable?

FYI, we've just encountered the situation described by @martypitt in https://github.com/bower/bower/issues/472#issuecomment-39978174
We've had the same exact problem, using node 0.10.40. This is fixed when using node 0.12.7.


windowing of 4D images

When a 4D image is opened, it seems like the windowing (right mouse button window drawing for contrast adjustment) is always performed on the first echo/timepoint.
Steps to reproduce:
Open this link: https://niivue.github.io/niivue-vscode/?images=https://korbinian90.github.io/Shared_Data/test4D.nii.gz
Select View -> Multiplanar + Time Series
Test: Windowing works fine on first timepoint
Problem: Selecting a later time point, the windowing does not work

I will investigate. This is particularly relevant for DWI scans, where the b=0 volumes have a lot more signal than the b-weighted volumes.

@neurolabusc , and @korbinian90, perhaps we should add the 4th dimension here in calculateNewRange. And use the .frame4d property as the offset so we calculate hi and lo from the specific volume in the time series.

I noticed as well that when first opening a 4D image with the intensity reducing over the 4th dimension, the first volume is scaled too bright. Probably it calculates the scaling from all the 4D data.
Would your approach help in that case as well @hanayik?
Would it make sense to store one scaling per 3D volume? But that might make it overly complicated..

@korbinian90 I believe that the intensity is scaled based on the first volume. If the first volume is much brighter than the subsequent ones, it is likely one of two reasons that are inherent to the MR sequences:

for 4D MRI timeseries the first volume appears brighter than subsequent volumes due to T1 relaxation effects. On some scanners, you can adjust the number of dummy volumes acquired before volumes are stored to minimize this effect.
For DWI images, most sequences start with a b=0 volume, with subsequent volumes using b-weighting. The b=0 volumes always have a lot more signal than b-weighted images.

@neurolabusc I still think the image is scaled based on all 4D data and not only the first 3D volume. You can test it here: https://niivue.github.io/niivue-vscode/?images=https://korbinian90.github.io/Shared_Data/test4D.nii.gz
This is just a gradient image getting larger for later time points. When opening, the first 3D volume is quite dark. It's intensity goes from 1 to 32, but it is scaled to about the range [2;120]. The last time point goes up to 128, so that is why I think the whole 4D volume is used for scaling.
Maybe this does make sense? With that scaling, all 3D volumes can be viewed somewhat fine without needing rescaling.

@korbinian90 you are correct, the current algorithm uses all loaded voxels to calculate the robust range. I do think there will be edge cases where using values from one or all volumes will be better.
const nVox = this.img.length

My thought is that we update the function calMinMax() to be calMinMax(vol: number = 0) where vol defines the volume used for calculation (indexed from zero) and a negative value uses voxels from all volumes for the calculation. I do think for most use cases, it is good to keep the same contrast/brightness (window width/center) across volumes to see relative changes in intensity, with callbacks allowing a way to deal with special use cases.


Suggested fixes for #252

These are the two changes necessary to fix the issues presented in #252 .
I've tested the changes in the cut-up code I was sent, but not in this fork. However, both changes are fairly insignificant, so I don't foresee any unexpected problems.

I can confirm that this builds on linux with CUDA 9.0, and all of the visualisations examples run and look unchanged.
Partitioning-based console examples also all run, however I've not checked outputs are consistent with before. Should also check this behaves as intended on windows to be sure.

Some notes for reference on the hashing system used:
The hash for a bin is simply computed based on the location within the 3D grid, with some very simple logic for torroidal wrapping/clamping.
For a given point in the world space, the bin index for each dimension is calculated as floor((position - min_bounds) * bin_width) where bin_width = dimensions / (max_bounds - min_bounds).
This is performed for each dimension, and a final global index is calcualated from the x/y/z indices and the grid dimensions.
As of @Robadob's change above, the grid dimensions are calculated from round(max - min / radius) per dimension. I.e how many times does the radius divide into the width of the environment. The resulting value is an integer so round seems like the best choice to filter out an floating point noise (such as 12.0000...1 rounding up to 13, or 11.99999... rounding down to 11).
Then to ensure that the environment is specified correctly at compile time the XSLT has to be modified agree with the C runtime implementation, as it appears there are potential floating point differences.
In the XSLT, the number of bins required is calculated as floor(max - min / rad) although round would be more consistent.
I've modified the XSLT checks to now deal with this successfully. I'm going to merge this PR into a new branch, add my change, and then construct a new PR.


Pre-requisites

[X] I have double-checked my configuration
[X] I have tested with the :latest image tag (i.e. quay.io/argoproj/workflow-controller:latest) and can confirm the issue still exists on :latest. If not, I have explained why, in detail, in my description below.
[X] I have searched existing issues and could not find a match for this bug
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened? What did you expect to happen?
When Karpenter deletes some pods, for any reason, some workflows are stuck to finish some tasks, but other retry tasks work fine, and all steps are concluded successfully.

Version(s)
v3.5.10
Paste a minimal workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
I do not have a workflow to reproduce this, but I will add my workflow because sometimes it generates this problem.

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  annotations:
    workflows.argoproj.io/pod-name-format: v2
  creationTimestamp: "2024-09-07T01:31:42Z"
  generateName: workflow-prd-
  generation: 18
  labels:
    events.argoproj.io/action-timestamp: "1725672702586"
    events.argoproj.io/sensor: prd-sensor
    events.argoproj.io/trigger: workflow
    workflows.argoproj.io/completed: "false"
    workflows.argoproj.io/phase: Running
  name: workflow-prd-rtxg7
  namespace: argo-events
  resourceVersion: "447108296"
  uid: 547dc794-cad3-42db-925d-81a722ab5862
spec:
  activeDeadlineSeconds: 57600
  arguments:
    artifacts:
    - name: video
      path: /tmp/workdir/encoder/video
      s3:
        accessKeySecret:
          key: AWS_ACCESSKEY
          name: xxx-secrets
        bucket: private-videos-xxx
        endpoint: s3.amazonaws.com
        key: xxx/xxx.mov
        region: us-east-1
        secretKeySecret:
          key: AWS_SECRETKEY
          name: xxx-secrets
    parameters:
    - name: id
      value: xxx
    - name: url
      value: xxx/xxx.mov
    - name: store_id
      value: xxx
    - name: created_date
      value: 2024/09/07
    - name: s3
      valueFrom:
        configMapKeyRef:
          key: s3
          name: xxx
    - name: admin_url
      valueFrom:
        configMapKeyRef:
          key: admin_url
          name: xxx
    - name: admin_token
      valueFrom:
        configMapKeyRef:
          key: admin_token
          name: xxx
    - name: bucket_input
      valueFrom:
        configMapKeyRef:
          key: bucket_input
          name: xxx
    - name: bucket_output
      valueFrom:
        configMapKeyRef:
          key: bucket_output
          name: xxx
    - name: bucket_assets
      valueFrom:
        configMapKeyRef:
          key: bucket_assets
          name: xxx
  entrypoint: main
  nodeSelector:
    type: video-encoding-gpu
  onExit: exit-handler
  podGC:
    strategy: OnWorkflowSuccess
  podMetadata:
    annotations:
      karpenter.sh/do-not-evict: "true"
      sidecar.istio.io/inject: "false"
  priority: 1000
  serviceAccountName: operate-workflow-sa
  templates:
  - containerSet:
      containers:
      - command:
        - task
        - curl:metadata
        - INPUT_FILE=/tmp/workdir/encoder/video
        image: ghcr.io/xxx/xxx:xxx
        imagePullPolicy: IfNotPresent
        name: metadata
        resources: {}
      - command:
        - task
        - curl:post-metadata
        - ADMIN_URL={{workflow.parameters.admin_url}}
        - ADMIN_TOKEN={{workflow.parameters.admin_token}}
        - VIDEO_ID={{workflow.parameters.id}}
        - WORKFLOW_NAME={{workflow.name}}
        dependencies:
        - metadata
        image: ghcr.io/xxx/xxx:xxx
        imagePullPolicy: IfNotPresent
        name: send-metadata
        resources: {}
      - command:
        - task
        - gpu:process-video
        - VIDEO_ID={{workflow.parameters.id}}
        - INPUT_FILE=/tmp/workdir/encoder/video
        dependencies:
        - metadata
        - send-metadata
        image: ghcr.io/xxx/xxx:xxx
        imagePullPolicy: IfNotPresent
        name: main
        resources:
          limits:
            nvidia.com/gpu: "1"
          requests:
            cpu: "1"
            memory: 2Gi
      volumeMounts:
      - mountPath: /tmp
        name: shared-data
    inputs:
      artifacts:
      - name: video
        path: /tmp/workdir/encoder/video
    metadata: {}
    name: main
    outputs:
      artifacts:
      - archive:
          none: {}
        name: encoded
        path: /tmp/workdir/encoder/output/
        s3:
          accessKeySecret:
            key: AWS_ACCESSKEY
            name: xxx-secrets
          bucket: '{{workflow.parameters.bucket_output}}'
          endpoint: s3.amazonaws.com
          key: '{{workflow.parameters.store_id}}/{{workflow.parameters.created_date}}/{{workflow.parameters.id}}/'
          region: us-east-1
          secretKeySecret:
            key: AWS_SECRETKEY
            name: xxx-secrets
      - archive:
          none: {}
        name: thumbnail
        path: /tmp/workdir/encoder/output/thumbnail.png
        s3:
          accessKeySecret:
            key: AWS_ACCESSKEY
            name: xxx-secrets
          bucket: '{{workflow.parameters.bucket_assets}}'
          endpoint: s3.amazonaws.com
          key: '{{workflow.parameters.store_id}}/{{workflow.parameters.created_date}}/{{workflow.parameters.id}}/thumbnail.png'
          region: us-east-1
          secretKeySecret:
            key: AWS_SECRETKEY
            name: xxx-secrets
    retryStrategy:
      limit: 3
      retryPolicy: Always
    volumes:
    - emptyDir: {}
      name: shared-data
  - inputs: {}
    metadata: {}
    name: exit-handler
    outputs: {}
    retryStrategy:
      limit: 3
      retryPolicy: Always
    steps:
    - - arguments: {}
        name: output-webservice
        template: output-webservice
        when: '{{workflow.status}} == Succeeded'
    - - arguments: {}
        name: output-webservice-fail
        template: output-webservice-fail
        when: '{{workflow.status}} != Succeeded'
  - container:
      command:
      - task
      - curl:post-success
      - ADMIN_URL={{workflow.parameters.admin_url}}
      - ADMIN_TOKEN={{inputs.parameters.admin_token}}
      - VIDEO_ID={{workflow.parameters.id}}
      - WORKFLOW_STATUS={{workflow.status}}
      - S3_URL={{inputs.parameters.s3}}
      - STORE_ID={{inputs.parameters.store_id}}
      - CREATED_DATE={{inputs.parameters.created_date}}
      - WORKFLOW_NAME={{workflow.name}}
      image: ghcr.io/xxx/xxx:xxx
      imagePullPolicy: IfNotPresent
      name: ""
      resources:
        limits:
          cpu: 250m
          memory: 128Mi
        requests:
          cpu: 250m
          memory: 128Mi
    inputs:
      parameters:
      - name: id
        value: '{{workflow.parameters.id}}'
      - name: s3
        value: '{{workflow.parameters.s3}}'
      - name: store_id
        value: '{{workflow.parameters.store_id}}'
      - name: created_date
        value: '{{workflow.parameters.created_date}}'
      - name: admin_url
        value: '{{workflow.parameters.admin_url}}'
      - name: admin_token
        value: '{{workflow.parameters.admin_token}}'
    metadata: {}
    name: output-webservice
    outputs: {}
    retryStrategy:
      limit: 3
      retryPolicy: Always
  - container:
      command:
      - task
      - curl:post-fail
      - ADMIN_URL={{workflow.parameters.admin_url}}
      - ADMIN_TOKEN={{inputs.parameters.admin_token}}
      - VIDEO_ID={{workflow.parameters.id}}
      - WORKFLOW_STATUS={{workflow.status}}
      - WORKFLOW_NAME={{workflow.name}}
      - WORKFLOW_FAILURES={{workflow.failures}}
      image: ghcr.io/xxx/xxx:xxx
      imagePullPolicy: IfNotPresent
      name: ""
      resources:
        limits:
          cpu: 250m
          memory: 128Mi
        requests:
          cpu: 250m
          memory: 128Mi
    inputs:
      parameters:
      - name: id
        value: '{{workflow.parameters.id}}'
      - name: admin_url
        value: '{{workflow.parameters.admin_url}}'
      - name: admin_token
        value: '{{workflow.parameters.admin_token}}'
    metadata: {}
    name: output-webservice-fail
    outputs: {}
    retryStrategy:
      limit: 3
      retryPolicy: Always
  tolerations:
  - effect: NoSchedule
    key: nvidia.com/gpu
    operator: Exists
  ttlStrategy:
    secondsAfterCompletion: 86400
    secondsAfterSuccess: 600
status:
  artifactGCStatus:
    notSpecified: true
  artifactRepositoryRef:
    artifactRepository: {}
    default: true
  conditions:
  - status: "False"
    type: PodRunning
  finishedAt: null
  nodes:
    workflow-prd-rtxg7:
      children:
      - workflow-prd-rtxg7-2709112089
      - workflow-prd-rtxg7-3313253468
      - workflow-prd-rtxg7-628393143
      displayName: workflow-prd-rtxg7
      finishedAt: "2024-09-07T02:45:15Z"
      id: workflow-prd-rtxg7
      inputs:
        artifacts:
        - name: video
          path: /tmp/workdir/encoder/video
          s3:
            accessKeySecret:
              key: AWS_ACCESSKEY
              name: xxx-secrets
            bucket: private-videos-xxx
            endpoint: s3.amazonaws.com
            key: xxx/xxx.mov
            region: us-east-1
            secretKeySecret:
              key: AWS_SECRETKEY
              name: xxx-secrets
      name: workflow-prd-rtxg7
      outputs:
        artifacts:
        - archive:
            none: {}
          name: encoded
          path: /tmp/workdir/encoder/output
          s3:
            accessKeySecret:
              key: AWS_ACCESSKEY
              name: xxx-secrets
            bucket: encoded-private-videos-xxx
            endpoint: s3.amazonaws.com
            key: xxx/2024/09/07/xxx/
            region: us-east-1
            secretKeySecret:
              key: AWS_SECRETKEY
              name: xxx-secrets
        - archive:
            none: {}
          name: thumbnail
          path: /tmp/workdir/encoder/output/thumbnail.png
          s3:
            accessKeySecret:
              key: AWS_ACCESSKEY
              name: xxx-secrets
            bucket: aws-assets.xxx.com.br
            endpoint: s3.amazonaws.com
            key: xxx/2024/09/07/xxx/thumbnail.png
            region: us-east-1
            secretKeySecret:
              key: AWS_SECRETKEY
              name: xxx-secrets
        exitCode: "0"
      phase: Succeeded
      progress: 8/12
      resourcesDuration:
        cpu: 1266
        memory: 24105
        nvidia.com/gpu: 1091
      startedAt: "2024-09-07T01:31:42Z"
      templateName: main
      templateScope: local/workflow-prd-rtxg7
      type: Retry
    workflow-prd-rtxg7-84590815:
      boundaryID: workflow-prd-rtxg7-3313253468
      displayName: main
      finishedAt: null
      id: workflow-prd-rtxg7-84590815
      name: workflow-prd-rtxg7(1).main
      nodeFlag:
        retried: true
      phase: Running
      progress: 0/1
      startedAt: "2024-09-07T01:58:09Z"
      templateName: main
      templateScope: local/workflow-prd-rtxg7
      type: Container
    workflow-prd-rtxg7-551559445:
      boundaryID: workflow-prd-rtxg7-2551220284
      children:
      - workflow-prd-rtxg7-1126995188
      displayName: output-webservice
      finishedAt: "2024-09-07T02:45:35Z"
      id: workflow-prd-rtxg7-551559445
      inputs:
        parameters:
        - name: id
          value: xxx
        - name: s3
          value: xxx
        - name: store_id
          value: xxx
        - name: created_date
          value: 2024/09/07
        - name: admin_url
          value: xxx
        - name: admin_token
          value: xxx
      name: workflow-prd-rtxg7.onExit(0)[0].output-webservice
      outputs:
        exitCode: "0"
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 0
        memory: 3
      startedAt: "2024-09-07T02:45:15Z"
      templateName: output-webservice
      templateScope: local/workflow-prd-rtxg7
      type: Retry
    workflow-prd-rtxg7-557627667:
      boundaryID: workflow-prd-rtxg7-2709112089
      children:
      - workflow-prd-rtxg7-739033112
      displayName: send-metadata
      finishedAt: "2024-09-07T01:44:16Z"
      id: workflow-prd-rtxg7-557627667
      name: workflow-prd-rtxg7(0).send-metadata
      nodeFlag:
        retried: true
      phase: Succeeded
      progress: 1/1
      startedAt: "2024-09-07T01:31:42Z"
      templateName: main
      templateScope: local/workflow-prd-rtxg7
      type: Container
    workflow-prd-rtxg7-628393143:
      children:
      - workflow-prd-rtxg7-690519366
      displayName: workflow-prd-rtxg7(2)
      finishedAt: "2024-09-07T02:45:05Z"
      hostNodeName: ip-192-168-126-197.ec2.internal
      id: workflow-prd-rtxg7-628393143
      inputs:
        artifacts:
        - name: video
          path: /tmp/workdir/encoder/video
          s3:
            accessKeySecret:
              key: AWS_ACCESSKEY
              name: xxx-secrets
            bucket: private-videos-xxx
            endpoint: s3.amazonaws.com
            key: xxx/xxx.mov
            region: us-east-1
            secretKeySecret:
              key: AWS_SECRETKEY
              name: xxx-secrets
      name: workflow-prd-rtxg7(2)
      nodeFlag:
        retried: true
      outputs:
        artifacts:
        - archive:
            none: {}
          name: encoded
          path: /tmp/workdir/encoder/output
          s3:
            accessKeySecret:
              key: AWS_ACCESSKEY
              name: xxx-secrets
            bucket: encoded-private-videos-xxx
            endpoint: s3.amazonaws.com
            key: xxx/2024/09/07/xxx/
            region: us-east-1
            secretKeySecret:
              key: AWS_SECRETKEY
              name: xxx-secrets
        - archive:
            none: {}
          name: thumbnail
          path: /tmp/workdir/encoder/output/thumbnail.png
          s3:
            accessKeySecret:
              key: AWS_ACCESSKEY
              name: xxx-secrets
            bucket: aws-assets.xxx.com.br
            endpoint: s3.amazonaws.com
            key: xxx/2024/09/07/xxx/thumbnail.png
            region: us-east-1
            secretKeySecret:
              key: AWS_SECRETKEY
              name: xxx-secrets
        exitCode: "0"
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 1266
        memory: 24105
        nvidia.com/gpu: 1091
      startedAt: "2024-09-07T02:15:33Z"
      templateName: main
      templateScope: local/workflow-prd-rtxg7
      type: Pod
    workflow-prd-rtxg7-690519366:
      boundaryID: workflow-prd-rtxg7-628393143
      children:
      - workflow-prd-rtxg7-3967091189
      - workflow-prd-rtxg7-3304477658
      displayName: metadata
      finishedAt: "2024-09-07T02:23:12Z"
      id: workflow-prd-rtxg7-690519366
      name: workflow-prd-rtxg7(2).metadata
      nodeFlag:
        retried: true
      phase: Succeeded
      progress: 1/1
      startedAt: "2024-09-07T02:15:34Z"
      templateName: main
      templateScope: local/workflow-prd-rtxg7
      type: Container
    workflow-prd-rtxg7-735488931:
      boundaryID: workflow-prd-rtxg7-2551220284
      displayName: output-webservice-fail
      finishedAt: "2024-09-07T02:45:35Z"
      id: workflow-prd-rtxg7-735488931
      message: when 'Succeeded != Succeeded' evaluated false
      name: workflow-prd-rtxg7.onExit(0)[1].output-webservice-fail
      nodeFlag: {}
      phase: Skipped
      startedAt: "2024-09-07T02:45:35Z"
      templateName: output-webservice-fail
      templateScope: local/workflow-prd-rtxg7
      type: Skipped
    workflow-prd-rtxg7-739033112:
      boundaryID: workflow-prd-rtxg7-2709112089
      displayName: main
      finishedAt: null
      id: workflow-prd-rtxg7-739033112
      name: workflow-prd-rtxg7(0).main
      nodeFlag:
        retried: true
      phase: Running
      progress: 0/1
      startedAt: "2024-09-07T01:31:42Z"
      templateName: main
      templateScope: local/workflow-prd-rtxg7
      type: Container
    workflow-prd-rtxg7-1126995188:
      boundaryID: workflow-prd-rtxg7-2551220284
      children:
      - workflow-prd-rtxg7-3113700083
      displayName: output-webservice(0)
      finishedAt: "2024-09-07T02:45:19Z"
      hostNodeName: ip-192-168-112-175.ec2.internal
      id: workflow-prd-rtxg7-1126995188
      inputs:
        parameters:
        - name: id
          value: xxx
        - name: s3
          value: xxx
        - name: store_id
          value: xxx
        - name: created_date
          value: 2024/09/07
        - name: admin_url
          value: xxx
        - name: admin_token
          value: xxx
      name: workflow-prd-rtxg7.onExit(0)[0].output-webservice(0)
      nodeFlag:
        retried: true
      outputs:
        exitCode: "0"
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 0
        memory: 3
      startedAt: "2024-09-07T02:45:15Z"
      templateName: output-webservice
      templateScope: local/workflow-prd-rtxg7
      type: Pod
    workflow-prd-rtxg7-1377720750:
      boundaryID: workflow-prd-rtxg7-3313253468
      children:
      - workflow-prd-rtxg7-84590815
      displayName: send-metadata
      finishedAt: "2024-09-07T02:05:16Z"
      id: workflow-prd-rtxg7-1377720750
      name: workflow-prd-rtxg7(1).send-metadata
      nodeFlag:
        retried: true
      phase: Succeeded
      progress: 1/1
      startedAt: "2024-09-07T01:58:09Z"
      templateName: main
      templateScope: local/workflow-prd-rtxg7
      type: Container
    workflow-prd-rtxg7-2107293206:
      boundaryID: workflow-prd-rtxg7-2551220284
      children:
      - workflow-prd-rtxg7-551559445
      displayName: '[0]'
      finishedAt: "2024-09-07T02:45:35Z"
      id: workflow-prd-rtxg7-2107293206
      name: workflow-prd-rtxg7.onExit(0)[0]
      nodeFlag: {}
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 0
        memory: 3
      startedAt: "2024-09-07T02:45:15Z"
      templateScope: local/workflow-prd-rtxg7
      type: StepGroup
    workflow-prd-rtxg7-2551220284:
      children:
      - workflow-prd-rtxg7-2107293206
      displayName: workflow-prd-rtxg7.onExit(0)
      finishedAt: "2024-09-07T02:45:35Z"
      id: workflow-prd-rtxg7-2551220284
      name: workflow-prd-rtxg7.onExit(0)
      nodeFlag:
        hooked: true
        retried: true
      outboundNodes:
      - workflow-prd-rtxg7-735488931
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 0
        memory: 3
      startedAt: "2024-09-07T02:45:15Z"
      templateName: exit-handler
      templateScope: local/workflow-prd-rtxg7
      type: Steps
    workflow-prd-rtxg7-2709112089:
      children:
      - workflow-prd-rtxg7-2938595856
      displayName: workflow-prd-rtxg7(0)
      finishedAt: "2024-09-07T01:58:09Z"
      hostNodeName: ip-192-168-58-98.ec2.internal
      id: workflow-prd-rtxg7-2709112089
      inputs:
        artifacts:
        - name: video
          path: /tmp/workdir/encoder/video
          s3:
            accessKeySecret:
              key: AWS_ACCESSKEY
              name: xxx-secrets
            bucket: private-videos-xxx
            endpoint: s3.amazonaws.com
            key: xxx/xxx.mov
            region: us-east-1
            secretKeySecret:
              key: AWS_SECRETKEY
              name: xxx-secrets
      message: pod deleted
      name: workflow-prd-rtxg7(0)
      nodeFlag:
        retried: true
      phase: Error
      progress: 0/1
      startedAt: "2024-09-07T01:31:42Z"
      templateName: main
      templateScope: local/workflow-prd-rtxg7
      type: Pod
    workflow-prd-rtxg7-2938595856:
      boundaryID: workflow-prd-rtxg7-2709112089
      children:
      - workflow-prd-rtxg7-557627667
      - workflow-prd-rtxg7-739033112
      displayName: metadata
      finishedAt: "2024-09-07T01:44:16Z"
      id: workflow-prd-rtxg7-2938595856
      message: container deleted
      name: workflow-prd-rtxg7(0).metadata
      nodeFlag:
        retried: true
      phase: Error
      progress: 1/1
      startedAt: "2024-09-07T01:31:42Z"
      templateName: main
      templateScope: local/workflow-prd-rtxg7
      type: Container
    workflow-prd-rtxg7-3113700083:
      boundaryID: workflow-prd-rtxg7-2551220284
      children:
      - workflow-prd-rtxg7-735488931
      displayName: '[1]'
      finishedAt: "2024-09-07T02:45:35Z"
      id: workflow-prd-rtxg7-3113700083
      name: workflow-prd-rtxg7.onExit(0)[1]
      nodeFlag: {}
      phase: Succeeded
      startedAt: "2024-09-07T02:45:35Z"
      templateScope: local/workflow-prd-rtxg7
      type: StepGroup
    workflow-prd-rtxg7-3304477658:
      boundaryID: workflow-prd-rtxg7-628393143
      displayName: main
      finishedAt: "2024-09-07T02:41:29Z"
      id: workflow-prd-rtxg7-3304477658
      name: workflow-prd-rtxg7(2).main
      nodeFlag:
        retried: true
      phase: Succeeded
      progress: 1/1
      startedAt: "2024-09-07T02:15:34Z"
      templateName: main
      templateScope: local/workflow-prd-rtxg7
      type: Container
    workflow-prd-rtxg7-3313253468:
      children:
      - workflow-prd-rtxg7-3707296787
      displayName: workflow-prd-rtxg7(1)
      finishedAt: "2024-09-07T02:15:33Z"
      hostNodeName: ip-192-168-138-131.ec2.internal
      id: workflow-prd-rtxg7-3313253468
      inputs:
        artifacts:
        - name: video
          path: /tmp/workdir/encoder/video
          s3:
            accessKeySecret:
              key: AWS_ACCESSKEY
              name: xxx-secrets
            bucket: private-videos-xxx
            endpoint: s3.amazonaws.com
            key: xxx/xxx.mov
            region: us-east-1
            secretKeySecret:
              key: AWS_SECRETKEY
              name: xxx-secrets
      message: pod deleted
      name: workflow-prd-rtxg7(1)
      nodeFlag:
        retried: true
      outputs:
        artifacts:
        - archive:
            none: {}
          name: encoded
          path: /tmp/workdir/encoder/output
          s3:
            accessKeySecret:
              key: AWS_ACCESSKEY
              name: xxx-secrets
            bucket: encoded-private-videos-xxx
            endpoint: s3.amazonaws.com
            key: xxx/2024/09/07/xxx/
            region: us-east-1
            secretKeySecret:
              key: AWS_SECRETKEY
              name: xxx-secrets
      phase: Error
      progress: 0/1
      startedAt: "2024-09-07T01:58:09Z"
      templateName: main
      templateScope: local/workflow-prd-rtxg7
      type: Pod
    workflow-prd-rtxg7-3707296787:
      boundaryID: workflow-prd-rtxg7-3313253468
      children:
      - workflow-prd-rtxg7-1377720750
      - workflow-prd-rtxg7-84590815
      displayName: metadata
      finishedAt: "2024-09-07T02:05:16Z"
      id: workflow-prd-rtxg7-3707296787
      message: container deleted
      name: workflow-prd-rtxg7(1).metadata
      nodeFlag:
        retried: true
      phase: Error
      progress: 1/1
      startedAt: "2024-09-07T01:58:09Z"
      templateName: main
      templateScope: local/workflow-prd-rtxg7
      type: Container
    workflow-prd-rtxg7-3967091189:
      boundaryID: workflow-prd-rtxg7-628393143
      children:
      - workflow-prd-rtxg7-3304477658
      displayName: send-metadata
      finishedAt: "2024-09-07T02:23:12Z"
      id: workflow-prd-rtxg7-3967091189
      name: workflow-prd-rtxg7(2).send-metadata
      nodeFlag:
        retried: true
      phase: Succeeded
      progress: 1/1
      startedAt: "2024-09-07T02:15:34Z"
      templateName: main
      templateScope: local/workflow-prd-rtxg7
      type: Container
    workflow-prd-rtxg7-4242541933:
      children:
      - workflow-prd-rtxg7-2551220284
      displayName: workflow-prd-rtxg7.onExit
      finishedAt: "2024-09-07T02:45:35Z"
      id: workflow-prd-rtxg7-4242541933
      name: workflow-prd-rtxg7.onExit
      nodeFlag:
        hooked: true
        retried: true
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 0
        memory: 3
      startedAt: "2024-09-07T02:45:15Z"
      templateName: exit-handler
      templateScope: local/workflow-prd-rtxg7
      type: Retry
  phase: Running
  progress: 9/13
  resourcesDuration:
    cpu: 1266
    memory: 24108
    nvidia.com/gpu: 1091
  startedAt: "2024-09-07T01:31:42Z"
  taskResultsCompletionStatus:
    workflow-prd-rtxg7-628393143: true
    workflow-prd-rtxg7-1126995188: true
    workflow-prd-rtxg7-2709112089: false
    workflow-prd-rtxg7-3313253468: true

apiVersion: argoproj.io/v1alpha1
kind: WorkflowTaskResult
metadata:
  creationTimestamp: "2024-09-07T01:44:06Z"
  generation: 1
  labels:
    workflows.argoproj.io/report-outputs-completed: "false"
    workflows.argoproj.io/workflow: workflow-prd-rtxg7
  name: workflow-prd-rtxg7-2709112089
  namespace: argo-events
  ownerReferences:
  - apiVersion: argoproj.io/v1alpha1
    kind: Workflow
    name: workflow-prd-rtxg7
    uid: 547dc794-cad3-42db-925d-81a722ab5862
  resourceVersion: "447050878"
  uid: adc06355-8c06-4419-83bc-dbf995ffbfc8

Logs from the workflow controller
Date,Host,Service,Message

"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-4242541933 finished: 2024-09-07 02:45:35.480724864 +0000 UTC"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-4242541933 phase Running -> Succeeded"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-2551220284 finished: 2024-09-07 02:45:35.480515074 +0000 UTC"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-2551220284 phase Running -> Succeeded"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Outbound nodes of workflow-prd-rtxg7-2551220284 is [workflow-prd-rtxg7-735488931]"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Outbound nodes of workflow-prd-rtxg7-735488931 is [workflow-prd-rtxg7-735488931]"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-3113700083 finished: 2024-09-07 02:45:35.480457821 +0000 UTC"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-3113700083 phase Running -> Succeeded"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Step group node workflow-prd-rtxg7-3113700083 successful"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Skipped node workflow-prd-rtxg7-735488931 initialized Skipped (message: when 'Succeeded != Succeeded' evaluated false)"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Skipping workflow-prd-rtxg7.onExit(0)[1].output-webservice-fail: when 'Succeeded != Succeeded' evaluated false"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","SG Outbound nodes of workflow-prd-rtxg7-551559445 are [workflow-prd-rtxg7-1126995188]"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","StepGroup node workflow-prd-rtxg7-3113700083 initialized Running"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-2107293206 finished: 2024-09-07 02:45:35.480245778 +0000 UTC"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-2107293206 phase Running -> Succeeded"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Step group node workflow-prd-rtxg7-2107293206 successful"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-551559445 finished: 2024-09-07 02:45:35.480187016 +0000 UTC"
"2024-09-07T02:45:36.444Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-551559445 phase Running -> Succeeded"
"2024-09-07T02:45:25.436Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Workflow step group node workflow-prd-rtxg7-2107293206 not yet completed"
"2024-09-07T02:45:16.430Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Workflow step group node workflow-prd-rtxg7-2107293206 not yet completed"
"2024-09-07T02:45:16.430Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Created pod: workflow-prd-rtxg7.onExit(0)[0].output-webservice(0) (workflow-prd-rtxg7-output-webservice-1126995188)"
"2024-09-07T02:45:15.430Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Pod node workflow-prd-rtxg7-1126995188 initialized Pending"
"2024-09-07T02:45:15.430Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Retry node workflow-prd-rtxg7-551559445 initialized Running"
"2024-09-07T02:45:15.430Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","StepGroup node workflow-prd-rtxg7-2107293206 initialized Running"
"2024-09-07T02:45:15.430Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Steps node workflow-prd-rtxg7-2551220284 initialized Running"
"2024-09-07T02:45:15.430Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Retry node workflow-prd-rtxg7-4242541933 initialized Running"
"2024-09-07T02:45:15.430Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7 finished: 2024-09-07 02:45:15.409869022 +0000 UTC"
"2024-09-07T02:45:15.430Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7 phase Running -> Succeeded"
"2024-09-07T02:41:59.305Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","https://<IP_ADDRESS>:443/api/v1/namespaces/argo-events/pods/workflow-prd-rtxg7-main-628393143/exec?command=%2Fvar%2Frun%2Fargo%2Fargoexec&command=kill&command=9&command=1&container=wait&stderr=true&stdout=true&tty=false"
"2024-09-07T02:41:29.286Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","https://<IP_ADDRESS>:443/api/v1/namespaces/argo-events/pods/workflow-prd-rtxg7-main-628393143/exec?command=%2Fvar%2Frun%2Fargo%2Fargoexec&command=kill&command=15&command=1&container=wait&stderr=true&stdout=true&tty=false"
"2024-09-07T02:41:29.286Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-3304477658 finished: 2024-09-07 02:41:29.168297419 +0000 UTC"
"2024-09-07T02:41:29.286Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-3304477658 phase Running -> Succeeded"
"2024-09-07T02:23:13.585Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-3967091189 finished: 2024-09-07 02:23:12.709613811 +0000 UTC"
"2024-09-07T02:23:13.585Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-3967091189 phase Pending -> Succeeded"
"2024-09-07T02:23:13.585Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-690519366 finished: 2024-09-07 02:23:12.709578336 +0000 UTC"
"2024-09-07T02:23:13.585Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-690519366 phase Pending -> Succeeded"
"2024-09-07T02:23:13.585Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-3304477658 phase Pending -> Running"
"2024-09-07T02:15:34.266Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Container node workflow-prd-rtxg7-3304477658 initialized Pending"
"2024-09-07T02:15:34.266Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Container node workflow-prd-rtxg7-3967091189 initialized Pending"
"2024-09-07T02:15:34.266Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Container node workflow-prd-rtxg7-690519366 initialized Pending"
"2024-09-07T02:15:34.266Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Created pod: workflow-prd-rtxg7(2) (workflow-prd-rtxg7-main-628393143)"
"2024-09-07T02:15:34.266Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Pod node workflow-prd-rtxg7-628393143 initialized Pending"
"2024-09-07T02:15:34.266Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","2 child nodes of workflow-prd-rtxg7 failed. Trying again..."
"2024-09-07T02:15:34.266Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-3707296787 message: container deleted"
"2024-09-07T02:15:34.266Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-3707296787 phase Succeeded -> Error"
"2024-09-07T02:15:34.266Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-3313253468 finished: 2024-09-07 02:15:33.995197612 +0000 UTC"
"2024-09-07T02:15:34.266Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-3313253468 message: pod deleted"
"2024-09-07T02:15:34.266Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-3313253468 phase Running -> Error"
"2024-09-07T02:05:16.883Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-1377720750 finished: 2024-09-07 02:05:16.864322776 +0000 UTC"
"2024-09-07T02:05:16.883Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-1377720750 phase Pending -> Succeeded"
"2024-09-07T02:05:16.883Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-3707296787 finished: 2024-09-07 02:05:16.864289972 +0000 UTC"
"2024-09-07T02:05:16.883Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-3707296787 phase Pending -> Succeeded"
"2024-09-07T02:05:16.883Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-84590815 phase Pending -> Running"
"2024-09-07T01:58:09.606Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Container node workflow-prd-rtxg7-84590815 initialized Pending"
"2024-09-07T01:58:09.606Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Container node workflow-prd-rtxg7-1377720750 initialized Pending"
"2024-09-07T01:58:09.606Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Container node workflow-prd-rtxg7-3707296787 initialized Pending"
"2024-09-07T01:58:09.606Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Created pod: workflow-prd-rtxg7(1) (workflow-prd-rtxg7-main-3313253468)"
"2024-09-07T01:58:09.606Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Pod node workflow-prd-rtxg7-3313253468 initialized Pending"
"2024-09-07T01:58:09.606Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","1 child nodes of workflow-prd-rtxg7 failed. Trying again..."
"2024-09-07T01:58:09.606Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-2938595856 message: container deleted"
"2024-09-07T01:58:09.606Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-2938595856 phase Succeeded -> Error"
"2024-09-07T01:58:09.606Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-2709112089 finished: 2024-09-07 01:58:09.332721721 +0000 UTC"
"2024-09-07T01:58:09.606Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-2709112089 message: pod deleted"
"2024-09-07T01:58:09.606Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-2709112089 phase Running -> Error"
"2024-09-07T01:44:17.022Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-557627667 finished: 2024-09-07 01:44:16.025250924 +0000 UTC"
"2024-09-07T01:44:17.022Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-557627667 phase Pending -> Succeeded"
"2024-09-07T01:44:17.022Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-2938595856 finished: 2024-09-07 01:44:16.025207837 +0000 UTC"
"2024-09-07T01:44:17.022Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-2938595856 phase Pending -> Succeeded"
"2024-09-07T01:44:17.022Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","node workflow-prd-rtxg7-739033112 phase Pending -> Running"
"2024-09-07T01:38:01.787Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Created pod: workflow-prd-rtxg7(0) (workflow-prd-rtxg7-main-2709112089)"
"2024-09-07T01:31:43.549Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Container node workflow-prd-rtxg7-739033112 initialized Pending"
"2024-09-07T01:31:43.549Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Container node workflow-prd-rtxg7-557627667 initialized Pending"
"2024-09-07T01:31:43.549Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Container node workflow-prd-rtxg7-2938595856 initialized Pending"
"2024-09-07T01:31:43.549Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Created pod: workflow-prd-rtxg7(0) (workflow-prd-rtxg7-main-2709112089)"
"2024-09-07T01:31:43.549Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Pod node workflow-prd-rtxg7-2709112089 initialized Pending"
"2024-09-07T01:31:43.549Z","""ip-192-168-151-91.ec2.internal-xxx-prd""","""workflow-controller""","Retry node workflow-prd-rtxg7 initialized Running"

Logs from in your workflow's wait container
The wait task runs normally and finishes all steps execution.

@templarfelix would you be able to confirm if you can replicate this off main?

Is the failure message of this pod "pod deleted"? I have encountered the situation where kcm cleans up the pod before.

@templarfelix would you be able to confirm if you can replicate this off main?
Would you be able to sync with me on this? I am free later tonight AEDT time if that works? This should be fix in mainline thanks to https://github.com/argoproj/argo-workflows/blob/main/workflow/controller/taskresult.go#L89

Sorry, I didn't read this message,
I have this problem in multiple argo-workflow versions.

@templarfelix I don't think the fix has been released on any version yet, if you try the latest HEAD it should be fixed.


Polars backend for Augment fourier

Solves one task from #77
Finally I found a workaround not to update ts_summary with polars for now, as it was not that trivial to do. I will try to do it next. But I wanted to separate both tasks.
Normally it should work as expected. I also added some tests.

I will try to see if I can improve the speed of the cal_fourier function. I think we can do better

I think I found a way to speedup the calc_fourier. I removed the three for loops and I compute 2 * np.pi * term * x only once with a numpy matrix multiplication. With 2 orders and 2 periods, it reduces the computation time from 2.3 ms to 1.38 ms according to my experiments. I will package it and push it later today :)

Excellent!

Hey, I wanted to get the preliminary merge complete. I noticed there were a few merge conflicts since @JustinKurland did some work on reducing memory usage.

Great, sorry I did not have much time I will do my best to deliver faster


fix(redis): logging

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


How to fill blank space when using widgets of different height in the same row?

As you can see, the second widget in the first row is twice the size of the first, creating a blank space. Is it possible to fill that space?
Column(
      children: [
        Expanded(
          child: SingleChildScrollView(
            child: ResponsiveDesignGridDebugOverlay(
              child: ResponsiveDesignGrid(
                children: [
                  ResponsiveDesignGridRow(
                    alignment: DesignGridRowAlignment.center,
                    children: [
                      ResponsiveDesignGridItem(
                        columns: const ResponsiveDesignGridColumns(
                          small: 12,
                          medium: 10,
                          large: 6,
                        ),
                        child: SalesOverview()
                      ),
                      const ResponsiveDesignGridItem(
                        columns: ResponsiveDesignGridColumns(
                          small: 12,
                          medium: 10,
                          large: 6,
                        ),
                        child: RecentSalesContainer() //this widgt has twice the height of the first item in the row, creating the blank space
                      ),
                      //I would like to insert these two widgets in the blank space
                      const ResponsiveDesignGridItem(
                        columns: ResponsiveDesignGridColumns(
                          small: 12,
                          medium: 10,
                          large: 3,
                        ),
                        child: DashboardChartContainer()
                      ),
                      const ResponsiveDesignGridItem(
                        columns: ResponsiveDesignGridColumns(
                          small: 12,
                          medium: 10,
                          large: 3,
                        ),
                        child: UploadInfoContainer(),
                      ),
                    ],
                  ),
                ],
              ),
            ),
          ),
        ),
      ],
  );

Hi @Wizzel1!
First off: If you want scrolling, I recommend you use ResponsiveDesignGrid.listView constructor instead of wrapping everything with a SingleChildScrollView, which is notoriously bad for performance :)
Regarding your issue, you could wrap the content of the smaller height item with a column and include more widgets there, or, use another ResponsiveDesignGrid inside the smaller height item, where you can then insert rows.
Column(
      children: [
        Expanded(
          child: SingleChildScrollView(
            child: ResponsiveDesignGridDebugOverlay(
              child: ResponsiveDesignGrid(
                children: [
                  ResponsiveDesignGridRow(
                    alignment: DesignGridRowAlignment.center,
                    children: [
                      ResponsiveDesignGridItem(
                        columns: const ResponsiveDesignGridColumns(
                          small: 12,
                          medium: 10,
                          large: 6,
                        ),
                        child: ResponsiveDesignGrid(
                           children: [
                              .. create a row for your sales widget and another for "Today" and "upload info" widgets :)
                           ],
                        ),
                      ),
                      const ResponsiveDesignGridItem(
                        columns: ResponsiveDesignGridColumns(
                          small: 12,
                          medium: 10,
                          large: 6,
                        ),
                        child: RecentSalesContainer() //this widgt has twice the height of the first item in the row, creating the blank space
                      ),
                      //I would like to insert these two widgets in the blank space
                      const ResponsiveDesignGridItem(
                        columns: ResponsiveDesignGridColumns(
                          small: 12,
                          medium: 10,
                          large: 3,
                        ),
                        child: DashboardChartContainer()
                      ),
                      const ResponsiveDesignGridItem(
                        columns: ResponsiveDesignGridColumns(
                          small: 12,
                          medium: 10,
                          large: 3,
                        ),
                        child: UploadInfoContainer(),
                      ),
                    ],
                  ),
                ],
              ),
            ),
          ),
        ),
      ],
  );

Thanks @inf0rmatix that worked!
However I noticed a few things:

Using the ResponsiveDesignGrid.listView cuts off the shadows of my cards (see screenshots) is there a way to fix that?

Nesting the ResponsiveDesignGrid means that  items of the second grid must use double the columns that they would in the parent grid. I assume this is intended because a new grid means that the available space gets divided by 12 columns, just wanted to clarify that.

Hey! Right now nested grids divide the space again.
If you find this to be a problem, I'd be more than happy to review your changes in a PR :)
Cutting the shadows is no desired behavior, maybe you want to look into that. Most likely there might be an issue with the clipping configuration.

Okay but how do I change the clipping behavior of ResponsiveDesignGrid.listView ? The clippingBehavior on the cards are set to .none


High CPU usage

When the screen saver is running, the cpu of my Macbook is running really hot (over 94 degrees celcius) so the fans keep spinning at a high rpm. My Macbook is a mid 2015 retina, 2.2GHz i7, integrated graphics only.

ok great!


Update lua-version to 5.4.6 from 5.1.5

This is an interesting one. The reason we went with 5.1.5 is because NeoVim only works with 5.1.x. See https://github.com/neovim/neovim/wiki/FAQ#why-lua-51-instead-of-lua-53
@MikeFultonDev One option is to create a lua51port or we can add support for multiple stable releases


TST: spatial.qhull: skip a test on 32-bit platforms

Test is (apparently) numerically unstable and is reported to fail on 32-bit systems. Intends to close gh-6101.
Note that a part of this test is already skipped on 32-bit platforms.
It would be good to get to the bottom of the failure at some point: is it really a limitation of an upstream QHull, or is it a test which is too optimistic. I'll open a separate ticket for this.
EDIT: gh-6348

LGTM, thanks Evgeni.


Search: Include orgs in Algolia index

The backend work for adding ORGANIZATION collectives to the search index: https://github.com/opencollective/frontend/pull/417
Also:

attempts to not index collectives with slugs suffixed with "_old"

Coverage remained the same at 71.677% when pulling edb1b482fc0b5f54c9a6d990474a2cba1bdf26bd on org-search into 98f985f44a80c2e6e789cfb04f4bf65ce195f069 on master.


Landlock support on Linux

Landlock is a Linux security module that was inspired in part by OpenBSD Pledge. It is simpler than seccomp. Here is a patch for GNU Tar that uses Landlock to add sandboxing as an example: https://lists.gnu.org/archive/html/bug-tar/2021-04/msg00002.html
It was just merged into the linux-next tree and should be released in Linux 5.13.

I'm happy to see that landlock was merged!  Adding support for it is something that's definitely in my TODO list.  At the moment I'm working on some other things that I planned for the 1.7 so maybe for the release after :)

It took me a while to find the time, but I've finally started to implement some landlock rules!
I've pushed some commits in the feature/landlock branch and I'm planning to tag a minor release in the following days, then merge it into the master branch.
If someone wants to help, please review the diff and/or run the regression test on various different kernel versions/libc implementations (even pre-5.13 to ensure that it doesn't break on older kernels) and report back your findings.  Thanks!

I've merged the feature/landlock branch into the master, it'll be available in the next major release! :tada:


all: replace gopkg.in/check.v1 with shim

testutils: remove PrivilegedCheck
Now that check.C embeds testing.T we don't need separate testutils anymore.
This shows how we can introduce helpers that are available from both testing
and check style tests.

Signed-off-by: Lorenz Bauer<EMAIL_ADDRESS>
docs: explain how to migrate from gocheck
Remove outdated documentation relating to gocheck and explain how existing
tests can be translated from gocheck to testing.

Signed-off-by: Lorenz Bauer<EMAIL_ADDRESS>
all: replace gopkg.in/check.v1 with shim
There are a lot of tests in the codebase which use gopkg.in/check.v1, which
hasn't seen an update in the last three years. A while back it was decided
that we'd migrate away from the package and instead use plain old stdlib
testing.

In practice things aren't so simple. We have so many tests that migrating
them in one fell swoop is impossible. At the same time, the API exposed by
check is entirely incompatible with testing. It's not possible to write a
helper function which works for both check and testing. So far we've opted
to provide two separate helpers, for example PrivilegedTest and
PrivilegedCheck. This causes a lot of duplication and discourages sharing
helpers. It also makes refactoring code from check to testing harder since
the natural way to express the SetUp and TearDown behaviour of check is such
a helper function.

Additionally, check is a burden on anyone trying to run the tests: it has
completely separate flags which control what tests are being run. The output
also doesn't match what other go tooling expects, both for tests and
benchmarks.

To fix both of these, replace gopkg.in/check.v1 with a fork that removes
most command line flags and gets rid of the custom runner. Instead, suites
and tests are run as subtests. The other API should be mostly compatible.
Most importantly check.C now embeds testing.T. As a result, check.C
satisfies testing.TB, which allows us to access helpers written for the
testing package from within unmigrated tests.

Signed-off-by: Lorenz Bauer<EMAIL_ADDRESS>
Make it easier to migrate off of gopkg.in/check.v1

/test

/test

/test

/test

/test

/test

/test

/test

/test

net-next is https://github.com/cilium/cilium/issues/25605

Added a linter which prohibits reintroducing gopkg.in/check.v1.

runtime tests are https://github.com/cilium/cilium/pull/25625 from what i can tell

/test

/test


License for this repo?

Thanks for the great work!  I noticed that you recently added an MIT license to the Tridet base (https://github.com/dingfengshi/TriDet). Will you also be adding a license to this repository?

We add an MIT license, thank you for your reminder!


trembling in scale property animation

I love your script, but when a play it in my browser, Firefox, there is always a tremble in the simple scale animation of the backround layer. Why? Could i do something to avoid it?
Thanks!

is it a large layer? Firefox has issues with too large layers.
can you share the .ae?

1000x1334 pixels
Revista_num_11_3_Portada_folder.zip

I think it's related to scaling images.
Can you try the canvas renderer instead?

Sorry, I don´t know how to do it. I´am an After Effects user only. Expert one, but only of After Effects.
Could you try to explain to me how to use canvas render? in a easy way, please.

how are you trying the animation?
are you using the demo.html or using your own code?

demo.html

you can open the demo.html on a text editor and you'll find near the end of the document a renderer specified as 'svg', try changing it to 'canvas'

Thanks a lot! It works! Great!


Implement cookie authorization

Prerequisites

[ ] Is it a bug?
[x] Is it a new feature?
[ ] Is it a question?
[ ] Can you reproduce the problem?
[x] Are you running the latest version?
[x] Did you check for similar issues?
[ ] Did you perform a cursory search?

Description
Can you please implement cookie-mode authorization? It will allow to use django csrf protection and ease user interaction.
Expected behavior
Token passed to user and parsed from cookie
Actual behavior
Token parsed from request headers.

Hey!
I have never used cookies as my app is QML based...
for now you can use the JWT_TOKEN_FINDER hook like this:
from gqlauth.jwt.default_hooks import token_finder

def cookie_token_finder(info: Info) -> Optional[str]:
    if token := token_finder(info)
        return token

    cookies = info.context.request.COOKIES
    if token := cookies.get("your token")
        assert isinstance(token, str)
        return token.strip(JWT_PREFIX)
    return None


Release 3 v2 apps (16)

Purpose of this pull request
This pull request replaces https://github.com/SumoLogic/sumologic-documentation/pull/3434, which became corrupted (branch name syntax and obsolete Docusaurus v2 syntax).

Select the type of change:

[ ] Minor Changes - Typos, formatting, slight revisions, .clabot
[x] Update Content - Revisions, updating sections
[ ] New Content - New features, sections, pages, tutorials
[ ] Site and Tools - Updates, maintenance, dependencies, new packages for the site (Docusaurus, Gatsby, React, etc.)

@JV0812 , is this ready to publish, or still need to keep on hold?

This will be going out today or tomorrow.

This will be going out today or tomorrow.

ok!