Remove explicit branch inputs from cloud integration test workflows in GHA

Reference Issues or PRs
Closes #2836

What does this implement/fix?
Put a x in the boxes that apply

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds a feature)
[ ] Breaking change (fix or feature that would cause existing features not to work as expected)
[ ] Documentation Update
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build related changes
[ ] Other (please describe):

Testing

[ ] Did you test the pull request locally?
[ ] Did you add new tests?

How to test this PR?
You won't be able to see the branch input textbox gone from the GitHub Actions UI until we merge the PR to main. However, you can compare this approach to our local upgrade tests, which don't specify the branch as an input and can still be run from an arbitrary branch:

Any other comments?

From the issue.

This is not needed as workflows that are run manually (via the workflow_dispatch trigger) already offer a way to select the branch from which they should run:

If I understand you correctly you are saying the blue and green underlined options are identical, but that isn't the case.

The blue option is to affect from which branch the workflow runs.  If you are modifying the workflow itself, this is a useful option to test your changes.  You may still want the test in your workflow to checkout the main branch of the Nebari codebase however.  This isn't possible without both options.
I think the customization we currently have is useful and doesn't hurt anything as long as good options are used for the defaults which I think they are.

You may still want the test in your workflow to checkout the main branch of the Nebari codebase however. This isn't possible without both options.

