[SPARK-33217][INFRA][PYTHON][2.4] Set upper bound of Pandas and PyArrow version in GitHub Actions in branch-2.4

What changes were proposed in this pull request?
This PR proposes to set the upper bound of PyArrow and Pandas versions to 0.12.0 and 1.0.0 respectively.
https://github.com/apache/spark/commit/16990f929921b3f784a85f3afbe1a22fbe77d895 and https://github.com/apache/spark/commit/07a9885f2792be1353f4a923d649e90bc431cb38 were not ported back so it fails the tests.
https://github.com/apache/spark/commit/16990f929921b3f784a85f3afbe1a22fbe77d895 contains Arrow dependency upgrade so it cannot be cleanly ported back.
Note that I think these tests were broken from the very first place at https://github.com/apache/spark/commit/7c65f7680ffbe2c03e444ec60358cbf912c27d13#diff-bdcc6a2a85f645f62724fe8dafbf0581cb0c1d65f6a76cb2985a9172e31a473c. There was one flaky test in ML that stops other tests so SQL and Arrow related tests were not shown.
Why are the changes needed?

Spark 2.4.x already declared that higher versions might not work at https://github.com/apache/spark/blob/branch-2.4/docs/sql-pyspark-pandas-with-arrow.md#recommended-pandas-and-pyarrow-versions.

We're currently unable to test all combinations (due to the lack of resources in GitHub Actions, see SPARK-32264. It should be best to pick one combination to test.

Just to clarify, Spark 2.4 works with the latest PyArrow and pandas 99% correctly. Most of are just test only issues.

Does this PR introduce any user-facing change?
No, dev-only.
How was this patch tested?
GitHub Actions in this build should test.

cc @dongjoon-hyun FYI. I confess that I haven't ran the tests with this combination yet but I am pretty sure this PR fixes.

Test build #130123 has started for PR 30128 at commit 1afb76f.

Build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/34731/
Test FAILed.

I also reverted SPARK-33190 and SPARK-33189 in branch-2.4.

Test build #130126 has started for PR 30128 at commit 2907158.

Test build #130126 has finished for PR 30128 at commit 2907158.

This patch fails some tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130126/
Test FAILed.

Build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130123/
Test FAILed.

Test build #130127 has started for PR 30128 at commit 4905113.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34733/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34734/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34733/

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/34733/
Test FAILed.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34734/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/34734/
Test PASSed.

Test build #130128 has started for PR 30128 at commit d3a8e3d.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130128/
Test FAILed.

I rebased few times here because I reverted and backported some more changes in branch-2.4.

Test build #130129 has started for PR 30128 at commit 8f381eb.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34735/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34735/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/34735/
Test PASSed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34736/

Thank you for investigation, @HyukjinKwon !

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34736/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/34736/
Test PASSed.

Test build #130132 has started for PR 30128 at commit 7dd8e97.

Test build #130129 has finished for PR 30128 at commit 8f381eb.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test build #130127 has finished for PR 30128 at commit 4905113.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test build #130132 has finished for PR 30128 at commit 7dd8e97.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130132/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130129/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130127/
Test FAILed.

Retest this please

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34740/

Test build #130135 has started for PR 30128 at commit 7dd8e97.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34740/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/34740/
Test PASSed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34742/

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130135/
Test FAILed.

Test build #130144 has started for PR 30128 at commit ad3e67e.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34742/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/34742/
Test PASSed.

PySpark builds passed. I will merge this to fix branch-2.4.

Thanks, merged to branch-2.4.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34751/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34751/

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/34751/
Test FAILed.

Test build #130144 has finished for PR 30128 at commit ad3e67e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130144/
Test PASSed.


thoughts about my lazyloader?

Did you see https://github.com/vvo/lazyload before building yours?

nope. not sure the issues section is the best place to call my attention to it though

You can have all sort of discussion in the issues of a github project.
It's public, archived, has good context and you can easily link to code!
As you build your lazyr with modern choices like requestAnimationFrame I wanted your advice on my more old lazyloader.
Thanks.


Filesystem config update failure: Unable to parse JSON as proto

Title: One line description
Filesystem config update failure: Unable to parse JSON as proto. This is happening after upgrading from v1.12 to v1.14
Description:
Filesystem config update failure: Unable to parse JSON as proto (INVALID_ARGUMENT:(http_filters[2].typed_config): invalid value Invalid type URL, unknown type: envoy.extensions.filters.http.health_check.v3.HealthCheck for type Any)
This is the config:
http_filters:
233         - name: envoy.filters.http.local_ratelimit
234           typed_config:
235             "@type": type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit
236             stat_prefix: http_local_rate_limiter
237         - name: envoy.filters.http.header_to_metadata
238           typed_config:
239             "@type": type.googleapis.com/envoy.extensions.filters.http.header_to_metadata.v3.Config
240         - name: envoy.filters.http.health_check
241           typed_config:
242             "@type": type.googleapis.com/envoy.extensions.filters.http.health_check.v3.HealthCheck
243             pass_through_mode: false
244             headers:
245               - name: ":path"
246                 exact_match: "/http_health_check"
247         - name: envoy.filters.http.router

Tried editing a few things, looks like the typed_config key value is causing problems.
Any help would be appreciated. Thanks!

hi @martha889 what version of Envoy are you testing with ?
can you check that you are following docs matching the version - if so we can folllow up

apologies - i just read ...

v1.12 to v1.14

unfortunately we no longer support either of those versions - current latest is 1.27.0 - we can proabably help if you run into issues upgrading


Added optional vpc_id and subnet_id to allow deploying in a specific vpc

Added variables for subnet_id and vpc_id that are defaulted to empty string. An attempt will be made to fetch the default vpc if a vpc_id is not specified. If no subnet_id is specified, it defaults to a subnet in the default vpc.
This allows users to choose a vpc and subnet for the deployment. An error is thrown if the subnet is not in the the vpc.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Tuan Nguyen seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@genghis-tuan thanks! if you sign the CLA I'll get this tested and we'll have it merged ASAP!

I signed the CLA but for some reason it still shows as not signed yet. I'll close this PR and recreate it again.


Packhorse do not follow on portal

I don't know if we can modify that but pack horse and pack lama was following us on portal in 55i.
Would be a good feature/fi to implement.

Compiled at May 16 2020 (18:33:16) build 3298 / GIT hash 5eee2e7c42bebf2c98e70f7c455d7fc00331ea11
seems working
summoned gates
map tepeport (like papua)
.go commands.

WOrking when doing it correctly


Routle parameter

Hi,
I'm using Swashbuckle successfully in my APIs, but in the cases where I need define a route like this below
[Route("{state:regex(actives|inactives|all)=all}")]

Swashbuckle tries send the parameter in the querystring and not like a part of the route.
This is how it sends:
http://localhost/api/groups/{State}?state=all
But the correct is:
http://localhost/api/groups/all
Someone knows how to fix it?

I solve my problem using an OperationFilter, but the real problem is that the Swashbuckle can't understands when some parts of route are properties of a complex object I need use an operation filter to change the param in. I think that Swashbuckle could do this for us.

Hi there
I'm unable to repro this issue. I created the following controller ...
[RoutePrefix("api/groups")]
public class GroupsController : ApiController
{
    [Route("{state:regex(actives|inactives|all)=all}")]
    public IHttpActionResult GetGroups(string state)
    {
        throw new NotImplementedException();
    }
}

I'm seeing "state" listed as a path parameter and when I try out the operation, it correctly adds it to the path:
http://localhost/api/groups/all

The main difference between your code and my code it's that I'm using a complex object as a parameter in my action as I described in my last comment.
[Route("{state:regex(all|open|closed)=all}")]
[ResponseType(typeof(ResourceSet<GroupResource>))]
public IHttpActionResult Get([FromUri] QueryGroup course)
{
        // do something
}

Actually, the route binding you've setup above is ambiguous, even to WebApi
Swashbuckle aside, the following 3 path's will all be routed to your action method and with course.State = "closed". So, WebApi doesn't quite know what route you're trying to create and hence neither does Swashbuckle.
/api/groups?state=closed
/api/groups/all/?state=closed
/api/groups/closed
So, you can document your API one way but the truth is ... with the above implementation it WILL accept "state" as a path OR query parameter and furthermore, the query param value will win

@domaindrivendev I'm sorry, but you may be wrong about Web API, because Route attribute require that route parts specified in route template are in url as a path parameter and not as a querystring parameter, but the Swashbuckle when we use a complex object as parameter in our action it treat the route parameter like querystring and when it tries to call the uri my api don't know how to respond for this request.
Here we have an example to confirm what I said above.
[RoutePrefix("api/values")]
    public class ValuesController : ApiController
    {
        // GET api/values
        [Route("{state:regex(all|open|closed)}")]
        public IEnumerable<string> Get([FromUri] Query query)
        {
            return new string[] { "value1", "value2" };
        }
    }

    public class Query
    {
        public string State { get; set; }
    }

Actually, that's not my point at all. It's your use of FromUri that's introducing the ambiguity not the Route attribute. I'll try break it down to make it a little clearer ...
The following line tells WebApi that there is a "state" param that MUST come from the path - agreed!
[Route("{state:regex(all|open|closed)}")]

However, the use of FromUri tells WebApi that properties of Query MAY come from path OR query-string parameters
[FromUri] Query query

Hence, the following two paths are valid to invoke your action.
api/values/all
api/values/open?state=closed
Furthermore, if the second variation is used, the query-string value will overwrite the path value. Please .. put a breakpoint in your controller and inspect the values in your Query object for each case.

@domaindrivendev Well, I need use a complex object instead of specify each parameter and how I need use a complex object for avoid an complex action definition I need use too [FromUri] attribute besides I'm use regex on route attribute because I think this is the best and fast way to restrict the users to use a invalid route parameter.
Do you yet think that this is not a problem in Swashbuckle? As I said before, I solved the problem removing the duplicated parameters and changing the "in" property to "path" when it should be "path" but it is "query".

I'm afraid I don't see this as a SB issue. Swashbuckle provides "living" documentation for your WebApi. That is, the descriptions it provides are bound to the "actual" behavior. As I've demonstrated with the examples above, the "actual" behavior you will observe from your code is two possible parameters of the same name, one in the path and the other in the query-string, with the query value taking precedence if both are provided.
If SB were to only document the path option then it's not doing its duty, working off an assumption rather than actual behavior.
If you don't see this point then let's agree to disagree. In any case, it sounds like you can achieve what you're trying to do with a simple op filter.

