Releasing Pending Payment Orders

Magento holds pending payment orders. This means the stock is reserved. As a result when a customer does not complete their order that the qty is not returned to stock.
We have seen this happens a lot with credit card payments - esp when the RedirectShopper for 3D validation is used. We now have 20+ orders all with status "Pending Payment"; and I think this is the same case for orders that are paid by using email payment + direct debit
Should there not be an option in the adyen backend where we can set the number of days after which we consider the payment not complete and the stock/quote is released? I can assume that adyen itself also releases payments after a while when it has reason to believe that it "will not happen anymore"
This would really help us out a lot!!!
The solution is also quite simple. And could easily be added using something like this:
$olderThan = 8;
$date = date('Y-m-d', mktime(0,0,0, date('m'), date('d') - $olderThan, date('Y')));
$orders = Mage::getModel('sales/order')->getCollection()
    ->addFieldToFilter('state', 'pending_payment')
    ->addFieldToFilter('updated_at', array('lt'=>$date));
foreach ($orders as $order){
    $order->cancel();
    $order->save();
}

Hi Sean,
This is definitely we can add as an extra option. Only this can be very differently foreach kind of payment method. We will add this in the future.
Regards,
Rik
Adyen

Thanks Rik. That would really really help.
Maybe only for Adyen payments
And you can split out the payments that following the pending flow and in
its first draft create a adyen main config setting (and not yet per
payment).
It is true that one would for direct debit wait 5-7 days to expire
and for CC you would expire after 2 hours
But this is important: only for the status pending payment
On Wed, Aug 19, 2015 at 11:58 AM, Rik ter Beek<EMAIL_ADDRESS>wrote:

Hi Sean,
This is definitely we can add as an extra option. Only this can be very
differently foreach kind of payment method. We will add this in the future.
Regards,
Rik
Adyen
—
Reply to this email directly or view it on GitHub
https://github.com/Adyen/magento/issues/387#issuecomment-132522494.

I though it was usefull to elaborate on this issue. Because the situation is a little more complex. I have attached a process flow and screenshot.
In writing:

there are 3 important statuses; that are distinctyl different
Awaiting payment => order is pending => someone went to checkout (don't know anything after that, the Adyen status is then N/A)
Customer cancels payment method, Magento order is confirmed released. QTY back in stock.
Payment Pending => order has status payment pending => Customer went to checkout, choose payment and completed all details. Ideal will validate immediately and move to status "New orders", like some others. But Paypal, SEPA directdebit, banktransfer can take XXX working days.

The status "Awaiting payment" should be released and cancelled after a short time; e.g. 10-30 minutes
The status "Payment pending" should be released and cancelled after xxx working days. Depending on the processing time. You might even want to be able to set it per payment type (or Adyen sets it for us per payment type based on the number of realistic days before authorization should occur) - then releases the stock QTY again and cancels order
I hope someone else with more knowledge on the status/order process can add their views on this
Assumptions: orders with status Pending and Payment Pending both hold stock and are not automatically released.

You can check out this extension: http://www.magentocommerce.com/magento-connect/magento-pending-orders-automatic-cancelation-with-stockreleaser-by-soon.html
Generally works well. You can configure the delay to cancel the order and release the stock per payment method and set it in minutes, hours or days.
But there are some draw-backs with this (or any extension). It would definitely make sense to have the PSP handle the release of stock, instead of a separate extension. But as temporary solution or for other payment methods it's a good way for not keeping Pending orders pending forever (we use it for banktransfer payments)

It would definitely make sense to have the PSP handle the release of
stock

I am not sure the PSP would be responsible for the stock. But I can imagine
that Adyen also expires payments after some time (because the money is not
coming and hence we write off the expectation).
This way the order can be set to cancelled or other status via a setting in
the backend ....
On Thu, Dec 10, 2015 at 3:26 PM, nicolasmetzke<EMAIL_ADDRESS>wrote:

You can check out this extension:
http://www.magentocommerce.com/magento-connect/magento-pending-orders-automatic-cancelation-with-stockreleaser-by-soon.html
Generally works well. You can configure the delay to cancel the order and
release the stock per payment method and set it in minutes, hours or days.
But there are some draw-backs with this (or any extension). It would
definitely make sense to have the PSP handle the release of stock, instead
of a separate extension. But as temporary solution or for other payment
methods it's a good way for not keeping Pending orders pending forever (we
use it for banktransfer payments)
—
Reply to this email directly or view it on GitHub
https://github.com/Adyen/magento/issues/387#issuecomment-163634749.

You're right, my statement wasn't correct, but at the end it's the same thing. PSP should manage the state of the order and cancel the order after a certain time if payment is overdue and not coming in. This is exactly what this extension does. After the order gets cancelled, then the items are returned to stock.


Install via Carthage

We should be able to install the framework via carthage. When done, I can create an intro tutorial on how to do this.

Install Carthage
Create Cartfile and in it paste github "C4Framework/C4iOS" ~> 1.0.1
Run carthage update
In your project reference the framework in Carthage/Build/iOS/C4.framework

Carthage doesn't install on the latest OSX (at least not on mine, 10.11), this could be a problem.

Works for me, did you download Carthage.pkg? Their brew version is currently broken.

Just found a direct download of carthage. Yeah.

It's a bit of a raw approach, though very lean.
I would consider having the carthage file part of the Xcode installer, with an option:

install hard coded files
install carthage file, already created as an executable

I get the following warnings from updating C4iOS via carthage:
ld: warning: directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/Developer/Library/Frameworks'
ld: warning: directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/Developer/Library/Frameworks'
ld: warning: directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/Developer/Library/Frameworks'
ld: warning: directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/Developer/Library/Frameworks'

I say let's have options and let them choose. We should support coocapods too. If they choose to use carthage they can figure it out.

ok, that makes the installer easy and we can leave it as-is, basically.

carthage, cocoa pods, installer, clone + embed

I can make short walkthroughs for each of these options and then leave it to them to choose.

:+1:


Need to update test lattices to include Marker elements

and check where it potentially breaks existing code (e.g. because skipped if Drift but not if Marker etc)

Done


Add availability zone tag to registered services

As a user of consul-release,
When I register a service,
Then I can access that service at its URL with the availability zone as a prefix.
For example, doppler.service.cf.internal in the z1 availability zone would also be available at z1.doppler.service.cf.internal as well.

+1 you can see this problem in https://github.com/cloudfoundry/cf-release/commit/8980f198

@keymon, this was added here. The issue just wasn't closed.


Test observable measurement vs simulator

unconfirmed reports of disagreement

I'm not sure what to do with this. It's a nice example / check how to measure observables using cirq.Sampler vs simulating them with cirq.Simulator but it's probably too slow for a unit test. I thought we used the slow pytest mark but apparently we don't

I'll go ahead and close it for now


Update GlslOut.hx

Mobile using openglES were also concerned by this.
It would be certainly better to detect opengles in some way, rather than using such conditionals, but so far it works.

I'm not sure that's a good flag to be used in these cases. I guess all mobile run ES, so maybe #if (cpp && mobile) ?

Hi guys, my 2c, be aware some desktop targets ( consoles and webgl for
example ) use opengles-GLSL too. So I suggest you explicitly discriminate
gles with gldesktop..
2016-03-01 12:41 GMT+01:00 Nicolas Cannasse<EMAIL_ADDRESS>
I'm not sure that's a good flag to be used in these cases. I guess all
mobile run ES, so maybe #if (cpp && mobile) ?
—
Reply to this email directly or view it on GitHub
https://github.com/ncannasse/heaps/pull/149#issuecomment-190683470.

--
David Elahee

Well this should be set only on desktop apps afaik.
JS and mobile should not define version number.
I agree that is not the perfect solution, being able to define correctly like david said a gles flag would be of course better.

Any update on this PR?

I'm closing, please submit again another time :)

Ok. I'm currently working in this.
I thnk i have a working version of runtime shader setup.
Le 27 avr. 2016 16:08, "Nicolas Cannasse"<EMAIL_ADDRESS>a
écrit :

I'm closing, please submit again another time :)
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/ncannasse/heaps/pull/149#issuecomment-215095202


90 upgradable contracts

Fix #90 #94

There is not point to unit test the proxy since we didn't implemented any logic for this.
We are just relying on OZ features (check proxy.cairo), it would make sense if we add additional logic in a proxy/library.cairo lib, but there is no need.
So basically we trust in OZ unit tests (as we do for ERC721) and we don't do the exact same tests from our side.

It can make sense to add some more integration tests such as upgrade a contract or change he admin.
However if a contract is deployed as an implementation through a proxy we cannot access it directly since there is no real contract. Since we want them upgradable, I don't think we need to e2e test them without proxy.

Agreed about the non-necessity to redo unit tests in this specific case, because it would be, as you say, reimplement the OZ tests.
Understood about the impossibility of accessing a contract without going through the proxy.
Indeed, I was not talking about testing them without going through the proxy, but about making sure that the proxy is the owner of the contracts and that we cannot do anything with the contracts without going through the Proxy.
As I said in my preview comment, for me, we can merge in the PR state.
And we can discuss how to do these integration tests (upgrade, change of ownership).


More jupyterlab extensions (nbgitpuller)

Description
For a class I give, I'd like to be able to use nbgitpuller with my qhub deployment on GCP.
To do so, I need to modify files under the jupyterlab folder:

Add nbgitpuller to jupyterlab/labextensions.txt
Add pip install of nbgitpuller to jupyterlab/environment.yaml

Suggestion
Would it be possible to implement in the config-hub.yml file a new section for more jupyterlab extensions ?
Alternatively, it may be faster to simply add the nbgitpuller extension to the default qhub set-up ? (I could send a PR for this)

Would it be possible to implement in the config-hub.yml file a new section for more jupyterlab extensions ?

Due to jupyterlab3 being released I would prefer not to add a specific section for extensions. Extensions should not longer require a build step when being installed.

Add pip install of nbgitpuller to jupyterlab/environment.yaml

You can use a custom docker image for jupyterlab in qhub-config.yaml it is configurable and detailed in https://qhub.dev/docs/do/configuration.html#default-images. Make sure to base the docker image on https://github.com/Quansight/qhub/tree/master/qhub/template/{{ cookiecutter.repo_directory }}/image.
Does this answer the question you have? I do agree that we need an easier way to customize docker images for qhub but I think that jupyterlab 3 will solve many of these issues.