Are you referring to testing the workflow from another branch but have that deploy Nebari from the main branch? Honestly, I don't think this is a very common scenario but I get that if it ever happens to be the case, it would certainly be useful to have a way of choosing branches separately.
The reason I opened this PR is because I think is more intuitive to use the built-in branch selector (like we're doing in other tests), instead of adding an additional on our own. Furthermore, I'm not sure if it might be prone-error. What happens if you select a branch on the drop-down and write another on the textbox? Which one gets checked out? I'm assuming the latter.

Yeah, I agree the situation I described before is not common.
I looked up the docs for the checkout action.
    # The branch, tag or SHA to checkout. When checking out the repository that
    # triggered a workflow, this defaults to the reference or SHA for that event.
    # Otherwise, uses the default branch.

I was under the impression that main would always be checked out if we didn't set a branch, but I now see that's not the case.  I'm okay with this PR then.


how to get the preference.txt and the candidate.txt?

hi , I want to calculate the CodeBLEU. Could you please tell me how to generate the preference.txt and the candidate.txt? Thanks a lot.

The reference file and the prediction file should be the same format. Like shown in here, it is in plain text format with each line containing one example (in this case, one method).

Thank you for your reply. I have another question: I calculated the CodeBLEU of two semantically similar pieces of code that in BigCloneBench，but the results of CodeBLEU were poor(such as 24.1%, 14.7%). The params I set was 0.1,0.1,0.4,0.4. The scores of the syntax_match and the dataflow_match were below 50%.
Could you please tell me why I get the poor results?

I think the reason probably is:
CodeBLEU is the metric to measure how similar between model predictions and ground truths in ngram level, syntax level and dataflow. It is not used to measure two different approaches for the same functionality. The latter is related to the clone detection task, which is what BigCloneBench target at. CodeBLEU obviously cannot solve such problem since to understand the semantics of codes requires powerful neural networks.


New version: Microsoft.PowerBI version 2.120.963.0

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Resolves #118583

Microsoft Reviewers: Open in CodeFlow

Duplicate of https://github.com/microsoft/winget-pkgs/pull/118524


Deadlock when reading from non existent con files

Description
open System.IO
File.ReadAllLines("con")

Try this F# script anywhere, and you will see that it deadlocks.
https://superuser.com/questions/86999/why-cant-i-name-a-folder-or-file-con-in-windows
It turns out the con name is special and sets the file to read from the console. Typing the con as a module name into the Spiral language's project file was causing the language server to hang. I was relying on an exception being thrown to detect nonexistent files, but I've worked around it using File.Exists .
Configuration
I am on .NET 8 preview 3 on Windows 10, but this error should be present in the old .NET versions as well.

CC @KathleenDollard

The behavior you have observed is correct. "con" is short for "console" and it's being mapped to "\.\con" file path. The file is successfully opened (the file type is FILE_TYPE_CHAR) and the File.ReadAllLines waits for user input. When you type some text and press enter, it reads a line. The problem is that it needs and EOF to stop reading.
In the future we may add an API for getting file type: https://github.com/dotnet/runtime/issues/62868


Create an annotation for boilerplate getter/setter/property methods

In GroovyFX, they have the @FXBindable annotation that turns this:
@FXBindable
String myString = "hello"

into this:
private SimpleStringProperty myString = new SimpleStringProperty("hello")
public void setMyString(String value) { myString.setValue(value) }
public String getMyString() { myString.getValue() }
public SimpleStringProperty myStringProperty() { myString }

Could something be done for Val and Var? Something like:
@ReactableVal
Double someDouble;

@ReactableVar
Integer someInteger = 4;
```
into
````java
private Val<Double> someDouble;
public double getSomeDouble() { return someDouble.getValue); }
public Val<Double> someDoubleProperty() { return someDouble; }

private Var<Integer> someInteger =Var.newSimpleVar(4);
public int getSomeInteger() { return someInteger.getValue(); }
public void setSomeInteger(int value) { someInteger.setValue(value); }
public Var<Integer> someIntegerProperty() { return someInteger; }

or even
@AsFXProperty
private Var<Double> someDouble = Var.newSimpleVar(4.5);

that generates the setter/getter/property method
public int getSomeDouble() { return someDouble.getValue(); }
public void setSomeDouble(int value) { someDouble.setValue(value); }
public Var<Integer> someDoubleProperty() { return someDouble; }

I don't know how it works in Groovy, but I don't think this is possible with Java annotations without bytecode manipulation. I think there would already be some project doing that if it was easy.

Groovy uses AST transformations for compile-time (and runtime) meta-programming. In order to use auto-completion we also need a DSL descriptor file for the IDE. Eclipse and IDEA formally used two standards for this (DSDL and GDSL), but I think one standard superceeded (not sure about this).
The Spock specification framework uses AST transformations a lot and IDEA/Eclipse already include DSL descriptors for it.
I personally use IDEA live templates to generate the boiler-plate code for JavaFX properties in Java, Groovy and Kotlin and avoid Groovy's AST transformations.

Thanks for sharing some details!

Indeed! Thanks for the link and explanation!


Have Tesco changed their login

I am getting errors on Tesco login,  been working flawlessly up till now?
1589493023812 - Tesco - Thu, 14 May 2020 21:50:23 GMT Logging in with new user session Navigation Timeout Exceeded: 30000ms exceeded

Yeah Tesco has stopped working for me for the last day or so also, getting a similar error message.

odd, it's still working for me. I don't have it running all day every day tho, skipping nights

Still working for me.
I don't know if this is relevant, but the Tesco website was performing very oddly last time we placed an order. For instance, selected items were being added to the basket in twos and it was hard to knock this down to one. My wife swears that at the best of times stuff disappears from the basket, but this was much worse than usual.

Tesco is still working for me and the most reliable one. Morrison and Adanearly always timed out for me, yet when i checked manually the response times were fine.

Thanks guys for confirming,  must be my end,  I'll have a play later with different useragents see if that does anything.

It's stopped working for me as well...
$ node ./src/index.js cron
1589544360296 - Tesco - Fri, 15 May 2020 12:06:00 GMT
Logging in with new user session
unexpected error:
{ TimeoutError: Navigation Timeout Exceeded: 30000ms exceeded
    at Promise.then (/home/paulmaunders/delivery-slot-bot/node_modules/puppeteer/lib/LifecycleWatcher.js:142:21)
  -- ASYNC --
    at Frame.<anonymous> (/home/paulmaunders/delivery-slot-bot/node_modules/puppeteer/lib/helper.js:111:15)
    at Page.goto (/home/paulmaunders/delivery-slot-bot/node_modules/puppeteer/lib/Page.js:674:49)
    at Page.<anonymous> (/home/paulmaunders/delivery-slot-bot/node_modules/puppeteer/lib/helper.js:112:23)
    at goto (/home/paulmaunders/delivery-slot-bot/src/puppeteer-utils.js:62:43)
    at TescoStore.login (/home/paulmaunders/delivery-slot-bot/src/stores/tesco.js:58:11)
    at TescoStore.start (/home/paulmaunders/delivery-slot-bot/src/stores/tesco.js:89:18)
    at TescoStore.checkDeliveries (/home/paulmaunders/delivery-slot-bot/src/stores/tesco.js:104:16)
    at runStore (/home/paulmaunders/delivery-slot-bot/src/index.js:33:56)
    at process._tickCallback (internal/process/next_tick.js:68:7) name: 'TimeoutError' }```

I get a similar but slightly different error when running on my MacBook:
unexpected error:
TimeoutError: Navigation timeout of 30000 ms exceeded
    at /Users/paulmaunders/Documents/Code/delivery-slot-bot/node_modules/puppeteer/lib/LifecycleWatcher.js:101:25
    at async FrameManager.navigateFrame (/Users/paulmaunders/Documents/Code/delivery-slot-bot/node_modules/puppeteer/lib/FrameManager.js:92:21)
    at async Frame.goto (/Users/paulmaunders/Documents/Code/delivery-slot-bot/node_modules/puppeteer/lib/FrameManager.js:376:16)
    at async Page.goto (/Users/paulmaunders/Documents/Code/delivery-slot-bot/node_modules/puppeteer/lib/Page.js:623:16)
    at async goto (/Users/paulmaunders/Documents/Code/delivery-slot-bot/src/puppeteer-utils.js:62:32)
    at async TescoStore.login (/Users/paulmaunders/Documents/Code/delivery-slot-bot/src/stores/tesco.js:58:5)
    at async TescoStore.start (/Users/paulmaunders/Documents/Code/delivery-slot-bot/src/stores/tesco.js:89:7)
    at async TescoStore.checkDeliveries (/Users/paulmaunders/Documents/Code/delivery-slot-bot/src/stores/tesco.js:104:5)
    at async runStore (/Users/paulmaunders/Documents/Code/delivery-slot-bot/src/index.js:33:44)
    at async run (/Users/paulmaunders/Documents/Code/delivery-slot-bot/src/index.js:57:5)
  -- ASYNC --
    at Frame.<anonymous> (/Users/paulmaunders/Documents/Code/delivery-slot-bot/node_modules/puppeteer/lib/helper.js:82:19)
    at Page.goto (/Users/paulmaunders/Documents/Code/delivery-slot-bot/node_modules/puppeteer/lib/Page.js:623:53)
    at Page.<anonymous> (/Users/paulmaunders/Documents/Code/delivery-slot-bot/node_modules/puppeteer/lib/helper.js:83:27)
    at goto (/Users/paulmaunders/Documents/Code/delivery-slot-bot/src/puppeteer-utils.js:62:43)
    at TescoStore.login (/Users/paulmaunders/Documents/Code/delivery-slot-bot/src/stores/tesco.js:58:11)
    at TescoStore.start (/Users/paulmaunders/Documents/Code/delivery-slot-bot/src/stores/tesco.js:89:18)
    at TescoStore.checkDeliveries (/Users/paulmaunders/Documents/Code/delivery-slot-bot/src/stores/tesco.js:104:16)
    at runStore (/Users/paulmaunders/Documents/Code/delivery-slot-bot/src/index.js:33:56)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async run (/Users/paulmaunders/Documents/Code/delivery-slot-bot/src/index.js:57:5) {
  name: 'TimeoutError'
}```

Yep set a manual  useragent in config.ini and it works fine again. They obviously have some sort of tracking of agents that aren't "normal"... and debian with chromium isn't well used is it?!....
Used this from issue #56 :+1:
useragent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36"

Paul (sorry I closed the issue on you!) have you tried changing useragent?... looks like you just have a more verbose error level, but you have a login time out too...

I've tried a different user agent and confirmed it's being used, but unfortunately am still blocked. Assume they have bot detection, or some basic WAF rules, that have now blacklisted the IP I am using.
I can wget tesco.com but not the login page.. so it looks that the block is occuring at "https://secure.tesco.com/account/en-GB/login". I don't have loads of machines (or time at the moment), to try and circumvent the block. Feels like it's being done at IP level at the moment for me as changing user agent isn't affecting it. Of course you can block on other factors too.

I managed to get it working again changing user agent.

I managed to get it working again changing user agent.

Same client connecting IP?

I managed to get it working again changing user agent.

Same client connecting IP?

I always use a VPN, change IP address almost every day.
But today on the same IP address, this wasn't working, then started working after changing user agent.

I can't even wget the homepage now:
Resolving www.tesco.com (www.tesco.com)... <IP_ADDRESS>
Connecting to www.tesco.com (www.tesco.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response...

I guess it's a good idea to only use the bot sparingly, they might notice and put blocks in place if people have it running all the time.

I guess it's a good idea to only use the bot sparingly, they might notice and put blocks in place if people have it running all the time.

Yes, that's possible, however I span up a VM in GCP and tried to wget the homepage and that refused to work too, completely vanilla. So maybe their WAF team are being super aggressive. Maybe someone is abusing this script.

I think maybe something odd is going on with the config parsing. In my config I had this Useragent set:
useragent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36';

But logging it to the console when the script runs seems so show it being truncated after the semi-colon:
yarn run v1.22.4
$ node ./src/index.js
Useragent: "Mozilla/5.0 (Macintosh

I've had a go at implementing a random useragent string - this might be a good solution: https://github.com/paulmaunders/delivery-slot-bot/pull/82

I think maybe something odd is going on with the config parsing. In my config I had this Useragent set:
useragent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36';

But logging it to the console when the script runs seems so show it being truncated after the semi-colon:
yarn run v1.22.4
$ node ./src/index.js
Useragent: "Mozilla/5.0 (Macintosh

Changing the useragent also worked for me, so I've had a go at implementing a random user agent string - this might be a good generic solution: #82

To be honest Paul I am running an older version of the code, as I had to fudge some of the sandbox stuff and the newer version took care of those arguments in a different way.
For example in src/puppeteer-utils.js:
function getBrowser() {
  if (process.env.PUPPETEER_BROWSER_WS_ENDPOINT) {
    return puppeteer.connect({
      browserWSEndpoint: process.env.PUPPETEER_BROWSER_WS_ENDPOINT,
    });
  }
  **return puppeteer.launch({args:['--no-sandbox']});**
}

and in src/index.js:
try {
    const page = await browser.newPage();
    **await page.setUserAgent('Mozilla/5.0 CK={} (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko');

        await page.goto('https://google.com');
        const userAgent = await page.evaluate(() => navigator.userAgent );
        console.log(userAgent);**

    await page.setViewport({ width: 1367, height: 800 });

Output confirms the right user agent is being sent, as it's retrieved from visiting google.com as an example before hitting tesco:
[x@a delivery-slot-bot]$ node delivery-slots.js
1589558812340 Fri, 15 May 2020 16:06:52 GMT
**Mozilla/5.0 CK={} (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko**
Logging in with new user session
Navigation Timeout Exceeded: 30000ms exceeded

I guess it's a good idea to only use the bot sparingly, they might notice and put blocks in place if people have it running all the time.

Yes, that's possible, however I span up a VM in GCP and tried to wget the homepage and that refused to work too, completely vanilla. So maybe their WAF team are being super aggressive. Maybe someone is abusing this script.

If I was their admins I would block all ips that are GCP, AWS or Alibaba... as that will not be real users... so I put a bitnami image on my machine at home.
Also with VPN's get uk routing as they would probably block all known non UK IPs.

Changing the user agent worked for me but my server is not on GCP or AWS.
As @jpf198 suggests they may have blocked the large cloud platforms... @saqmaster have you tried running the script from a machine on your home network?

I think I spoke to soon, I just check the script on my server and it's getting errors
<TITLE>Access Denied</TITLE>

Access Denied

You don't have permission to access "http://groceries.tesco.com/groceries/en-GB/slots/delivery" on this server.

Reference #18.28367a5c.1589570760.1836fd90

It's still working from my local machine though.

It's not working for me :(
$ node delivery-slots.js
1589584301949 - Tesco - Fri, 15 May 2020 23:11:41 GMT
Logging in with new user session
unexpected error:
Error: net::ERR_TIMED_OUT at https://secure.tesco.com/account/en-GB/login?from=https%3A%2F%2Fwww.tesco.com%2Fgroceries%2Fen-GB%2Fslots%2Fdelivery
    at navigate (/Users/hackeron/Development/delivery-slot-bot/node_modules/puppeteer/lib/FrameManager.js:120:37)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async FrameManager.navigateFrame (/Users/hackeron/Development/delivery-slot-bot/node_modules/puppeteer/lib/FrameManager.js:94:17)
    at async Frame.goto (/Users/hackeron/Development/delivery-slot-bot/node_modules/puppeteer/lib/FrameManager.js:406:12)
    at async Page.goto (/Users/hackeron/Development/delivery-slot-bot/node_modules/puppeteer/lib/Page.js:674:12)
    at async goto (/Users/hackeron/Development/delivery-slot-bot/src/puppeteer-utils.js:62:32)
    at async TescoStore.login (/Users/hackeron/Development/delivery-slot-bot/src/stores/tesco.js:58:5)
    at async TescoStore.start (/Users/hackeron/Development/delivery-slot-bot/src/stores/tesco.js:89:7)
    at async TescoStore.checkDeliveries (/Users/hackeron/Development/delivery-slot-bot/src/stores/tesco.js:104:5)
    at async runStore (/Users/hackeron/Development/delivery-slot-bot/src/index.js:33:44)
    at async run (/Users/hackeron/Development/delivery-slot-bot/src/index.js:57:5)
  -- ASYNC --
    at Frame.<anonymous> (/Users/hackeron/Development/delivery-slot-bot/node_modules/puppeteer/lib/helper.js:111:15)
    at Page.goto (/Users/hackeron/Development/delivery-slot-bot/node_modules/puppeteer/lib/Page.js:674:49)
    at Page.<anonymous> (/Users/hackeron/Development/delivery-slot-bot/node_modules/puppeteer/lib/helper.js:112:23)
    at goto (/Users/hackeron/Development/delivery-slot-bot/src/puppeteer-utils.js:62:43)
    at TescoStore.login (/Users/hackeron/Development/delivery-slot-bot/src/stores/tesco.js:58:11)
    at TescoStore.start (/Users/hackeron/Development/delivery-slot-bot/src/stores/tesco.js:89:18)
    at TescoStore.checkDeliveries (/Users/hackeron/Development/delivery-slot-bot/src/stores/tesco.js:104:16)
    at runStore (/Users/hackeron/Development/delivery-slot-bot/src/index.js:33:56)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async run (/Users/hackeron/Development/delivery-slot-bot/src/index.js:57:5)

But I am able to login from the browser. Maybe they are checking the user agent??

@rgaufman Are you running it from a data centre or from your home network?
Could you try this branch which sets a random user agent to see if it helps? https://github.com/paulmaunders/delivery-slot-bot/tree/random-usergent

From home, setting a useragent works :)

It looks like Tesco have blocked major cloud hosting platforms. In the short term, running it from your home network seems to work, in the longer term we could consider integrating Tor.

works ok on the cloud hosting platform I'm using, wont mention tho, but it's also major

@rgaufman Are you running it from a data centre or from your home network?
Could you try this branch which sets a random user agent to see if it helps? https://github.com/paulmaunders/delivery-slot-bot/tree/random-usergent

Hi I have just tried this branch and it looks like it still gets an error although my my setup I get this error: TypeError: Right-hand side of 'instanceof' is not an object
at runStore (/home/tescobot/delivery-slot-bot/src/index.js:49:13)
Thanks

seems like this is being blocked with AWS hosts

Seems like this stopped working? I'm getting this:
$ node delivery-slots.js
1590065349829 - Tesco - Thu, 21 May 2020 12:49:09 GMT
Logging in with new user session
error: Auth failed. Please check details are correct in config.ini

Is it still working for you guys?

Seems like this stopped working? I'm getting this:
$ node delivery-slots.js
1590065349829 - Tesco - Thu, 21 May 2020 12:49:09 GMT
Logging in with new user session
error: Auth failed. Please check details are correct in config.ini

Is it still working for you guys?

I got that error a couple of days ago, but it went away when I input a new random user agent in config.ini
Mine is still working with a new user agent set. Think if you don't change it every so often it gets blocked.

I tried changing the user agent, but it started to fail again, was working fine last week. Any ideas? <
$ node delivery-slots.js
1593155900037 - Tesco - Fri, 26 Jun 2020 07:18:20 GMT
Logging in with new user session
error: Auth failed. Please check details are correct in config.ini

the agent blocked errors I was getting had a time out error, but looks like
you have a password incorrect error... so probably not the same issues.
are you 100% sure your username and password are correct?
On Fri, 26 Jun 2020, 08:19 Roman Gaufman<EMAIL_ADDRESS>wrote:

I tried changing the user agent, but it started to fail again, was working
fine last week. Any ideas? <
$ node delivery-slots.js
1593155900037 - Tesco - Fri, 26 Jun 2020 07:18:20 GMT
Logging in with new user session
error: Auth failed. Please check details are correct in config.ini
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/paulmaunders/delivery-slot-bot/issues/80#issuecomment-650021273,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE3GG5EGSYK2WULDTGOOCBDRYRDYLANCNFSM4NBB3FQQ
.

Yes, 100%, I copy-pasted into the browser from the config file and it logs in successfully. Is it working for you?<
error: Auth failed. Please check details are correct in config.ini
1593185700300 - Tesco - Fri, 26 Jun 2020 15:35:00 GMT
Logging in with new user session
error: Auth failed. Please check details are correct in config.ini
1593186000183 - Tesco - Fri, 26 Jun 2020 15:40:00 GMT
Logging in with new user session
error: Auth failed. Please check details are correct in config.ini
1593186300282 - Tesco - Fri, 26 Jun 2020 15:45:00 GMT
Logging in with new user session
error: Auth failed. Please check details are correct in config.ini
1593186600264 - Tesco - Fri, 26 Jun 2020 15:50:00 GMT
Logging in with new user session
error: Auth failed. Please check details are correct in config.ini

what machine you running it on and what internet connection. think we have
worked out they are blocking access from AWS, Azure and GCP, irrespective
of what agent you are presenting?
I'm running it from a bitnami debian template image on a machine at home
now.
On Fri, 26 Jun 2020, 17:06 Roman Gaufman<EMAIL_ADDRESS>wrote:

Yes, 100%, I copy-pasted into the browser from the config file and it logs
in successfully. Is it working for you?<
error: Auth failed. Please check details are correct in config.ini
1593185700300 - Tesco - Fri, 26 Jun 2020 15:35:00 GMT
Logging in with new user session
error: Auth failed. Please check details are correct in config.ini
1593186000183 - Tesco - Fri, 26 Jun 2020 15:40:00 GMT
Logging in with new user session
error: Auth failed. Please check details are correct in config.ini
1593186300282 - Tesco - Fri, 26 Jun 2020 15:45:00 GMT
Logging in with new user session
error: Auth failed. Please check details are correct in config.ini
1593186600264 - Tesco - Fri, 26 Jun 2020 15:50:00 GMT
Logging in with new user session
error: Auth failed. Please check details are correct in config.ini
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/paulmaunders/delivery-slot-bot/issues/80#issuecomment-650260676,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE3GG5GQGWEQJSLITBI7MODRYTBP5ANCNFSM4NBB3FQQ
.

Ah, weird! - When I try to login from my home EE connection, it doesn't work, but when I tether through my phone on an EE LTE connection it works! - I'm using a Macbook Pro at home in both cases.

try logging in to the website normally from another machine or tablet from
your home ee  broadband,  see if it is the ip blocked or agent, or
combination of both....
On Fri, 26 Jun 2020, 18:49 Roman Gaufman<EMAIL_ADDRESS>wrote:

Ah, weird! - When I try to login from my home EE connection, it doesn't
work, but when I tether through my phone on an EE LTE connection it works!

I'm using a Macbook Pro at home in both cases.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/paulmaunders/delivery-slot-bot/issues/80#issuecomment-650312616,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE3GG5EHQNIY4KZG37NCGZTRYTNSZANCNFSM4NBB3FQQ
.

My bot is still working, but I haven't had to use it for a few weeks as in my area tesco have gone back to releasing slots 3 weeks ahead at midnight, so I log on at midnight on a Tuesday and get a slot three weeks ahead.
I think they stopped releasing them at midnight for a few months, but started doing it again a few weeks ago. I think they only release a small percentage of the slots at midnight and save then release some during the day at random times.
You can only change your tesco order until 11:45pm the day before your delivery, one delivery driver told me that their algorithm then calculates the weight of all the existing orders for the next day, if the van is still under it's weight limit they release another slot just after midnight for the same day.

Hi guys, is this working for you at the moment? - last time I managed to get it working by using 4G tethering to my phone, as they blocked my home BT connection. But this trick isn't working anymore :(

I've not used this for a few months now but just tested it for you. It's
failing for invalid credentials, i just double checked and i'm
definitely using the right ones. Talktalk ISP. Was working nicely a few
months back.
On Thu, 24 Sep 2020 at 20:12, Roman Gaufman<EMAIL_ADDRESS>wrote:

Hi guys, is this working for you at the moment? - last time I managed to
get it working by using 4G tethering to my phone, as they blocked my home
BT connection. But this trick isn't working anymore :(
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/paulmaunders/delivery-slot-bot/issues/80#issuecomment-698535403,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKYNBSSLNTXPN25DTOA2HK3SHOK3VANCNFSM4NBB3FQQ
.

I have not used for a while too, but turned back on the VM today.
Had aplay with various useragent strings and connectivty and looks like they may have changed the logon process?
 But can log on from a Chromium with the same useragent set as a custom; so either they have picked up a way of detecting the bot and blocking or they have changed the logon process.
I have only dabbled in Puppet code, so wont attempt to fix, but might try and debug further.

odd, I've had it running from the start and it still works for me

what useragent text are you using?
j
On Tue, 29 Sep 2020, 13:13 Andy Thompson<EMAIL_ADDRESS>wrote:

odd, I've had it running from the start and it still works for me
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/paulmaunders/delivery-slot-bot/issues/80#issuecomment-700661499,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE3GG5DDXRE75HAROIXY5LTSIHFM7ANCNFSM4NBB3FQQ
.

Arrrrhhh looks like they have tweaked the reCaptcha tollerances.....

actually, I just checked my logs and it's just intermittently working every few days, tho last was 22nd Sep

I'm getting authentication failures now too, whereas previously I'd survived quite well when others were reporting problems. I've only done a couple of quick tests, since – probably like many other people – I've found it easy to get slots via the standard route.

useragent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36'

I have tried many user agents strings: and most are not getting through:
;useragent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36"
;useragent = "Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B)
AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile
Safari/535.19"
;useragent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/73.0.3683.75 Safari/537.36"
useragent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0)
Gecko/20100101 Firefox/74.0"
The X11 one is the one on the machine itself, and that goes through without
issue when I log in in person, but seems it gets recaptcha'ed on the bot,
but cant get it to pop up a debug pic to confirm... :(
J
On Thu, 1 Oct 2020 at 10:40, CharlesButcher<EMAIL_ADDRESS>wrote:

I'm getting authentication failures now too, whereas previously I'd
survived quite well when others were reporting problems. I've only done a
couple of quick tests, since – probably like many other people – I've found
it easy to get slots via the standard route.
useragent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36'
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/paulmaunders/delivery-slot-bot/issues/80#issuecomment-702017680,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE3GG5DTDZTSZTHZ4VN5ZF3SIRFBHANCNFSM4NBB3FQQ
.

Any update on this? - still not able to use with tesco :(

think it is all down to recapcha, I'm going to install on my machine rather
than a vm and see what happens.
or learn puppet and get a screen grab out of the log on failure....
j
On Mon, 9 Nov 2020, 16:50 Roman Gaufman<EMAIL_ADDRESS>wrote:

Any update on this? - still not able to use with tesco :(
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/paulmaunders/delivery-slot-bot/issues/80#issuecomment-724135665,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE3GG5GNPO3ZEQFEOFEBW63SPAMTNANCNFSM4NBB3FQQ
.

I'm having the same issue.  I've captured a screenshot of the error.  It's not a captcha!

Any update on Tesco logging in error?

Any update please? - I miss this app :)

Happy New Year!! Any update?


mito and metasrv have inconsistent behaviors while adding columns

What type of bug is this?
Data corruption
What subsystems are affected?
Standalone mode, Distributed Cluster
Minimal reproduce step

Create a table test with column a, ts
add columns a, b in a gRPC request, ignore errors
add column c, d in a gRPC request
insert some rows
select rows from the table

What did you expect to see?
Insert and select success
What did you see instead?
Insert failed
thread 'grpc::test::test_distributed_handle_multi_ddl_request' panicked at tests-integration/src/grpc.rs:94:14:
called `Result::unwrap()` on an `Err` value: 0: Table operation error, at src/frontend/src/instance.rs:276:16
1: Cannot find column by name: Column b not found in table table_created_through_grpc, at /Users/evenyag/codes/greptime/procedure-traits/src/operator/src/req_convert/insert/stmt_to_region.rs:106:18

What operating system did you use?
Unrelated
What version of GreptimeDB did you use?
0.11.1
Relevant log output and stack trace
thread 'grpc::test::test_distributed_handle_multi_ddl_request' panicked at tests-integration/src/grpc.rs:94:14:
called `Result::unwrap()` on an `Err` value: 0: Table operation error, at src/frontend/src/instance.rs:276:16
1: Cannot find column by name: Column b not found in table table_created_through_grpc, at /Users/evenyag/codes/greptime/procedure-traits/src/operator/src/req_convert/insert/stmt_to_region.rs:106:18

Do we have a plan to fix it? It's a fatal issue.

Do we have a plan to fix it? It's a fatal issue.

I'm working at this.


[MM-58286] Fix cp_artifacts to avoid weird naming changes

Summary
Changes in the build process seem to constantly be breaking this script, which I believe was there to make sure we didn't include extra files. However, we now drop all of our artifacts into the same folder (tagged with the release version) so it's easier to just copy the folder.
Ticket Link
https://mattermost.atlassian.net/browse/MM-58286
Closes #3036
NONE

Cherry pick is scheduled.

Error trying doing the automated Cherry picking. Please do this manually
+++ Updating remotes...
Fetching upstream
hostfile_replace_entries: mkstemp: Read-only file system
update_known_hosts: hostfile_replace_entries failed for /app/.ssh/known_hosts: Read-only file system
From github.com:mattermost/desktop
   3cf7ec74..fed306e8  master       -> upstream/master
   a1f54308..f579ed34  release-5.8  -> upstream/release-5.8
 * [new tag]           v5.8.0       -> v5.8.0
 * [new tag]           v5.8.0-mas.1 -> v5.8.0-mas.1
 * [new tag]           v5.8.0-rc.3  -> v5.8.0-rc.3
Fetching upstream
hostfile_replace_entries: mkstemp: Read-only file system
update_known_hosts: hostfile_replace_entries failed for /app/.ssh/known_hosts: Read-only file system
+++ Updating remotes done...
+++ Creating local branch automated-cherry-pick-of-desktop-#3037-upstream-release-5.8-1715892254
Switched to a new branch 'automated-cherry-pick-of-desktop-#3037-upstream-release-5.8-1715892254'
Branch 'automated-cherry-pick-of-desktop-#3037-upstream-release-5.8-1715892254' set up to track remote branch 'release-5.8' from 'upstream'.

+++ About to attempt cherry pick of PR #3037 with merge commit fed306e8bc2f604cc7fab88a251fca5d130f5f40.

Auto-merging scripts/cp_artifacts.sh
CONFLICT (content): Merge conflict in scripts/cp_artifacts.sh
error: could not apply fed306e8... [MM-58286] Fix cp_artifacts to avoid weird naming changes (#3037)
hint: After resolving the conflicts, mark them with
hint: "git add/rm <pathspec>", then run
hint: "git cherry-pick --continue".
hint: You can instead skip this commit with "git cherry-pick --skip".
hint: To abort and get back to the state before "git cherry-pick",
hint: run "git cherry-pick --abort".

+++ Conflicts detected:

UU scripts/cp_artifacts.sh
Aborting.

+++ Aborting in-progress git cherry-pick.

+++ Returning you to the master branch and cleaning up.


Added swedish translation

@Swedneck Thanks for the contribution!

Looks like an awesome project, glad to have a minor part in it!

@Swedneck I really appreciate translations, the pixelfed app will need l10n too so if you are up to it, you could play a bigger part in it!


BaseRevision should be repr(C)

Currently, the rust compiler is allowed to rearrange the fields of BaseRevision. If it does so, it would break compatibility with the limine protocol. This PR makes it repr(C) to prevent this.

Oh, this is very, very bad! Sorry I missed it. Your code looks good, I'll merge it once the checks finish.
Thank you very much for noticing it and fixing it for us.

Uhh ok, none of the fails are your fault so I'll just merge. I'll make an issue for the clippy fails.


Implement AltTSSPAS

Implement AltTSSPAS execution workflow based on the proof of concept (POC) details. Implementation backbone should be based on nextflow dsl1, nextflow dsl2, or snakemake template from the templates folder. Implementation examples for reference can be found in the execution workflow folder containing all merged workflows in this project.
Depends on POC issue: https://github.com/iRNA-COSI/APAeval/issues/276
Parent issue:  https://github.com/iRNA-COSI/APAeval/issues/264
Estimate: 2 days

Closing, tool not ready, see parent issue


Compiling Issue

Describe your bug here.
Whenever I try to compile the game using BUILDING.md, this error always shows up and the exe file is not there! Can someone help please??
Command Prompt/Terminal logs (if existing)
Warning: Could not find Visual Studio VsDevCmd
Missing HXCPP_VARS
Error: Could not automatically setup MSVC

Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
No.

did you download visual studio?

did you download visual studio?

oh shoot i forgot


Deep linking from Action.OpenUrl opens a new tab in browser instead of within app

Hi MS Teams team,
I'm sending a message (adaptive card) through a bot that has a Action.OpenUrl action in which the url is a deep link to a conversation (ie: https://teams.microsoft.com/_?tenantId=3acea78d-c049-4beb-a746-c581f9990981#/conversations/19:3c021d667a2a4c2ab4805f5f5fdce843@thread.v2?ctx=chat).
If I am on the teams app, and I click on the button it takes me to my browser and opens a new tab to the conversation.
If I am on the web app, and I click on the button it opens a new tab in the browser and takes me to the conversation.
How do I avoid that behavior and have it open in the same app itself, or on the same tab itself (without opening a new tab)?
This is my example adaptive card:
{
    type: "AdaptiveCard",
    msteams: {
      width: "Full"
    },
    body: [
      {
        type: "TextBlock",
        size: "Large",
        weight: "Bolder",
        text: "Head to the Home tab to create your profile and get started."
      }
    ],
    actions: [
      {
        type: "Action.OpenUrl",
        url: "https://teams.microsoft.com/_?tenantId=3acea78d-c049-4beb-a746-c581f9990981#/conversations/19:3c021d667a2a4c2ab4805f5f5fdce843@thread.v2?ctx=chat",
        title: "Go to conversation",
      }
    ],
    $schema: "http://adaptivecards.io/schemas/adaptive-card.json",
    version: "1.4"
  };

Thanks.

Figured it out after trial and error. For future reference in case it's useful to anyone: to deep link to a group conversation I used https://teams.microsoft.com/_#/conversations/${conversationId}?ctx=chat.
An example: https://teams.microsoft.com/_#/conversations/19:d8e0dcb76b984fdf9fe69de376c44b1d@thread.v2?ctx=chat.


ListTagsOptions should has Orderby and Sort

I want to ListTags and order them by name but can not find any way to make that happen
From gitlab api referene, list tags also accept order_by and sort parameter, so I think ListTagsOptions should also accept OrderBy and Sort
type ListTagsOptions struct {
	ListOptions
	OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
	Sort    *string `url:"sort,omitempty" json:"sort,omitempty"`
}

reference: https://docs.gitlab.com/ce/api/tags.html#list-project-repository-tags

Seem like the right solution @ball6847!

My only concern is breaking changes, since this can break someone code.
But if you are fine with this, I will make a PR.

As far as I can see this is not a breaking change. People that currently use the ListTagsOptions struct can keep doing that without any changes when you change it from:
type ListTagsOptions ListOptions

to:
type ListTagsOptions struct {
	ListOptions
	OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
	Sort    *string `url:"sort,omitempty" json:"sort,omitempty"`
}

As the ListOptions struct is embedded, it shouldn't change the usage.
So by all means, go right ahead!

@svanharmelen I'm quite new to Go lang and never know about embedded struct before, so thank you about it.
I tried what you said. but  cannot make the test pass.
$ go test
# github.com/ball6847/go-gitlab
./tags_test.go:19:30: unknown field 'Page' in struct literal of type ListTagsOptions
./tags_test.go:19:42: unknown field 'PerPage' in struct literal of type ListTagsOptions
FAIL    github.com/ball6847/go-gitlab [build failed]

$ go version
go version go1.10.2 linux/amd64

any suggestion ?

Maybe you can open a PR? Then I can see your code and test myself as well...

Fixed by PR #436


Fixed typo in send-keys

You couldn't tick the "Clear" checkbox because the value was named clearval instead of clearVal as expected by the <label for="node-input-clearVal">

Thanks for the patch. I published the package with the update.
Best regards,


updates DS typography to use Inter

Thought it might be a good idea to check out the Typography updates in the DS first and view all of our components in isolation.
Might also be helpful to view the Typography page to view all the font side by side. http://localhost:9009/?path=/story/design-system-styles--typography
Would be great to bring to attention any components that might have a font-weight that looks a little heavier than usual. We can always adjust.

FYI @jasonbasuil when we're ready we may want to try out the new git flow release process for this one (merging to develop, then create a release on main) so that we don't block patch releases on the DS for other work. Since this will also require a font upgrade on rails-server (sadly we still define fonts there too as I'm sure you've seen :( ) Let me know maybe we can do it together the first time!

Hey @jasonbasuil, sorry for the delay. I put together an updated list of the font-styles using Inter here.
Curious to get your thoughts on reducing each font-size by 1px, except for font-type-10. This will be a better optical match to what we currently have in-app, but would go against the convention of keeping sizes in multiples of 8.
I'm also keen on switching the bold font weight to semi-bold since the former is a bit too heavy, especially on buttons and labels. @natkasman also noticed that the tracking should be adjusted since Inter's a bit wider at the moment.

Hey @jasonbasuil, sorry for the delay. I put together an updated list of the font-styles using Inter here.
Curious to get your thoughts on reducing each font-size by 1px, except for font-type-10. This will be a better optical match to what we currently have in-app, but would go against the convention of keeping sizes in multiples of 8.
I'm also keen on switching the bold font weight to semi-bold since the former is a bit too heavy, especially on buttons and labels. @natkasman also noticed that the tracking should be adjusted since Inter's a bit wider at the moment.

Thanks @jojolee1996 @natkasman  I'm a bit hesitant to reduce the font-size since the convention of having multiples of 8 does spread out throughout the app for elements that don't make use of the font-type mixins.
Throwing out one other exploration: I looked into using DM Sans which was one of the original font-types offered as an option in the rebrand which is very similar to Sofia Pro on the marketing side.
Review app (Inter)
Review app (DM Sans)
Ignore the colors as its from the early review apps. I feel like DM Sans is just a tad bit smaller and their bold typeface is just slightly less bold which might be a potential option vs. reducing the size on Inter?


Custom-header doesn't work with HA 0.110 (dev)

I am testing with Home Assistant 0.110, which is in development at this moment.
The frontend isn't loading anymore, and i see the following "custom-header" error in my logging:
2020-05-11 09:42:26 ERROR (MainThread) [frontend.js.latest.202005090] https://hostname/hacsfiles/custom-header/custom-header.js?v=1.3.8:1:16344 Uncaught TypeError: Cannot read property 'style' of null

Can confirm the issue still in Beta;
2020-05-14 06:27:15 ERROR (MainThread) [frontend.js.latest.202005130] https://toowong.duckdns.org:8123/hacsfiles/custom-header/custom-header.js:1:16344 Uncaught TypeError: Cannot read property 'style' of null
2020-05-14 06:30:22 ERROR (MainThread) [frontend.js.latest.202005130] https://toowong.duckdns.org:8123/hacsfiles/custom-header/custom-header.js:1:13253 TypeError: null is not an object (evaluating 'e.sidebar.main.querySelector')
2020-05-14 07:22:17 ERROR (MainThread) [frontend.js.latest.202005130] https://toowong.duckdns.org:8123/hacsfiles/custom-header/custom-header.js:1:16344 TypeError: null is not an object (evaluating 'o[e].querySelector("paper-icon-button").style')

https://github.com/maykar/custom-header/blob/9105456fbbe3d77f1aa2a7b335fc0bc9460a9e09/src/build-header.js#L104
Looks like the element has changed to ha-icon-button with the mdi-split
https://github.com/home-assistant/frontend/commit/0a92c28bac80a0bddc3f54577fc62670f3974c15#diff-873f41cce3df4d28dd685519a4e87d01L135

@jesserockz: Good catch! Replacing all (13) paper-icon-button with ha-icon-button helped 👍

I also had to change all the 'iron-icon' entries to 'ha-icon' to get it to work again.

@jesserockz: Good catch! Replacing all (13) paper-icon-button with ha-icon-button helped 👍

but the hamburger icon to open the side panel doesn't work when I edit the js file..

not work with ha 110.0

Im facing the same issue, but with this error on log:

ERROR (MainThread) [frontend.js.latest.202005190] [MYIP]/hacsfiles/custom-header/custom-header.js:1:16344 Uncaught TypeError: Cannot read property 'style' of null

Same here - tried on clean Chrome/Firefox/Edge
2020-05-20 21:08:10 ERROR (MainThread) [frontend.js.latest.202005190] http://IP:8123/hacsfiles/custom-header/custom-header.js:1:16344 Uncaught TypeError: Cannot read property 'style' of null

change all the 'iron-icon' entries to 'ha-icon'
Replacing all (13) paper-icon-button with ha-icon-button

works for me.
But I lost the custom color of the active icon.

It took me a little while to work out which custom component was causign this, and it does seem to be the Custom Header component.
The tabs and page header completely disappear on any lovelace tabs/dashboards when using Custom Header.
I had to uninstall this as I wanted some of the additional features in 0.110 (in particular the new ZWave component).
I just wanted to watch this for an update or fix.  0.109.x works fine, this issue only occurs on 0.110.x

The changes that @valderaplets summarized worked. There is another side effect for me still. I have:
custom_header:
  background: 'rgba(155, 155, 155, 0.25)'
  button_text:
    options: '{{ hours24 }}:{{ minutesLZ }}'
  compact_mode: true

and the clock appears below the header itself

* change all the 'iron-icon' entries to 'ha-icon'

* Replacing all (13) paper-icon-button with ha-icon-button

works for me.
But I lost the custom color of the active icon.

This works yes, but the hamburger icon to open the side panel doesn't work when I edit the js file like @DavidFW1960  in phone

Using custom header and also just upgraded to .110.  The page header has completely disapeared and I've lost the ability to select different Lovelace UI tabs plus edit and update cards...

Add ?disable_ch to the end of the url to turn off the custom header temporarily.
However, once I do that I don't see the config option for custom header under the edit menu at the top right.

Thanks @sstratoti.  I have my tabs back and can edit - but like you say, I don't have the config option in the edit menu...

@Sooty70 I copy that, no edit button, I think it is in Kiosk mode, but how to disable it?

Once you have it disabled, you should be able to access the menu to access the Raw configuration editor.
Personally, I've elected to copy my config for the Customer Header (should be right at the top of the file) to a text file, then just delete it and uninstall the Custom Header plugin until this issue is fixed.

I restored a Snapshot for 0.109.6, I can't live without Custom Header ... it should honestly be the stock look of the UI.
I'll try again once CH has been updated for 0.110.

can confirm, running HACore v0.110.0, CardMod v1.1.0, and CH v1.3.8 it defaults to kiosk mode. This only happens on the default lovelace panel. I have a second ha dashboard that is not affected this way. Completely removing CH from my raw config on the default does not repair it. ?disable_ch is my only option at the moment.

Same issue, unistalled Chustom-Header. I m waiting.

@maykar I can't install the tagged draft release for some reason in has and master doesn't work either.

@maykar 1.3.9 is all working for me. Manually downloaded custom-header.js from the release and copied over the one at /config/www/community/custom-header/custom-header.js

It's labeled as a pre-release so you need to "show beta" in HACS

Just installed 1.3.9, I got my header bar back, but additional customization such as the time now comes in the next line. See screenshot below
[https://imgur.com/A8lZGzw]

Date and time are below the header for me as well.

It's labeled as a pre-release so you need to "show beta" in HACS

How do I "show beta"?

yeah, in top right , but seems the icon is missing there

I manually downloaded 1.3.9 and removed the gz file as stated above - HACS still shows 1.3.8 and custom header still not showing at all (I also tried clearing the browser window)

i have now this with 1.3.9 :
/hacsfiles/custom-header/custom-header.js:596:28156 Uncaught TypeError: Cannot read property 'lovelace' of null

It's labeled as a pre-release so you need to "show beta" in HACS

How do I "show beta"?

You will have to edit hacs.repositories under /config/.storge. Find the corresponding customer header repository and set show_beta to true.

I have released a full release, 1.4.0 as showing beta's isn't as easy as it was previously in HACS. This release addresses the misplaced button text.
Do not post additional issues here, make a new issue providing the required info

@pergolafabio already fixed for next release, it's just an annoying error ATM, but I don't want to post a full release for just that fix.

perfect :)

👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍


dist/tinysort.charorder.min.js has a variable use before initialization

The current version of tinysort.charorder.min.js causes the following TypeError (in Firefox 88.0):
Uncaught TypeError: j is undefined (tinysort.charorder.min.js:1:206)
The way I understand this is that Webpack moves the const declaration/initialization of allCharList into a var declaration/initialization below the function definition of prepare, in the assumption that the declaration is hoisted and everything should work. But JavaScript only hoists the declaration of the variable, not the initialization, which means that when allCharList.slice(0) is called, the variable exists, but is not yet initialized, resulting in the "is undefined" error above.
I don't quite know how to tell Webpack to not make this mistake (or whether newer versions of Webpack don't do this), but I'd assume separating declaration and initialization into distinct statements would work.

Thanks for the find. I'll try to have a look at it this week.
One would thing with const and let the days of having to deal with hoisting would be behind us.


import vertica_python

after installing vertica-python, I encountered the following issue:
import vertica_python
File "C:\Users\user_name\AppData\Local\Continuum\Anaconda3\lib\site-packages\vertica_python-0.5.5-py3.5.egg\vertica_python\vertica\connection.py", line 153
except Exception, e:
^
SyntaxError: invalid syntax

What version of Python are you using? vertica-python does (sadly) not yet support Python 3. There is an unmerged pull request that adds support for Python 3: https://github.com/uber/vertica-python/pull/91

this should be fixed as of version 0.6.1


"only compatible with django 1.2.5 or less" in README

README contains models that are "only compatible with django 1.2.5 or less".
Isn't it time to remove them?

Could you please create a PR to fix this?

Could you please create a PR to fix this?

Hi @dulmandakh, it's not only README but also ImageField in the code, and I don't know how to fix it myself. Maybe one of the other developers can do it.

I guess the patch shouldn't be so hard, just delete the ImageField.delete_file method (in addition to the README line) which isn't called any longer on modern Django versions.


build fails with current dmd beta (2.069-b1)

vibe-d 0.7.25: building configuration "libevent"...
../../../.dub/packages/vibe-d-0.7.25/source/vibe/core/log.d(262,64): Deprecation: function std.datetime.SysTime.fracSec is deprecated - Please use fracSecs (with an s) rather than fracSec (without an s). It returns a Duration instead of a FracSec, as FracSec is being deprecated.
../../../.dub/packages/vibe-d-0.7.25/source/vibe/core/log.d(530,37): Deprecation: function std.datetime.SysTime.fracSec is deprecated - Please use fracSecs (with an s) rather than fracSec (without an s). It returns a Duration instead of a FracSec, as FracSec is being deprecated.
../../../.dub/packages/vibe-d-0.7.25/source/vibe/core/log.d(530,3): Deprecation: function std.datetime.SysTime.fracSec is deprecated - Please use fracSecs (with an s) rather than fracSec (without an s). It takes a Duration instead of a FracSec, as FracSec is being deprecated.
../../../.dub/packages/vibe-d-0.7.25/source/vibe/core/log.d(571,21): Deprecation: constructor std.datetime.SysTime.this is deprecated - Please use the overload which takes a Duration instead of a FracSec.
../../../.dub/packages/vibe-d-0.7.25/source/vibe/internal/meta/typetuple.d(113,4): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/templ/diet.d(324,2): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1285,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1302,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1303,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1320,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1351,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1364,2): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1302,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1303,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1320,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1351,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1364,2): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1302,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1303,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1320,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1351,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1364,2): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1302,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1303,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1320,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1351,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1364,2): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1364,2): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1364,2): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1364,2): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1364,2): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1364,2): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1320,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1351,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1364,2): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1320,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1351,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1364,2): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1320,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1351,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1364,2): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1320,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1351,3): Warning: statement is not reachable
../../../.dub/packages/vibe-d-0.7.25/source/vibe/web/rest.d(1364,2): Warning: statement is not reachable

Already solved on master (f2abbd293dbbe5a07182902c2207f68d0fda580f, 84eaadf74348157ca52113a5c7138bc02d090717, 3bd96e36c74b7b468c5a19cc0cdb53223f093473), I'll tag a new alpha release shortly.

Can be closed I guess ?


Implement a repeated scheduling mechanism

Create a way to schedule repeated tasks
Motivation:
I think it would be nice to have a method to repeatedly schedule a task, this implementation just provides the basics to do so, but is definitely not the final solution. In my opinion, we should provide a method to schedule a task with at least these parameters:

delay
interval
numberOfTimes

The other part I was thinking about is that with my current implementation the scheduling is done by an EventLoop but you could as well provide a method on RepeatedTask like func begin(on: EventLoop) which would allow it to be scheduled on multiple EventLoops at a time, which I don't know if it's thread safe?
I just wanted to get early input if my approach is going in the right direction and if you have any additional requirements for such an implementation.

@Lukasa yes, they do continue accepting work (that they'll never run). The issue is that outside of the event loop thread you can't query the lifecycle state. We could and should probably fix this though. We could have another variable (like scheduledTasks) that mirrors (parts of) the lifecycleState but is readable from any thread when holding tasksLock.

So the main problem with them accepting work is that it means that they'll get stuck in a reference cycle and never be freed. Any scheduled task holds a future that fires on that event loop when the task is completed. This future keeps the loop alive. This is already pretty bad, but a repeated task essentially guarantees an event loop leak because it repeatedly reschedules work, ensuring there is always an event loop reference alive.

So this is blocked until we adopt the EventLoop to not be retained by scheduledTasks right?

Maybe I don't get the issue, but if I schedule a repeating timer, I most definitely would want the event loop to stay alive and not go away (and presumably my timer with it). No?

I think it is quite reasonable to only have the repeating task scheduled as long as the event loop is actually running since the task should not be responsible for the lifetime of the eventloop right?

Maybe I don't get the issue, but if I schedule a repeating timer, I most definitely would want the event loop to stay alive and not go away (and presumably my timer with it). No?

The problem is not that the event loop will go away, it's that the event loop won't tell the repeating task that it will never execute again. That is, if you do this:
loop.scheduleRepeatedTask(interval: .seconds(10)) { print("Still alive") }
sleep(1000)
loop.syncShutdownGracefully()

Then after 1000 seconds the repeating task will stop executing (as the loop is closed), but the repeating task will never be told. Worse, the loop will hold a reference to the scheduled task item, which holds a reference to the loop, causing the loop to be leaked.
This is not the end of the world in production applications because generally speaking they do not stop and start loops regularly, but it's very annoying in tests, as any use of repeating tasks will cause each test to leak the loops unless the user very aggressively cleans up their repeating tasks.
Put another way, in an ideal world the task would be told when the event loop has gone away, and any attempt to schedule new work would fail. Neither of those things happens in NIO today: when we shut the loop down we leave any pending tasks pending, and those pending tasks almost always keep the event loop alive.
I don't know that this blocks the proposal, as the problem already exists today with scheduled tasks, but repeating tasks take this possibility and make it an inevitability, which is not necessarily an improvement.

So would a fix be as simple as removing all scheduled task while shutting down?

@FranzBusch That's not quite sufficient, because those shutdown tasks are likely to be necessary for some parts of cleanup. We probably need to design our way out of this, likely by using more than one task queue.

I just updated the PR it now includes methods to schedule a task with a fixedRate or fixedDelay. Furthermore, I removed the retain cycle created by the repeated task. Documentation, tests, and two methods which take a closure with a Void return parameter as still left to do.
@weissi  and @Lukasa can you have a quick look if the implementation seems good so far?

@lukasa & @FranzBusch do we actually need fixedRate? If we have an overloaded event loop and this keeps firing it will lead to the EL becomig more overloaded.
Also I’m sure sure I like the names (fixedRate vs fixedDelay) too much. I think we could use long and descriptive names. But ideally we would only have what we call fixedDelay today.

@weissi For my personal project, I only used fixedRate as it was used for a polling mechanism and should fire every second even though the last invocation may still be processing. I get your point that we may overload the EL if the triggered task is being queued again and again, but I see use cases where fixed rate makes sense.
Regarding the naming, I had a look at the netty implementation and went according to that, though I am open for better suggestions :)

@FranzBusch makes sense. If you really want that, why don't you just use eventloop.execute { myActualWork }; return eventloop.newSucceededFuture(value: ()) or similar to perform the other stuff? Then it will still fire every second even those myActualWork might still be going on?

@weissi Maybe, I don't get your example correctly but how would a call to execute repeatedly schedule a task and how would I cancel such a task sometimes in the future?

@FranzBusch Sorry, I wasn't quite so clear: My assumption is that .fixedDelay and .fixedRate are the same if the work item that is scheduled doesn't take any time to execute (ie. succeeds the promise immediately). If that assumption is correct, you can just use .fixedDelay and make the work item take no time but enqueueing the real work item using el.execute. Does that make sense?

@weissi Thanks, for clearing that up! This makes sense for work which succeeds the promise immediately but in both of the implemented methods that cannot be assumed. Furthermore, execute is just an immediate scheduling mechanism and my intention with the implementation was to provide a convenient way to schedule any work repeating work with a delay and a rate/delay mode so that users don't have to implement that behaviour all on their own. Of course, you guys still decide if one of these methods actually endangers overloading the EL and thus should not be provided.
Or was your intention to actually change the implementation side of the repeated scheduling?

Just saw your Code example and I get what you mean. Yes your solution should be equal to mine :)

@weissi Just updated the PR and removed the fixed rate scheduling and added some tests. Is there something else I should test for?
About the fixed rate scheduling why does netty have the possibility and swift-nio shouldn't? Can't the ELs in netty get overloaded as well?

@weissi Done :)

@weissi I ran the tests with TSan and noticed multiple data races. One was just an error in the tests and I used an Atomic counter. The other was because of a cancel on a different thread as you described. To fix this I introduced a lock in the RepeatedTask. Could you please take a look if the synchronization looks good?

@swift-nio-bot test this please

Looks like testScheduleRepeatedTask is a bit racy and sometimes fails.

@FranzBusch ok, we need to address the test flakiness first. I'd recommend to test it with a for _ in 0..<10000 { /* real test code here */ } and see if you can repro what our CI hit.

I tried running the tests in a loop but couldn't reproduce the flakiness. I just increased the timeouts a bit maybe they were a bit too optimistic.

You may want to go to more than a second. The timeout should only be hit in failing cases anyway.

@swift-nio-bot test this please

@Lukasa given that @FranzBusch has filled the PR description out with the commit template, we could just use the 'squash & merge' button and it'll have the same effect, right?

@weissi That was my original plan, but actually the PR description contains only 1/3 of the commit template, which is why I didn't land on that plan.

@swift-nio-bot test this please

@Lukasa oh sorry, didn't notice that.


install all operators within one script

Signed-off-by: Nitin Goyal<EMAIL_ADDRESS>

/override ci/prow/ocs-operator-bundle-e2e-aws

/override ci/prow/ci-bundle-ocs-operator-bundle

/override ci/prow/images

I tested the changes on my cluster & it looks good now. Here are the output
$ make install
Ensuring operator-sdk
hack/ensure-operator-sdk.sh
Using operator-sdk CLI present at /Users/mparida/go/src/github.com/red-hat-storage/ocs-operator/bin/operator-sdk-v1.25.4
Installing operators
hack/install-ocs-operator.sh
Namespace "openshift-storage" does not exist: creating it
namespace/openshift-storage created
configmap/ocs-operator-config created
configmap/ocs-client-operator-config created
INFO[0020] Creating a File-Based Catalog of the bundle "quay.io/ocs-dev/rook-ceph-operator-bundle:master-75180f4f3"
INFO[0023] Generated a valid File-Based Catalog
INFO[0029] Created registry pod: quay-io-ocs-dev-rook-ceph-operator-bundle-master-75180f4f3
INFO[0029] Created CatalogSource: rook-ceph-operator-catalog
INFO[0030] OperatorGroup "operator-sdk-og" created
INFO[0030] Created Subscription: rook-ceph-operator-v4-17-0-sub
INFO[0041] Approved InstallPlan install-ncnsm for the Subscription: rook-ceph-operator-v4-17-0-sub
INFO[0041] Waiting for ClusterServiceVersion "openshift-storage/rook-ceph-operator.v4.17.0" to reach 'Succeeded' phase
INFO[0042]   Waiting for ClusterServiceVersion "openshift-storage/rook-ceph-operator.v4.17.0" to appear
INFO[0043]   Found ClusterServiceVersion "openshift-storage/rook-ceph-operator.v4.17.0" phase: Pending
INFO[0058]   Found ClusterServiceVersion "openshift-storage/rook-ceph-operator.v4.17.0" phase: InstallReady
INFO[0059]   Found ClusterServiceVersion "openshift-storage/rook-ceph-operator.v4.17.0" phase: Installing
INFO[0061]   Found ClusterServiceVersion "openshift-storage/rook-ceph-operator.v4.17.0" phase: Succeeded
INFO[0061] OLM has successfully installed "rook-ceph-operator.v4.17.0"
INFO[0032] Creating a File-Based Catalog of the bundle "quay.io/csiaddons/k8s-bundle:v0.8.0"
INFO[0037] Generated a valid File-Based Catalog
INFO[0040] Created registry pod: quay-io-csiaddons-k8s-bundle-v0-8-0
INFO[0040] Created CatalogSource: csi-addons-catalog
INFO[0041] Created Subscription: csi-addons-v0-8-0-sub
INFO[0050] Approved InstallPlan install-mpsh4 for the Subscription: csi-addons-v0-8-0-sub
INFO[0050] Waiting for ClusterServiceVersion "openshift-storage/csi-addons.v0.8.0" to reach 'Succeeded' phase
INFO[0050]   Waiting for ClusterServiceVersion "openshift-storage/csi-addons.v0.8.0" to appear
INFO[0053]   Found ClusterServiceVersion "openshift-storage/csi-addons.v0.8.0" phase: Pending
INFO[0056]   Found ClusterServiceVersion "openshift-storage/csi-addons.v0.8.0" phase: Installing
INFO[0066]   Found ClusterServiceVersion "openshift-storage/csi-addons.v0.8.0" phase: Succeeded
INFO[0066] OLM has successfully installed "csi-addons.v0.8.0"
INFO[0025] Creating a File-Based Catalog of the bundle "quay.io/ocs-dev/ocs-client-operator-bundle:release-4.16-7c5526d"
INFO[0029] Generated a valid File-Based Catalog
INFO[0032] Created registry pod: quay-io-ocs-dev-ocs-client-operator-bundle-release-4-16-7c5526d
INFO[0033] Created CatalogSource: ocs-client-operator-catalog
INFO[0033] Created Subscription: ocs-client-operator-v4-16-0-sub
INFO[0044] Approved InstallPlan install-5hbkk for the Subscription: ocs-client-operator-v4-16-0-sub
INFO[0044] Waiting for ClusterServiceVersion "openshift-storage/ocs-client-operator.v4.16.0" to reach 'Succeeded' phase
INFO[0045]   Waiting for ClusterServiceVersion "openshift-storage/ocs-client-operator.v4.16.0" to appear
INFO[0046]   Found ClusterServiceVersion "openshift-storage/ocs-client-operator.v4.16.0" phase: Pending
INFO[0057]   Found ClusterServiceVersion "openshift-storage/ocs-client-operator.v4.16.0" phase: InstallReady
INFO[0058]   Found ClusterServiceVersion "openshift-storage/ocs-client-operator.v4.16.0" phase: Installing
INFO[0112]   Found ClusterServiceVersion "openshift-storage/ocs-client-operator.v4.16.0" phase: Succeeded
INFO[0113] OLM has successfully installed "ocs-client-operator.v4.16.0"
INFO[0020] Creating a File-Based Catalog of the bundle "quay.io/noobaa/noobaa-operator-bundle:master-20231217"
INFO[0024] Generated a valid File-Based Catalog
INFO[0030] Created registry pod: quay-io-noobaa-noobaa-operator-bundle-master-20231217
INFO[0030] Created CatalogSource: noobaa-operator-catalog
INFO[0031] Created Subscription: noobaa-operator-v5-15-0-sub
INFO[0044] Approved InstallPlan install-s29w2 for the Subscription: noobaa-operator-v5-15-0-sub
INFO[0044] Waiting for ClusterServiceVersion "openshift-storage/noobaa-operator.v5.15.0" to reach 'Succeeded' phase
INFO[0045]   Waiting for ClusterServiceVersion "openshift-storage/noobaa-operator.v5.15.0" to appear
INFO[0046]   Found ClusterServiceVersion "openshift-storage/noobaa-operator.v5.15.0" phase: Pending
INFO[0051]   Found ClusterServiceVersion "openshift-storage/noobaa-operator.v5.15.0" phase: Installing
INFO[0057]   Found ClusterServiceVersion "openshift-storage/noobaa-operator.v5.15.0" phase: Succeeded
INFO[0057] OLM has successfully installed "noobaa-operator.v5.15.0"
INFO[0022] Creating a File-Based Catalog of the bundle "quay.io/mparida/ocs-operator-bundle:latest"
INFO[0026] Generated a valid File-Based Catalog
INFO[0031] Created registry pod: quay-io-mparida-ocs-operator-bundle-latest
INFO[0031] Created CatalogSource: ocs-operator-catalog
INFO[0032] Created Subscription: ocs-operator-v4-17-0-sub
INFO[0046] Approved InstallPlan install-cczkp for the Subscription: ocs-operator-v4-17-0-sub
INFO[0046] Waiting for ClusterServiceVersion "openshift-storage/ocs-operator.v4.17.0" to reach 'Succeeded' phase
INFO[0047]   Waiting for ClusterServiceVersion "openshift-storage/ocs-operator.v4.17.0" to appear
INFO[0051]   Found ClusterServiceVersion "openshift-storage/ocs-operator.v4.17.0" phase: Pending
INFO[0053]   Found ClusterServiceVersion "openshift-storage/ocs-operator.v4.17.0" phase: InstallReady
INFO[0054]   Found ClusterServiceVersion "openshift-storage/ocs-operator.v4.17.0" phase: Installing
INFO[0070]   Found ClusterServiceVersion "openshift-storage/ocs-operator.v4.17.0" phase: Succeeded
INFO[0070] OLM has successfully installed "ocs-operator.v4.17.0"
deployment.apps/rook-ceph-operator condition met
deployment.apps/csi-addons-controller-manager condition met
deployment.apps/ocs-client-operator-controller-manager condition met
deployment.apps/noobaa-operator condition met
deployment.apps/ocs-operator condition met

~ $ oc get csv
NAME                          DISPLAY                            VERSION   REPLACES   PHASE
csi-addons.v0.8.0             CSI Addons                         0.8.0                Succeeded
noobaa-operator.v5.15.0       NooBaa Operator                    5.15.0               Succeeded
ocs-client-operator.v4.16.0   OpenShift Data Foundation Client   4.16.0               Succeeded
ocs-operator.v4.17.0          OpenShift Container Storage        4.17.0               Succeeded
rook-ceph-operator.v4.17.0    Rook-Ceph                          4.17.0               Succeeded

~ $ oc get pods
NAME                                                              READY   STATUS      RESTARTS   AGE
44e38ffb37d6acbb78a40ec245de235eed70e40962720bf8719d63fc4adqpq8   0/1     Completed   0          6m13s
72fafb504211226f2e6a527f890af13cd36b2f3056ce6f1b8058dc4606glczh   0/1     Completed   0          5m13s
81a84b9d4356fe39b7ab535c6a493c0c8488e2b1defe37709a537297daps4lv   0/1     Completed   0          7m26s
8f27d12aa0e1f66007589b0e42d15222b5101365f865b538dafd7584e5jzk4w   0/1     Completed   0          2m21s
c96c99d0fcf6e276efaacf1088bb422b1a69f3e65e816bf8829019b2a5crvld   0/1     Completed   0          3m19s
csi-addons-controller-manager-69dfc94654-cqf67                    2/2     Running     0          5m59s
noobaa-operator-5795dcbd6d-hjjfm                                  2/2     Running     0          3m4s
ocs-client-operator-console-7778bfc485-xz99t                      1/1     Running     0          4m50s
ocs-client-operator-controller-manager-6465cbb94b-q2cgr           2/2     Running     0          4m50s
ocs-operator-7bcdd7b44b-284r7                                     1/1     Running     0          2m3s
quay-io-csiaddons-k8s-bundle-v0-8-0                               1/1     Running     0          6m16s
quay-io-mparida-ocs-operator-bundle-latest                        1/1     Running     0          2m27s
quay-io-noobaa-noobaa-operator-bundle-master-20231217             1/1     Running     0          3m28s
quay-io-ocs-dev-ocs-client-operator-bundle-release-4-16-7c5526d   1/1     Running     0          5m16s
rook-ceph-operator-d56ccf6f9-q6w2z                                1/1     Running     0          117s
ux-backend-server-69bc58577c-vxzzx                                2/2     Running     0          2m3s

/cherry-pick release-4.17


Detect and prevent recursive config parsing

If a malformed config file is provided such as the following:
openssl_conf = openssl_init
[openssl_init]
providers = provider_sect
[provider_sect]
= provider_sect
The config parsing library will crash overflowing the stack, as it recursively parses the same provider_sect ad nauseum.
Prevent this by maintaing a list of visited nodes as we recurse through referenced sections, and erroring out in the event we visit any given section node more than once.
Note, adding the test for this revealed that our diagnostic code inadvertently pops recorded errors off the error stack because provider_conf_load returns success even in the event that a configuration parse failed. The call path to provider_conf_load has been updated in this commit to address that shortcoming, allowing recorded errors to be visibile to calling applications.
Checklist

[x] tests are added or updated

This pull request is ready to merge

merged to master, conflicts in 3.0, 3.1, 3.2, tracking backports in:
https://github.com/openssl/openssl/pull/23120 [3.0]
https://github.com/openssl/openssl/pull/23121 [3.1]
https://github.com/openssl/openssl/pull/23122 [3.2]

The conflict when cherry-picking to 3.2 and 3.1 branches was trivial. So I've merged it there. 3.0 is different and it needs the separate PR.

The 3.0 PR Is here: https://github.com/openssl/openssl/pull/23120


Cannot build project.

Hi, I have tried to build the project but got some errors. The Xcode version is Version 11.0 beta 4 (11M374r)

I will try to build it later with Xcode beta 5

BindableObject protocol become ObservableObject in Xcode beta 5, just found this info.


Please invite me to the Community Organization

Name
Enes
Discord Username (if applicable) E.g John#412
No response
Questions & suggestions?
I would like to be part of this awesome community!

Welcome to the community @devenes 🎉🙂


[stable/rabbitmq] liveness and readiness probes fail with 401

Describe the bug
A clear and concise description of what the bug is.
The password created for the user does not successfully log the user in during liveness and readiness probes.
Version of Helm and Kubernetes:
$ helm version
Client: &version.Version{SemVer:"v2.12.3", GitCommit:"eecf22f77df5f65c823aacd2dbd30ae6c65f186e", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.9", GitCommit:"16236ce91790d4c75b79f6ce96841db1c843e7d2", GitTreeState:"clean", BuildDate:"2019-03-27T14:42:18Z", GoVersion:"go1.10.8", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"13+", GitVersion:"v1.13.10-eks-5ac0f1", GitCommit:"5ac0f1d9ab2c254ea2b0ce3534fd72932094c6e1", GitTreeState:"clean", BuildDate:"2019-08-20T22:39:46Z", GoVersion:"go1.11.13", Compiler:"gc", Platform:"linux/amd64"}
Which chart:
stable/rabbitmq
What happened:
Simple default install results in containers not being ready due to failing the readiness and liveness probes.
What you expected to happen:
Containers should become ready.
How to reproduce it (as minimally and precisely as possible):
helm install stable/rabbitmq --name rabbitmq --namespace tools
Anything else we need to know:
N/A

I'm glad this is solved, @jsnider-mtu. If I had to guess, I'd say you already have some persistent volume claim in your tools namespace that is getting attached to the pod. Thus, the rabbitmq password is already set in there and doesn't match the one that is getting generated by the chart.
Regards,
Alejandro


libretro: add EasyRPG core

Description of changes
Adds the EasyRPG core to libretro.
I couldn't run the update_cores.py script because nix-prefetch-github seems to have been updated very recently, so I added the core metadata into hashes.json by hand. However, I loaded the new package into my RetroArch install and it seems to work fine.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I couldn't run the update_cores.py script because nix-prefetch-github seems to have been updated very recently,

The script uses the updated nix-prefetch-github so it should work. Can you show the error you're getting?

$ python update_cores.py easyrpg
Running with 8 threads!
Getting repo hash for 'easyrpg'...
Error while updating EasyRPG/Player: usage: nix-prefetch-github [-h] [--fetch-submodules] [--no-fetch-submodules]
                           [--leave-dot-git] [--no-leave-dot-git]
                           [--deep-clone] [--no-deep-clone] [--verbose]
                           [--nix] [--json] [--version] [--rev REV]
                           owner repo
nix-prefetch-github: error: unrecognized arguments: --meta

I added the package with nix-shell -p python3 nix-prefetch-github, but I'm not sure it's correct.

It is working fine for me, so maybe you just need to rebase your branch?

It is working fine for me, so maybe you just need to rebase your branch?

Tested in commit 28d6a724f54085377102db7c3278ba82a0a5255f

I'm not sure what happened but instead of using nix-shell -p nix-prefetch-github I did nix shell nixpkgs#nix-prefetch-github instead and it works. It seems the former kept pulling in version 7.0.0 instead of 7.1.0 no matter what I did.

I'm not sure what happened but instead of using nix-shell -p nix-prefetch-github I did nix shell nixpkgs#nix-prefetch-github instead and it works. It seems the former kept pulling in version 7.0.0 instead of 7.1.0 no matter what I did.

How are you running this script? It should pin the correct version of nixpkgs, as long as you run as pkgs/applications/emulators/retroarch/update_cores.py it should work correctly.

@ofborg build libretro.easyrpg


Extend URL cleaning

stories can be:
"really nice dropdown"
We need to clean the story name to a url friendly path @jon-ec what format should whitespace substitute in a url path? - or _ etc.

best solution would be to remove all special characters and replace spaces with '_'

https://github.com/buildit/storybook-addon-reviewer/pull/17


[Update Request]:

What type of update are you requesting?
A new version of an existing package
Current Package Identifier
Figma.Figma
Package Version
116.10.8
Please describe the changes you would like to see
There is a new release available (116.10.8).
The URL is the same so the installer hash is coming back as invalid.

That was insanely fast. 🙇 Thank you. 🙇


Inheritance support

Hi,
When we have a class "A" with two subclasses "B" and "C", we could have a spring data rest repository for the class "A" which would return all "B" and "C" objects in the following format:
{
 "_embedded": {
    "as": [ "A" class objects ],
    "bs": [ "B" class objects ]
  },
  "_links": { ... },
    "profile": { ... },
    "search": { ... }
  },
  "page": { ... }
}

Would it be possible to know which is the class of each embedded object?
Thank you.``

Hi @bergacat1,
sorry for my delay but I was on a longer trip and now I am working partially.
Well if you do not have any property in the JSON which identifies the class B or C then not as in the JSON you cannot get the inheritance information of the Java classes.
You could just add an identifier to the class A which then would be different in class B or class C.
Does that answer your question?
Thanks and regards,
Guy

But you can determine which is the class of every object in the JSON. In the previous example you can see the name "as" associated with the list of objects of class A, and the name "bs" associated with the list of objects of class B. If there were another class called "OtherClass", the name for the list of objects of this type would be "otherClasss".

Related to this issue, I'm experimenting a problem which makes impossible to keep working with this module. I will explain the full use case so you can reproduce the problem.
I have a class "User" related with some "ExternalUsers":
public class User {
  ...
  @OneToMany(...)
  private List<ExternalUser> externalUsers;
  ...
}

The class "ExternalUser" is the super-class of "YouTubeChannel" and "GoogleUser", so the list of ExternalUsers in the User class can contain different types of objects.
The problem occurs when I use the user._resources('externalUsers').get() to obtain the list of ExternalUsers related with a user. The returning object only contains one ExternalUser object but the raw response from the server is the following:
{
  "_embedded" : {
    "googleUsers" : [ {
      "name" : "Albert Berga",
      "url" : "https://plus.google.com/107051416216090286883",
      "_links" : {
        "self" : {
          "href" : "http://<IP_ADDRESS>:8080/googleUsers/107051416216090286883"
        },
        "googleUser" : {
          "href" : "http://<IP_ADDRESS>:8080/googleUsers/107051416216090286883"
        },
        "youTubeChannels" : {
          "href" : "http://<IP_ADDRESS>:8080/googleUsers/107051416216090286883/youTubeChannels"
        },
        "User" : {
          "href" : "http://<IP_ADDRESS>:8080/googleUsers/107051416216090286883/User"
        }
      }
    } ],
    "youTubeChannels" : [ {
      "id" : "UCXKrFkh0t1KvtQJdg9NwTuQ",
      "name" : "Albert Berga",
      "url" : "http://www.youtube.com/channel/UCXKrFkh0t1KvtQJdg9NwTuQ",
      "_links" : {
        "self" : {
          "href" : "http://<IP_ADDRESS>:8080/youTubeChannels/UCXKrFkh0t1KvtQJdg9NwTuQ"
        },
        "youTubeChannel" : {
          "href" : "http://<IP_ADDRESS>:8080/youTubeChannels/UCXKrFkh0t1KvtQJdg9NwTuQ"
        },
        "googleUser" : {
          "href" : "http://<IP_ADDRESS>:8080/youTubeChannels/UCXKrFkh0t1KvtQJdg9NwTuQ/googleUser"
        },
        "User" : {
          "href" : "http://<IP_ADDRESS>:8080/youTubeChannels/UCXKrFkh0t1KvtQJdg9NwTuQ/User"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://<IP_ADDRESS>:8080/Users/68c54696-7fee-4082-9bce-86e1904ca925/externalUsers"
    }
  }
}

The YouTubeChannel object in the raw response is inaccessible using the angular-spring-data-rest module.
Thank you,
Albert

I've just seen in the documentation that there is a configuration ("embeddedNamedResources") which prevents this behaviour. So it was my problem of don't look at the documentation.
Sorry for the disturbances.

Hi @bergacat1
ok so everything is solved and you could address your problem yourself? I will close the issue for now and if there is anything else please reopen it.
Thanks and regards,
Guy


What is the difference between point cloud completion task and point cloud masked reconstruction?

First of all, thank you for your outstanding work!
The pretext task used in your pre-training phase is point cloud masked reconstruction.
I wonder what's the difference between point cloud completion task and point cloud masked reconstruction?

Hi,
I would say that in our pre-text task, the masked point patches still have their centers' position. However in point cloud completion task, we have no information about the missing part, which is a more difficult task.

Hi,
I would say that in our pre-text task, the masked point patches still have the information of their centers' position. However in point cloud completion task, we have no information about the missing part, which is a more difficult task.

I get it! Thank you!


Error message for 'winget upgrade --all --force --silent'

Brief description of your issue
I'm on the preview channel and I get the following error message for over 2 months now.
winget upgrade --all --force --silent

Windows Package Manager (Preview) v1.3.692-preview
Copyright (c) Microsoft Corporation. All rights reserved.

The arguments provided can only be used with a query.

Steps to reproduce
Nothing special, get the latest preview version and execute this command line.
Expected behavior
As before this command and arguments should not yield an error message but install all updates silently.
Actual behavior
winget upgrade --all --force --silent

Windows Package Manager (Preview) v1.3.692-preview
Copyright (c) Microsoft Corporation. All rights reserved.

The arguments provided can only be used with a query.

Environment
Windows Package Manager (Preview) v1.3.692-preview
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22000.708
Package: Microsoft.DesktopAppInstaller v1.18.692.0

Executed in PowerShell 7.2.3 and 7.2.4 and cmd.exe (Windows 11 latest release, not Insider)

I have to install the previous stable version every time again
WinGet-stable__Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
to get this working. Store is always auto-updating to the broken version on the next day.

This is intentional behavior, at least it was when I wrote that check. I believed that you shouldn't be able to do a hash override for all of the packages in a winget upgrade --all since you may have not looked at the list of packages prior, meaning you may get a compromised download. If you want to --force, you'll have to give the name of the package you want to upgrade.
winget upgrade --all --silent will work. Is there a specific package you are commonly hitting hash errors with? If so, we can see about making sure that it gets updated faster in microsoft/winget-pkgs.

Thanks for the explanation, makes sense. I was not aware that it comes from the --force flag which I can live without.


Pubsub parameters

Fixes #1845
Fixes #1849
Fixes #1908

We're waiting for the discovery doc to be updated to move forward with this.

@jdpedrie, the discovery doc should be updated. Can you please take a look?

@sduskis looks like the updated discovery contains the OIDC token and the KMS Key Name, but not the Ordering Key. @danielgsims can we split the Ordering Key changes into a separate PR so as to release the other features?

The Ordering Keys feature is currently in alpha, and is only in the proto file.  I don't expect it to hit for another couple of months.  It does make sense to remove ordering keys and proceed with this PR.

Superceded by #2117.


fix some typos, comment mismatch, and small code optimization

As title

Please merge latest change, then I can merge

@winstywang Done. Could you help me to rerun the test? Seems something hanged. Everything passed from my side: https://travis-ci.org/javelinjs/mxnet/builds/104542628


Burrow not reading "__consumer_offsets" in front end environment

Hi,
I had this problem a few months ago, put it away, and now I have to resolve it:
Issue: Burrow is unable to read the "__consumer_offsets" topic in both prod and most nonprod front end servers. It is the setup as our back end servers with different servers with its own kafka/zookeeper clusters in front end.
Error: "topic":"__consumer_offsets","error":"kafka server: Request was for a topic or partition that does not exist on this broker."
Attempts to solve:

Set up TLS in config
Tried variations of servers
Tried different cluster names
Changed ACL permissions on "__consumer_offsets" so anything (including burrow) can read it

Note: It is able to read every other topic besides "__consumer_offsets", so it doesn't seem like it's a connection/firewall issue. Also, the front end environment is under replicated, so could that be an issue as well (we're setting up a new environment)? I've only gotten burrow to work on one server in nonprod, and I'm unsure how it's the only one to work.
Config:
[general]
pidfile="/var/run/burrow/burrow.pid"
stdout-logfile=""
access-control-allow-origin="mysite.example.com"

[logging]
level="info"
filename="/var/log/burrow/burrow.log"
maxsize=100
maxbackups=10
maxage=10

[zookeeper]
servers=[ <list of zookeeper servers" ]
timeout=6
root-path="/burrow"

[client-profile.test]
client-id="burrow-test"
kafka-version="0.10.0"

[cluster.kafkafe]
class-name="kafka"
servers=[ <list of kafka servers> ]
client-profile="test"
topic-refresh=120
offset-refresh=30

[consumer.kafkafe]
class-name="kafka"
cluster="kafkafe"
servers=[ <list of kafka servers> ]
client-profile="test"
offsets-topic="__consumer_offsets"
start-latest=true
group-whitelist=".*"
group-blacklist="^not-this-group$"

[consumer.kafkafezk]
class-name="kafka_zk"
cluster="kafkafe"
servers=[ <list of zookeeper servers>]
group-whitelist=".*"

[httpserver.default]
address=":8000"

[storage.default]
class-name="inmemory"
workers=20
intervals=15
expire-group=604800
min-distance=1

Error Log:
{"level":"info","ts":1549928899.04843,"msg":"Started Burrow"}
{"level":"info","ts":1549928899.0487099,"msg":"configuring","type":"coordinator","name":"zookeeper"}
`{"level":"info","ts":1549928899.0618434,"msg":"starting","type":"coordinator","name":"storage"}
{"level":"info","ts":1549928899.0618818,"msg":"starting","type":"module","coordinator":"storage","class":"inmemory","name":"default"}
{"level":"info","ts":1549928899.0619318,"msg":"starting","type":"coordinator","name":"evaluator"}
{"level":"info","ts":1549928899.0619419,"msg":"starting","type":"module","coordinator":"evaluator","class":"caching","name":"default"}
{"level":"info","ts":1549928899.061953,"msg":"starting","type":"coordinator","name":"httpserver"}
{"level":"info","ts":1549928899.062077,"msg":"started listener","type":"coordinator","name":"httpserver","listener":"[::]:8000"}
{"level":"info","ts":1549928899.0621018,"msg":"starting","type":"coordinator","name":"notifier"}
{"level":"info","ts":1549928899.062114,"msg":"starting","type":"coordinator","name":"cluster"}
{"level":"info","ts":1549928899.0621207,"msg":"starting","type":"module","coordinator":"cluster","class":"kafka","name":"kafkafe"}
{"level":"debug","ts":1549930671.0779998,"msg":"ok","type":"module","coordinator":"storage","class":"inmemory","name":"default","worker":7,"cluster":"kafkafe","consumer":"","topic":"<topic1>","partition":1,"topic_partition_count":2,"offset":78,"timestamp":1549930671000,"owner":"","request":"StorageSetBrokerOffset"}
{"level":"debug","ts":1549930671.0781064,"msg":"ok","type":"module","coordinator":"storage","class":"inmemory","name":"default","worker":5,"cluster":"kafkafe","consumer":"","topic":"<topic2>","partition":1,"topic_partition_count":2,"offset":4,"timestamp":1549930671000,"owner":"","request":"StorageSetBrokerOffset"}
{"level":"debug","ts":1549930671.0781448,"msg":"ok","type":"module","coordinator":"storage","class":"inmemory","name":"default","worker":11,"cluster":"kafkafe","consumer":"","topic":"<topic3>","partition":3,"topic_partition_count":4,"offset":46049,"timestamp":1549930671000,"owner":"","request":"StorageSetBrokerOffset"}
{"level":"debug","ts":1549930671.0781722,"msg":"ok","type":"module","coordinator":"storage","class":"inmemory","name":"default","worker":1,"cluster":"kafkafe","consumer":"","topic":"<topic4>","partition":0,"topic_partition_count":4,"offset":157331778,"timestamp":1549930671000,"owner":"","request":"StorageSetBrokerOffset"}
...
...
...
{"level":"info","ts":1549928899.0716186,"msg":"starting","type":"coordinator","name":"consumer"}
{"level":"info","ts":1549928899.0716984,"msg":"starting","type":"module","coordinator":"consumer","class":"kafka","name":"kafkafe"}
{"level":"error","ts":1549928899.8291814,"msg":"failed to get partition count","type":"module","coordinator":"consumer","class":"kafka","name":"kafkafe","topic":"__consumer_offsets","error":"kafka server: Request was for a topic or partition that does not exist on this broker."}

The first question to ask is whether or not the __consumer_offsets topic exists. It will not be created in a cluster until a consumer starts up with offsets committed to Kafka (a new consumer). Can you use the kafka-topics.sh tool to describe the topic and post the output here?

I was able to solve this problem - I went in and messed with the ACL permissions again, and it worked out this time. It was able to read all the consumer/topic offsets this time; however out of the blue, it's not detecting a certain topic/consumer and there are no owners under any of the consumers (there used to be owners beforehand)


logger.warning('the link you followed is private or not a page: ',

I'm getting this error with some URLs but the page is not private, it's a page

--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/python3.10/logging/init.py", line 1100, in emit
msg = self.format(record)
File "/usr/lib/python3.10/logging/init.py", line 943, in format
return fmt.format(record)
File "/usr/lib/python3.10/logging/init.py", line 678, in format
record.message = record.getMessage()
File "/usr/lib/python3.10/logging/init.py", line 368, in getMessage
msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
File "/home/colo/old-scripts/fb.py", line 15, in
page_info = scraper.get_page_info()
File "/home/colo/.local/lib/python3.10/site-packages/facebook_page_info_scraper/facebook_page_info_scraper.py", line 478, in get_page_info
return self.fetch_functions()
File "/home/colo/.local/lib/python3.10/site-packages/decorator.py", line 232, in fun
return caller(func, *(extras + args), **kw)
File "/home/colo/.local/lib/python3.10/site-packages/retry/api.py", line 73, in retry_decorator
return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter,
File "/home/colo/.local/lib/python3.10/site-packages/retry/api.py", line 33, in __retry_internal
return f()
File "/home/colo/.local/lib/python3.10/site-packages/facebook_page_info_scraper/facebook_page_info_scraper.py", line 473, in fetch_functions
logger.warning('the link you followed is private or not a page: ',
Message: 'the link you followed is private or not a page: '
Arguments: ('https://www.facebook.com/alexpoffisiell/about',)
Details for https://www.facebook.com/alexpoffisiell:

try passing the argument as Arguments: 'https://www.facebook.com/alexpoffisiell'
and use the latest version 1.1.2 and your problem should be fixed