Well, then wait for others issues to confirm if this is a SB problem.


Irritating prompt that asks "keep pipe" in Kakoune

Windows Terminal version
Version: 1.17.11461.0
Windows build number
10.0.19044.3448
Other Software
Kakoune v2023.08.05 (inside WSL)
Steps to reproduce

Start Kakoune and a buffer name as an argument, for example kak foo.

Expected Behavior
Kakoune showing up after pressing fg as-was when putting it into the background.
Actual Behavior
Irritating prompt that asks "keep pipe".

Why do you believe that this is a bug with Windows Terminal instead of Kakoune for instance?

Why do you believe that this is a bug with Windows Terminal instead of Kakoune for instance?

Was going to add more information, but something came in between. Sorry!
I believe this is a Windows Terminal problem because Kakoune registers key presses that I don't make.
To see what happens, I do this

Start Kakoune, with a buffer name, and the key debug option enabled. For example, kak -debug keys foo
Observe the problem (see picture 1).

Switch to the *debug* buffer inside Kakoune with the kak command :b *debug*.
It will now contain

*** This is the debug buffer, where debug info will be written ***
Client 'client0' got key '<a-[>'
Client 'client0' got key '0'
Client 'client0' got key '$'
Client 'client0' got key 'y'
Client 'client0' got key '<esc>'		// Pressed to close `keep pipe:y`, otherwise it captures all keyboard inputs
Client 'client0' got key ':'			// Begin enter the command `:b *debug*`
Client 'client0' got key 'b'
Client 'client0' got key '<space>'
Client 'client0' got key '*'
Client 'client0' got key 'd'
Client 'client0' got key 'e'
Client 'client0' got key 'b'
Client 'client0' got key 'u'
Client 'client0' got key 'g'
Client 'client0' got key '*'
Client 'client0' got key '<ret>'		// Execute the command `:b *debug*`
[...]