Would it be possible to implement in the config-hub.yml file a new section for more jupyterlab extensions ?

Due to jupyterlab3 being released I would prefer not to add a specific section for extensions. Extensions should not longer require a build step when being installed.

Add pip install of nbgitpuller to jupyterlab/environment.yaml

You can use a custom docker image for jupyterlab in qhub-config.yaml it is configurable and detailed in https://qhub.dev/docs/do/configuration.html#default-images. Make sure to base the docker image on https://github.com/Quansight/qhub/tree/master/qhub/template/{{ cookiecutter.repo_directory }}/image.
Does this answer the question you have? I do agree that we need an easier way to customize docker images for qhub but I think that jupyterlab 3 will solve many of these issues.

thanks @costrouc for your quick answer !

You can use a custom docker image for jupyterlab in qhub-config.yaml
Do you think this is a faster solution than to fork qhub and to modify source ?
I guess yes...

Does this answer the question you have?
yes ! I understand this is all still very new and evolving, and with Jupyter lab it will be easie

any idea when qhub will move to 3.0 ?

thanks @costrouc for your quick answer !

You can use a custom docker image for jupyterlab in qhub-config.yaml
Do you think this is a faster solution than to fork qhub and to modify source ?
I guess yes...

Does this answer the question you have?
yes ! I understand this is all still very new and evolving, and with Jupyter lab it will be easie

any idea when qhub will move to 3.0 ?

@gmaze We haven't had a conversation about 3.0 yet. I'll put it on our agenda to discuss internally and get back to you

@gmaze We haven't had a conversation about 3.0 yet. I'll put it on our agenda to discuss internally and get back to you

@tylerpotts if we don't already have one, go ahead and make a jlab 3.0 issue.

@tylerpotts if we don't already have one, go ahead and make a jlab 3.0 issue.

Hey @gmaze! So good to see you around here.

Do you think this is a faster solution than to fork QHub and to modify the source?
I guess yes...

Jackpot! 💯 easier than modifying the source code. Also, this is not as urgent on our roadmap since 3.0 was just launched. We're happy to change our plans to fit the community's needs, though.

any idea when QHub will move to 3.0?

We had a discussion about it last week (Thanks for bringing it up, by the way) and the team decided that although important, it is best to wait and see how the community adopts version 3.0. For now, we are focusing on tests and stability. Some cool stuff coming around.
Finally, if the use of Jupyter 3.0 is essential for you, I hope you've managed to implement Chris' suggestions.
I will go ahead and close this issue now but please let us know if there's anything else we can do for you. And feel free to reopen it in case you have any further questions.

Hey @gmaze! So good to see you around here.

Do you think this is a faster solution than to fork QHub and to modify the source?
I guess yes...

Jackpot! 💯 easier than modifying the source code. Also, this is not as urgent on our roadmap since 3.0 was just launched. We're happy to change our plans to fit the community's needs, though.

any idea when QHub will move to 3.0?

We had a discussion about it last week (Thanks for bringing it up, by the way) and the team decided that although important, it is best to wait and see how the community adopts version 3.0. For now, we are focusing on tests and stability. Some cool stuff coming around.
Finally, if the use of Jupyter 3.0 is essential for you, I hope you've managed to implement Chris' suggestions.
I will go ahead and close this issue now but please let us know if there's anything else we can do for you. And feel free to reopen it in case you have any further questions.


[WIP] Added support for non-hardcoded identifiers