The problem does not occur if I run kak inside tmux (installed from Nixpkgs).
The problem seem to only occur with Kakoune installed from Nixpkgs [https://nixos.org/]. The problem don't seem to occur when I use Kakoune from the Ubuntu repositories. I've not noticed this problem when I'm using kak from Nixpkgs on a non-Nixos system, i.e., this seems to only occur in WSL/Windows terminal. I'm using Ubuntu 22.04 (installed via Windows Store).
The problem occur very often, but not always.

I've never used Kakoune so I can't really tell what you mean with "registers key presses that I don't make". What kind of key presses? Are they visible in the above text block?
Kakoune's documentation states that <a-[> is for

select to the inner object start

so I'm assuming you pressed that yourself.
So are they these 2 the keys you didn't press?
Client 'client0' got key '0'
Client 'client0' got key '$'

I've never used Kakoune so I can't really tell what you mean with "registers key presses that I don't make". What kind of key presses? Are they visible in the above text block?

Sorry for being unclear, unused to describe Kakoune problems to non-Kakoune users. Hope this will make it more clear!
I see now that the -debug flag doesn't seem to be documented anywhere. From what I understand, if you run kak -debug keys Kakoune will write out all "key press events" it gets into its *debug* buffer. For example, if I start Kakoune with kak -debug keys and switch to the *debug* buffer, and every key I press will result in a new line being added to the *debug* buffer.

Kakoune's documentation states that <a-[> is for

select to the inner object start

so I'm assuming you pressed that yourself.
So are these 2 the keys you didn't press?

The first key I press is <esc>, i.e. all key press events above Client 'client0' got key '<esc>' in the above list
Client 'client0' got key '<a-[>'
Client 'client0' got key '0'
Client 'client0' got key '$'
Client 'client0' got key 'y'

are key events that Kakoune register, but I've not pressed any of these keys.

FYI, this looks like a DECRPM response.
Client 'client0' got key '<a-[>'
Client 'client0' got key '0'
Client 'client0' got key '$'
Client 'client0' got key 'y'

The CSI introducer \x1b[ is the same as the key sequence for Alt+[, so that's where the <a-[> comes from, and $y is the id of the DECRPM sequence.
And according to this Kakoune commit, it does use a DECRQM query to detect mode ?2026 support, so it's possible this is expected to be seen in the logs. Technically that response should have also had 2026 as one of the sequence parameters, but maybe the log isn't showing everything.
I think the Kakoune devs may be in a better position to determine what's actually happening here, and whether it's a bug or not.

I think the Kakoune devs may be in a better position to determine what's actually happening here, and whether it's a bug or not.

I agree with this. Would you mind bringing this issue over to their repo, @a12l? Thank you.

From a quick look here, it sounds like the DECRPM response from the terminal is missing the private mode marker ?. I do not have access to any windows box but I am curious what Windows Terminal responds to printf '\033[?2026$p'.

I am curious what Windows Terminal responds to printf '\033[?2026$p'.

You need something like a read after that to see the full response, otherwise the start will be eaten by the shell, but it definitely includes the question mark in the DECRPM response when required. See here:

@mawww My one thought was that OP may have been using an older version of Kakoune that had a bug in the DECRPM handler. I saw there was a commit at some point that was related to the DECRPM parsing (https://github.com/mawww/kakoune/commit/0f688656a487fdb2e7d0772de82dd6941418bf67), but I didn't think that was likely to have caused an issue like this.

I get the same response in foot here, so yeah, could be that OP is using an old Kakoune version. Another possibility is that for some reason we do not get the whole CSI content available atomically on Kakoune's side.

I'm still getting this after upgrading to Ubuntu 22, and building kakoune from source
Still an issue


文本串联展示详情时width设置不正确

Help us to manage our issues by answering the following:

How would you tag this issue?

Bug

Describe your issue:
文本串联可以使用正确宽度展示内容

If your issue is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via Bug Report Template on CodeSandbox

给个codesandbox吧


Fixes #1369 unreg changing E-mails

Proposed
Addresses #1369 by removing text input field and replacing with text about what the E-mail is. This effectively disables the ability to change the E-mail without confirmation.
Repercussions
Users are unable to update E-mails via unregistered account claims.
Suggestions
This is merely a security plug and does not address the issue of the user wanting to change the E-mail.
Also this looks ugly and should probably be reformatted if it is going to be kept.

Well it looks like I will be diving into the wide world of testing today.

Looks good. :octopus: Merged this as a hotfix because this is high priority.


Find layout files from theme directories

@albertvolkman did you test this with the provided examples?

@albertvolkman did you test this with the provided examples?

I have not.


Rewrote installation guide to use new reference config

Before, the installation guide was based on the advanced config example, which was guiding people through the process by starting with the simplest example and then calling out options.
Now, we start with a full example that comes with TLS, JWT, Storage etc, where a client can then decide to incrementally remove configurations instead.
The docs changes are related to https://github.com/DACH-NY/canton/pull/15882

Can you rebase and do the corresponding changes in the new 2.9.0 version of the docs before merging ?


Imports not longer working if run in terminal

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.60.0
OS Version: Windows 10

Steps to Reproduce:
I can run my code with 'Run Code'

but 'Run Python file in Terminal' and 'Debug Python file in Terminal' generate an import error

Thanks for the report! Closing as dup of https://github.com/microsoft/vscode-python/issues/17301. Please follow the instructions there https://github.com/microsoft/vscode-python/issues/17301#issuecomment-915485207 and report back with more info.

The reason Run code works is because it isn't using conda to run your python files.

I did as instructed in #17301 but it did not help.

I have replied in the original issue, please take up a follow discussion there.


Allow selecting individual files to torrent

Saves bandwidth and disk space when a torrent contains extra files you don't need
Fixes #360

Limitations
Right now if you deselect a file, it will delete the file on disk.
When you select a previously deselected file, it doesn't recreate the file on disk until you restart WebTorrent Desktop.
I think I'll need to modify the underlying webtorrent library.

Currently the file.select() and file.deselect() APIs in webtorrent.js are a bit janky
WebTorrent doesn't really deal with what happens a file is unlinked while it's running. I think the actual inode is not deleted because WebTorrent still has a file handle open.

Overall LGTM, comments inline. Since this is already merged, we can fix it up in another PR.
I'll try to be better about reviewing things faster in the future so we can stop self-merging. I'll also do the same and wait 24-48 hours before merging my own changes too :)

@feross I agree we should get two sets of eyes on something before merging. I don't think PRs should necessarily stay open for 1+ days, though. If you write something now and someone else reviews it, why not merge it?

It's a tradeoff -- merge too fast and contributors in other time zones won't have a chance to give their input. But while we're iterating fast, I think you're right -- we should just merge after one other set of eyes has seen it. 👍

It's a tradeoff -- merge too fast and contributors in other time zones won't have a chance to give their input.

It happens all the time

@grunjol @dcposch @ungoldman @Flet Going forward, I think we should start wait for at least one LGTM from another contributor before merging a change. And if the change touches a lot of code, then we should wait 24-48 hours before merging even if there are multiple LGTMs. 👍

👍
I think the speed advantage of self-merging (especially to master) is far outweighed by the stability and oversight reviews and merges from fellows maintainers can provide. Also makes it a lot easier for collaborators to keep track of what's going on without having to work at the same. That said I totally get the desire to iterate quickly in early stages.
Maybe an update to https://github.com/feross/webtorrent-desktop/blob/master/CONTRIBUTING.md#project-governance?


Question: How to run a build definition on every agent in an agent pool

My team's scenario:
We have around 15 build agents in which we build docker images etc. We do not aggressively clean up docker images after every build since we want to use the cache as much as possible for good user experience. But since we consume disk space over time because of this we are planning to have a job like thing which runs let's say every 2 weeks(ex: 3.00 A.M on Saturday) on every agent in the pool and just deletes every docker image on it.
We considered using a cron job on the agent machines but were worried about race conditions. For example, if a build gets triggered right when a cron job is happening. This could cause the build to fail or the cron job might not able to finish successfully. We considered the build definition approach since we know only one instance of a build can run on an agent at any given time.
Question:
How can I enable a build definition to do a build on every agent in the pool? Ideally I would like to avoid adding agent names as demands as that is cumbersome and error-prone.

cc @arroyc

Hi Guys, Any update on this? As a workaround we created a yaml build definition where we are placing demand for every agent in the agent pool and set a schedule for the build. This works ok. But when there are situations where an agent is temporarily offline or disabled, this build goes into infinite wait. I have tried to use timeout but it's not working. Any better way to deal this?
Note: It would be nice if we can place a demand on agent status as well. For example if we can set a demand like agent.name equal "A" and agent.status equal "active".

Hi @kichalla, @arroyc:
Azure DevOps doesn't support running a given build definition on every agent in a pool.
That said, there are ways to clean up the agent environments. The most common and simplest solution is to have a task that runs at the end of the build definition that calls a script basically no-ops, unless it detects that the docker image cache is full (or a certain time has passed -- e.g. by keeping track with a file with a timestamp), then it performs the actual cleanup. The main disadvantage is that there will be a slower build every now and then, but comes with the advantage of not having to modify demands or having to place agents offline. This is the usual strategy used by our internal (at Microsoft), and external customers.
Thanks,
Julio

But that isn't a solution for shared environments. Because you can trust the people that write build definitions. So many build definitions doesn't have a clean task at the end.
So the agent need this know how. Maybe the single run flag is an option. So you configure your agent to shutdown after build. If this happens the OS of the agent can clean up the storage and start the agent again. But this is very hacky way to do this.

The right solution for this problem is BYOS pool providers.  @zachariahcox

Hey, thanks for the feedback - we're tracking this internally and it should be coming soon. I'm going to close here since the feedback has been propogated internally.


feat(@vtmn/react): add an onIconClick props to VtmnInput

As a VtmnInput component consumer, I expect the VtmnIcon to be clickable.
Here's a example in my application:

The icon trigger an action on click.
I'd expect the same behavior for the VtmnInput component.
If it's OK for you, I can open a Pull Request for this feature.

Hi @bastienterrier, thanks for this feature request. What do you want to do on icon click in this example?

In this example, the icon click triggers an action that localize the user. I don't want to move the icon outside of the input because I already have another icon on mobile to switch between List/Map view.

Oh okay yes I understand, yes feel free to implement this!


Detect competing access to DiskLruCache; explode

I'm getting crash reports from users of my Android app with the following stacktrace:
java.lang.RuntimeException: java.io.IOException
       at com.squareup.okhttp.internal.DiskLruCache$1.run(DiskLruCache.java:175)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
       at java.lang.Thread.run(Thread.java:841)
Caused by: java.io.IOException
       at com.squareup.okhttp.internal.DiskLruCache.renameTo(DiskLruCache.java:390)
       at com.squareup.okhttp.internal.DiskLruCache.rebuildJournal(DiskLruCache.java:372)
       at com.squareup.okhttp.internal.DiskLruCache.access$300(DiskLruCache.java:86)
       at com.squareup.okhttp.internal.DiskLruCache$1.run(DiskLruCache.java:171)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
       at java.lang.Thread.run(Thread.java:841)

Right now, all affected users are on Android 4.3
All I am doing is using a OkHttpClient singleton with a HttpResponseCache attached.

Hi!
Since yesterday my app is crashing due to this issue. I am using the 2.2.0 version. I too have multiple RestAdapters. I can remove the caching on all but one, but that seems like a workaround, not crashing the app seems too extreme in case of cache manipulation failure.
Crash distribution attached, hope you can make use of it.

Just use the same OkHttpClient instance across all of them.

#646

same issue

Why not just disable the cache instead of crash the app with RuntimeException when rebuildJournal failed with IOException?
Some times it's unavoidable and not able to fix, for example: disk is full, android.system.ErrnoException: open failed: EROFS (Read-only file system)(When directory( on FAT FS) is removed by cleaner while file is open, something cause an file lock before reboot)

@yyjdelete that's the plan, we just need to implement it.

Was going to try my hand at implementing this

Please do! What’s the strategy? Pid lock?

Not sure yet still researching, will look into pid locks.

Cool. Trick is finding some way to tell the host OS that the current process owns the directory, in such a way that future processes can take over if that process dies.

There's also the possibility of competing access in-process. Nothing
prevents me from pointing two OkHttpClient instances at a single folder and
having journals that clobber each other constantly, I think.
On Wed, Feb 3, 2016 at 5:41 PM Jesse Wilson<EMAIL_ADDRESS>wrote:

Cool. Trick is finding some way to tell the host OS that the current
process owns the directory, in such a way that future processes can take
over if that process dies.
—
Reply to this email directly or view it on GitHub
https://github.com/square/okhttp/issues/680#issuecomment-179508536.

Got it, thanks.
I started looking at using File#createNewFile() to atomically create a "lock" file. If it succeeds, we can take ownership of the cache directory, and any subsequent tries to create the same file would return false, meaning a separate process/thread already owns the directory. The issue is that the lock file needs to be cleaned up afterwards. We can guarantee that with a proper close() call, and even use File#deleteOnExit() as a backstop. But that only works for normal process termination. So I think that approach if off the table.
As an alternative, I was looking at java.nio.channels.FileLock. I've never used this API before, but it seems like a feasible approach. From what I saw, it's using fnctl() to acquire the file lock. My thinking is that we'd create a lock file in the cache directory, then attempt to acquire an exclusive file lock. If we can't acquire the lock, we can assume a separate thread/process has it and then explode. It feels like this would add a fair bit of complexity. Given the value returned and risk, I'm not sure it's worth it. Thoughts?

I haven’t used FileLock. Seems like this would be using that exactly as intended.

Alright, I'm going to study the internals more deeply and then I'll take a swipe at writing the code

Ok, so there is at least one fundamental problem with FileLock, caused by fcntl(). In the case of multiple processes, FileLock works great.
Things break down in the case of a single process, notably from FileLock javadoc:

On some systems, closing a channel releases all locks held by the Java virtual machine on the underlying file regardless of whether the locks were acquired via that channel or via another channel open on the same file. It is strongly recommended that, within a program, a unique channel be used to acquire all locks on any given file.

and from documentation on fcntl:

record locks are automatically released when the process terminates or if it closes any file descriptor referring to a file on which locks are held. This is bad: it means that a process can lose the locks on a file like /etc/passwd or /etc/mtab when for some reason a library function decides to open, read and close it.

In the case of a single instance of OkHttp loaded in the VM, I think a workaround would be to use a class level lock.
When there are multiple instances loaded, the class level lock doesn't work. I'm thinking this might be an OSGi environment, concurrent versions of OkHttp in the same VM, or possibly the same version loaded multiple times (i.e. application server.) I'm not sure how to get around this one.
And all this to detect competing access! :)

The case I’m most interested in is when an Android app has multiple processes, and because the two processes are configured identically they both attempt to open the cache simultaneously.

...which is two processes competing with each other. I think that case is far harder for app developers to deal with than the same process fighting itself.

In-process competing could be as easy as a static AtomicBoolean on Cache
that was CAS'd to true when opened and false when closed and throwing on an
unexpected state.
On Fri, Feb 5, 2016 at 2:56 PM Jesse Wilson<EMAIL_ADDRESS>wrote:

...which is two processes competing with each other. I think that case is
far harder for app developers to deal with than the same process fighting
itself.
—
Reply to this email directly or view it on GitHub
https://github.com/square/okhttp/issues/680#issuecomment-180532916.

Actually, I guess it'd have to be a synchronized Set or something of File
paths, since multiple instances can be open, just not pointing at the same
place.
On Fri, Feb 5, 2016 at 3:02 PM Jake Wharton<EMAIL_ADDRESS>wrote:

In-process competing could be as easy as a static AtomicBoolean on Cache
that was CAS'd to true when opened and false when closed and throwing on an
unexpected state.
On Fri, Feb 5, 2016 at 2:56 PM Jesse Wilson<EMAIL_ADDRESS>wrote:

...which is two processes competing with each other. I think that case is
far harder for app developers to deal with than the same process fighting
itself.
—
Reply to this email directly or view it on GitHub
https://github.com/square/okhttp/issues/680#issuecomment-180532916.

Right, and I believe a third case is, via a custom class loader, I load multiple instances of the OkHttp library into the same VM. This is the one I'm struggling with. It's possible, but unlikely?
If we can constrain this to, multi-process and single loaded instance of OkHttp library, then I believe the combination of FileLock + synchronized Set will work.

Actually, never mind - if someone did try to load multiple copies of OkHttp into the same VM, it will also explode, which should prompt the developer to change their configuration. Apologies for the confusion

I think if you’re doing fancy OSGi things you can get multiple copies of static fields. You need something like ClassLoaderBuilder..
But I don’t think we care.  But if the user launches two instances of your process they shouldn't corrupt each other, as we do now.

I took a pass at implementing this, but hit a snag while testing it on android. Can someone validate my understanding? According to the javadocs, I believe calling tryLock() should return null if an exclusive lock cannot be obtained, http://developer.android.com/reference/java/nio/channels/FileChannel.html#tryLock()
This works as expected on the desktop/server. But on android, I'm getting an IOException with this stack trace,
java.io.IOException: fcntl failed: EAGAIN (Try again)
  at java.nio.FileChannelImpl.basicLock(FileChannelImpl.java:123)
  at java.nio.FileChannelImpl.tryLock(FileChannelImpl.java:181)
  at java.nio.channels.FileChannel.tryLock(FileChannel.java:584)
  at com.daveroberge.multi_process.Main2Activity$1.run(Main2Activity.java:35)
Caused by: android.system.ErrnoException: fcntl failed: EAGAIN (Try again)
  at libcore.io.Posix.fcntlFlock(Native Method)
  at libcore.io.ForwardingOs.fcntlFlock(ForwardingOs.java:70)
  at java.nio.FileChannelImpl.basicLock(FileChannelImpl.java:121)
  at java.nio.FileChannelImpl.tryLock(FileChannelImpl.java:181)
  at java.nio.channels.FileChannel.tryLock(FileChannel.java:584)
  at com.daveroberge.multi_process.Main2Activity$1.run(Main2Activity.java:35)

I think the code in question is here,
https://android.googlesource.com/platform/libcore/+/android-6.0.1_r16/luni/src/main/native/libcore_io_Posix.cpp#777
https://android.googlesource.com/platform/libcore/+/android-6.0.1_r16/luni/src/main/native/libcore_io_Posix.cpp#192
I think this might be a bug? Regardless, I guess this will need to be special cased

I entered 2 issues on AOSP:
https://code.google.com/p/android/issues/detail?id=200586
https://code.google.com/p/android/issues/detail?id=200670
Hopefully they can bring some clarity to the situation.

I wanted to note the current state of this. The good people over at AOSP confirmed the two bugs related to FileLock, and have known about them since 2014. Due to competing priorities, the complexity involved in testing fixes for the bugs, and lack of developer uproar around this API, it has been pushed to the back of the queue. It's possible they might get fixed with the move to OpenJDK.
Where does that leave us? On Android, it means the following:

No easy way to detect intra-process conflicting locks. This isn't a big deal because most Android app's aren't doing fancy class loading and we're not as concerned about developers shooting themselves in the foot.
Detecting inter-process conflicting locks is fragile. The conflicting lock will be detected, but is signaled to us via an IOException. This makes things difficult because we have to distinguish between a conflicting lock IOException and a real IOException. If we can assume the various Android implementations don't change core library classes, then it might mean the message in the IOException is consistent across devices.

My feeling is that the FileLock approach has become a 'best-effort' solution rather than a complete solution on Android. Is that good enough?
Given the limitations of FileLock, I was looking around for other ways to accomplish the same thing. I had 2 ideas, but both are platform specific.

Leverage http://developer.android.com/reference/android/os/FileObserver.html to monitor a lock file.
Leverage http://developer.android.com/reference/android/net/LocalServerSocket.html to open a unique UNIX-domain socket per cache

Both approaches would increase the complexity as we'd need to abstract out the strategy for detecting competing access.

Thanks for the deep investigation on this. I don’t think any of our existing options are particularly compelling – they increase complexity & runtime which punish applications that don’t currently suffer this problem.
I’m tempted to suggest punting this issue to our icebox. The solution isn’t a clean win, and none of our users are actively complaining about this.

Gotcha, makes sense. Thanks for the help BTW.

Then I would like to complain a little. This bug is the cause of 47% of app crashes on our latest version.

@clhols if you’re only the disk cache from one process, then that’s a separate issue. Could you please open a bug with steps to reproduce? Also include which OkHttp version you’re using.

Closing out as I don't think we see a lot of reports here.


File attachments only result in a one line file

Hi there.
I have tried every which way to get a simple php API script working with the single file attachment example.
Either of these two lines (one with full path the other without a path, implying current directory) results in a flat file the contents of which are the 'at' symbol and filename:
'files['.$fileName.']' => '@'.dirname(FILE).'/'.$fileName
or
'files['.$fileName.']' =><EMAIL_ADDRESS>So the actual file itself never gets attached. This is the same behaviour on both windows and linux platforms.
I tried using the class example instead but it just falls over with an exception due to missing "Guzzle"  (there's also a syntax error which I corrected). I'd prefer to stick with the simple API if possible.
After trawling the net (and here) I can't find any references to it failing for others.
Any clues gratefully received.
Thanks in advance.
Lee

Hello @sdclee,
We are in the process of rewriting this library to support all Web API v3 endpoints. The new library will no longer depend on Guzzle. Here is the client we will be using: https://github.com/sendgrid/php-http-client
For now, if you don't want to use Guzzle, you might try using curl directly: https://sendgrid.com/docs/Integrate/Code_Examples/php.html
Thanks!

Thanks for the reply. If you look at the code fragment I posted you will see that it is from the curl example but the attachment fails. It always attaches a file as a one line test contains the '@' symbol and the filename itself.
Maybe you could offer an explanation for this errant behaviour?
Thanks in advance.
L
ee

I don't see what is going wrong in those two lines of code. Would you mind sharing the rest of the relevant code for additional context? Thanks!

Ok I'll re-state the issue originally described.
Whichever option I use (current directory or full path) the file that becomes the attachment looks at first as it is correct in the email client (say for example a PDF document) but on loser inspection the file's content comprises a single line describing the path/filename preceeded by the '@' symbol, e.g.:
@pslp_PTR_0074860.pdf
This is the content of the attachment I fot when trying to send the test script itself (sendgridfoo2.php):
@sendgridfoo2.php
I emphasise here that it doesn't make any difference whether the path + filename is used or just filename. Here's the results after sanitising the path for Windows:
@D:\SDC\sendgrid-php-master\sendgridfoo2.php
So in both cases the file attachment contains only the line "@whateverTheFileNameIs"
I hope you are able to spot what might be wrong.

Please let me ask another way: You are getting the filename as the content of the file attached to the resulting email, rather than the contents of the file you are expecting?

That's correct.
Thanks

I could not get the example here working either: https://sendgrid.com/docs/Integrate/Code_Examples/php.html - I will add this to our backlog to troubleshoot.
In the mean time, I was able to get success using our current library with this code:
sendgrid-php-example.php
<?php
require 'vendor/autoload.php';
Dotenv::load(__DIR__);

$sendgrid_username = $_ENV['SENDGRID_USERNAME'];
$sendgrid_password = $_ENV['SENDGRID_PASSWORD'];
$to  = $_ENV['TO'];

$sendgrid = new SendGrid($sendgrid_username, $sendgrid_password, array("turn_off_ssl_verification" => true));
$email    = new SendGrid\Email();
$email->addTo($to)->
       setFrom($to)->
       setSubject('[sendgrid-php-example] Owl named %yourname%')->
       setText('Owl are you doing?')->
       setHtml('<strong>%how% are you doing?</strong>')->
       addSubstitution("%yourname%", array("Mr. Owl"))->
       addSubstitution("%how%", array("Owl"))->
       addHeader('X-Sent-Using', 'SendGrid-API')->
       addHeader('X-Transport', 'web')->
       addAttachment('./gif.gif', 'owl.gif');

$response = $sendgrid->send($email);
var_dump($response);

Here is what's in my composer.json file:
{
  "name": "sendgrid-php-example",
  "description": "Example of using the SendGrid php library.",
  "version": "0.1.1",
  "homepage": "http://github.com/scottmotte/sendgrid-php-example",
  "license": "MIT",
  "keywords": ["SendGrid", "sendgrid", "email", "send", "grid", "php"],
  "require": {
    "sendgrid/sendgrid": "~4.0",
    "sendgrid/smtpapi": "~0.5",
    "vlucas/phpdotenv": "1.0.*"
  }
}

And the .env:
SENDGRID_USERNAME=xxxxx
SENDGRID_PASSWORD=xxxxx
<EMAIL_ADDRESS>
Also, I've not tried this using our new HTTP Client, but that might be worth a try too.

@sdclee Our new library is nearly out of beta and here is an example of how it handles attachements: https://github.com/sendgrid/sendgrid-php/blob/v3beta/examples/helpers/mail/example.php#L83
Thanks for your support!

In case you're still searching for answers and not alternative solutions: the problem is updated curl behavior (php >= 5.6) see: https://binfalse.de/2016/06/21/forget-the-at-use-curl-file-create/

Thank you @jsolc!


WebSocket connection to 'wss://tracker.novage.com.ua/' failed:

Hello,
When running player gets the error: WebSocket connection to 'wss://tracker.novage.com.ua/' failed:
I have tried your demo http://novage.com.ua/p2p-media-loader/demo.html but it doesn't show that p2p is working. How to check if it's actually working? Or I am using it wrong?
`

Here is the available trackers:
https://github.com/snowinszu/wt-tracker/blob/master/README.md


No error for anonymous import that doesn't exist

No compile-time error is produced for import 'nonexistent_filename'.  An error is produced for nonexistent named imports (e.g. import X from './notExist.js'), but for anonymous imports (when simply importing for side effects) no error is produced if the file doesn't exist, the import is emitted as-is, and the code fails at runtime.

TypeScript Version:  3.2.0-dev.20181020

Search Terms: anonymous import no error
Code
// A *self-contained* demonstration of the problem follows...
// Test this by running `tsc` on the command-line, rather than through another build tool such as Gulp, Webpack, etc.
import foo from './doesnt-exist-1.js';
import './doesnt-exist-2.js';

Expected behavior:
2 errors should be produced:

Cannot find module ./doesnt-exist-1.js
Cannot find module ./doesnt-exist-2.js

Actual behavior:
Only 1 error is produced:

Cannot find module ./doesnt-exist-1.js

Playground Link:
http://www.typescriptlang.org/play/#src=import foo from '.%2Fdoesnt-exist-1.js'%3B
import '.%2Fdoesnt-exist-2.js'%3B

Related Issues:
Couldn't find any.

Duplicate of #27289

Figures.  I never pick the right search terms...

I checked into the other issues, it seems this is intentional behavior for backwards compatibility.  I definitely understand that; that said, I’m a big refactor-fiend and this bit me after deleting a side-effect-only file from the project (I sometimes use these for polyfills), so if there could be a flag to optionally make this an error, it would be great to have. :smiley:


Appstudio update test-component-pac-zpjv

Pipelines as Code configuration proposal

Pipelines as Code CI has failed.There was an issue validating the commit: "the webhook secret is not valid: token has expired at Sun, 25 Dec 2022 12:49:14 UTC, err: %!w()"


Add/Subtract changes for Spark 3.4

Extracted a super class for Add and Subtract and call 128-bit kernel for add/sub operation when needed
Signed-off-by: Raza Jafri<EMAIL_ADDRESS>

This should be closed as it was fixed as part of https://github.com/NVIDIA/spark-rapids/pull/7355


Campaigns/show: display last sent/scheduled message date without opening the messaging pane

Right now we only show the timestamps when you click Messaging. We should show them always

Good excuse to clean up this mess


How can one add support for new Attachment mime types?

How can one add support for Attachment mime types like model/obj and model/mtl, see https://www.iana.org/assignments/media-types/media-types.xhtml#model

@aoncorici We do not put any restrictions on the mime types of files you can select in attachment type questions, except for iOS which imposes certain restrictions in that regard. Could you describe a bit more about the issue you are experiencing?


Feature/add auto paginate

Since this PR is delayed, I've opened this other PR with the missing tests: https://github.com/octokit/octokit.rb/pull/1415
Hope it gets merged sooner than later 🙏

Thanks for writing tests for that PR @matiasalbarello,  you're a hero!


Broken preview image is being generated

Hello,
following image is said to be broken by Firefox and Chrome: https://asciinema.org/a/112367.png
It is the image used by "Share" link, in markdown embed snippet, of this video: https://asciinema.org/a/112367
Chrome generates 503 error, Firefox says the image contains errors.

Thanks for reporting. There was a temporary issue with PNG generator. It's working again.

Thanks


Quests with Tractor, fence, gate, chest and lights as rewards

Description
Task: Making some quests which involve Tractor, fence, gate, chest and lights as rewards
Feature: The overall game. #292
Rough plan for appropriate quests for each reward are as follows:
tractor - you get the quest to get tractor as a reward from the last mission in part 1, (so you have it in part 2) and it should be like complete 10 or 15 quests
fence & gates - tame / feed / care for animals
sprinkler & pump - water x amount of crops
chest - get one everynow and then from random story missions
light - same as above
Dependencies

[x] #303 fences and gates base placeable finished
[x] #361  lights base placeable finished
[x] #313 chests base placeable finished
[x] #310 sprinkler base placeable finished
[x] #214 Missions / quests implemented

Milestones
List of steps that need to be completed for this task.

[x] Read all wiki for quests and relevant other wikis (27/09/2023)
[x] Sort out appropriate quests for each reward item (28/09/2023)
[x] Implement the quests (1/10/2023)
[ ] junit testing (?) (2/10/2023)
[ ] Update game quests or any other documentation (2/10/2023)

Completion Deadline: 2/10/2023
Documentation

https://github.com/UQcsse3200/2023-studio-1/wiki/Game-Quests

Member

Shanon Lakshan Chandrasekara @86LAK

I read the wiki today 👍

I read the thought about appropriate quests today 👍

I made quest which rewards player with tractor 👍

I made finished implementing the quests 👍 🦖

I made some junit tests 👍 🤖


Server Connection Timeout

Hi, I followed your steps, all appears to have worked no errors during the process. I get as far as starting all and status shows all are up and running, I can even see the server when I add the IP to favourites.
However I always get a timeout not sure what is happening. All logs attached.
thanks
Mac
log.txt
Manager.log
server.log

status info
status.txt

I have exactly the same problem. Only with me he connects everything redis but he can not connect to the server.

yeah I can see the server in my favourites all the info is there. I can attempt to connect but then connection timeout. very strange

Do you have a log file here? /var/log/atlastools/atlasserver.log That might give some additional info. Also perhaps here: /var/log/atlastools/atlasmanager.log

yes here
atlasmanager.log

I know that was not correct at the beginning but changed it directly as you can see with the path

somehow he doesn't want to write anything to the database. Think that's the problem that you can't join

What would probably be easiest is if we did some troubleshooting in my Discord. I am heading to work now, but will be available after work this evening. I made a channel for atlas-server-tools where we can discuss it and troubleshoot it.
https://discord.gg/NbpSPyq

Hi that would be great. Above in my first link should be all the logs you mentioned

I am hoping that the upcoming patch from Grapeshot will include a fix for the Linux server client.

The Linux server client now works again. Update Atlas and try running it again.


Use logger instead of prints

migrated to https://github.com/BrunoRosendo/vrp-quantum-solver/issues


ESDB 23.10 is not available

ESDB 23.10 is not yet available according to Pulumi
expected server_version to be one of [20.6 20.10 21.6 21.10 22.6 22.10]

The following resource can't be created
const cluster = new esc.ManagedCluster(
    `${args.prefix}-eventstore-cluster`,
    {
      name: `${args.prefix}-eventstore-cluster`,
      projectId: project.id,
      networkId: network.id,
      topology: "single-node",
      instanceType: "F1",
      diskSize: 50, //16, // minimum disk size for an F1 instance is 50 GB
      diskType: "gp3",
      diskIops: 3000,
      diskThroughput: 125,
      serverVersion: "23.10", // PROBLEM, only 20.6 20.10 21.6 21.10 22.6 22.10 available
      projectionLevel: "off",
      protected: args.retainOnDelete
    },
    {
      parent: this,
      provider: args.eventStoreDbProvider,
      retainOnDelete: args.retainOnDelete
    }
  );

Is there any way to start using 23.10 already?
CLO-602

Thanks for the heads up. Seems like our release procedure needs more attention as we clearly missed this bit.

Should be fixed by now, sorry about the delay.


libc: newlib: Rename adhoc read/write implementation for stdin/stdout

In case newlib is enabled, but POSIX subsys isn't, there're adhoc
implementations of read() and write() which work only with adhoc
stdin/stdout emulation layer. These are backed by system calls named
like "read" and "write". Rename all these functions and syscalls to
explicitly mention stdin/stdout in the names, to free namespace
for the implementation of generic read/write syscalls which will
integrate with POSIX fdtable.
Signed-off-by: Paul Sokolovsky<EMAIL_ADDRESS>

@andrewboie, This is the change I consider to be on critical path for introducing syscalls for POSIX read/write functions. I hope you agree that regardless of any prefixes and underscores, having 2 sets of syscalls named read/write is very confusing (I'd say it's already very confusing, and makes our subsys'es vs libc'es integration a tangled maze).

Codecov Report

Merging #13774 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #13774   +/-   ##
=======================================
  Coverage    52.3%    52.3%
=======================================
  Files         307      307
  Lines       45408    45408
  Branches    10504    10504
=======================================
  Hits        23749    23749
  Misses      16874    16874
  Partials     4785     4785

Continue to review full report at Codecov.

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

How about a '_' before stdin/out.

So those functions mimic POSIX naming conventions, and those are spare on underscores, e.g. here gettimeofday() and getaddrinfo(). If there's idea to add underscores there, I can add them, but that would make them look less related to POSIX stuff IMHO.

Added underscores, updated prototypes in header.

I have no attachment to what these are called, +1


Grbl 1.1 laser mode

Does this support grbl 1.1 laser mode? Is there a switch or button to turn on and off lasermode? I used to use this sender before I got my laser and loved it. I would like to go back to using it if it supports laser.
Thanks!
Tim

@tklus Yes, please read docs at https://github.com/gnea/grbl/blob/edge/doc/markdown/settings.md


Update Chinese Translation for 3.0

Sorry for coming late due to my schoolwork and other things, but anyway, Chinese translation is now suitable for the latest 3.0 version!
zh_cn.json

Translated all new items
Translated new manual from scratch

No more bugging back buttons!

Translated all advancements from scratch

Inspirited by The Art of War by Sun Tzu

en_us.json

Fixed many typos
Fixed incorrect numbers in the description of Tier 2 & 3 Capacitor

Manual Loot Table

Fix the description of Tier 2 & 3 Machine Frame uses Tier 1's

What changed in "data/mechanization/loot_tables/base/manual/base.json"- the manual is now auto generated by a python script so if it needs a correction I need to change the script.
Other than that thanks!

So why not upload the script file to the repo? Maybe you could make a auto generate system too :)


ConfigChildren should generally use uniquenames

In general ConfigChildren should have uniqNames = true when it is a small finite set of config items that are known to be unique.
but I was getting some weird results for fileview -- unfortunately it looks like file view for marbles example, which I was randomly using, is aberrant and doesn't auto size properly and textfields are all weird.  something with templates presumably interacting with something..
anyway, backed off of it for now and will return later.. very minor perf diff..
some chance that .Parts with icon may have some issue requiring uniqueNm = false for some reason..

all fixed and fine -- leaving .Parts guys alone.


[Design] Refactor DataProtection

Issue - #134
@rynowak @loudej @lodejard
Things that still need cleanup:

DataProtectionServiceDescriptors
CertificateXmlEncryptor
EncryptedXmlDescriptor

:up: :date:

Closing this since the latest work is on a different branch


Default text section shortcuts for some platforms are missing

There are a number of text section shortcuts implemented by default on each platform, for example on macOS Control-A is "Move to the beginning of the line or paragraph.", and there are others that we do not currently implement.
Because I use a non-standard keyboard, not all testing is currently complete.
macOS(https://support.apple.com/en-us/HT201236):

[x] Control-A: Move to the beginning of the line or paragraph.
[x] Control-E: Move to the end of a line or paragraph.
[x] Control-F: Move one character forward.
[x] Control-B: Move one character backward.
[ ] Control-L: Center the cursor or selection in the visible area.
[x] Control-P: Move up one line.
[x] Control-N: Move down one line.
[ ] Control-T: Swap the character behind the insertion point with the character in front of the insertion point.
[ ] Control-Backspace: Delete backward by decomposing previous character (for example a multi-codepoint emoji).
[x] Option–Left Arrow: Move the insertion point to the beginning of the previous word.
[x] Option–Right Arrow: Move the insertion point to the end of the next word.

@justinmc

I just editing the description to include Option+left/right arrow since that was brought up to me and seems to be supported in the linked Apple docs.

I'm going to close this when ctrl-T is done unless anyone has a specific request for ctrl-L.

Actually I'll keep this open as @YeungKC wants to look into more keyboard shortcuts.

Added ctrl + backspace which was brought up in https://github.com/flutter/flutter/pull/132919.

Some follow up observations about Linux and Windows:
Ctrl + T on Windows 11 does nothing from my testing.
Ctrl + T on Debian GNU/Linux does nothing except in the terminal where it transposes characters.
Ctrl + L on Debian GNU/Linux in gedit moves the selection forward by 1.
Ctrl + L on Debian GNU/Linux Text Editor expands the selection line-by-line in the forward direction.


compiled a.exe is not launching

Issue Type
Bug
Description
my root folder is in onedrive i have compiled a programe in c++ the generated a.exe file was launching in debugger before until now.the programe is running when i run outside vs code but not in it.
VS Code Info
VS Code version: Code 1.20.1 (f88bbf9137d24d36d968ea6b2911786bfe103002, 2018-02-13T15:34:36.336Z)
OS version: Windows_NT x64 10.0.16299

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz (8 x 1995)

Memory (System)
5.95GB (2.29GB free)

Process Argv
C:\Program Files\Microsoft VS Code\Code.exe

Screen Reader
no

VM
0%

Extensions (4)

Extension
Author (truncated)
Version

code-gnu-global
aus
0.2.2

vscode-phpfmt
kok
1.0.18

vscode-JS-CSS-HTML-formatter
lon
0.2.3

cpptools
ms-
0.15.0

Reproduces only with extensions

This issue was moved to Microsoft/vscode-cpptools#1601


Add history package tests

Codecov Report

Merging #337 (76c0b88) into master (4f09448) will increase coverage by 1.63%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master     #337      +/-   ##
============================================
+ Coverage     49.55%   51.18%   +1.63%
- Complexity      494      522      +28
============================================
  Files           114      114
  Lines          2242     2235       -7
  Branches        202      198       -4
============================================
+ Hits           1111     1144      +33
+ Misses         1023      984      -39
+ Partials        108      107       -1

Impacted Files
Coverage Δ
Complexity Δ

...va/seedu/address/model/history/HistoryManager.java
72.91% <ø> (+15.77%)
17.00 <0.00> (+6.00)

...a/seedu/address/model/history/VersionedNusave.java
78.57% <100.00%> (+35.71%)
6.00 <0.00> (+3.00)

...in/java/seedu/address/model/expenditure/Price.java
64.28% <0.00%> (+7.14%)
6.00% <0.00%> (+2.00%)

...ain/java/seedu/address/model/expenditure/Name.java
83.33% <0.00%> (+8.33%)
7.00% <0.00%> (+2.00%)

.../java/seedu/address/model/util/SampleDataUtil.java
9.09% <0.00%> (+9.09%)
1.00% <0.00%> (+1.00%)

...ain/java/seedu/address/model/expenditure/Date.java
88.88% <0.00%> (+11.11%)
9.00% <0.00%> (+3.00%)

...rc/main/java/seedu/address/model/history/Node.java
93.18% <0.00%> (+11.36%)
22.00% <0.00%> (+4.00%)

...a/seedu/address/model/expenditure/Expenditure.java
90.90% <0.00%> (+37.06%)
16.00% <0.00%> (+7.00%)

Continue to review full report at Codecov.

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


security scan fail

Hi,
We have run security scan on this lib using our tool and it's getting fails because following threat is found.
Description: This function uses the java.security.MessageDigest.getInstance() function, which uses a hash algorithm that is considered weak. In recent years, researchers have demonstrated ways to breach many uses of previously-thought-safe hash functions such as MD5.
Remediation: Consider using a stronger algorithm in order to prevent attackers from being able to manipulate hash results. If passwords are being stored, consider using an algorithm that is computationally expensive in order to prevent dictionary attacks. Examples of algorithms designed to safeguard passwords are bcrypt and scrypt.
Can you please look into and update me.

We aren't using MD5 for anything security-related. It's just a hash.

Thanks for quick update


Running an EditorScript with a Resource that passes itself to a member variable crashes after saving

Godot version
3.4.2
System information
Windows 10
Issue description
If you run an EditorScript(TestSave.gd) that instantiates an object that extends from Resource(A.gd), and that Resource has a member variable which itself has a member variable that holds the Resource after being passed it, then trying to make changes and saving that Resource script will cause Godot to crash. This is probably something to do with how the reference is being handled and freed, since it works fine if the object extended Node instead.
TestSave.gd:
tool extends EditorScript

func _run():
	var a = A.new()

A.gd:
extends Resource

class_name A

var b

func _init():
	b = B.new()
	b.a = self

class B:
	var a

Steps to reproduce

Run TestSave.gd
Make any change to A.gd, could just be a new line
Save A.gd

Minimal reproduction project
TestSave.zip

Further testing shows that if you increment the reference counter in A.gd with reference() after b.a = self, then this doesn't happen.


Fix modelzoo test yet again due to modelzoo repo directory renaming

Thanks for the fix!

Jenkins Linux s390x Build #13860 [push] Fix modelzoo test yet ag... started at 14:40

Jenkins Linux ppc64le Build #12857 [push] Fix modelzoo test yet ag... started at 14:48

Jenkins Linux amd64 Build #13833 [push] Fix modelzoo test yet ag... started at 13:40

Jenkins Linux amd64 Build #13833 [push] Fix modelzoo test yet ag... passed after 1 hr 5 min

Jenkins Linux s390x Build #13860 [push] Fix modelzoo test yet ag... passed after 1 hr 21 min

Jenkins Linux ppc64le Build #12857 [push] Fix modelzoo test yet ag... passed after 1 hr 54 min


Dev server throws error and is unable to start

This also affects building the project too.
Version
3.0.0-beta.1
Reproduction link
reproducible through cli
Steps to reproduce
Vue CLI v3.0.0-beta.1
? Please pick a preset: Manually select features
? Check the features needed for your project: TS, Router, Vuex, Unit, E2E
? Use class-style component syntax? Yes
? Use Babel alongside TypeScript for auto-detected polyfills? Yes
? Pick a unit testing solution: Jest
? Pick a E2E testing solution: Cypress
? Where do you prefer placing config for Babel, PostCSS, ESLint, etc.? In dedicated config files
? Save this as a preset for future projects? No

What is expected?
Dev server to start
What is actually happening?
[...]/node_modules/regex-not/index.js:62
    throw new Error('potentially unsafe regular expression: '   res);
    ^

Error: potentially unsafe regular expression: ^(?:(?!(?:[\[!* ?$^"'.\\/] )).)
    at Function.toRegex.create (/Users/rh/Sites/vuecli3test/node_modules/regex-not/index.js:62:11)
    at createTextRegex (/Users/rh/Sites/vuecli3test/node_modules/nanomatch/lib/parsers.js:378:22)
    at Object.<anonymous> (/Users/rh/Sites/vuecli3test/node_modules/nanomatch/lib/parsers.js:14:11)
    at Module._compile (module.js:660:30)
    at Object.Module._extensions..js (module.js:671:10)
    at Module.load (module.js:573:32)
    at tryModuleLoad (module.js:513:12)
    at Function.Module._load (module.js:505:3)
    at Module.require (module.js:604:17)
    at require (internal/module.js:11:18)
error Command failed with exit code 1.

This has been fixed:

delete node_modules
reinstall everything and make sure that npm or yarn don't use cached modules

I ran these commands:

rm -rf node_modules
yarn cache clean
yarn
still the same problem when i run yarn serve

This was resolved, it is confirmed to be resolved. Make sure that all copies of regex-not are 1.0.2 (not 1.0.1)

Thank you. The one step I missed was deleting the yarn.lock file before running yarn again. That fixed the issue.

The one step I missed was deleting the yarn.lock file before running yarn again. That fixed the issue.

good suggestion.

Thank you again for the help. Much appreciated.


Instead of Insert Trigger; returning identity from freshly inserted row so that EntityId within saveresponse is filled correctly

Hi all,
because I have to use complex views as the underlying data source for some of my xyzRows.cs, I have to handle the delete, updates and inserts via "MS SQL instead of xxx triggers" (because the view without that does not allow anymore any modifications on the data).
This works fine - except that I have great difficulty to return the identity value of the freshly inserted row/record back into Serenity so that the returned SaveResponse from within xyzRepository.cs within EntityId Field contains the Identity value of the freshly inserted row/record.
Currently, no matther what I try within the instead of insert trigger (like select @id (where @Id represents the correct value of the identity of the just inserted row)) I am not able to send back the identity of the inserted row back to Serenity - EntityId field within SaveResponse always is "undefined".
Possible Workaround:
I know that within MySaveHandler I could try to get the row with the highest Identity value and that would - in most if not any cases of my use case - represent the correct identity for freshly inserted rows - but I rather would like that the "instead of insert trigger" returns the identity of the inserted row so that It can be picked up by Serenity/Dapper like it does when doing the insert into a standard table.
(I am aware of the fact that MS SQL instead of insert triggers can theoretically handle more than one row within one trigger call and that's why there is no automatic @@identity or Scope_Identity - but how to workarround this in the case of Serenity?)
How to achieve this?
Thanks for any help and
With kind regards,
John

Hi John,
I haven't had to override any of my save handlers for create/update/delete in Serenity, but I wonder if you could try a stored procedure with an output variable as the identity?
For the procedure it would be something along the lines of: Returning ID from Stored Proc.
In my previous job (we used a custom built framework) all the inserts/updates/deletes were handled via stored procedures and the insert procedures returned the scope identity in a similar fashion to the link above.
We also created a schema called "Inserts" and all the insert procedures were kept within this schema, for better security/auth control.
I hope I understood your question correctly, and I hope this helps.
Cheers!

For the benefit of all,
here the solution:
Within your instead of insert trigger, do the following to successfully return the identity of the just inserted record:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Trigger [dbo].[ChainsAndSingleRessortsLayouts_VersionVisibilityHandling_inserts] on [dbo].[ChainsAndSingleRessortsLayouts_VersionVisibilityHandling] INSTEAD OF insert
as
if @@rowcount = 0 return;
SET NOCOUNT ON

Declare @tableToUpdate AS Nvarchar(max) = 'dbo.ChainsAndSingleRessortsLayouts';
Declare @InsertStatement AS Nvarchar(max)
Declare @IdentityField as Nvarchar(max) = (SELECT Name FROM sys.columns WHERE [object_id] = OBJECT_ID(@tableToUpdate) and is_identity = 1)

Declare @Fields AS Nvarchar(MAX)
SELECT  @Fields = COALESCE(@Fields + ', ', '') + Name FROM sys.columns WHERE [object_id] = OBJECT_ID(@tableToUpdate) and Name != @IdentityField;

set @InsertStatement = 'DECLARE @ids TABLE(id INT)'
set @InsertStatement = @InsertStatement + 'insert into ' + @tableToUpdate + ' (';
set @InsertStatement = @InsertStatement + @fields;
set @InsertStatement = @InsertStatement + ') select ';
set @InsertStatement = @InsertStatement + @fields;
set @InsertStatement = @InsertStatement + ' FROM #inserted'
set @InsertStatement = @InsertStatement + ' go '

select * into #inserted from inserted
EXECUTE sp_executesql @InsertStatement

select @@IDENTITY

I do here within dynamic SQL get all fields from the table where the data has to be inserted and then fill all fields except the identity field from the inserted table (which by design drop all "non-natural" fields from within the view (where this instead of insert trigger is attached) and then execute it.
After that, I use select @@identity  to return the identity value of the new record back to Serenity.
Hope this helps somebody.
If I have time I will do a ABB (advanced Building Block) in the Wiki about how to successfully use complex views instead of basic tables from within Serenity (with all the workarounds needed for Insert, Update and Delete).
With kind regards,
John


Hiccup between node and java docs

It seems to me like some Java documentation is being shown under the node toggle:
https://github.com/cap-js/docs/blob/0c128b34586da767029807bcb6c47dfacbbdca40/guides/using-services.md?plain=1#L1513

The indication to pascal case is contradictory to the above shown example.

Hi @johanneseschrig ,
Thanks for letting us know! I'll prepare a fix for that.
All the best,
René


Cluster persistence

I'm manually installing on Ubuntu 14.04 based on the instructions in the readme.
I've got everything set up to the point where I can create and push apps, but I'm a little lost with respect to how to boot up all of the flynn services again once I've rebooted my VM.
I can manually start flynn-host, but when I do that, I only end up with etcd and discoverd jobs, and gitreceived, the router, and all of the other services aren't there:
# start flynn-host
flynn-host start/running, process 1917
# flynn-host ps
JOB ID                                            STATE    STARTED         CONTROLLER APP  CONTROLLER TYPE
flynn-discoverd-a775fb62609245abb224dd4fa72263fe  running  24 seconds ago
flynn-etcd-0f46161aba704d24a07bfd065702e436       running  24 seconds ago

Is there a way to get these services to start again after I've rebooted my VM?

:+1:
@titanous On Deis, they uses Ceph to produce a distributed blob storage across the cluster. Maybe using Ceph or the blobstore component this can be addressed?

@geovanisouza92 the blobstore component currently proxies to Postgres, which is fine. The combination of #534 and the new postgres appliance will resolve this completely.

I hope so! :smile:

@titanous Now that #534 is done, is this effectively fixed? (I couldn't find a bug representing the new Postgres appliance you were referring to, but the Flynn Gamma announcement said “completely rewriting the Postgres appliance,” so...)

Almost, we just need a bit more glue, I'm currently working on resolving this.

On Feb 24, 2015, at 12:40, Cody Krieger<EMAIL_ADDRESS>wrote:
@titanous Now that #534 is done, is this effectively fixed? (I couldn't find a bug representing the new Postgres appliance you were referring to, but the Flynn Gamma announcement said “completely rewriting the Postgres appliance,” so...)
—
Reply to this email directly or view it on GitHub.

\o/

Will be shipped in next release?

@geovanisouza92 It already shipped in v20150307.0!

So I have my server that went down. When I look at /var/lib/flynn I see the state of the cluster and the .bolt file contains my jobs names.
When I run start flynn-host. The controller is still unreachable. When I do a flynn-host ps I only see this :
ID                                        STATE    STARTED        CONTROLLER APP  CONTROLLER TYPE
sd74131-b21d0950c5434a75993a3548cc554bcc  running  9 minutes ago
sd74131-3fe52a1b7b6f407a89063a61e784f856  running  9 minutes ago
sd74131-45a01cd6c16c4ad989f4bf90a2aba25a  running  9 minutes ago

What am I missing ? How do you exactly resurrect the jobs ?


Random crash when adding bookmark

Couldn't replicate it.

can no longer replicate. Tested this on v4.3,4.4 and 5.0 of Android and 8.0+ on iOS


Sequence peeking input is being ignored

Given this program
T_EOL : @{
    peek EOF
    peek ' '
}

'Hello' T_EOL _ print("World")

and the input Hello, the call to peek EOF is ignored and afterwards rejected as it doesn't consume any input, even if its valid.
This bug is a play between peek and the Op::ForwardIfConsumed operation which doesn't recognize that input was consumed because peek consumed input but reset it afterwards.
There is a workaround for this problem by defining T_EOL this way:
T_EOL : @{
    peek EOF accept
    peek ' '
}

It can also be reproduced when the two sequence are flipped, so
T_EOL : @{
    peek ' '
    peek EOF
}

Doesn't work either, but
T_EOL : @{
    peek ' '  accept
    peek EOF
}

does. Latter one does also work because the result is not reset, and the parselet accepts next:
.T_EOL@6     000 Frame(0)
.T_EOL@6     001 Fuse(11)
.T_EOL@6     002 Frame(0)
.T_EOL@6     003 Frame(0)
.T_EOL@6     004 CallStatic(6)
.T_EOL@6     005 Reset
.T_EOL@6     006 Close
.T_EOL@6     007 Accept
.T_EOL@6     008 Collect(0, 5)
.T_EOL@6     009 Close
.T_EOL@6     010 ForwardIfConsumed(7)
.T_EOL@6     011 Reset
.T_EOL@6     012 Frame(0)
.T_EOL@6     013 Offset(Offset { offset: 40, row: 3, col: 10 })
.T_EOL@6     014 CallStatic(7)
.T_EOL@6     015 Reset
.T_EOL@6     016 Close
.T_EOL@6    >017 Close
.T_EOL@6    --- Stack ---
.T_EOL@6     000 Empty
.T_EOL@6     001 Range(1..6, None, 0)
.T_EOL@6     002 Empty
.T_EOL@6    --- Frames ---
.T_EOL@6     000 Frame { fuse: None, capture_start: 3, reader_start: Offset { offset: 6, row: 1, col: 12 } }
.T_EOL@6     001 Frame { fuse: Some(12), capture_start: 3, reader_start: Offset { offset: 6, row: 1, col: 12 } }
.T_EOL@6    ip = 17 state = Ok(Next)
.T_EOL@6    returns None

The problem still exists in Tokay v0.6.6, with this updated version
T_EOL : @{
    Peek<EOF>
    Peek<' '>
}

'Hello' T_EOL _ print("World")


move tmp dir

It's annoy to see all untracked files in git status

Coverage remained the same at 51.762% when pulling 2f6725120247e583c63eca4d031eae82697e3a7e on dixu/move-tmp-dir into 29ba2cc7e3e0e9eabc9fa919c2d2fee1a7d76e7b on master.

Coverage remained the same at 51.762% when pulling 2f6725120247e583c63eca4d031eae82697e3a7e on dixu/move-tmp-dir into 29ba2cc7e3e0e9eabc9fa919c2d2fee1a7d76e7b on master.


TypeError: Cannot read property 'asPath' of undefined

Hi,
yarn build fails with this error...
Any ideas how to fix it?
/src/components/Router/index.tsx
`
const withQuery = graphql<
IRouterQueryProps,
IRouterQueryData,
IRouterQueryVariables,
IRouterQueryChildProps

(query, {
options: props => ({
variables: {
path: props.url.asPath,
},
}),
props: ({ ownProps, data }) => ({
...ownProps,
entity: data.route && data.route.entity,
loading: data.loading,
}),
});
`

I had the same. To make it work for the moment i renamed components/router/index.tsx to  components/router/index.jsx to disable the type check.


release: 0.9.0-alpha.2

Prepare 0.9.0-alpha.2 release PRs.
Test integration on many examples before merging and pushing images:

[x] Kubernetes (reana-dev run-example -c DEMO -b kubernetes --submit-only)

Test HTCondor compute backends again:

[x] HTCondor (reana-dev run-example -c DEMO -b htcondorcern --submit-only)

Test three launch examples:

[x] /launch

Shared components:

[x] pytest-reana
[x] reana-db
[x] reana-commons (release: 0.9.0a4, release: 0.9.0a5)

Cluster components:

[x] reana-job-controller https://github.com/reanahub/reana-job-controller/pull/356
[x] reana-message-broker
[x] reana-server https://github.com/reanahub/reana-server/pull/466
[x] reana-ui https://github.com/reanahub/reana-ui/pull/250
[x] reana-workflow-controller https://github.com/reanahub/reana-workflow-controller/pull/435
[x] reana-workflow-engine-cwl https://github.com/reanahub/reana-workflow-engine-cwl/pull/223
[x] reana-workflow-engine-serial https://github.com/reanahub/reana-workflow-engine-serial/pull/162
[x] reana-workflow-engine-snakemake https://github.com/reanahub/reana-workflow-engine-snakemake/pull/38
[x] reana-workflow-engine-yadage https://github.com/reanahub/reana-workflow-engine-yadage/pull/225

Client components:

[x] reana-client https://github.com/reanahub/reana-client/pull/596

Helm chart:

[x] reana https://github.com/reanahub/reana/pull/621
[x] test researcher-oriented helm installation method

Everything released, deployed, and tested.


fix size_t casts for MSVC

under MSVC there are warnings about implicit casts from size_t to int, added explicit static_cast for conversions where I have found these issues.

Hm actually surprised gcc did not find this with warnings enabled :)
Could you apply the change to the latest master version? The cast in weighted_levenshtein_impl.hpp is no longer required, since it uses the implementation from common.hpp now as well.

Here's the patches against the latest master, I tried to find all the ones I could easily spot.

Thanks for the fixes

You're welcome!  Hopefully it was all ok.
I forgot to add you to the list of credits on my app, I'll fix that! (https://www.pingnoo.com)  I'm using this lib in the searching for favourites, I think I can make even more use of the library in the searches, but for the moment I've just used partial_match, I need to read up on how it all works properly so that I can make the most use out of it.


Add import_model feature to sklearn estimators

Add methods import_model and export_model to sklearn estimators.
Implementation Ideas

"Paste" both original and model dictionary domains into one kdic file or
Save only the model into a kdic and try to infer the original schema form the model
Use the sub_tool field to check compatibility (sub_tool == "pyKhiops/sklearn")
Or maybe just add a pickle_to ?

No longer relevant, as it concerned the core -> sklearn path.


All valueFrom fields on steps get lost

Steps to reproduce:

open bcbio pipeline
open code view
search for valueFrom

Fixed by https://github.com/rabix/cwl-ts/pull/50


Cast physics interpolation fraction to real_t

Engine.get_physics_interpolation_fraction() is a function used in custom physics interpolation solutions that returns a double.
In some Godot types that implement a lerp or other interpolation functions, the weight is usually a real_t. This means that in some languages like C# you have to cast the function return from a double to float.
// Single precision build
var d = Engine.GetPhysicsInterpolationFraction();
var f = (float)d;

X = Vector3.Lerp(Y, f); // Works fine since the second argument requires float;
X = Vector3.Lerp(Y, d); // Cannot convert double to float error;

However, if you are distributing a plugin, and some user is working with a precision=double build, they will have to remove the cast, since now the interpolation functions use a double weight.
// Double precision build
var d = Engine.GetPhysicsInterpolationFraction();
var f = (float)d;

X = Vector3.Lerp(Y, f); // Cannot convert float to double error;
X = Vector3.Lerp(Y, d); // Works;

By casting the return value to real_t, it should work without manual casting on most cases.
// Any build precision
var i = Engine.GetPhysicsInterpolationFraction(); // Cast automatically since it uses real_t

X = Vector3.Lerp(Y, i); // Works regardless of version;

If this has any kind of compatibility breaking it should be minimal (doesn't affect GDScript projects at all since it considers only one float type, and existing C# projects won't be affected since casting type x to type x doesn't result in errors.

For now, a solution in C# would be making a RealT.cs file with the following content, then tossing inside the project:
#if GODOT_REALT_T_IS_DOUBLE
global using RealT = System.Double;
#else
global using RealT = System.Single;
#endif

There already is? You can already access real_t in C#, it's named that though, see:
if REAL_T_IS_DOUBLE
global using real_t = System.Double;
#else
global using real_t = System.Single;
#endif

It's in GlobalUsings.cs

You can already access real_t in C#

You can't. The real_t type doesn't seem to be exposed for use in C# projects.

That's strange because it's available and bound, then that if it can be confirmed is a bug


Storage upload hash validation

Fixes #1417.

Now with tests :) Only the second commit has changed.

Nits fixed - now changing the dependency, will then rerun integration tests and snippets, and merge on green.

sgtm :)


Sharing JSON

In ios, after following the set up suggested in the readme, it does not seem possible to process the shared json files. When sharing, the app is correctly found among those available for sharing but the SharedMediaFile array remains empty. This does not happen for other file formats.

+1, haven't been able to make it work as well with PDF files.

@caiorondon in my case pdf works well, at least they are processed and available in the SharedMediaFile array using the last version of the package (1.6.8)

@caiorondon in my case pdf works well, at least they are processed and available in the SharedMediaFile array using the last version of the package (1.6.8)

Yeah, I made it work.


Unclear on Position()'s accounting

Maybe I'm a little unclear on the vocab, but a fresh position shouldn't give massive unrealised pnls, right? Line 91 in position.py is part calculating unrealised_pnl, and it's subtracting a negative cost_basis. Here's a little example that's mostly plagiarized from the test in the same folder.
from qstrader.position.position import Position

position = Position(
            "SLD", "PG", Decimal('100'),
            Decimal("77.69"), Decimal("1.00"),
            Decimal('77.68'), Decimal('77.70')
        )
print(position.cost_basis)
print(position.avg_price)
print(position.total_sld)
print(position.unrealised_pnl) # 15537.00 which is  2*7768.5
print(position.realised_pnl)

Hi trb5me,
Thanks for pointing this out to me - I'll double check what was done here and amend.
Mike.

Mike,
I tried fixing what I could spot, and this was the pull request I submitted.
Taylor


BUG Fix filtersOnId ignoring WHERE "ID" IN ()

Fixes bug in subsites where it would apply subsites filter to queries on ID IN (), which should not be subsite filterable.

I'm happy with this. Will merge once the tests pass.


change the api path on the register and login

Fix the false navigate path

Your work is on frontend folder so I can't do directly. Thanks for your good work.


Implement Webhook package

I'm closing the webhook stuff for now. If it should become important, we can create a new ticket.


Cached Docker images are not always present

Description
After MS is publishing new windows docker images to registry agent cache is not updated for a few weeks accordingly.
So cached layers are missing on agents and it is increasing time of container initialisation 2-3 times.
Area for Triage:
Docker, Container, Image
Question, Bug, or Feature?:
Bug
Virtual environments affected

[x] Windows Server 2019

Expected behavior
Renew of agent docker cache should be synchronised with adding new windows related images to the registry.
Actual behavior
Few weeks after MS is publishing new windows related docker images agent docker cache is wrong, so all image layers except core are redownloaded. This is increasing container initialisation 2-3 times.
Repro steps
Wait for new docker windows images to be pushed to registry ( as example mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 ) and try to use it inside pipeline. Cache will not be used, all layers except one will be redownloaded

Hello, @vgubar
Docker images and cache are updated every week, in rare cases 2-3 times a week. So this is the expected behavior and sometimes the images can be out of date. You can track current release status using the link.
In case of any questions, feel free to contact us.

We are having such issue 4 times during last 6 months. 3 issues were opened for support but they are redirecting us here. It is very critical for our builds, since container initialization time with not valid cache near 25 minutes, instead of 11 max.

Hi, @vgubar!
As @darleev mentioned, this situation happens when the release cycle takes longer than usual. Currently, we tend to deploy new  Windows images, with up-to-date docker images, weekly. The propagation process usually starts on Monday and finishes on Thursday. Unfortunately, there are some cases (which you have faced with) when we have to postpone the update process and the docker layers stale at the images. For now, there is no obvious way to somehow work around this issue for hosted runners, but we're constantly working on lowering the image deployment delay rate to avoid such problems in the future.
A possible solution is to set up a self-hosted runner (https://docs.github.com/en/free-pro-team@latest/actions/hosting-your-own-runners/about-self-hosted-runners) where you can easily define any schedule that will update docker images on that runner within your requirements.
We're going to close the issue, but please feel free to contact us if you have any questions.
Thank you!


Try to convert aten.topk to ttnn.topk

Ticket
#215, #216
Problem description
Try to convert aten.topk to ttnn.topk.
Currently it can't support the cases from the models because models use k = 50 while ttnn.topk only supports k <= 32
What's changed

Add conversion from aten.topk to ttnn.topk
Test cases for the conversion

Added the links to related issues and comments


feat: add makefile filetype detection

There're many makefile file named in other names instead of makefile.
Use filename and pattern matching to set filetype to make.

Great idea!
Could you move these changes into the vim.filetype.add of register_ftdetect?
Thanks a lot!

Ok, I will do it later.

Great idea!
Could you move these changes into the vim.filetype.add of register_ftdetect?
Thanks a lot!

Done!


python310Packages.mistune: 0.8.4 -> 2.0.4

Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Looks like this broke python3Packages.nbconvert:
python3.10-nbconvert> ERROR: Could not find a version that satisfies the requirement mistune<2,>=0.8.1 (from nbconvert) (from versions: none)
python3.10-nbconvert> ERROR: No matching distribution found for mistune<2,>=0.8.1

Did you have any plans for 22.05?

Completely forgot about that :/

It's only a small number of packages that are marked insecure on 22.05, I don't think we need to take action unless issues are opened. We can use mistune_2_0 where possible though.

jupyter is broken on 22.05:
https://discourse.nixos.org/t/jupyter-broken-in-22-05/21108/1


WIP: Support startTransition

may be... it needs to be detach react-router-dom for support useTransition.

시간이 넘 많이 흘러버렸따... CLOSE...


CanvasView.Touch not firing all events on iOS

Description
CanvasView.Touch is only fired on Pressed on iOS
Code
Minimal Reproducible Example - https://github.com/nm4568/SkiaSharpSamples
But, you can also share a short block of code here:
using SkiaSharp;
using SkiaSharp.Views.Maui;
using SKCanvasView = SkiaSharp.Views.Maui.Controls.SKCanvasView;

namespace SkiaSharpSample
{
    public partial class MainPage : ContentPage
    {
        SKBitmap skBitmap;

        public MainPage()
        {
            InitializeComponent();

            skCanvasView.EnableTouchEvents = true;
            skCanvasView.PaintSurface += View_PaintSurface;
            skCanvasView.Touch += SkCanvasView_Touch;
        }

        protected override void OnAppearing()
        {
            base.OnAppearing();

            // Load and render a PNG image using SkiaSharp
            RenderSkiaSharpImage();
        }

        private void RenderSkiaSharpImage()
        {
            // Get the stream of the embedded resource
            var stream = typeof(MainPage).Assembly.GetManifestResourceStream("SkiaSharpSample.Resources.Images.dotnet_bot.png");

            // Create a SKBitmap from the stream
            skBitmap = SKBitmap.Decode(stream);

        }

        private void SkCanvasView_Touch(object? sender, SkiaSharp.Views.Maui.SKTouchEventArgs e)
        {
            switch (e.ActionType)
            {
                case SKTouchAction.Entered:
                    DebugLabel.Text = "Entered";
                    break;
                case SKTouchAction.Pressed:
                    DebugLabel.Text = "Pressed";
                    break;
                case SKTouchAction.Moved:
                    DebugLabel.Text = "Moved";
                    break;
                case SKTouchAction.Released:
                    DebugLabel.Text = "Released";
                    break;
                case SKTouchAction.Cancelled:
                    DebugLabel.Text = "Canceled";
                    break;
                case SKTouchAction.Exited:
                    DebugLabel.Text = "Exited";
                    break;
            }

            // Invalidate the canvas to trigger a redraw
            ((SKCanvasView)sender).InvalidateSurface();
        }

        private void View_PaintSurface(object? sender, SkiaSharp.Views.Maui.SKPaintSurfaceEventArgs e)
        {
            // Get the SKCanvas from the event arguments
            var canvas = e.Surface.Canvas;

            // Clear the canvas
            canvas.Clear(SKColors.White);

            // Draw the SKBitmap onto the canvas
            canvas.DrawBitmap(skBitmap, new SKPoint(0, 0));
        }
    }
}

You can also share some XAML:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:skia="clr-namespace:SkiaSharp.Views.Maui.Controls;assembly=SkiaSharp.Views.Maui.Controls"
             x:Class="SkiaSharpSample.MainPage">
<StackLayout>
        <skia:SKCanvasView x:Name="skCanvasView" PaintSurface="View_PaintSurface" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>
        <Label x:Name="DebugLabel"
               FontSize="20"
               HorizontalOptions="Center"
               VerticalOptions="End" />
    </StackLayout>
</ContentPage>

Expected Behavior
Events with all other ActionTypes should be fired.
Actual Behavior
CanvasView.Touch is only firing one ActionType on iOS - ActionType.Pressed.
Version of SkiaSharp
2.88.3 (Current)
Last Known Good Version of SkiaSharp
Other (Please indicate in the description)
IDE / Editor
Visual Studio (Windows)
Platform / Operating System
iOS
Platform / Operating System Version
iOS 17.2
Devices
iOS Simulator - iPhone 14 Pro Max
Relevant Screenshots
No response
Relevant Log Output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

We have this problem in Mapsui.
I would also be interested to hear about the roadmap of SkiaSharp touch. It seems to me a difficult problem to deal with touch on all the platforms, and there were some changes in the api in the past. Perhaps we should use the touch of the platform itself instead of SkiaSharp. Any advise is welcome.

Heya! Just realized that your test needs to set e.Handled = true; at the end of the OnTouch handler. If you update the sample and it behaves correctly we have to investigate Mapsui again.


Support for symfony/serializer 4.0

Are there any plans to support symfony/serializer 4.0 ?
Is there a way to help with this for me?
As I take a look at https://github.com/symfony/serializer/blob/master/CHANGELOG.md there are only 2 removals in 4.0.* and they aren't used in ElasticsearchDSL.
But I haven't checked the requirements of symfony/serializer itself .

Sorry, duplicate of #243 so can be closed

Added in 6 beta version

I would appreciate any feedback on this new version if you can test with your project.

btw I will add Symfony 4.0 support to the 5.x versions as well ;)