This PR adds support for dynamic identifiers (setting an identifier which can be named uuid, identifier, or anything, as long as it is annotated with the @Id Doctrine annotation.

For now, this is WIP. This will be updated and improved over time.


Order by joined values

I am having trouble ordering a selection by values from joined tables, it looks something like the following:
let fetched = client
     .a()
     .with(b::fetch()) // b might also join with c, etc.
     .order_by(/* some field from b, c, etc. */ );
     // ...

Digging through the generated code it seems to me that I can only provide columns directly from a and not from the joined values (also not by doing a::b::/*some_value*/. I also haven't found any examples or hints in the documentation. Is there any way to get around this issue?

What would be the input type of the order function then? Since it currently takes a Direction but returns an OrderByParam (which is different per table).


Add PHP documentation.

This is the new PR I have made for the new documentation on TopPHP. The library has underwent a total re-write with more organized and efficient code, as well as following PSR standards as per requested of @braindigitalis. Additionally, the packagist has been updated now and the composer requirements have changed to allow backwards compatibility. For now, PHP 7.4 code has been kept so that regardless of version, there won't be any risk of the currently written code somehow becoming deprecated with PHP 8+.
@Xetera tl;dr: New PR for finalized code and ready to be published.

Why was the python documentation deleted?

I copied the mdx off of it, my bad.


[Index] Allow pre-release versions in search when the base is pre-release

Closes #5089

Hooray :tada:
@homu r+
@segiddins if you can release this as 1.13.5 I would be very very happy :bow:

:pushpin: Commit f0aaed7 has been approved by indirect

:hourglass: Testing commit f0aaed7 with merge 9b12e55...

:sunny: Test successful - status


Fix #30

The message from the module and the command show the correct value.
msg: properties dict_keys(['stop_timeout']) were set on jail 'test_31' with cmd=/usr/local/bin/iocage set stop_timeout=35  test_31.

# iocage get stop_timeout test_31
35

Thank you for your contribution :-)
lgtm :+1:


Make titles/excerpts of disclosures more uniform

This makes a number of changes to the titles and excerpts of the existing and new vulnerability disclosures:

Use "Disclosure of [CVE number]" as title when a CVE is assigned.
For vulnerabilities without known CVE put a very short description in the title.
Drop latest version affected from the titles (it makes them too long, seeing it rendered).
Include in the excerpts a short description of the vulnerability itself (but longer than the title), the date a fix was released, and in what version.
Shorten all excerpts to no more than 160 characters (limit on homepage).
Make titles/excerpts more uniform in style.

utACK f97977c498468f2952ddcad92df5e66535e3f78d

ACK 3cc3c0527cbea4938b2ad2c447c720e887e07470


Build docker images in parallel

We are using docker compose to build docker images.
During the travis run, we build all the docker images to make sure the further testing could be done in the docker containers.
These docker image builds are done sequentially as of now which consumes a lot of time, which indirectly affects the developers productivity and the developer has to wait for longer times.
Parallel docker builds intends to solve this issue and hence, increase the developer productivity.

Time take to run the builds sequentially:
real    2m58.059s
user    0m1.212s
sys     0m0.249s

Time taken to run the builds in parallel:
real    2m49.118s
user    0m1.692s
sys     0m0.298s


added info regarding the default timeout

added info regarding the default timeout used for Receive()

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

xml/Microsoft.ServiceBus.Messaging/QueueClient.xml
:white_check_mark:Succeeded

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

Thank you, rajrao!


I cant have 2 different markdown files open.

So I have 2 markdown files one in a dot folder and the README.md If I open one when I try to open the other weird things happen.
Sometimes it jumps back to the first file I had open. Sometimes it shows the second file, but the editor seems broken on the second file because nothing is displayed in the editor view.

Same here; I really like the idea of the extension but whenever I try to open a second Markdown file, it glitches out and switches tabs automatically to the first one. Unfortunately I couldn't find any relevant logs or errors in the vscode console. Disabling all other extensions also did not help.

Hi there! @jhicken @sagebind thank you for trying out the extension. I have revamped the extension to support multiple files do checkout the readme and update the extension to see the new changes. Do let me know if anything else can be improved. Have a good day!

I am closing this issue, since there wan't any concern raised


Idea: Swap panes

Hi!
I found this (and TPM) today and I'm loving it!
There's one thing I'd really like to have; being able to swap panes within a window. Is this possible?
gr,
Tom

There's Prefix + Ctrl-o to rotate the panes around.

I found this (and TPM) today and I'm loving it!

Good to hear, thanks!
As @felixleong stated, there's already prefix + ctrl-o for that.


Room.alias() should return null if we have not set the alias in the room

Now it will return self name if no alias found . It's not right and need to be fixed.

after you merged #275 I will fix this one.

Thanks @lijiarui for fixing this.


Bug: Switchbot accessory status (Garage Door) stuck at "Opening"

Describe the Bug
Since updating the homebridge plugin to v3.5.0, the accessory state (garage door) is stuck at "Opening". I rolled back to v3.4.0 but it is still stucked.
I removed the plugin, restarted everything, reinstalled everything but it is still on constantly "Opening" in Homekit, but it is stuck at "Closed" in Homebridge.
That is a problem, since right now I can not press the accessory from my car for instance, since it is already on Opening, so even the override function won't work

It still can be triggered via Siri, and it does press the button.
To Reproduce
Install and configure the homebridge-switchbot plugin.
Configure your bot as a "Garage Door" accessory with press mode
Observe the accessory state being stuck
Expected Behavior
The state should return to Closed or Opened, not stucking at "Opening"
Relevant Log Output
[28/05/2024, 07:26:03] [SwitchBot] Bot: Garage Door Set TargetDoorState: 0
[28/05/2024, 07:26:05] [SwitchBot] Bot: Garage Door request to SwitchBot API, body: {"command":"press","parameter":"default","commandType":"command"} sent successfully

Config for homebridge-switchbot
{
    "name": "SwitchBot",
    "credentials": {
        "token": "***",
        "secret": "***",
    },
    "options": {
        "devices": [
            {
                "deviceId": "**",
                "configDeviceName": "Garage Door",
                "configDeviceType": "Bot",
                "connectionType": "OpenAPI",
                "bot": {
                    "mode": "press",
                    "deviceType": "garagedoor",
                    "allowPush": true,
                }
            }
        ]
    },
    "platform": "SwitchBot"
}

Screenshots
No response
Device and Model
SwitchBot V6.3
Node.js Version
v20.13.1
NPM Version
v8.19.4
Homebridge Version
v.1.8.2.
Homebridge Switchbot Plugin Version
v3.5.0
Homebridge Config UI X Plugin Version
v4.56.2
Operating System
Debian GNU/Linux Bookworm (12)

Same as #977

It is still a problem and it is still not resolved.


Implement static rent list

rents should be displayed in the frontend as they are queried from the db: no edit functionality is required for now

welp.. took a look at this code today, there is a lot that has to change here:

as mentioned all the font sizes should be adjusted to small to make everything less cramed or at least not "big"
please take a look at the function names section in the code convetions

functions like getButtonAsTextOfStatus are really hard to understand what the are doing, a better name would be rentStatusToButtonText

please take a look at the css specific section in the conventions especially the last two points are relevant
passing the rent to the rentList as a id and then querying it again from the model is a horrible workarround to the type safety and i honestly dont understand why you would even do it this way

please pass the rent object to the rent-list-entry inside the map function, you might need to use .propertyName instead of propertyName to be able to pass complex types and not just simple strings/numbers to the component
please get rid of the generateStudent function in rentList

please use a propertyValue component to display the teacher instead of recreating it from scratch
please dont use lables for things that are not labeling something: for simple dashes( - ) a span is the better choice. For the vertical line id prefer using the existing line component since that will also take the height propperly and is generally a nicer solution
it would be smart to put the student-rent-entry into its own component that stores its own id and styles itself and then has the edit functions
the implementation of the selection behaviour makes no sense: in order to be able to build onto this and add actual functionality you need to keep track of the selected items in a list.. probably only need to store the element reference
the selection circles should all be position in line, the mutliple select should be some 20% or so bigger so that the actual circle is the same size as the single select

still very good work lol u kinda rescued the sprint review cause aberger doesnt value work but just wants to see quick results <3

<3


Issue with Detached rendering

I noticed a small issue with Detached that I'm unsure of the cause:
Screencast from 2024-11-13 19-33-06.webm
The children of the popup seem to be flashing/rendering before the placement calculations are complete

We need to hide the component until size is calculated.

3f266b897d96ca0de454aa2ed643a50d547237b2


Add Night battle attack power column in Ship List in Strategy Room

In event maps, one of our big concerns is which ship will deal the most damage in night battle. Therefore, there is a need for sorting ships by night attack power, which is the sum of fire power and torpedo stats (with or without equip stats).

ohhh nice nice, though this is for DA right?
CI is a different story

@dragonjet isn't DA and CI in night battle just differ in the damage modifier?
the base number still the sum of firepower and torpedo stats?

@dragonjet as @ethrundr said, the base damage of both DA and CI depends on Firepower and Torpedo. The only difference is their damage modifier. Here I assume that the wikia is correct http://kancolle.wikia.com/wiki/Combat#Night_Combat

hm alright, seem I didn't do my homework :v

@dragonjet well, I just finished adding another column for yasen power but not enough space for the lockheart xD

ohh that's nice :+1:
we can drop the heartlock for now, probably just change it back after event.

you mean the heartlock or yasen power?

yasen power after luck, since I'm thinking people would be using both in considering who's who for night battles

oh that's right. Luck is also important for yasen. About the color of luck column, is #66FF66 for both odd and even row?

Something like this?

oh yess, excited to pull this, wanna see my own shiplist :v

Haha okay, i will create a pull request right after finishing my dinner :3
Sent from my iPhone

On 18 Aug 2015, at 20:47, Jet Rico<EMAIL_ADDRESS>wrote:
oh yess, excited to pull this, wanna see my own shiplist :v
―
Reply to this email directly or view it on GitHub.


Breaking change in minor update

the arrow function raised the minimum node version to 4. This library previously functioned in older environments. This should be a semver major update. Could 1.2.x be unpublished and bumped to 2.0?

Thanks @jsg2021 . will do it. Should i have to add min node version to 4.0 in package.json as well.

that’s not required, but would be nice

Great thanks. Will publish v2.0 soon.

version updated. Closing this issue.

Please unpublish 1.2.1 so that ^1.1.1 doesn't get the breaking change


Cannot migrate sveltekit project

Describe the bug
Sveltekit had some recent changes in its design API etc.
you can check it here https://github.com/sveltejs/kit/discussions/5774
I cannot migrate my project to this new layout.
It is working locally.
Link to the blitz that caused the error
https://stackblitz.com/edit/sveltejs-kit-template-default-jwityc?file=README.md
Steps to reproduce

Go to your project folder
Runnpx svelte-migrate routes
See error

Expected behavior
Do the migration to new svelte layout
Parity with Local

[X] I have run the project in my local machine and I could not reproduce the issue.

Screenshots

Platform
Browser name  = Chrome
Full version  = <IP_ADDRESS>
Major version = 104
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 95920278,
  "usedJSHeapSize": 77252162,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Hash = 4f16907aeb1fd170bcc93609cea1d8dc6ad28342

Additional context
No response

:wave: Thanks for the report. The project you linked above is no longer accessible. Do you have a link to one we can look at?

:wave: We're closing this due to inactivity. Please, feel free to open a new one if you're still encountering any errors.


MINOR: Refactor & cleanup for RemoteIndexCache

Changes

Add new unit tests
Change the on-disk filename from <offset>_<uuid>_.<indexSuffix> to <offset>_<uuid>.<indexSuffix> i.e. remove trailing underscore after
Fix a small bug where we were parsing offset as Int when reading the file name from disk. Offset is long.
Perform input validation in RemoteLogSegmentMetadata.
Remove an extra loop in cleaner thread. Shutdownable thread already performs looping.

Thanks @divijvaidya for the PR, let me know when it is ready for review.

@satishd this is ready for review.

Unrelated test failures in CI. Merging this one.


Unknown option -b

Hi,
I noticed the following message in sway's output: Unknown option -b, while trying to figure out why waybar had disappeared (I only found #642 later on).
It seems this message is printed by waybar (or more precisely Gtk). Here is a reproducer:
user@host:~$ waybar -b bar-0
[2020-04-04 16:55:17.427] [info] Resources files: /home/user/.config/waybar/config, /home/user/.config/waybar/style.css
Unknown option -b

It does not seem to matter which option is passed:
user@host:~$ waybar -l off
Unknown option -l

My guess is that this is an issue in how you call Gtk::Application::create(). I applied the following patch, and it seems to resolve the issue:
diff --git a/src/client.cpp b/src/client.cpp
index f7c70e0..7b5e078 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -249,7 +249,7 @@ int waybar::Client::main(int argc, char *argv[]) {
   if (!log_level.empty()) {
     spdlog::set_level(spdlog::level::from_str(log_level));
   }
-  gtk_app = Gtk::Application::create(argc, argv, "fr.arouillard.waybar");
+  gtk_app = Gtk::Application::create("fr.arouillard.waybar");
   gdk_display = Gdk::Display::get_default();
   if (!gdk_display) {
     throw std::runtime_error("Can't find display");

Cheers!

Yes, it's there for debugging, you can do an PR atm to apply your patch, while waiting to find a better solution

Fixed with e72b153f87de2f5a33dc314a951b755d99cf86f2


Investigate patch merge types annotations for conditions

Condition slices should get the following merge annotations:
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type

However, this doesn't seem to result in any changes to the CRD. Investigate and fix (if possible).

The +list annotations appear to have an effect:
diff --git apis/v1alpha1/backendpolicy_types.go apis/v1alpha1/backendpolicy_types.go
index 159d85a..ccd802a 100644
--- apis/v1alpha1/backendpolicy_types.go
+++ apis/v1alpha1/backendpolicy_types.go
@@ -167,7 +167,12 @@ type BackendTLSConfig struct {
 // Route(s) using backends configured by this BackendPolicy.
 type BackendPolicyStatus struct {
        // Conditions describe the current conditions of the BackendPolicy.
+       //
        // +optional
+       // +patchMergeKey=type
+       // +patchStrategy=merge
+       // +listType=map
+       // +listMapKey=type
        // +kubebuilder:validation:MaxItems=8
        Conditions []metav1.Condition `json:"conditions,omitempty"`
 }
diff --git config/crd/bases/networking.x-k8s.io_backendpolicies.yaml config/crd/bases/networking.x-k8s.io_backendpolicies.yaml
index a3d7e41..427470f 100644
--- config/crd/bases/networking.x-k8s.io_backendpolicies.yaml
+++ config/crd/bases/networking.x-k8s.io_backendpolicies.yaml
@@ -164,6 +164,9 @@ spec:
                   type: object
                 maxItems: 8
                 type: array
+                x-kubernetes-list-map-keys:
+                - type
+                x-kubernetes-list-type: map
             type: object
         type: object
     served: true

+patchMergeKey and +patchStrategy are for guiding strategic merge, which is not supported on CRDs, so those annotations do nothing. It's sufficient to use just +listType and +listMapKey.


fix: JSONForm currency and phone input dropdown not working in Array Field

Description
When Allow currency change in Currency Input and Allow country code change  in Phone Number Input are enabled for the fields in an Array Field type, the dropdowns enabled to change the Country Code and Currency Code does not update when selected.
Solution -
The propertyPath which is used to update the particular field's configuration in the schema was incorrect. __array_item__.children was being appended twice before passing it down to the children.
Fixes #13270
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
-Cypress
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:white_circle: Total coverage has not changed
// Code coverage diff between base branch:release and head branch: fix/13270-jsonform-currencycode

Status
File
% Stmts
% Branch
% Funcs
% Lines

:green_circle:
app/client/src/utils/WorkerUtil.ts
89.76 (0.78)
70.59 (0)
100 (0)
93.33 (0.95)

:red_circle:
app/client/src/utils/autocomplete/TernServer.ts
52.71 (-0.23)
40.83 (-0.84)
36.21 (0)
56.74 (-0.25)

:green_circle:
app/client/src/widgets/JSONFormWidget/fields/ArrayField.tsx
26.27 (0.22)
21.74 (0)
0 (0)
27.93 (0.25)

/ok-to-test sha=26cf6ef


Feature Request | Cross-Project, Person-Based balances

Context
Every aknflw expense-splitting platform (except Splitwise) currently calculate balances within groups / projects / bubbles / whatever else they call it. However, it's entirely possible that there is an overlap between the members of several groups / projects. In such a scenario, being able to calculate balances between people across / regardless of projects would make it significantly easier for users to have an overview of their debts.
Example
I have the following situation:

Dave & I meet up sporadically & our expenses have no groups.
James, Jolly, and I live together. James pays the rent, and we pay James back.
Jolly and I hang out without James and have expenses outside the Home Group.
Jimmy, Jolly, Bimmy, Luke, and I went on a vacation and our expenses are in the Vacation Group.

So now, we have multiple people who may or may not be part of a group, and multiple people who are a part of multiple groups. In Cospend, I would need to set up at least 4 groups:

Group for Dave & me
Group for Jolly & me
"Home" with Jolly, James, and me
"Vacation" with the everyone except James and Dave.

Instead, if balances can be calculated across groups, we have a situation like this:

Jolly can send me €1060.20 in one go instead of sending me three different amounts for three different groups/projects
I don't need to set up tons of different groups
I know exactly how much I owe and how much I get back in total.

This is literally the one single thing that is keeping me from fully ditching Splitwise for good. I despise the direction Splitwise have gone in, but person-based balances are indispensible for me because of the number of friends that share various groups. I sincerely hope that something like that can indeed be implemented in spliit, especially since its trying to be an alternative to Splitwise! There are literally NO other platforms that offer this feature at all right now.
Edit: I think this request is very similar to https://github.com/spliit-app/spliit/issues/19

This would require user accounts (#76) as currently the "participant" concept assumes an exclusive set of people per group.

Highly recommended feature request!

This would require user accounts (#76) as currently the "participant" concept assumes an exclusive set of people per group.

If not accounts, a workaround could be to allow the group admin to "link" people from different groups regardless of what their names are.


Fix data fetcher selection

What does this PR do?
Fixes #11266
What does this PR do?
Fixes
Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
I made sure I had fun coding 🙃
Part of #1 (it's a lie, this is just here to avoid noisy GitHub bot)
cc @borda @justusschock @awaelchli @ninginthecloud

The data fetcher code and inter-batch parallelism is untested as far as I know. The Trainer and connectors are currently not well unit-testable, I predict this code will not survive very long and I would avoid adding tests for checking internal attributes that get set this way.

@awaelchli shall we cover it by a test?


Support for model documentation on hover?

Would it be possible to provide on-hover model documentation?
To be clear, when hovering on d_orders within ref('d_orders') below, it would be nice if VSCode (or helix 🤓 ) could display the model documentation from dbt.

One can add model documentation according to these docs.

Hey @thomasaarholt, thank you for the detailed description. We will consider adding this feature.


Repaint issue

Since upgrading about a month ago I am having repaint issues with the UI.
I have to move or resize the toggle window to get the fields to repaint. This has never been an issue previously.
Using Windows 8.1 64 bit.
TogglDesktop 7.2.182 - Release Channel "Stable".
Usually occurs when switching between fullscreen RDP and then back to my local desktop.

Hey, thanks for reporting this.
Could you try and switch to the current beta and see the problem still occurs?
The beta includes a fix that should prevent this issue.
You can switch by selecting the beta in the about window, waiting a few minutes for it to download in the background and then restarting the application.
Let us know if that helps!

Still have the issue. Plus now I am also getting a Abort due to constraint violation.

I think we found the problem with the redrawing. We will release a new beta build as soon as possible (probably in an hour or two) that should fix this for good.
We will also look into the constraint violation as well.

Ok.. I will try it out tomorrow.

BTW. How do you know that the Beta version has updated. Is there any indicator to let you know when to restart the application. Spotify does it nicely by a blue bar across the application with a "Restart" link to restart the application.

Unfortunately there is no way to see that right now.
It's definitely on the list for the near future though: #1391

Updates are quite small so usually a few minutes are enough to download them. We already have an issue for adding an App update ready notification.

@adrianhalid We just pushed that new beta build that should fix the redrawing problem. Closing this issue, but let us know how it goes!

I am now using 7.2.205 beta but cant test the repaint issue as I can't use the app.
I am getting a Abort due to constraint violation message when I try to start a task.

@adrianhalid Just released a new Beta with Abort due.. fix. Please clear cache from the cog wheel and update the app.

Thanks. Just updated. So far looks good. I will test again tomorrow.
I must say you guys do an excellent job with turn around times. Well done!!

Looks all good.


Issue 1151: Integrate ASN.1 converter

First attempt of integrating the ASN.1 converter.
@treiher I'm not happy about the introduction of that frozendict package. However, I don't really understand why it's needed and what's going on with the Protocol class from typing. I tried to remove the lru_cache, but this makes the teste unbearably slow. However, other optimization apart from caching may be possible.

@treiher I'm not happy about the introduction of that frozendict package.

The frozendict could be replaced by a tuple of tuples. AFAICT this doesn't have an impact on the performanc.e
diff --git a/rflx/converter/asn1.py b/rflx/converter/asn1.py
index 180de851b..550533fd2 100644
--- a/rflx/converter/asn1.py
+++ b/rflx/converter/asn1.py
@@ -196,8 +196,7 @@ class BerType(Protocol):
         return SequenceBerType(
             path,
             "Explicit_" + self.ident,
-            # A `frozendict` is required here to comply with `lru_cache`.
-            frozendict.FrozenOrderedDict({"Inner": self}),
+            (("Inner", self),),
         ).implicitly_tagged(tag, path)

@@ -275,14 +274,14 @@ class SequenceBerType(BerType):
     def ident(self) -> str:
         return self._ident

-    fields: Mapping[str, BerType]
+    fields: tuple[tuple[str, BerType], ...]

     @lru_cache(1)
     def v_ty(self, skip_proof: bool = False) -> model.Type:
         # A `SEQUENCE` is just a `message` of all its `root_members`.
         return simple_message(
             strid(self.full_ident),
-            {f: t.tlv_ty(skip_proof) for f, t in self.fields.items()},
+            {f: t.tlv_ty(skip_proof) for f, t in self.fields},
             skip_proof=skip_proof,
         )

@@ -609,10 +608,7 @@ class AsnTypeConverter:
         res = SequenceBerType(
             self.path(relpath),
             from_asn1_name(message.name or message.type_name),
-            # A `frozendict` is required here to comply with `lru_cache`.
-            frozendict.FrozenOrderedDict(
-                {from_asn1_name(field.name): self.convert(field, relpath) for field in fields}
-            ),
+            tuple((from_asn1_name(field.name), self.convert(field, relpath)) for field in fields),
         )
         return self.__convert_implicit(res, message, relpath)

However, I don't really understand why it's needed and what's going on with the Protocol class from typing.

Protocol is required for structural subtyping (see PEP 544). I don't see that structural subtyping is actually used in that code, so I think the dependency to Protocol could just be removed.


This doesn't seems to work with Redactor 2

I activated the plugin but Redactor 2 did not change.
Craft CMS version: 3.0.6.
Thanks in advance and keep up the good work.
Cheers!

What version of the Redactor plugin do you have installed? It won't work for v2.0.0+, which uses Redactor 3.0.0+.


Add item rating to single item page

Codecov Report
Attention: Patch coverage is 0% with 9 lines in your changes missing coverage. Please review.

Project coverage is 0.46%. Comparing base (03869d8) to head (f6d0784).

Files with missing lines
Patch %
Lines

src/pages/SingleItem.tsx
0.00%
9 Missing :warning:

Additional details and impacted files
@@           Coverage Diff            @@
##            main     #35      +/-   ##
========================================
- Coverage   0.46%   0.46%   -0.01%
========================================
  Files         41      41
  Lines       3234    3236       +2
  Branches      42      42
========================================
  Hits          15      15
- Misses      3179    3181       +2
  Partials      40      40

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


Uploaded Spanish language

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Feature Request: Notes Section Rework

I just started using awesomeSheet, and I must say that I am pleased with it.
With that being said, I believe that the note section needs a bit of a rework. The way the note section is currently setup doesn't allow users to organize their information as they want or as they need.
I think that allowing the users to create their own section (like characters, party, quests, story, locations, etc...) would permit users to organize information as they pleased.
I think that the way it would be the most flexible would be to organize notes as a tree structure, with each node having a title and a description. Each users would then be able to add and organize their information as they please.
E.G.:

Characters

Party

Party member 1
Party member 2

Friendly

Friendly Merchant -> Because this node is selected, its description is visible to the user.
Guard Captain

Nemesis

Evil Lich guy
Orc warlord

Locations

Elven Kingdom

Capital city

Some Dungeon

Quest

Main Quest

Story

Important Artefact

Hi, many thanks for the feedback, glad awesomeSheet is working for you.
I'm having a bit of trouble understanding this request, could you help me with a few more details? Let's explore this problem further so that we can try and solve it together. How about we look into the "What' and the "Why" before we settle on a solution and before I invest time into rebuild work.
Are there not enough Note section types? eg: As you listed, there should be more headings like characters, party, quests, locations?
How much information are you adding in the Notes section?
Do you find that you need to rearrange the Notes often? If so why?
Any screencasts/demos (or even sketches) about the above "What" and "Why" questions will help me understand.
Thanks for any further help and if it makes it easier I would be happy to have a one to one chat with you over a video call to better understand the issue.

A quick way to make Notes already a lot easier to work with I think without going into the complexity of the previously mentioned system is by letting us give titles to the notes and making them collapsable. That we decently large amounts of information can be stored without having to worry about the section taking over the entire screen.
Here's a quick little sketch of what I mean.

As a programmer myself, although I'll admit that I have no experience with javascript, implementing a tree structure is not considered a difficult task. A quick search lead me to this article.
The previous proposition, would amount to a tree limited to a depth of 1, meaning it would be less versatile than full tree implementation.

All valid points. I do believe a way of storing notes in a tree like structure is the way forward, even it technically more challenging for myself.
@DigiBear yes titles and minimising would be a great help here. As would minimising all the parts fo Display Sections.
I'm still investigating solutions for improving this area of the webapp, so please bear with me.


plugin api: passing state to more interface methods and fixing event_to_string

Motivation #1
The plugin API have both function symbols that accept a plugin state/instance as function parameters, and symbols that take no parameters at all. The symbols with no parameters are meant to just return "static" information that describe the plugin at load-time, such as its name, version, required API version, etc. However, some of them are in the general case not a simple description of plugins, but also describe part of their behavior. Accordingly, the first proposal of this issue is to change the plugin API to add a ss_plugin_t* s function parameter to the symbols get_event_source, get_fields, get_extract_event_sources.
In the context of plugin development, receiving a plugin state allows implementing a more object-oriented design to languages that allow it (e.g. C++ and Go, which we officially support). In this perspective, this design change would make it easier for both the plugin developers and SDK developers to have a more consistent design. As a developer of the SDK Go, I felt some friction in this aspect. Another key benefit is that the information returned by those event could potentially be influenced by the configuration passed through the init() symbol. This is coherent with the current plugin loading logic, which calls init() prior to any of the symbols mentioned above. Lastly, this is also more coherent to the changes of https://github.com/falcosecurity/libs/pull/274 and the proposal of https://github.com/falcosecurity/libs/issues/259, which abolish the concept of "plugin type" and open the door to the development of more polymorphic plugins.
Motivation #2
The second proposal of this issue is to change the parameters of event_to_string to accept a const ss_plugin_event *evt instead of sparse information about events (e.g. its data only). This caused some trouble while implementing the SDK Go as we realized that extraction caching could not be applied at all to the result of ss_plugin_event due to the lack of any metadata about the event such as the event ID or its timestamp. The current design of this symbol makes it kind of incomplete and generally brings to bad performance.
Feature
This issue proposes to change the API function symbols mentioned above as follows:

uint32_t (*get_id)() :point_right: uint32_t (*get_id)(ss_plugin_t* s)
uint32_t (*get_event_source)() :point_right: uint32_t (*get_event_source)(ss_plugin_t* s)
uint32_t (*get_fields)() :point_right: uint32_t (*get_fields)(ss_plugin_t* s)
uint32_t (*get_extract_event_sources)() :point_right: uint32_t (*get_extract_event_sources)(ss_plugin_t* s)
uint32_t (*event_to_string)(ss_plugin_t *s, const uint8_t *data, uint32_t datalen) :point_right: uint32_t (*event_to_string)(const ss_plugin_event *evt)

This is a clear breaking change towards the plugin API, however this is also the right time in which we can introduce them because we already bumping the API version to 1.0.0 (see https://github.com/falcosecurity/falco/issues/1948).

+1
Both proposals (1. in particular) make a lot of sense to me.

I am all in for these changes!
I think they provide better future-proofing for the plugins API, with less chance of breaking the API.
I am not sure about get_id changes: do we really need them?
Aside from that, :+1:  from me!

Uh, I've included get_id by mistake, thanks for noticing!

I'm all in with the second proposal that's really needed. Furthermore, I would make event_to_string optional since not all consumers use it, and plugins authors do not understand why they should implement such a symbol. :+1:
On the other hand, I'm not convinced of removing the "static" requirement from symbols like  get_event_source, get_fields, get_extract_event_sources. By design, we forced them to be static-like functions. If a plugin returned different fields sets based on the passed configuration, it would be impossible to ensure that a rule file is compatible with a plugin. Today we can statically check the compatibility because each plugin version comes with a specific set of fields, and a rule file can declare the minimum plugin version. If the plugin could return a different fields list based on a runtime configuration, this mechanism would be completely broken.
A similar issue could happen with get_event_source. What will happen if a plugin always returns the same ID but different event source names (based on a runtime configuration)?
I guess it would break some of the plugin framework assumptions. We allow several IDs to map to the same event source (so multiple plugins can provide the same event source), but not the other way around.

I see your point and I agree! I didn't think of all the possible scenarios, thanks for the detail overview. I opened #309 to update the definitions of event_to_string as agreed!


[FEAT]: change prompt.yaml into agent_prompt.yaml

Description
change the name of the config.
Additional Information
No response

fixed


upgrade SnabbDOM & Diff

@jvanbruegge SnabbDOM released v1 with breaking changes, so we need to upgrade:

[optimize] upgrade SnabbDOM & Diff
[add] replace snabbdom-pragma with a simple createElement()
[optimize] replace Mocha with Jest
[add] Git hooks based on Husky
[optimize] upgrade Toolchain packages
[add] NPM Ignore configuration
[add] 2 NPM badges in ReadMe

Much of this is not applicable any more and in general would be better to have split PRs for multiple things. Will close this

Much of this is not applicable any more and in general would be better to have split PRs for multiple things. Will close this


fix(deps): update icr.io/cpopen/ibm-operator-catalog:v4.16 docker digest to 214bc56

This PR contains the following updates:

Package
Update
Change

icr.io/cpopen/ibm-operator-catalog
digest
6a706f4 -> 214bc56

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

:tada: This PR is included in version 1.4.27 :tada:
The release is available on:

GitHub release
v1.4.27

Your semantic-release bot :package::rocket:


fixes #891 - ignore portIndex validation for health checks if protocol is COMMAND

Duplicate of PR #909?

On Jan 7, 2015, at 3:35 AM, Dario Rexin<EMAIL_ADDRESS>wrote:
Assigned #954 to @ConnorDoyle.
—
Reply to this email directly or view it on GitHub.

Oops, you're right, thanks!


server

@lukebhan - can you take a look. Do you want me to add tests?

@lukebhan - can you take a look. Do you want me to add tests?

you probably should but i trust it work. i added some thins i noticed.


Fixed some old projects

All neural network scenes should be working now on Python 3.7 (I tested about 80% of them).
Also fixed a few lines in some other projects.
A few things that need to be checked:

Changes to mobject.svg.tex_mobject.get_parts_by_tex method, make sure this doesn't break anything else.
This line which might not do the same.
Not sure if about_point is correct here.

There's some visible differences between the output and the one that was generated using Python2.7 and uploaded to youtube.
Expected:

Actual output:

I'm going to look into what causes these differences and try to fix them. Any suggestions are welcome.

It's mostly fixed.
Actual output:

Albeit now the number neuron value at the start displays two decimal places instead of one, it could be fixed, but it's such a small detail that I'm not going to bother.
Expected:

Actual output:

changes to the codebase itself will require 3b1b's approval.
Also the old_projects and active_projects is not under a copyleft license. He recommends using old version of the project that correctly reproduce the ouput.
I am not sure if there is a desire to update the old project to use the new code.

The projects of 3b1b have already been removed from this repository. So closed this.


Remote SSH issues on VS Code 1.72

I had faced serious problems using Remote SSH extension on VS Code 1.72
I was able to connect to a server  - OK.
But I was able to open a specific folder there only once.
After closing down VS Code I could not reconnect to the same folder location (VS Code even did not prompt for password).
But opening other folders was still possible (even a folder above and below problematic folder) - but again only once.
It was enough to open at least one file after connection for the problem with reconnection occur again.
I tried to remove .vscode-server folder on remote location. Did not help.
I even reinstalled VS Code completely. Did not help.
Only  after I installed previous version 1.71.2 the problem was solved. At least for the time being.
I forgot to switch of the automatic updates, and after 1.72 installed it self again - the problem came back.
So I reinstalled to previous version again - and the problem was gone.

Could you share the log from the Remote-SSH output channel when trying to connect with 1.72?


update log level

Update the log level to warn since it should not be considered an error.

tks Khoi


Added missing spaces to RestrictedStorage example

I left them out because rustdoc renders those in and that pushes all the code forward 1 space. So I don't really see a need for this.

I should've tested if that was the problem or this.

Thank you @WaDelma!
bors r+


Schema validates correctly but doesn't insert subschema

I have an issue where a document correctly validates against a simple schema, but even though the property corresponding to a subschema is populated in the document, it is not inserted.
Give the following schemas:
import SimpleSchema2 from 'simpl-schema';
// search metadata
const SearchMetaSchema = new SimpleSchema2({
    ip: {
      type: String,
      regEx: SimpleSchema2.RegEx.IP,
      optional: false,
    },
    confirmation: {
      type: String,
      optional: false,
      autoValue() {
        if (!this.isSet) {
          return  (new Mongo.ObjectID()).valueOf();
        }
      },
    }
  }
);

// search
const SearchSchema = new SimpleSchema2({
    userId: {
      type: String,
      optional: true,
    },
    meta: {
      type: SearchMetaSchema,
      optional: false,
    },
//more properties ...
});

// NOW TRY IT
  let searchDoc = {
      userId,
      meta: {
        ip,
      },
   // more properties
    };
    console.log('SEARCH DOC:', searchDoc);

    searchDoc = SearchSchema.clean(searchDoc);
    SearchSchema.validate(searchDoc);
    console.log('CLEANED/VALIDATED DOC:', searchDoc);

    const id = SearchCollection.insert(searchDoc);
    const inserted = SearchCollection.findOne({_id: id});
    console.log('INSERTED', inserted);

From that I get:
SEARCH DOC: { userId: null,
meta: { ip: '<IP_ADDRESS>' },
<other properties omitted>
}

CLEANED/VALIDATED DOC: { userId: null,
meta: { ip: '<IP_ADDRESS>', confirmation: 'fdaeef8dd8d2d8d9780a1a1b' },
<other properties omitted>
 }

INSERTED { _id: 'n4QRWn982fSZ2q9TB',
userId: null,
<other properties omitted>
meta: {}
}

As you can see, after cleaning and validating, the meta.confirmation property is populated, but it is lost during insertion.  The _id property is, of course, created during insert.
Thoughts?

If you think this should be in aldeed:collection2-core, let me know.  It's play here too.

I've noticed the same problem. If I write something like
...   tasks: Array   "tasks.$": TeamTask ...
It does not work (TeamTask is a SimpleSchema clearly), but if I expand the Object inside the schema as in
  tasks: Array   "tasks.$": Object   "tasks.$.field1": String   "tasks.$.field2": String
It works as expected ... I'm not sure how to fix this ...

If SearchCollection has the schema attached, then it will be cleaning and validating again, as is the collection2-core default behavior. You could turn that off with filter: false, validate: false, etc. options passed to the .insert call, and see if that makes a difference. This could be either a collection2 issue or a SS issue, but it's probably best if you close this and open a new issue on the collection2-core repo.


std.numeric: Support mixing integral types in gcd()

This is neccesary for fixing gcd to be able to handle negative values (Issue 21834).

Is this good to go now? I think, with my new write rights, I'm allowed to add the merge label now...

@berni44 - sure, go for it.  I'll fix it up again in the next PR for negative integers.


Flesh out descriptions

Attempts to start down the UX path from #156

Done making my edits. Would love feedback on the technical accuracy and helpfulness of the commands. It's important to look at what these appear like on the command line rather than how they read in source (they're called "usage" here, but they appear as a description on the cli):
$ rack block-storage
NAME:
   rack block-storage - Block level storage, exposed as volumes to mount to host servers. Work with volumes and their associated snapshots.

USAGE:
   rack block-storage command [command options] [arguments...]

COMMANDS:
   snapshot	Copies of block storage volumes at a specific moment in time. Use for backups, restores, and long term storage.
   volume	Block level volumes to expand storage on your servers.
   help, h	Shows a list of commands or help for one command

OPTIONS:
   --help, -h			show help
   --generate-bash-completion

I'm realizing these all need to start out lowercase to fit in with the format:
NAME:
  rack command subcommand - description of service

I don't have anything to add here. These are all significantly better than what was there before.

Addressed the dashes.


Agent Pools graphic still refers to 'Queues'

Queues were renamed to Project Agent Pools in 8/2018 for Azure DevOps, but the graphic on the page still refers to 'Queues' and doesn't distinguish Organization Agent Pools vs Project Agent Pools ('Queue1', 'Queue2', 'Queue1' in the graphic).
Also, I expect some versions of TFS on-prem still use the term Queues (2015/2017/2018) ; if that is the case, the documentation will be confusing to the users of those version seeking help because there is no mentioned of Queues anymore.

I'm also noticing visualstudio.com is also still referred to in the graphic.  I believe the graphic is used on other pages in the documentation as well.

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

ID: 4409a9cb-8448-edd6-da0a-243e5601aa3e
Version Independent ID: ec15f71a-a76d-c3f9-1d31-832f92183ef4
Content: Agents pools - Azure Pipelines
Content Source: docs/pipelines/agents/pools-queues.md
Product: devops
GitHub Login: @andyjlewis
Microsoft Alias: alewis

Thanks for pointing this out. We are now updating the topic so that you will see the corresponding picture based on the version of the product for which you are reviewing the doc. We do not have a picture yet for Azure Pipelines specifically, but will consider adding that in the future.


[$500]  Reimbursement - Reimbursement message is not copied with "Copy to clipboard"

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.22-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

[User A] Request money from User B
[User B] Pay the request
[User A] Go to the paid IOU report
[User A] Right click on reimbursement message > Copy to clipboard
[User A] Paste the content

Expected Result:
The reimbursement message is copied successfully
Actual Result:
The reimbursement message is not copied
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/04545607-03bf-4eab-9d76-a25f44c6e308
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01143d94d68559e19a
Upwork Job ID:<PHONE_NUMBER>276658688
Last Price Increase: 2024-01-13

Proposal
Please re-state the problem that we are trying to solve in this issue.
Can not copy message reimbursement
What is the root cause of that problem?
We do not have a logic for copying the type "MARKEDREIMBURSED" of message in here
What changes do you think we should make in order to solve the problem?
We should add logic like this
if (reportAction.actionName === 'MARKEDREIMBURSED') {
 const reimbursMementessage = _.reduce(reportAction.message, (acc, curr) => `${acc}${curr.text}`, '');
 Clipboard.setString(reimbursMementessage);
}

What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Marked reimbursement message isn't copied with Copy to clipboard option
What is the root cause of that problem?
We don't have any condition here for setting that message to the clipboard when the action is MARKEDREIMBURSED
https://github.com/Expensify/App/blob/main/src/pages/home/report/ContextMenu/ContextMenuActions.js#L274-L298
What changes do you think we should make in order to solve the problem?
Add condition for MARKEDREIMBURSED and use util method getMarkedReimbursedMessage to generate that string.
https://github.com/Expensify/App/blob/ae4245e2e643439903b8fb95c69ad5dbe674b039/src/libs/ReportActionsUtils.ts#L774

Proposal
Please re-state the problem that we are trying to solve in this issue.
Copying reimbursed system message copies nothing.
What is the root cause of that problem?
The reimbursed system message object only contains text property and not html.

When we press copy to clipboard, we only take the first message html.
https://github.com/Expensify/App/blob/ae4245e2e643439903b8fb95c69ad5dbe674b039/src/pages/home/report/ContextMenu/ContextMenuActions.js#L271-L276
So, the copy to clipboard fails to copy the message.
What changes do you think we should make in order to solve the problem?

Previously, we had a similar issue for SUBMITTED action and the solution is to concat all message text.
https://github.com/Expensify/App/blob/ae4245e2e643439903b8fb95c69ad5dbe674b039/src/pages/home/report/ContextMenu/ContextMenuActions.js#L293-L296
But instead of handling it case by case, we can make it a general case. So, in addition to messageHtml, we can create messageText which is the result of all the messages' concatenation. Then, we will use it as the last fallback.
const messageText = _.reduce(reportAction.message, (acc, curr) => `${acc}${curr.text}`, '');

} else if (messageText) {
    Clipboard.setString(messageText)
}

Updated

PR is ready
cc: @0xmiroslav

@fedirjh, reassigning, please take over as C+. If you don't have bandwidth, unassign yourself. Thanks

Invited @0xmiroslav and @bernhardoj

Offer sent to @bernhardoj

Waiting for @0xmiroslav to accept

Going to close for now, @0xmiroslav please reopen when you'd like to be paid

@muttmuure Hi, I was scanning through my pending payment and saw that I haven't been paid yet on this one. Here is the offer that I was checking, could you kindly check it on your side?

Contributor: @bernhardoj paid $500 via Upwork
Sorry we missed that @bernhardoj

@mallenexpensify Thanks!


Defining lifecycle methods when defining a component

This issues follows on from some discussion in #general about how lifecycle methods work and @jorgebucaran suggest we bring it up here for discussion.
As a (very) new hyperapp user I’ve found it a little confusing that lifecycle methods can only be passed to a component at call time rather than when the component function itself is defined.
So something like this works:
const MyComponent = props => (

    {props.name}

);

<MyComponent
  name={"Sarah"}
  onupdate={(element, oldAttributes) => {
    console.log(oldAttributes.name) // "Max"
  }}
/>

While this does not:
const MyComponent = props => (

 {
    console.log(oldAttributes.name) // undefined
  }}>
    {props.name}

);

<MyComponent name={"Sarah} />

Which is obviously because div is a different component to MyComponent. It is possible to work around this by passing the props you care about in onupdate to the div:
const MyComponent = props => (

 {
    console.log(oldAttributes.name) // undefined
  }}>
    {props.name}

);

<MyComponent name={"Sarah} />

Or by wrapping MyComponent in a container that does essentially the same trick, but both these feel inelegant and not all that obvious to me.
I’m wondering if there’s a way to make it possible to receive and act upon the oldAttributes for a component in a way that is internal to the component itself, or whether HA’s functional paradigm precludes that possibilty (with purity as a payoff instead).

Components in Hyperapp are just plain functions which is used to be able to reuse multiple VNodes, nothing more. At the same time VNodes in hyperapp are too smart, they are represent real DOM nodes and also have lifecycle events aka components.
I would move lifecycle events to component level and use VNodes only as a DOM node representation. I believe this can make VNode easier to understand. No more custom oncreate and ondestroy events attached to real DOM nodes. Also components with lifecycle methods and which are not required to return VNodes are opens a lot more opportunities for developers.

Does this problem disappear when calling component functions directly (Component(props, children)), instead of using JSX (h(Component, props, children))?

@frenzzy I would move lifecycle events to component level and use VNodes only as a DOM node representation.

Interesting idea, but I think it would be slightly annoying to require a component anytime I want to use an oncreate handler.   My own use of lifecycle events would have me vote for the opposite stance:  components don't need lifecycle hooks. 🤷♂
Maybe we should survey what people are using the lifecycle events for?
I'll start:   I just searched my main project's codebase, and none of my lifecycle event handlers are useful at a component-level.
All of the oncreate handlers are attached directly to "normal" html elements.   They do things like grab an element reference for use with vanilla JS stuff, or mount a 3rd party library (like the Google Maps Autocomplete input).  In demos, I've also used them to trigger animations, which I also don't think is useful at the component-level, since you need the element reference.
I also have an onupdate handler which doesn't care about the props, and is just used to scroll a ul to the bottom when new list items are added.

Anyone else wants to add their thoughts/feedback? /cc @zaceno

The way I see it, our lifecycle events are about Element lifecycle - not component lifecycle. Hence it makes sense to me to set them on the vnodes only - NOT components.

I am with @zaceno
You can easily pass down lifecycle events to the root element of a Component.
Maybe the only thing Hyperapp can do by its own is to pass down these lifecycle events.
But IIRMC it is more an h thing.

I don't get it .
<MyComponent oncreate={el => console.log('create')} />

doesn't work at all. does it means lifecycle events only work on VNodes ?

@lili21 Yes.

Closing as I have no plans to add component-level lifecycle events in the foreseeable future.


Hack scripts assume "sigs.k8s.io/descheduler" project root unless PRJ_PREFIX is set

When running hack scripts (or make gen, which calls them) to generate conversions, etc, outside a project root that matches what is set in hack/lib/init.sh the scripts will silently fail, generating no output, with no indication why. This can be easily fixed by setting PRJ_PREFIX, but this is not documented anywhere. It would be even nicer if the scripts could identify when the project is located outside that default directory and output a message alerting the user that this may cause it to silently fail.
/kind documentation

cc @pmundt thanks for helping find this!

/remove-lifecycle stale

/remove-lifecycle stale

/remove-lifecycle stale

@damemi @seanmalloy as mentioned here, I've started working on this issue and will raise a new PR for the same. So, below is what I've understood w.r.t this issue,
So let' say I've two clones of kubernetes-sigs/descheduler one is the upstream repo under ($GOPATH/src/sigs.k8s.io/descheduler) and another one is the working repo which could be under $GOPATH/src/github.com/pravarag/descheduler. Now when I run either make gen or ./hack/update-generated-*.sh from my current working directory i.e. ($GOPATH/src/github.com/pravarag/descheduler), then it basically updates the packages under directory $GOPATH/src/sigs.k8s.io/descheduler ( as PRJ_PREFIX is set to that path). But, what we want to achieve is if make gen or any of ./hack/update-*.sh scripts are run from outside the $GOPATH/sigs.k8s.io/descheduler path, then it should update the packages within the current working directory and not the packages under clone of upstream? Please correct me if I'm wrong here.

@damemi @seanmalloy as mentioned here, I've started working on this issue and will raise a new PR for the same. So, below is what I've understood w.r.t this issue,
So let' say I've two clones of kubernetes-sigs/descheduler one is the upstream repo under ($GOPATH/src/sigs.k8s.io/descheduler) and another one is the working repo which could be under $GOPATH/src/github.com/pravarag/descheduler. Now when I run either make gen or ./hack/update-generated-*.sh from my current working directory i.e. ($GOPATH/src/github.com/pravarag/descheduler), then it basically updates the packages under directory $GOPATH/src/sigs.k8s.io/descheduler ( as PRJ_PREFIX is set to that path). But, what we want to achieve is if make gen or any of ./hack/update-*.sh scripts are run from outside the $GOPATH/sigs.k8s.io/descheduler path, then it should update the packages within the current working directory and not the packages under clone of upstream? Please correct me if I'm wrong here.

@pravarag yes that is correct. I also believe all of the hack scripts and Makefile targets should work if the repo lives outside of $GOPATH.
@damemi do you think this is really a bug instead of a documentation issue? Since we are using Go Modules using $GOPATH should not be required for anything. Do you agree?

@seanmalloy if it is not too much work for us to fix, I think it would be better treated as a bug. We should ideally not be dependent on GOPATH at this point

/kind bug
/unkind documentation

/remove-kind documentation

@seanmalloy if it is not too much work for us to fix, I think it would be better treated as a bug. We should ideally not be dependent on GOPATH at this point

@damemi @seanmalloy as mentioned above, does that mean this issue will be handled as part of some different enhancement maybe? Or I can still continue to work towards it? If that's the case, I will need a little guidance towards not making changes w.r.t GOPATH but how it can be handled differently.

@seanmalloy if it is not too much work for us to fix, I think it would be better treated as a bug. We should ideally not be dependent on GOPATH at this point

@damemi @seanmalloy as mentioned above, does that mean this issue will be handled as part of some different enhancement maybe? Or I can still continue to work towards it? If that's the case, I will need a little guidance towards not making changes w.r.t GOPATH but how it can be handled differently.

@pravarag you can work on this if you want to. I'm not aware of anyone else that is working on it. My suggestion for starting on this issue is to download the descheduler repo to ~/descheduler and then run through all the make targets to see what works and what doesn't work. It also might be useful to make a look at hack/lib/init.sh to understand how it uses the PRJ_PREFIX variable.
Let me know if you have specific questions and I can try to help answer them.
Thanks for your help!

@seanmalloy @damemi apologies for delay on completion of this issue. I'm currently recovering from Covid-19 under isolation and will start working on it as things settle 🙂

/remove-lifecycle stale
can we confirm if this is still an issue?

@damemi I was trying to make some changes w.r.t this PR submitted earlier but then lost track of it due to in-consistency. If you want I can look at it again but will have to check if this issue still persists.

@pravarag yeah double checking this could be good, sorry we lost track of your PR

/remove-lifecycle stale

This is pending from long time, I'm willing to give it a last try and will update this.

this is addressed, feel free to reopen if that's not the case
/close


Add tests

Done with https://github.com/HugoGiraudel/dependency-checker/commit/3453d5016386560d4a920fd3920c7c88f08145f1.


[TypeScript] [ButtonGroup] disabled shows as non-valid property in classes

[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 😯

In the [ButtonGroup API] it is listed that CSS overrides classes supports a property disabled that is applied when disabled=true. However passing this style with TypeScript causes typing errors:
No overload matches this call.
  Overload 1 of 2, '(props: { component: ElementType<any>; } & { color?: "primary" | "secondary" | "default" | "inherit" | undefined; disabled?: boolean | undefined; disableFocusRipple?: boolean | undefined; disableRipple?: boolean | undefined; fullWidth?: boolean | undefined; size?: "small" | ... 2 more ... | undefined; variant?: "text" | ... 2 more ... | undefined; } & CommonProps<...> & Pick<...>): Element', gave the following error.
    Type '{ disabled: string; }' is not assignable to type 'Partial<Record<ButtonGroupClassKey, string>>'.
      Object literal may only specify known properties, and 'disabled' does not exist in type 'Partial<Record<ButtonGroupClassKey, string>>'.
  Overload 2 of 2, '(props: DefaultComponentProps<ButtonGroupTypeMap<{}, "div">>): Element', gave the following error.
    Type '{ disabled: string; }' is not assignable to type 'Partial<Record<ButtonGroupClassKey, string>>'.
      Object literal may only specify known properties, and 'disabled' does not exist in type 'Partial<Record<ButtonGroupClassKey, string>>'.ts(2769)
withStyles.d.ts(107, 3): The expected type comes from property 'classes' which is declared here on type 'IntrinsicAttributes & { component: ElementType<any>; } & { color?: "primary" | "secondary" | "default" | "inherit" | undefined; disabled?: boolean | undefined; disableFocusRipple?: boolean | undefined; disableRipple?: boolean | undefined; fullWidth?: boolean | undefined; size?: "small" | ... 2 more ... | undefined; ...'
withStyles.d.ts(107, 3): The expected type comes from property 'classes' which is declared here on type 'IntrinsicAttributes & { color?: "primary" | "secondary" | "default" | "inherit" | undefined; disabled?: boolean | undefined; disableFocusRipple?: boolean | undefined; disableRipple?: boolean | undefined; fullWidth?: boolean | undefined; size?: "small" | ... 2 more ... | undefined; variant?: "text" | ... 2 more ... |...'

Expected Behavior 🤔

It should be possible to pass the disabled property and add CSS override classes when the buttongroup is disabled.
Temporary workaround
There is a workaround for the issue, however it is by no means perfect. The following screenshot shows what can be done to achieve the same effect:

Steps to Reproduce 🕹

Steps:

Open this codesandbox: https://codesandbox.io/s/material-demo-qgxnh?fontsize=14
Go to demo.tsx
Wait for TypeScript errors to be rendered in the editor. You will also observe that despite the styling the box-shadow is not removed
Disable line 69 and enable line 71. This shows the work-around does work.

Context 🔦

In our company style we want disabled buttons to not have a box-shadow. We currently need to achieve this using a workaround as seen in the codesandbox as the "disabled" class property is broken.
Your Environment 🌎

Tech
Version

Material-UI
v4.6.0

React
v16.11.0

Browser
Chrome latest

TypeScript
v3.6.3

@Favna Thanks for the report, the problem could be fixed with a change like this:
diff --git a/packages/material-ui/src/ButtonGroup/ButtonGroup.d.ts b/packages/material-ui/src/ButtonGroup/ButtonGroup.d.ts
index fa0899d9e..745c31d43 100644
--- a/packages/material-ui/src/ButtonGroup/ButtonGroup.d.ts
+++ b/packages/material-ui/src/ButtonGroup/ButtonGroup.d.ts
@@ -31,7 +31,8 @@ export type ButtonGroupClassKey =
   | 'groupedOutlinedSecondary'
   | 'groupedContained'
   | 'groupedContainedPrimary'
-  | 'groupedContainedSecondary';
+  | 'groupedContainedSecondary'
+  | 'disabled';

 export type ButtonGroupProps<
   D extends React.ElementType = ButtonGroupTypeMap['defaultComponent'],

Do you want to work on the issue? Alternatively, a good workaround is to use the .Mui-disabled class name.

@oliviertassinari I can fix this


Update admission control docs for webhooks (re-send #6368)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For 1.9 Features: set Milestone to 1.9 and Base Branch to release-1.9
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
NOTE: Please check the “Allow edits from maintainers” box (see image below) to
allow reviewers to fix problems on your patch and speed up the review process.
Please delete this note before submitting the pull request.
NOTE: After opening the PR, please un-check and re-check the "Allow edits from maintainers" box. This is a temporary workaround to address a known issue with GitHub.

This change is

@zacharysarah As requested, here's #6368 again.

@lavalamp Thanks for re-submitting this. Changes verified, LGTM :shipit:


restore plugin states back to UI when plugin data is loaded on DAW (e.g. load song data), or value changed at host

There is a handful of things to resolve on this regards:

What happens if UI is hidden and plugin state is modified externally (e.g. CC value is updated) - we should "subscribe" port value changes using LV2UI_Port__subscribe.
When we load a song data on DAW and display this plugin UI - it must restore the state from what the plugin non-UI part already has. There won't be port subscription updates because UI is not instantiated at that moment. Then, via ports?

As long as I tried with Zrythm, the plugin UI receives port_event() when it is instantiated (probably) for all float control ports. sfz filename is not sent, but sfizz has notifier port (id: 1) that is supposed to send patch:set message in response to patch:get message to control port (id: 0). Other sfz-specific control values are not sent. Maybe we have to modify sfizz sources to send the remaining states it needs to receive.

A better idea for sfz-specifics: request LV2 State to the audio engine.

As of 3661cda it can restore Web UI from the saved sfz. Once other parameters (namely for each sfz) are done, then it can be regarded as "practically working".


Failed to create task run pod ... : translating TaskSpec to Pod: Get "https://index.docker.io/v2/": dial tcp <IP_ADDRESS>:443: i/o timeout

Dear guys,
I am running tekton-pipeline v.0.45.0 in a Kubernetes cluster v1.26.2.
When I run this task :
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: hello
spec:
  steps:
    - name: echo
      image: ubuntu
      script: |
        echo "hello"

-> it's working like a charm.
But when I remove the script instruction :
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: hello
spec:
  steps:
    - name: echo
      image: ubuntu

-> I got the following error : 'failed to create task run pod "pipelinerun-hello": translating TaskSpec to Pod: Get "https://index.docker.io/v2/": dial tcp <IP_ADDRESS>:443: i/o timeout. Maybe missing or invalid Task default/hello'.
For instance I have the same problem when using kaniko task (https://hub.tekton.dev/tekton/task/kaniko) which tries to pull from gcr registry :
'failed to create task run pod "build-bash-build-bash-image": translating TaskSpec to Pod: Get "https://gcr.io/v2/": dial tcp <IP_ADDRESS>:443: i/o timeout. Maybe missing or invalid Task default/kaniko'
I am able to pull the exact same kaniko image from the host and from a pod within the cluster.
Do you have any idea what's the issue here ?
Thanks a lot,
BR

Thank you @lucienbanholzer for reporting this issue!
What happens when you run it with args but no script?

I ran this example without any issues on 0.45.x:
apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
  name: taskrun
spec:
  taskSpec:
    steps:
      - name: hey
        image: ubuntu

kubectl apply -f taskrun.yaml

kubectl get tr taskrun -o json | jq .status
{
  "completionTime": "2023-03-03T17:51:06Z",
  "conditions": [
    {
      "lastTransitionTime": "2023-03-03T17:51:06Z",
      "message": "All Steps have completed executing",
      "reason": "Succeeded",
      "status": "True",
      "type": "Succeeded"
    }
  ],
  "podName": "taskrun-pod",
  "startTime": "2023-03-03T17:49:35Z",
  "steps": [
    {
      "container": "step-hey",
      "imageID": "docker-pullable://ubuntu@sha256:2adf22367284330af9f832ffefb717c78239f6251d9d0f58de50b86229ed1427",
      "name": "hey",
      "terminated": {
        "containerID": "docker://4c07c4be41716967ea1b768ea7e49b23d0ac9ef50ac12924914cb803c51a0da5",
        "exitCode": 0,
        "finishedAt": "2023-03-03T17:51:06Z",
        "reason": "Completed",
        "startedAt": "2023-03-03T17:51:06Z"
      }
    }
  ],
  "taskSpec": {
    "steps": [
      {
        "computeResources": {},
        "image": "ubuntu",
        "name": "hey"
      }
    ]
  }
}

How are you creating taskrun?

Hi @lucienbanholzer, Tekton has two processing logics for steps with and without commands. If a script is provided, it will be used to compose the final command that runs in the container. If no script or args are provided, Tekton will retrieve the manifests from the remote image and use its entrypoint as the final command for the container. Therefore, different situations occur when filling in or not filling in scripts in this issue. The error should be caused by network issues accessing Docker on your cluster.
in codes line 61-62, if there are commands,continue directly. If not, it will query the entrypoint corresponding to the image.

1/
apiVersion: tekton.dev/v1beta1 kind: PipelineRun metadata:   name: pipelinerun spec:   pipelineRef:     name: pipeline
apiVersion: tekton.dev/v1beta1 kind: Pipeline metadata:   name: pipeline spec:   tasks:     - name: hello       taskRef:         name: hello
apiVersion: tekton.dev/v1beta1 kind: Task metadata:   name: hello spec:   steps:     - name: echo       image: ubuntu       args: ["ubuntu-build-example","SECRETS-example.md"]
->failed to create task run pod "pipelinerun-hello": translating TaskSpec to Pod: Get "https://index.docker.io/v2/": dial tcp <IP_ADDRESS>:443: i/o timeout. Maybe missing or invalid Task default/hello
2/ Same pipelinerun + pipeline manifests  +
apiVersion: tekton.dev/v1beta1 kind: Task metadata:   name: hello spec:   steps:     - name: echo       image: ubuntu
->failed to create task run pod "pipelinerun-hello": translating TaskSpec to Pod: Get "https://index.docker.io/v2/": dial tcp <IP_ADDRESS>:443: i/o timeout. Maybe missing or invalid Task default/hello
3/ Same pipelinerun + pipeline manifests  +
apiVersion: tekton.dev/v1beta1 kind: Task metadata:   name: hello spec:   steps:     - name: echo       image: ubuntu       command: ["echo"]       args: ["hello"]
->Step completed successfully

You have conducted a very thorough test, and the results are exactly what I wanted to say above. The command of the container is derived from step.command or step.script. If neither command nor script is specified, the entrypoint obtained from the remote image repository will be used as the command.
Based on your testing steps, it appears that both test1 and test2 did not specify a command or script, so they needed to query for an image from a remote source. On the other hand, since test3 specified a command, there was no need to query remotely and thus no network error occurred.
Can you tell me how your k8s cluster was installed (minikube, kind, etc.), and please run the following command for network testing inside your cluster (not in the browser)?
curl -k https://index.docker.io/v2/library/ubuntu/manifests/latest

I installed the cluster using kubeadm init.
The cluster is behind a corporate proxy  :
kubectl exec -it testcurl -- curl -v -x <proxy> -k https://index.docker.io/v2/library/ubuntu/manifests/latest->
``

Trying <IP_ADDRESS>:3128...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 3128 (#0)
allocate connect buffer
Establish HTTP proxy tunnel to index.docker.io:443

CONNECT index.docker.io:443 HTTP/1.1
Host: index.docker.io:443
User-Agent: curl/7.88.1-DEV
Proxy-Connection: Keep-Alive

< HTTP/1.1 200 Connection established
<

CONNECT phase completed
CONNECT tunnel established, response 200
ALPN: offers h2,http/1.1
TLSv1.3 (OUT), TLS handshake, Client hello (1):
TLSv1.3 (IN), TLS handshake, Server hello (2):
TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
TLSv1.3 (IN), TLS handshake, Certificate (11):
TLSv1.3 (IN), TLS handshake, CERT verify (15):
TLSv1.3 (IN), TLS handshake, Finished (20):
TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
TLSv1.3 (OUT), TLS handshake, Finished (20):
SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
ALPN: server did not agree on a protocol. Uses default.
Server certificate:
subject: CN=*.docker.com
start date: Feb 22 00:00:00 2023 GMT
expire date: Nov 30 23:59:59 2023 GMT
issuer: C=US; O=Amazon; CN=Amazon RSA 2048 M02
SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
using HTTP/1.x

GET /v2/library/ubuntu/manifests/latest HTTP/1.1
Host: index.docker.io
User-Agent: curl/7.88.1-DEV
Accept: /

< HTTP/1.1 401 Unauthorized
< content-type: application/json
< docker-distribution-api-version: registry/2.0
< www-authenticate: Bearer realm="https://auth.docker.io/token",service="registry.docker.io",scope="repository:library/ubuntu:pull"
< date: Sat, 04 Mar 2023 10:41:03 GMT
< content-length: 157
< strict-transport-security: max-age=31536000
< docker-ratelimit-source: <IP_ADDRESS>
<
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":[{"Type":"repository","Class":"","Name":"library/ubuntu","Action":"pull"}]}]}
``
At least I get a response even if its unauthorized. Without specifiying the proxy i cannot reach the resource.
Sounds like I miss proxy settings somewhere ? I put it in /etc/manifests/kube-*.yaml + /etc/systemd/system/containerd.service.d/http-proxy.conf.
Or maybe another pb causing the unauthorized ?
Thanks again

I installed the cluster using kubeadm init. The cluster is behind a corporate proxy : kubectl exec -it testcurl -- curl -v -x <proxy> -k https://index.docker.io/v2/library/ubuntu/manifests/latest-> ``

Trying <IP_ADDRESS>:3128...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 3128 (#0)
allocate connect buffer
Establish HTTP proxy tunnel to index.docker.io:443

CONNECT index.docker.io:443 HTTP/1.1
Host: index.docker.io:443
User-Agent: curl/7.88.1-DEV
Proxy-Connection: Keep-Alive

< HTTP/1.1 200 Connection established <

CONNECT phase completed
CONNECT tunnel established, response 200
ALPN: offers h2,http/1.1
TLSv1.3 (OUT), TLS handshake, Client hello (1):
TLSv1.3 (IN), TLS handshake, Server hello (2):
TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
TLSv1.3 (IN), TLS handshake, Certificate (11):
TLSv1.3 (IN), TLS handshake, CERT verify (15):
TLSv1.3 (IN), TLS handshake, Finished (20):
TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
TLSv1.3 (OUT), TLS handshake, Finished (20):
SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
ALPN: server did not agree on a protocol. Uses default.
Server certificate:
subject: CN=*.docker.com
start date: Feb 22 00:00:00 2023 GMT
expire date: Nov 30 23:59:59 2023 GMT
issuer: C=US; O=Amazon; CN=Amazon RSA 2048 M02
SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
using HTTP/1.x

GET /v2/library/ubuntu/manifests/latest HTTP/1.1
Host: index.docker.io
User-Agent: curl/7.88.1-DEV
Accept: /

< HTTP/1.1 401 Unauthorized < content-type: application/json < docker-distribution-api-version: registry/2.0 < www-authenticate: Bearer realm="https://auth.docker.io/token",service="registry.docker.io",scope="repository:library/ubuntu:pull" < date: Sat, 04 Mar 2023 10:41:03 GMT < content-length: 157 < strict-transport-security: max-age=31536000 < docker-ratelimit-source: <IP_ADDRESS> < {"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":[{"Type":"repository","Class":"","Name":"library/ubuntu","Action":"pull"}]}]} ``
At least I get a response even if its unauthorized. Without specifiying the proxy i cannot reach the resource. Sounds like I miss proxy settings somewhere ? I put it in /etc/kubernetes/manifests/kube-*.yaml + /etc/systemd/system/containerd.service.d/http-proxy.conf.
Or maybe another pb causing the unauthorized (lack of certificates or something) ?
Thanks again

"Unauthorized" is the expected result because the command I sent you was only for network testing and did not include any authentication information.
I think there are three possible solutions:

When declaring the taskrun, add either step.command or step.script.This way, when running taskrun, there is no need to access the image repository to obtain the entrypoint.

Modify the tekton-controller by running kubectl edit deploy tekton-pipelines-controller and adding an HTTP proxy to env variables. However, it's uncertain whether this will work.

Configure your network so that the k8s cluster can access docker.io without needing a proxy setting.

Ok thanks.
I will try solution 2 which seems to be the more appropriate for my case (solution 1 would require to change the code of kaniko Task for instance and solution 3 is not viable within my company).
I will try using this to set UP the proxy https://tekton.dev/docs/operator/proxy/ .
Thanks a lot