Fix MapInitializable initialiser

Related to discussion https://github.com/GraphQLSwift/GraphQL/issues/37

Hold on. Although Travis says all is ok, the linux build in fact has some test failures.
Test Case 'StarWarsIntrospectionTests.testIntrospectionDroidDescriptionQuery' started at 2018-04-07 07:32:41.839
/home/travis/build/GraphQLSwift/GraphQL/Tests/GraphQLTests/StarWarsTests/StarWarsIntrospectionTests.swift:483: error: StarWarsIntrospectionTests.testIntrospectionDroidDescriptionQuery : XCTAssertEqual failed: ("{"data":{"__type":{"description":null,"name":null}}}") is not equal to ("{"data":{"__type":{"description":"A mechanical creature in the Star Wars universe.","name":"Droid"}}}") -
Test Case 'StarWarsIntrospectionTests.testIntrospectionDroidDescriptionQuery' failed (0.001 seconds)
Test Suite 'StarWarsIntrospectionTests' failed at 2018-04-07 07:32:41.840
Executed 9 tests, with 9 failures (0 unexpected) in 0.019 (0.019) seconds

Ok, the attempt to run the code coverage checks on linux was preventing travis from reporting the failures. I've fixed that so we can see the break now.
Checking back through the travis build logs, this problem was introduced with the swift4.1 merge that introduced the Runtime library. https://github.com/GraphQLSwift/GraphQL/commit/56b4da14eddf301780a958e3a70521af9b57aafa

@jseibert  I have raised https://github.com/wickwirew/Runtime/pull/20 which should fix this

@sportlabsMike is this a go?

Package.resolved is still pointing to Runtime 0.5.0..

@paulofaria I've fixed the Package.resolved so this should be good to go now. Thanks.

@paulofaria if you tag a new release I then have a PR for Graphiti to follow. Thanks.


Use the OpenBSD version of LLVM when cross-compiling for it

When cross compiling an object file from an OS that has a newer version of LLVM install, we need to use the version of LLVM supported on the cross-compile target.

The file changes would apply only in a punctual configuration of environment and do not support the whole statement in the description.
LLVM is unable to emit code for an older LLVM.
When cross compiling both llvm should match or at least the target must be newer.
I don't know about OpenBSD, but binding llvm-3.8 with openbsd can't be right. You can build sources and use other llvm version.
Feel free to ask for support for some issue you might be experiencing. Meanwhile I will close this.

Please specify the LLVM_CONFIG environment variable on the host target to specify which LLVM to use. For example:
LLVM_CONFIG=/opt/llvm3.8/bin/llvm-config \
  bin/crystal build src/compiler/crystal.cr \
  -o crystal -Dwithout_zlib -Dwithout_openssl

I use this a lot to test against different LLVM versions locally.

Hrmm, ok.
This did resolve my cross-compiling issues which were due to linking problems since LLVMCreateTargetDataLayout isn't defined in v 3.8
I'll try specifying LLVM_CONFIG as @ysbaddaden suggests

I don't actually need v3.8 installed for this to work, I just need the compatible methods specified so I can cross-compile an object file that can be used on the OpenBSD side.
I'm building via these instructions: https://gist.github.com/wmoxam/d06f9ccc82e03f6fea64747d82caa421


Compare between 2 or 3 Licenses

In the appendix we have almost all licenses for compare, but it would be good if the user could be able to compare just 2 or 3 licenses chosen by him side by side.
Having the characteristics of just 2 or 3 will make them more easy to compare :)

I can see how this would be useful, but have no clever ideas for a nice UI for selecting licenses to compare. If someone wants to contribute ideas or prototype, perhaps as a dedicated page, would be fun.
I don't have any plan to work on this and will probably close after a week to give some visibility for other comments or someone who wants to take it on.

here's an idea :)

Reasonable idea, but I don't foresee implementing. Maybe someone would be interested in adding the ability to hide/unhide licenses from the appendix table would be one way to get a similar feature without an entirely new UI. Closing, but feel free to comment, or open a new issue, or a PR...


Add a web interactive map of the illegally zoned parcels

Something like this, but for Waltham:
https://www.nytimes.com/interactive/2016/05/18/upshot/which-buildings-in-manhattan-couldnt-be-built-again-today.html

Calling this done - but we don't have a deployment plan yet.


chore[models]: GrantModel

I updated models so that GrantModel can be used inside apps

There is another PR in progress, please wait till the PR#8 is complete.
That makes us sure there are no merge conflicts.
Best regards.

It wasn't necessary, therefore I removed it. Thanks for the tip 👍 🍻


Feat: Unsynced segment positioning

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

This PR adds logic that modifies the rank of a segment that was removed from the rundown in NRCS, but was live in Sofie and is left as unsynced. The implemented logic:
If there were no other stories in NRCS, and only the unsynced one left in Sofie, the unsynced one receives negative rank, and everything that's added later stays below that one.
If there are other stories, the unsynced one glues to the previous one. If new segments are added after the previous one, they will be placed after the unsynced one. If we move the previous somewhere, the unsynced one will glue to the segment that was before the moved. Rare edge case: swaping the segments directly before and after the unsynced one will always lead to placing them both below the unsynced, because we can't say what the real intention was.
This PR also fixes the missing logic for updating the next segment in case the currently next segment was deleted, and in case new segments are added while there is no next segment.

Merging this, will keep an eye on the NRK PR for any suggested changes https://github.com/nrkno/tv-automation-server-core/pull/398


Your demo code on HuggingFace is throwing 502 Gateway error

Please provide instruction son how to evaluate AlphaCLIP MLLM model.

the openxlab resource is limited, the source code is available in demo, you can run it locally.

Hey SunzeY,
Your demo with_llm is throwing the following error. I'm running the code on rocm/pytorch :rocm6.1.2_ubuntu20.04_py3.9_pytorch_release-2.1.2 docker image on AMD GPU
ImportError: cannot import name '_expand_mask' from 'transformers.models.bloom.modeling_bloom' (/opt/conda/envs/py_3.9/lib/python3.9/site-packages/transformers/models/bloom/modeling_bloom.py)

maybe the torchvision version is not matched? You should make sure to be able to run llava original codes first in your environment before testing alpha-clip. any environmental problem can be better solved in LLaVA repo.

Also, earlier I got an error at https://github.com/SunzeY/AlphaCLIP/blob/main/demo/with_llm/llava/model/language_model/llava_llama.py#L139
Llava is already used by transformers model.
Is it expected that I change the registration name on L#139 when I run the demo?

you can change transformers version to 4.36.2, as newer package already include llava in official model. If nothing went wrong after changing the name, it's also fine.

After changing the name I got the below error on transformers 4.42+
ImportError: cannot import name '_expand_mask' from 'transformers.models.bloom.modeling_bloom' (/opt/conda/envs/py_3.9/lib/python3.9/site-packages/transformers/models/bloom/modeling_bloom.py)
Let me try with a different version now. Did you happen to get a chance to run a demo on AMD hardware? Otherwise, I'd be happy to help.

nop


Can istio 1.5.1 run on kubernetes 1.17. X？

Describe the feature request
Describe alternatives you've considered
Additional context
Can istio 1.5.1 run on kubernetes 1.17. X?
Environment version:
Kubernetes 1.17.0 (haproxy as load balancing)
Istio1.5.1
Istio installation is OK:
[root@node0 ~]# kubectl get pods  -n istio-system
NAME                                      READY   STATUS      RESTARTS   AGE
istio-citadel-f5974cc7d-crll7             1/1     Running     0          3d19h
istio-galley-79bf89757d-njv9k             1/1     Running     0          3d19h
istio-ingressgateway-85b98d7b69-f4vt7     2/2     Running     0          3d19h
istio-init-crd-all-1.5.1-t54hw            0/1     Completed   0          3d19h
istio-init-crd-mixer-1.5.1-bhwjh          0/1     Completed   0          3d19h
istio-pilot-5474d4d5d-q6kt9               2/2     Running     0          3d19h
istio-policy-778865cf96-4q52r             2/2     Running     0          3d19h
istio-sidecar-injector-5d97f8cb99-8ddth   1/1     Running     0          3d19h
istio-telemetry-84df7bf466-55ftv          2/2     Running     0          3d19h
prometheus-c8fdbd64f-5j284                1/1     Running     0          3d19h

But there is an error in deploy gateway, virtrualService and DestinationRule, similar to:
Post https://<IP_ADDRESS>:6444/apis/networking.istio.io/v1alpha3/namespaces/istio-system/envoyfilters: read tcp <IP_ADDRESS>:55170-><IP_ADDRESS>:6444: read: connection reset by peer。

where is the error from? kubectl? Seems like connectivity issues to API server possibly but I am not sure why the whole deployment wouldn't fail then

@howardjohn
Error when publishing virtualservice or destinationrule or gateway:
Post https://<IP_ADDRESS>:6444/apis/networking.istio.io/v1alpha3/namespaces/istio-system/envoyfilters: read tcp <IP_ADDRESS>:55170-><IP_ADDRESS>:6444: read: connection reset by peer。
If it's kubernetes 1.16. X, no problem

As a test, can you remove the validation webhook and see if it works that way? kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io istio-galley will likely do this

@howardjohn
Tested:
Istio 1.5.1 needs to be installed on k8s1.17.0 and k8s1.17.2, and the publishing application needs to execute:
"Kubectl delete validatingwebhookconfigurations.admissions registration.k8s.io istio-valley" to publish successfully.
Install istio 1.5.1 on k8s1.17.4, and you do not need to delete “galley” .
Thank you!


Helpful header line (description functions)

It would be helpful to have correct, non-summarised headers in sample.txt, so the user knows exactly what is in each column. This will involve writing the description functions well, and in such a way that handles all the different combinations of options the user might have.

This should be easy to fix :crossed_fingers:

Good, because I tried it but gave up because I was overwhelmed with trying to understand all the different option combinations!

Nice!!!


Implement ArchetypeInvoker.V2Invoker to hook the new archetype v2 to the cli

ArchetypeInvoker.V2Invoker is currently a placeholder, implement it to be able to exercise the new archetype engine with the cli.
It should use the archetype v2 entrypoint to invoke the v2 engine, (see #495)

Add a hidden switch to helidon init that forces the v2 archetype invoker.


Remove deprecated gcnArch

gcnArch was of type int and some of newer arch names are mix of char and int e.g. gfx90a. Therefore gcnArch was deprecated in rocm-3.7 and will be removed in future release.
i don't think anyone would use MIGraphX with rocm-3.7 or older.

closing https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/pull/2053 solves it.


Trying to log on with confirmed working credentials: "Credentials rejected by F1.com"

Hey there, was referred to this app by a fan.
Unfortunately, when I try to log on with my credentials (confirmed working on official F1TV app and website), I'm getting a toast message "Credentials rejected by F1.com".
My password only has alphanumeric characters, so it's unlikely to be caused by some encoding issues when using F1.com's REST api.
I tried looking through your code, but I'm seeing multiple files that deal with authentication, so not sure which file I should look in :)

Are you using the latest Playstore version?
This was a bug on the original code due some missing headers

Yes, I downloaded the app from the play store twice. I'm using it on the new Chromecast w/ GoogleTV

Interesting, I also have a Chromecast with Google TV, this happens because this method bellow on CredentialService, for some reason returns false. Could you print this exception message in this try catch and post it here so we can take a look ?
suspend fun checkAndSave(credentials: F1Credentials): Boolean =
        try {
            Log.d(TAG, credentials.toString())
            val token = f1.authenticate(credentials)
            f1CredentialsRepository.save(credentials)
            f1TokenRepository.save(token)
            true
        } catch (e: Exception) {
            Log.e(TAG, "Credentials rejected", e)
            false
        }

Ehm, can you point me in the right direction on how to do that?

I changed my password (from a 32-character one to a 16-character one), but it didn't have any apparent effect.

Hey @djpbessems I want to solve this issue.
Can you share with me a password that doesn't work ? (of course change not yours), because then I can change my password and check what is going one.
I have a strong indication that is a encoding issue

I'll create a temporary password later today, confirm that that one also does not work, then share it with you.
For what it's worth, my emailaddress has the following format (and could potentially be longer than supported - it wouldn't be the first faulty API I encounter with that issue :P<EMAIL_ADDRESS>

Yeah man this api is crap.

Btw, @djpbessems
Maybe it is better if you try to simulate the api call.
POST: https://api.formula1.com/v2/account/subscriber/authenticate/by-password
Body (json):
{
"Login": "YOUR_LOGIN",
"Password": "YOUR_PASSWORD"
}
and check what is the response?

I tried the following:
(with <key> being the key taken from app/src/main/java/fr/groggy/racecontrol/tv/f1/F1Client.kt and <mailaddress> and <password> obviously my credentials)
Try {
    $InvokeWebRequestSplat = @{
        Uri = 'https://api.formula1.com/v2/account/subscriber/authenticate/by-password'
        Method = 'POST'
        Headers = @{'apiKey'='<key>';'User-Agent'="RaceControl f1viewer"}
        UseBasicParsing = $True
        Body = @{
                Login = '<mailaddress>'
                Password = '<password>'
            } | ConvertTo-Json
    }
    $Response = Invoke-WebRequest @InvokeWebRequestSplat
}
Catch [System.Net.WebException] {
    $StreamReader = [System.IO.StreamReader]::new($_.Exception.Response.GetResponseStream())
    $StreamReader.BaseStream.Position = 0
    $ErrResponse = $StreamReader.ReadToEnd()
    $StreamReader.Close()
}

If ($Response) {$Response | ConvertFrom-Json}
If ($ErrResponse) {$ErrResponse | ConvertFrom-Json}

The result was:
ContextId        : df846a09-54da-41dd-8942-a9b01a951f07
Code             : @{Severity=4; Value=118; DisplayName=InvalidProperty}
ExternalCode     :
PropertyProblems : {@{Name=; Detail=}}
Extensions       :
Type             :
Title            : InvalidProperty
Status           : 422
Detail           : Invalid model state
Instance         :

This is one of the most weird thins I have seen.
It is basically a api error, and I there is nothing I can do on app side, I will google a bit to see if there is a work around or so to do but honestly no ideas

I found this...
https://github.com/SoMuchForSubtlety/f1viewer/issues/60
Apparently there is no real solution :{

It's okay, I'll just have to suffer through more Olav Mol then... ;)


Docker compose shows 404

Docker compose up but i cant access using 8080 port. Console shows me ERROR GET / 404
Any ideas?

That's a very generic error, so it's hard to tell. It would help if you could share full logs.


Implement Streak's newsfeed events

This'll give us historical data we should be able to query to make charts over time.

Closing this issue now that we've deprecated this repo.


Tab寬度隨文字長度變化

修改Tab寬度過短文字溢出問題，特別是中英文切換時，容易遇到這個問題。
解決方法：tab寬度隨文字長度變化

Codecov Report

Merging #3185 into v2 will decrease coverage by 0.03%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##               v2    #3185      +/-   ##
==========================================
- Coverage   19.45%   19.42%   -0.04%
==========================================
  Files         226      226
  Lines        5603     5612       +9
  Branches      710      713       +3
==========================================
  Hits         1090     1090
- Misses       4394     4403       +9
  Partials      119      119

Impacted Files
Coverage Δ

src/components/tab/tab.vue
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


GPII-2960: Fix for couchdb module to execute finish_cluster action after chart install

We are also missing persistent volumes, will create separate PR for that.

couchdiscover, add the nodes to the cluster and also "finishes" the couchdb cluster. Also it rebalances all the data along the nodes when a new node joins to the cluster. It also sets the Erlang cookie needed to the internal communication of the cluster.
https://github.com/amatas/couchdiscover/blob/master/couchdiscover/couch.py#L469-L497
The Couchdb Statefulset Assembler seems to don't do the above. It only "add" the nodes to the cluster, it doesn't finish the cluster and neither rebalance the shards. It seems to me that it doesn't complete the steps to create a cluster. But perhaps this is not needed anymore with the latest version of the CouchDB Docker container.
I'd do the following test:

Create a cluster of at least 3 nodes.
Load data into it, if it's possible while some of the node containers are in the "starting" state and the cluster is not finished. (The dataloader can start sending the data even if the cluster is not finished)
Remove (or kill) random nodes and try to retrieve the same data from the rest of alive nodes.

The scaling down using couchdiscover is not covered. If a node vanishes it won't be used until the next time that comes alive (the data, and the config is stored in the PV), the data will be also propagated and it will become online after that. The cluster reliability won't be affected while all the data is spread along the live nodes.

@amatas @mrtyler Current couchdb Helm chart installs CouchDB 2.1 and uses CouchDB StatefulSet Assembler as sidecar.
I performed a number of tests and found the following:

Immediately after pods become "Running" cluster enters cluster_enabled state. Which means that nodes are already in cluster and only system databases are missing.
If I keep cluster in this state and let gpii-dataloder to do its job, all docs of gpii database would be available from any of 2 nodes of the cluster.
It scales cluster up pretty well, new nodes appear as cluster_nodes in the output of _membership query. It does NOT rebalance shards (so it probably makes sense to have one replica of stateful set per node?).
Scaling cluster down not covered.

So looks like the only differences between couchdiscover solution is that couchdisover rebalances shards after scaling the cluster (though I was not able to find that functionality in their docs).
I could think of moving this fix from Terraform level to Helm level, as a Kubernetes Job. But there is no straightforward way to get statuses of other pods from inside of a pod, to determine if couchdb cluster nodes are ready. Of course we could just run finish_cluster action with curl in a loop until we get a desired result, I may try this to check if it looks better (and again, maybe contribute to upstream chart later?).

@natarajaya it tries to get the index of the node based on the fqdn of the pod. for some reason the fqdn or the name has more than a "-" giving more than 2 values. The only way to figure out why the fqdn is not valid is debugging your manifests and the deployment.

Sergey,
Your fixes for my comments look good, except I can't find the timeout (see my previous comment).
Can you elaborate on what you're proposing here?:

one replica of stateful set per node?

This code LGTM. It sounds like we're still figuring out some questions about sharding and scaling so there is more work to do, but this should be better than what we have today so please merge it if it simplifies your commit management.

@mrtyler Unfortunately, custom timeouts are not supported by null_resource. I implemented timeout logic in sh code, please check my latest commit, I would prefer to merge this one if it looks good.

one replica of stateful set per node?
We currently have n=3 set in our cluster config. This allows us to lose up to 2 StatefulSet Pods, while still keeping data integrity in cluster. However,  I feel like it make sense to assign not more than 1 Pod per Node, to minimize our expenses in case we lose a Node. It is a good topic for another discussion, as well as non-existent couchdb tooling that we will surely need if project reaches production, sharding issues, etc.

Those changes look good. Just waiting for an answer on my last question about timeouts.

@mrtyler Generic timeouts does not work:

* null_resource.couchdb_finish_cluster: 1 error(s) occurred:

* null_resource.couchdb_finish_cluster: [ERR] Error decoding timeout: Timeout Key (create) is not supported```

That sucks.
Anyway, LGTM!  Thanks again for review, I agree we should keep conversation going here even after this is merged.
cc @amatas


Fixing Offline Image Viewer Url

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


Correct type of p(True) method

As I got from the presentation on AIST'2023 Conference, p(True) method is actually a black box method since it doesn't require any knowledge about probabilities distribution or access internal model embeddings.

Hi! First of all, thank you for your interest in our work!
Yep, it might seem that it is a black-box method, but it really is not. To estimate uncertainty using this approach, you need to retrieve probability of the next token being 'True'. This is only possible if you have access to token-level distributions during output generation.


Add support for styled-components syntax highlighting

styled-components is a widely used CSS-in-JS library. It lets users write their CSS in JavaScript as CSS strings. For example:
const Button = styled.button`
  color: blue;
  background: red;
`

This PR adds support for highlighting the styled-components template strings as CSS.
We have been running this exact code on the styled-components website for almost two years and it has worked perfectly.
I have added tests for the feature and am willing to maintain this going forward.
/cc @kitten @probablyup the other core maintainers of the styled-components package

Sorry for the dlay.
Besides the conflicts we now have, this feels like it might be better as a js-extras language, rather than part of JS code, since most users won't need this functionality.
Thoughts?

@mAAdhaTTah if anything, it should be part of JSX since it is React-specific. What would you think about that?
Happy to resolve the conflicts tomorrow if we can agree on moving this to JSX!

@mxstbr jsx-extras? Since this is targeted at a subset of people who use JS(X), I'd prefer people to opt into it.

Moving this to JS-Extras will mean that the createTemplate method which creates the template-string token has to remain in JS. The only line moved to JS-Extras will be:
if (Prism.languages.css) {
    Prism.languages.javascript['template-string'].unshift(createTemplate('css', /\b(?:styled(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))*)*|css|createGlobalStyle|keyframes)/.source));
}

Technically, I also think that this feature should be moved of JS-Extras. All three lines of it...

Also, JS-Extras has its dependencies set up in a way so that it doesn't affect TypeScript.
This feature should also be available for TypeScript, so we would have to either

Change the dependencies and make JS-Extras compatible with TypeScript.
Make a new language/extension similar to JS-Extras exclusively for JS/TS and JSX/TSX for just this feature (all three lines of it).
Just leave it as it is now...

It might seem like overkill, but I think that option 2 is the best one.

Conflicts are resolved.
Regarding offloading the CSS templates:
How about we leave it as it is for now (so as a part of JS) and make a new 'language' (something like JS-Templates) in the future which only handles different languages embedded in template strings?
When adding this new 'language' we can add support for Polymer's html as well.

Ah, just opened a new issue which is a superset of this (#1930 - for handling all languages tagged template literals) and didn't see this while searching for similar issues.
I will mention this in the other issue. This could also be a good starting point for the other languages (and also for other CSS-in-JS libs like styled-jsx).

How about we leave it as it is for now (so as a part of JS)

I would vote to add it as part of the main default JS language, since tagged template strings with different languages are common in places other than React / JSX / other frameworks.

I'll close this now as all of the changes in this were also part of #1931.


Discord not sticking to boundaries

Hello, first of all, thank you for an awesome tool. As an avid Linux bspwm user, yabai really is awesome to use on my Macbook.
I have a small issue with Discord, on a space I have Telegram desktop open, when I open Discord, it seems Yabai properly places and sizes it next to Telegram but almost immediately Discord grows it window making it fall off-screen. It probably is forcing some minimum width here. Is there a Yabai rule or something that I can use to make Discord behave? Can I perhaps set a split ratio for Discord only?
Thanks!

If you are trying to have yabai resize discord below its minimum width, that would be the issue (making this work is likely out of scope for yabai). Hard to say without a screenshot or video showing what is going on.

A reasonable solution to the minimum-size problem was proposed a long time ago: https://github.com/koekeishiya/yabai/issues/235 , but I have not taken the time to actually try and implement it. I suppose if done well, it could improve the experience quite a lot for people that use one or more such applications frequently.
You could probably make some scriptable workaround using a combination of signals, queries and rules, but I don't think it would be as seamless as if yabai just tried to do this internally.

Just leaving this here for future readers of this thread. For Discord specifically, you can remove the minimum width using these steps:
Edit ~/Library/Application Support/discord/settings.json
settings.json should look like this:
{
  "IS_MAXIMIZED": false,
  "IS_MINIMIZED": false,
  "WINDOW_BOUNDS": {
    "x": 500,
    "y": 23,
    "width": 940,
    "height": 977
  }
}

Change it to add MIN_WIDTH and MIN_HEIGHT like so:
{
  "IS_MAXIMIZED": false,
  "IS_MINIMIZED": false,
  "MIN_WIDTH": 0,
  "MIN_HEIGHT": 0,
  "WINDOW_BOUNDS": {
    "x": 500,
    "y": 23,
    "width": 940,
    "height": 977
  }
}

Save the file and restart Discord. You should be able to resize the window even smaller now.
source:
https://www.reddit.com/r/discordapp/comments/acog0e/remove_minimum_size_of_discord_window_windowsmac/


Upon swap completion: both syncers sends msg to swapd, but swapd exited already

[2021-11-24T02:08:13Z ERROR microservices::esb::controller] ESB request processing error: transport-level protocol error: service is offline or not responding
[2021-11-24T02:08:14Z ERROR microservices::esb::controller] ESB request processing error: transport-level protocol error: service is offline or not responding

A new rpc on Syncer to inform syncer client is finished, that does not respond would be more appropriate
Request::SwapSuccess(bool) are sent to Wallet and to Farcasterd, maybe we could reused that

the bool part can be ignored


Close the expanded / collapse row on click/expand of other row.

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, post on Stackoverflow or Gitter

Current behavior

Step1: I have expanded one row --> toggleExpandRow(row)

Step2: I have expanded another row --> toggleExpandRow(row)

Expected behavior

On expand of other row the toggled / open row should close.
Another issue:
There is no scroll on data-overflow in the row detail.
What is the motivation / use case for changing the behavior?

Since already one detail of row is displaying close the opened / toggled row on click of other row toggle.
Please tell us about your environment:

Linux 16.04

Table version: 0.8.x

9.3.0

Angular version: 2.0.x & 4.0.x

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Language: [all | TypeScript X.X | ES6/7 | ES5]

As a work around you can use you can use the rowDetail  collapseAllRows method
 onExpandRow(row) {
    this.datatable.rowDetail.collapseAllRows();
   this.datatable.rowDetail.toggleExpandRow(row);
 }

  onCollapseRow() {
    this.datatable.rowDetail.collapseAllRows();
  }

Thanks it's working for me...! :-)

How to do the same for grouping ( http://swimlane.github.io/ngx-datatable/#row-grouping )?
could you please help on this?
thanks


CTRL + S will fix errors, but not autosave

This is my autosave and codeActionsOnSave setting:
"editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
},
"files.autoSave": "onFocusChange"

onFocusChange it will save the file but it will not fix errors until I press ctrl + s.

Dups https://github.com/microsoft/vscode/issues/123875


Add default for texture format

Some android devices can't work with Bgra TextureFormat - so we can replace it with default() that will return TextureFormat depending on the target os.

Please rebase

Done. Also, I updated TextureFormat into wgpu::TextureFormat and noticed weird WgpuFrom/WgpuInto - why not standard From/Into?

The compiler yells at us when we try to impl From or Into for these types:


AttributeError: 'Session' object has no attribute 'started'

Hi I cant seem to fix this error. It suddenly stopped working, same error on new PC. Here is the full terminal output. Updating my Chrome didnt fix the problem as normal. Here is the specific part maybe thats going wrong:
"ValueError: There is no such driver by url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_118.0.5993"
I think this shows it cant download the right driver so just doesnt start. Any fixes? Thanks
PS C:\Users\Dean\Documents\TinderBotz-1.6> py quickstart.py
C:\Users\Dean\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\chromium\options.py:134: UserWarning: Manipulating w3c setting can have unintended consequences.
warnings.warn(UserWarning("Manipulating w3c setting can have unintended consequences."))
Getting ChromeDriver ...
Traceback (most recent call last):
File "C:\Users\Dean\Documents\TinderBotz-1.6\quickstart.py", line 10, in
session = Session()
^^^^^^^^^
File "C:\Users\Dean\Documents\TinderBotz-1.6\tinderbotz\session.py", line 87, in init
self.browser = webdriver.Chrome(ChromeDriverManager().install(), options=options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Dean\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\chrome.py", line 39, in install
driver_path = self._get_driver_path(self.driver)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Dean\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\manager.py", line 30, in _get_driver_path
file = self._download_manager.download_file(driver.get_driver_download_url())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Dean\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\drivers\chrome.py", line 40, in get_driver_download_url
driver_version_to_download = self.get_driver_version_to_download()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Dean\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\driver.py", line 51, in get_driver_version_to_download
self._driver_to_download_version = self._version if self._version not in (None, "latest") else self.get_latest_release_version()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Dean\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\drivers\chrome.py", line 62, in get_latest_release_version
resp = self._http_client.get(url=latest_release_url)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Dean\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\http.py", line 37, in get
self.validate_response(resp)
File "C:\Users\Dean\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\http.py", line 16, in validate_response
raise ValueError(f"There is no such driver by url {resp.url}")
ValueError: There is no such driver by url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_118.0.5993
/==============\

Tinderbotz

duration: 0

like: 0

dislike: 0

superlike: 0

==============/

Exception ignored in atexit callback: <function Session.init..cleanup at 0x0000017CF43F04A0>
Traceback (most recent call last):
File "C:\Users\Dean\Documents\TinderBotz-1.6\tinderbotz\session.py", line 65, in cleanup
print("Started session: {}".format(self.started))
^^^^^^^^^^^^
AttributeError: 'Session' object has no attribute 'started'
PS C:\Users\Dean\Documents\TinderBotz-1.6>

Hi,
could you try it again? I think there was a chromedrive problem with newest Chrome version. I had the same problem yesterday, and searched for it but it seems to work again.

Hi, could you try it again? I think there was a chromedrive problem with newest Chrome version. I had the same problem yesterday, and searched for it but it seems to work again.

Still not working brother. Do you use a 32bit chrome or something? Not sure why it stopped working, I updated Chrome again and no luck.

Same for me
if headless or options.headless:
^^^^^^^^^^^^^^^^
AttributeError: 'ChromeOptions' object has no attribute 'headless'
/==============\

Tinderbotz

duration: 2

like: 0

dislike: 0

superlike: 0

==============/

Exception ignored in atexit callback: <function Session.init..cleanup at 0x000001DC210204A0>

Solved turn back to selenium==4.8.3

Solved turn back to selenium==4.8.3

How did you change the selenium version?
Also i think its a different error but let me try it please.

Solved turn back to selenium==4.8.3

How did you change the selenium version?
Also i think its a different error but let me try it please.

I found this https://stackoverflow.com/a/77191260
That's a problem due to this change in selenium 4.13.0 that was just released:

* remove deprecated headless methods

I did a
pip uninstall selenium

then
pip install selenium==4.12.0

did the trick for now

suddenly stopped working
error:
Exception ignored in atexit callback: <function Session.init..cleanup at 0x0000027E781804A0>
Traceback (most recent call last):
File "C:\Users*****\Desktop\python\TinderBotz\tinderbotz\session.py", line 69, in cleanup
print("Started session: {}".format(self.started))
^^^^^^^^^^^^

I sometimes got this problem when Chrome had an Update / chromedriver update was late or there was an error in an import (selenium for example).
When I get this error I normally let chrome search for updates and if that doesnt work I wait for a day or two. Then the magic happens and mostly it works again.

I sometimes got this problem when Chrome had an Update / chromedriver update was late or there was an error in an import (selenium for example). When I get this error I normally let chrome search for updates and if that doesnt work I wait for a day or two. Then the magic happens and mostly it works again :)

This used to be the case but it doesnt work anymore for me, I think the author abandoned the project and it needs fixing. Unless its working for some of you still?

Until a few days ago everything was working perfectly

Surely the problem is related to the latest version of chrome

Surely the problem is related to the latest version of chrome
in fact this is the error:
selenium.common.exceptions.WebDriverException: Message: unknown error: unable to connect to chrome at <IP_ADDRESS>:57807
from session not created: This version of ChromeDriver only supports Chrome version 114.
The current version of the browser is 119.0.6045.106
Stacktrace:
Backtrace:

You need to downgrade Chome to version 114 and everything should be back to working order.
Updating selenium will not help at least until undetected-chromedriver is also updated

Did anyone get it to work? I still cant get it to work :S

not work

Chrome: 119.0.6045.124
Selenium: 4.12
undetected-chromedriver: 3.5.3
webdriver-manager:  3.8.6
Pillow: 9.5.0
works like a charm for me

Chrome: 119.0.6045.124 Selenium: 4.12 undetected-chromedriver: 3.5.3 webdriver-manager: 3.8.6 Pillow: 9.5.0
works like a charm for me

How can i check the versions/change versions for all this stuff? (Other than chrome browser)
For example, selenium, UD Chrome driver, webdriver manager, "Pillow" (whatever that is), i want to mirror your versions to see if it fixes it again

3.8.6

after uninstall  Selenium: 4.12 and reinstall it, not work

Chrome: 119.0.6045.124 Selenium: 4.12 undetected-chromedriver: 3.5.3 webdriver-manager: 3.8.6 Pillow: 9.5.0
works like a charm for me

How can i check the versions/change versions for all this stuff? (Other than chrome browser) For example, selenium, UD Chrome driver, webdriver manager, "Pillow" (whatever that is), i want to mirror your versions to see if it fixes it again

The short answer is using pip:
https://packaging.python.org/en/latest/tutorials/installing-packages/
pip unsinstall selenium
pip install selenium==4.12
It seems you are new into python. It may be helpful if you use Pycharm (or another IDE) to create a virtual environment with the requirements.txt of this project and then select the package versions graphically.
Im using Python 3.11 by the way if that helps

Did you guys got the final solution to these error? I am still getting the above errors.


Incorrect documentation on caching?

The docs say:

The caching functionality is enabled if the configuration parameter AllCops: UseCache is true...

But when I set
AllCops:
  UseCache: false
  ...

I see
Warning: unrecognized parameter AllCops:UseCache found in [my .rubocop.yml file]

I was using 0.31. Will reopen if this is replicable on 0.36.


[Bug] Generated XML Cannot be Used (original.xml)

Script will function with source http://example.com/source.xml
Script will not function with output original.xml
Error
2019-10-13T11:54:20.768719 creating new xml epg for 39 m3u items
2019-10-13T11:54:20.902093 epg creation failure: no element found: line 1, column 2684307

line 1, column 2684307 is the end of the document
line 1, column 2684307
<programme start="20191013174500 -0400" stop="20191013193000 -0400" channel="DisneyJr.us" ><title>Bolt</title><desc>Bolt believes he has superpowers due to living his life on the set of an action TV s
As you can see the EPG is cut short and tags are not closed.

The file with the filename original.xml is the unmodified EPG xml file downloaded from the url described by the --epgurl, -e argument.
Are you saying that the xml in this file is not well formed?

Truly apologize about the delay, My xml file is being cut short.
File ending in
<programme start="20191013174500 -0400" stop="20191013193000 -0400" channel="DisneyJr.us" ><title>Bolt</title><desc>Bolt believes he has superpowers due to living his life on the set of an action TV s
When it should be like such
<programme start="20191013174500 -0400" stop="20191013193000 -0400" channel="DisneyJr.us" ><title>Bolt</title><desc>Bolt believes he has superpowers due to living his life on the set of an action TV s<desc>
</programme>
</tv>

I am not sure why my file is being cut short. It's a 120MB file would that have anything to do with it ?

120MB is a reasonably large file so this could be a factor. The content of the XML is also worth consideration because it looks unlikely that your suggested XML element is complete; it's possible that there is something in the XML after action TV s that is causing an issue.
If EPG XML file download was failing in an unrecoverable way, I would expect you would be seeing an error at XML download time but that's not happening. Given what you have reported so far you're seeing an error later when the XML has been downloaded and is being processed.
It's difficult to say more because I'm unable to see the complete XML nor am I able to run any debug tests downloading this file. I suggest you run your own tests downloading this file manually with a GET request in a browser and then compare this manually downloaded file against the file downloaded by the python script. It is possible that the remote server is sending incomplete data effectively truncating the response.
If this is an open EPG XML file that has no username / password protection, add another comment including the URL and I'll run some tests with that here.

I don't know if there's anything else to add here, add more info if you have any / respond to the last comment. This issue will be closed if it remains as-is.


Loading a package from a VCS repository

Laravel Version: 5.4.32
Voyager Version: 1.0.14
PHP Version: 5.6.4

Description:
I need to install the package from the local repository. To do this, the composer proposes to specify a link to the folder with it in the repositories key, but I can not do it because the Voyager has turned it into a different kind:
"repositories": {
    "hooks": {
        "type": "composer",
        "url": "https://larapack.io"
    }
}

Need:
"repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/igorw/monolog"
        }
    ],

How about
"repositories": {
        "monolog": {
            "type": "vcs",
            "url": "https://github.com/igorw/monolog"
        },
        "hooks": {
            "type": "composer",
            "url": "https://larapack.io"
        }
    }

Not a Voyager problem. Read the composer docs and you'll see that @emptynick's suggestion should work fine.


what's the words(WD/CR) mean ?

e.g.http://caniuse.com/#search=CSS3
the screenshot as below shows!

@ Fyrd

sorry, I got that!

Candidate Recommendation:CR
Working Draft:WD


chore: deprecate action in favor of GitHub App token action

Deprecated in favor of github-app-token-action.

close: #200


add metrics for libp2p

What type of PR is this?
/kind design

What this PR does / why we need it:
add libp2p metrics,
Helpful for troubleshooting
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

@wuming333666 Hi, How should I contact you? Are you willing to share your contact information? Such as email or WeChat？

@wuming333666 Hi, How should I contact you? Are you willing to share your contact information? Such as email or WeChat？

my email is<EMAIL_ADDRESS>

/lgtm
/approve


Switch to u221A for the OK character.

This works on Windows with Lucida Console too along with Unix shells.
Before:

After:

I couldn't find any other solution, but if one knows another, please let me know.

@mattstyles: I also have https://github.com/mattstyles/grunt-banner/compare/master...XhmikosR:chalk
Magenta is a bad choice; it doesn't show at all with powershell; the above patch works fine though.
Let me know what you think and I can make a PR after this is merged.

Yeah, I'm certainly happy for chalk to be used, and changing from magenta! All sounds great to me!

 Cheers!

I've just added you as a collab, I'm worried I'll just become a hold up

Thanks! Though I'm not sure I have a lot more patches to submit :)


Should have a way to exclude subroutes with patterns

Currently we can exclude routes of type "/static" but not of type "/static/javascript/build.js"
There should be a way to exclude all sub routes. This can be achieved by changing
https://github.com/eigenbart/rack-jwt/blob/master/lib/rack/jwt/auth.rb#L15
to call a function that can do starts_with?
If that looks OK, I can go ahead and send a PR.

I would love to see this feature too!

This can be closed I think as this functionality was included in the commits you just merged from me and included in the new release.
https://github.com/eigenbart/rack-jwt/commit/79accab1db2a9aeb3b798c49084f324dab7587fd


Change perl6 to raku

A whole lot of these are historical documents. Should we really change the names from Perl 6 to Raku there?

No, we simply shouldn't, unless it's to unbreak a broken link or something like that.

Just reverted the change in historical documents.
The link to Roast test suite in footer  needs change. This commit https://github.com/Raku/raku.org/pull/152/commits/e49011750511c0b517fbb774bd97c8ea2532b9d5 reflects that.

@sumanstats that one is automatically redirected for the duration, I think, since we transferred it...


Investigate disk usage

Our app takes up a lot of space, arguably too much space. v0.24.0+73 is 163 MB. @tiwane reported this disk usage screenshot from v0.22.0+71:

So this is mostly an informational issue, with some optional changes to the app:

[x] Why is the app binary so big? How much is coming from the vision model, and what is eating so much disk aside from the vision model?
[x] What is taking up 900MB  of "Documents & Data"? Audit what we're writing to disk and report on what takes up the most space

Optional
Report this information in the app, starting with the Developer / Debug view. Maybe add a Disk Usage section and report the size of the of the model files, the directories in Documents & Caches and their disk usage. I think this might be useful user-facing info eventually, but for now it would help a lot if we could see it.

Reporting this in the Debug menu, and also made an issue to address space concerns


Add Asia Metropolitan University

this is my university
https://www.amu.edu.my/

@windyyye I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host student.amu.edu.my not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


Ensure multiple concurrent async process are not run

Kill process and subprocess launched in async function.
This issue could cause to have multiple prompt_geometry_setup_async_prompt functions running in parallel if the git_info prompt is slow enough or the user hits enter key in a fast sequence.

[x] Test on BSD/GNU (Mac, FreeBSD, Linux variants)

Does this solve the slow prompt when pressing but not releasing the enter key?

It does so to some extent. Before it could even freeze. Now the delay is less and I haven't seen it freeze.

Great! Nice catch!


WIP on multi-node DB setup

Codecov Report
Patch coverage: 40.17% and project coverage change: +0.08 :tada:

Comparison is base (4960bf0) 55.82% compared to head (f1fc2bb) 55.90%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #405      +/-   ##
==========================================
+ Coverage   55.82%   55.90%   +0.08%
==========================================
  Files          60       60
  Lines        5453     5531      +78
==========================================
+ Hits         3044     3092      +48
- Misses       2409     2439      +30

Impacted Files
Coverage Δ

redisbench_admin/export/export.py
88.49% <ø> (ø)

redisbench_admin/run/redistimeseries.py
80.95% <ø> (ø)

redisbench_admin/run_local/local_db.py
75.86% <0.00%> (ø)

redisbench_admin/run_remote/remote_client.py
26.00% <ø> (ø)

redisbench_admin/run_remote/run_remote.py
23.64% <ø> (ø)

redisbench_admin/run_remote/remote_db.py
14.65% <3.57%> (-2.18%)
:arrow_down:

redisbench_admin/run/cluster.py
40.00% <5.88%> (-3.75%)
:arrow_down:

redisbench_admin/run_remote/standalone.py
50.68% <25.00%> (-2.55%)
:arrow_down:

redisbench_admin/utils/remote.py
67.35% <50.00%> (+2.09%)
:arrow_up:

redisbench_admin/utils/utils.py
54.05% <50.00%> (-0.04%)
:arrow_down:

... and 3 more

... and 1 file with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Add new members to core team.

Hi! Thanks! Looks like wycats and ashleygwilliams are already listed in the config -- can you remove those duplicates?

Not sure how I missed that. Updated; sorry for the runaround!


TypeError in /derivatives/bnb-usdt-perp/

Error in injective-dex
TypeError in /derivatives/bnb-usdt-perp/
Cannot read properties of undefined (reading 'makerPointsMultiplier')
View on Bugsnag
Stacktrace
components/partials/derivatives/trading/trade.vue?3f61:1180 - f.makerExpectedPts
components/partials/derivatives/trading/trade.vue?6cf6:9 - f.<anonymous>

View full stacktrace
Created by Bojan Angjelkoski via Bugsnag

An error linked to this issue has been marked as fixed in Bugsnag
TypeError in /derivatives/bnb-usdt-perp/

Resolved https://github.com/InjectiveLabs/injective-dex/commit/e807614f45dfb099be966c8b980b2e1d77102629


Ensure a reasonable open file descriptor limit

What type of PR is this?
Over the past few weeks we've noticed some of our workloads running on AKS throwing "Too many open files" in the logs, causing some performance degradation. We identified that our linux OS sysctl setting for "fs.file-max" was set to a seemingly low number of 65,536. Note that this was in our "user" node pool. We found however that our "system" node pool, the limit was set to 1,428,951 (more in line with what we would expect).
From what I can tell, the only difference in the pools is the nodeImageVersion property:

System node pool: AKSUbuntu-1804containerd-2022.01.24
User node pool: AKSUbuntu-1804gen2containerd-2022.01.24

I believe that there's some underlying difference in the ubuntu OS on the 2 images, and to be safe we should set a reasonable limit like fs.file-max=1428951.
Note: this will still allow users to override this value via the custom node configuration API
/kind bug
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

thanks! could you run make to regenerate some of the embedded artifacts?

based on the discussion in slack I think we're leaning away from merging this, as it could lower the defaults for larger VM sizes.
still unclear why some VM images from january booted up with wrong defaults. I suspect syslogs/dmesg from a repro would tell us something interesting, but none of us can seem to get a fresh repro. unfortunately probably going to chalk that up as a flake for now

Agreed. Slack thread for future travelers


Use JSON generators for WidgetCustomState

Overview
This PR uses the JSON generators to make the serialization of WidgetCustomState trim/AOT-friendly.
Validation steps performed
Ran the app and verified those code paths were hit and working as expected.
PR checklist

[ ] Closes #xxx
[ ] Tests added/passed
[ ] Documentation updated

@Sergio0694 Thank you, this is great! I didn't know about this. For anyone else who wants to read up, I found this very helpful: https://devblogs.microsoft.com/dotnet/try-the-new-system-text-json-source-generator/


✨ Implement Hypothesis integration

Change Summary
Implement Hypothesis integration for Pydantic v2
Related issue number
Fix #4682
Checklist

[ ] Unit tests for the changes exist
[ ] Tests pass on CI and coverage remains at 100%
[ ] Documentation reflects the changes where applicable
[ ] changes/<pull request or issue id>-<github username>.md file added describing change
(see changes/README.md for details)
[ ] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

Closing this as stale for now. Happy to reopen later if it makes sense!


Fix #1355: do not expose Eigen header includes

Exposing includes of Eigen headers in Caffe2 headers leads to compiler
errors in C++ code using Caffe2 if Eigen is not the BLAS back-end.
The PR is based on PR #1361.

Thanks so much! I never got time to finish that one.

@caffe2bot test this please

@christoph-conrads The build failure looks related to the math.h change, could you take a look?

@caffe2bot test this please

@caffe2bot test this please

@christoph-conrads thanks for the fixes!
Quick update from my side: I am importing and fixing a few downstream build failures that we had in production code that rely on some of these caffe2 headers. Once that passes build I'll merge. Thanks again!

And I'm adding you to the whitelist... ;)
@caffe2bot test this please

@pietern Hi, which whitelist? For the the build bot? It seems to be building Caffe2 whenever I git-push.

I fail to see what went wrong in job #2897.2 because there is no error message, all tests pass, and the installation finishes.

We have used Travis for a while but added Jenkins that runs GPU tests recently. This is every build prefixed with "pr/*" in the list of checks here. The most recent one looks like a false negative, so let me retrigger.

@caffe2bot retest this please

The caffe2-linux-xenial-mkl failure is a core dump in an unrelated test. Compilation is OK.

I am approaching the end of the internal header fixes for dependent projects. Verification runs a bit slow mainly because it hits many parts of our use cases, so quite a few tests are being done. Expect this to merge by today - thanks so much again!

Update - this is now landed in https://github.com/caffe2/caffe2/commit/018e952a160542d35ebfc6b2377f5088ed197cb5 . Thanks so much @christoph-conrads for the fix! I had to manually apply it mainly because it got caught in between our code refactoring across platforms, and quite a few dependent libraries that use caffe2 has to be updated jointly.


chore: Remove en-gb from MS links

Not all microsoft.com links redirect, but these appear to redirect to locales correctly

@nschonni : Thanks for your contribution! The author, @mscurrell, has been notified to review your proposed change.

Andreea Simona Coțofană
ASC
<EMAIL_ADDRESS>


Python IOT-Hub-service-client not working with linux Azure application service

This issue is for a: (mark with an x)
- [X] bug report -> please search issues before submitting
- [ ] feature request
- [X] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Created Azure application service with linux platform
added  python IOT-Hub sample sdk

Any log messages given by the failure

/  _  \ __________ _________   ____
/  /\  ___   /  |  _  __ _/ __ \
/    |    /    /|  |  /|  | /\  /
_|__  /_____ _/ ||    ___  >
/      /                  /
A P P   S E R V I C E   O N   L I N U X
Documentation: http://aka.ms/webapp-linux
Starting OpenBSD Secure Shell server: sshd.
Site's appCommandLine: gunicorn --bind=<IP_ADDRESS> --timeout 600 --chdir app server:app
Launching oryx with: -appPath /home/site/wwwroot -output /opt/startup/startup.sh -virtualEnvName antenv3.6 -defaultApp /opt/defaultsite -bindPort 8000 -userStartupCommand 'gunicorn --bind=<IP_ADDRESS> --timeout 600 --chdir app server:app'
2019-08-26T13:54:38.015906098Z Oryx Version : 0.2.20190518.2, Commit: 5e1ddd1855bcb53ce686e2124ed6e9603cb0587a
Writing output script to '/opt/startup/startup.sh'
Using 'oryx-manifest.toml'.
Checking if virtual environment was compressed...
Using packages from virtual environment 'antenv3.6' located at '/home/site/wwwroot/antenv3.6'.
[2019-08-26 13:54:39 +0000] [33] [INFO] Starting gunicorn 19.9.0
[2019-08-26 13:54:39 +0000] [33] [INFO] Listening at: http://<IP_ADDRESS>:8000 (33)
[2019-08-26 13:54:39 +0000] [33] [INFO] Using worker: sync
[2019-08-26 13:54:39 +0000] [36] [INFO] Booting worker with pid: 36
[2019-08-26 13:54:44 +0000] [36] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
worker.init_process()
File "/usr/local/lib/python3.6/site-packages/gunicorn/workers/base.py", line 129, in init_process
self.load_wsgi()
File "/usr/local/lib/python3.6/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi
self.wsgi = self.app.wsgi()
File "/usr/local/lib/python3.6/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/usr/local/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 52, in load
return self.load_wsgiapp()
File "/usr/local/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
return util.import_app(self.app_uri)
File "/usr/local/lib/python3.6/site-packages/gunicorn/util.py", line 350, in import_app
import(module)
File "/home/site/wwwroot/server.py", line 8, in
from app import app,config
File "/home/site/wwwroot/modules/app/init.py", line 22, in
import iothub_service_client
File "/home/site/wwwroot/antenv3.6/lib/python3.6/site-packages/iothub_service_client/init.py", line 1, in
from .iothub_service_client import *
ImportError: libboost_python-py35.so.1.58.0: cannot open shared object file: No such file or directory
[2019-08-26 13:54:44 +0000] [36] [INFO] Worker exiting (pid: 36)
[2019-08-26 13:54:44 +0000] [33] [INFO] Shutting down: Master
[2019-08-26 13:54:44 +0000] [33] [INFO] Reason: Worker failed to boot.
Expected/desired behavior

Sample application should run with minimum configuration
OS and Version?

Azure Linux Application service (which distribution)

Versions

Python 3.7
Need Support? Every customer with an active Azure subscription has access to [support]

@amoljadhavmobiliya
yeah that's an issue with the v1 of the SDK that we're in the process of deprecating. you can find details about it here: https://github.com/Azure/azure-iot-sdk-python/tree/v1-deprecated#important-installation-notes---dealing-with-importerror-issues
We hope to be able to offer a much better service client experience soon (within the next 2 months). in the meantime you'll have to stick to one of the few supported configurations. the team is hard at work trying to solve this problem but for now we've given priority to the device SDK - the service SDK work starts in September.

With the Python v2 reaching General Availability we are recommending users move away from the v1 SDK.
We will be closing the v1 SDK issues whose features are covered by the v2 release.
Feel free to open an new issue if you find an issue with the v2 SDK.

Thank you for your patronage

@amoljadhavmobiliya, thank you for your contribution to our open-sourced project! Please help us improve by filling out this 2-minute customer satisfaction survey


Make nethack | lolcat work

For this to work, several things had to change.
First, nethack (like most complex terminal applications) relies on ANSI escape sequences, so we can’t simply strip them. Instead, we let ANSI sequences go through unmodified, and only add color to characters that aren’t part of an ANSI sequence. The STRIP_ANSI regex didn’t cover all escape sequences used by NetHack, and so had to be rewritten. This new regex covers all possible escape sequences as specified by ECMA 048.
Second, nethack doesn’t usually send newlines in its output, causing the IO#each method to block forever, waiting for a newline. To work around this, instead of IO#each, we use sysread and then call lines on the resulting buffer. lolcat -h was sending an array to Lol.cat, which no longer works, and so had to be changed to send a StringIO object instead.
Sadly, using sysread causes some regressions: if a read ends in the middle of an escape sequence or UTF-8 character, weird things happen. As a temporary measure, we set a big buffer size (64k), which considerably reduces the frequency at which this problem occurs. A better solution would be to check the buffer for incomplete escape sequences or UTF-8 characters, and read again if there is one.
Third, nethack | lolcat -a requires some special handling. lolcat was using \e[#{str.length}D to restore the cursor’s position after each “frame”, which of course doesn’t work when str contains escape sequences that also affect the cursor’s position. Instead, we use \e7/\e8 to save/restore the cursor’s position, which is much more reliable (as long as the application doesn’t use \e7 itself). Still, escape sequences that delete characters (\e[@, \e[J, \e[K, \e[P, and \e[X) can cause a lot of blinking, so we remove them after the first frame.
Those features aren’t specific to nethack, of course. Other complex terminal applications, such as sl, mplayer, and htop, also work correctly when piped into this branch of lolcat.

This PR is another, more polished take on what #52 was trying to do.

Current release lolcat restores cursor visibility

That’s not quite true. Current release lolcat gobbles the escape sequence that would make the cursor invisible, and so there’s no need to restore it.
I updated the PR to reset as many things as possible on exit: cursor visibility, all graphical attributes, alternate screen buffer, bracketed paste, and stty modes (stty nl, in particular, was causing the terminal to look quite messed up after running sl).

You are right, I phrased that badly.
My point was just that lolcat should not leave
the terminal in a garbled state. Either by
not garbling it up to begin with, or by
cleaning up after itself. :)

The new gem has been released. Thanks for improving lolcat! 🌈


Support for storing tensorflow/keras models

For now, trained models are stored through eggroll table-save API.  It is OK for simple models like LR. But for complex models like CNN, it would be a tedious work to store model into eggroll table via such API.
It might be better to add higher level eggroll API or other storage mechanisms for storing tensorflow models such that we can exploit tensorflow built-in model save/load API.

This will be solved by the model manager which is doing by @zengjice

Hi yankang,
We add a Lightweight Model Management module which support storing LR and SecureBoosting, and will support storage tensorflow models in the next version.


13604 local testing of GitHub actions

Details

Testing framework for running local tests of GitHub Actions workflows to identify issues before pushing them into the repository and testing there
Fixed Issues

$ https://github.com/Expensify/App/issues/13604
$ https://github.com/Expensify/App/issues/13604#issuecomment-1405005943
Tests

Run npm run workflow-test
Verify test run results

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Run npm run workflow-test
Verify test run results

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

I have read the CLA Document and I hereby sign the CLA

@sobitneupane @dangrous One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

Also, have you followed the Setup section in the README? Namely the step where you set the ACT_BINARY environment variable?

So the main error is just receiving empty arrays when workflows should run. It looks like the only passes are for "workflow does not execute" or "does not run the lint" etc. etc., so nothing is ever running. For example:
 ● test workflow deploy › push as user › to production - nothing triggered

    expect(received).toEqual(expected) // deep equality

    Expected: ArrayContaining [{"name": "Main Get merged pull request", "output": "[MOCK] [VALIDATE] Getting merged PR, github_token=***", "status": 0}]
    Received: []

      20 |     for (const expectedStep of steps) {
      21 |         if (didExecute) {
    > 22 |             expect(workflowResult).toEqual(expect.arrayContaining([expectedStep]));
         |                                    ^
      23 |         } else {
      24 |             expect(workflowResult).not.toEqual(expect.arrayContaining([expectedStep]));
      25 |         }

      at Object.toEqual [as assertValidateJobExecuted] (assertions/deployAssertions.js:22:36)
      at Object.assertValidateJobExecuted (deploy.test.js:236:24)

I didn't see the README before, but followed the steps now and still getting the same issue. When I try to run act on its own, it tells me:
ERRO[0000] failed to obtain container engine info: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
[Deploy code to staging or production/validate                        ] 🚀  Start image=ghcr.io/catthehacker/ubuntu:act-latest
[Deploy code to staging or production/validate                        ]   🐳  docker pull image=ghcr.io/catthehacker/ubuntu:act-latest platform= username= forcePull=true
[Build and deploy android, desktop, iOS, and web clients/validateActor] 🚀  Start image=ghcr.io/catthehacker/ubuntu:act-latest
[Build and deploy android, desktop, iOS, and web clients/validateActor]   🐳  docker pull image=ghcr.io/catthehacker/ubuntu:act-latest platform= username= forcePull=true
[Process new code merged to main/isExpensifyEmployee                  ] 🚀  Start image=ghcr.io/catthehacker/ubuntu:act-latest
[Process new code merged to main/isExpensifyEmployee                  ]   🐳  docker pull image=ghcr.io/catthehacker/ubuntu:act-latest platform= username= forcePull=true
Error: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Do we need to do something with docker?

Hm, I didn't have that issue. Let me look into it further and get back to you

Actually no, I have the same problem regardless of directory. This is new, I run the tests successfully yesterday morning. Let me look into it some more

Ok, in the last commit, while fixing a broken test I have unintentionally added the steps key to a workflow file twice which broke the workflow file instead 🤦 Should be better now

Regarding docker - you need to have docker running locally for it to work as it Act's prerequisite, per their docs - https://github.com/nektos/act#necessary-prerequisites-for-running-act

Still struggling with getting this set up. I've installed Docker and have it running, and it's successfully interacting with act. However, still getting all the same failures. Running act gives me a little more visibility on what's happening, but not yet how to fix it.
Primarily, it's showing   ❗  ::error::Input required and not supplied: GITHUB_TOKEN which is weird because I ran it specifically entering the GITHUB_TOKEN (act --container-architecture linux/amd64 -s GITHUB_TOKEN and then entered it as secure input) but it seems like that's not persisting. Also, even so, I'm not sure how to include a token in npm run workflow-test.
Also, I had to add GITHUB_REPOSITORY=dangrous/testing to my env as well (along with ACT_BINARY) to get that far; otherwise I get a lot of unable to get git repo: branch config: invalid merge errors when running act. Do I need to use the actual Expensify/App repo? If so, are there any potential things this would create/delete/mess up/etc. if I point it there?
Sorry for all the questions, just want to make sure this is working before reviewing the code and the prereqs/setup are a bit unclear as of now.

@dangrous I am looking into that.
You don't need to set the GITHUB_REPOSITORY variable, the tests create a local copy of the repository before running, run in the context of that local copy and then destroy it after - specifically so they can't interact with the real repository and mess something up.
Straight up running act executes the workflows (not the tests) in the context of the main repo so it can tell you if something is wrong with your act configuration, but it is not the same as running the tests themselves.
What I did to successfully run the tests on a fresh repo:

had act and docker installed
created a new directory
cloned the repo
checked out the PR branch
npm install
set the ACT_BINARY
npm run workflow-test
works
@mczernek afaik you also managed to run the tests without issue, can you remember if you had to do anything more than is described here or in the README?

AFAIR I've done just the steps you've described and it went well. I'll give it another go on another machine.

Macbook pro with the M1 Max chip.
Although I'm now trying it on another older macbook with an intel chip, so I can report back on that.
@AndrewGable or @sobitneupane were you able to get this working?

Are the errors still like
    Expected: ArrayContaining [{"name": "Main Get merged pull request", "output": "[MOCK] [VALIDATE] Getting merged PR, github_token=***", "status": 0}]
    Received: []

?
If so, have you pulled the most recent commits fixing the broken workflow file?

Getting the same errors as @dangrous on npm run workflow-test

@sobitneupane @dangrous Seems like act fails to connect to docker.
Let's try two things:

edit ~/.docker/config.json by replacing credsStore with credStore
sudo ln -s ~/.docker/run/docker.sock /var/run/docker.sock

Then remove repo dir and rerun tests.

Hm yeah I think you're right about it not connecting - when I run just act in App I see activity in Docker Desktop implying that it's doing, er, something. But, none of that information updates when I run npm run workflow-test.
Unfortunately, that still happens after running the commands you suggested.
And yes, same empty array errors, and have pulled and am up to date.
Just in case it's helpful, here's the most successful run I can get with just act. I know this isn't what we're looking for, but maybe those two errors at the end (or the options I need to give it) could be directional...
App % (13604-local-testing-of-github-actions) act --container-architecture linux/amd64 -s GITHUB_TOKEN="***"
[Build and deploy android, desktop, iOS, and web clients/validateActor] 🚀  Start image=ghcr.io/catthehacker/ubuntu:act-latest
[Deploy code to staging or production/validate                        ] 🚀  Start image=ghcr.io/catthehacker/ubuntu:act-latest
[Process new code merged to main/isExpensifyEmployee                  ] 🚀  Start image=ghcr.io/catthehacker/ubuntu:act-latest
[Build and deploy android, desktop, iOS, and web clients/validateActor]   🐳  docker pull image=ghcr.io/catthehacker/ubuntu:act-latest platform=linux/amd64 username= forcePull=true
[Process new code merged to main/isExpensifyEmployee                  ]   🐳  docker pull image=ghcr.io/catthehacker/ubuntu:act-latest platform=linux/amd64 username= forcePull=true
[Deploy code to staging or production/validate                        ]   🐳  docker pull image=ghcr.io/catthehacker/ubuntu:act-latest platform=linux/amd64 username= forcePull=true
[Process new code merged to main/isExpensifyEmployee                  ]   🐳  docker create image=ghcr.io/catthehacker/ubuntu:act-latest platform=linux/amd64 entrypoint=["tail" "-f" "/dev/null"] cmd=[]
[Deploy code to staging or production/validate                        ]   🐳  docker create image=ghcr.io/catthehacker/ubuntu:act-latest platform=linux/amd64 entrypoint=["tail" "-f" "/dev/null"] cmd=[]
[Process new code merged to main/isExpensifyEmployee                  ]   🐳  docker run image=ghcr.io/catthehacker/ubuntu:act-latest platform=linux/amd64 entrypoint=["tail" "-f" "/dev/null"] cmd=[]
[Deploy code to staging or production/validate                        ]   🐳  docker run image=ghcr.io/catthehacker/ubuntu:act-latest platform=linux/amd64 entrypoint=["tail" "-f" "/dev/null"] cmd=[]
[Build and deploy android, desktop, iOS, and web clients/validateActor]   🐳  docker create image=ghcr.io/catthehacker/ubuntu:act-latest platform=linux/amd64 entrypoint=["tail" "-f" "/dev/null"] cmd=[]
[Build and deploy android, desktop, iOS, and web clients/validateActor]   🐳  docker run image=ghcr.io/catthehacker/ubuntu:act-latest platform=linux/amd64 entrypoint=["tail" "-f" "/dev/null"] cmd=[]
[Deploy code to staging or production/validate                        ]   ☁  git clone 'https://github.com/roryabraham/action-get-merged-pull-request' # ref=7a7a194f6ff8f3eef58c822083695a97314ebec1
[Process new code merged to main/isExpensifyEmployee                  ]   ☁  git clone 'https://github.com/roryabraham/action-get-merged-pull-request' # ref=7a7a194f6ff8f3eef58c822083695a97314ebec1
[Build and deploy android, desktop, iOS, and web clients/validateActor]   ☁  git clone 'https://github.com/tspascoal/get-user-teams-membership' # ref=baf2e6adf4c3b897bd65a7e3184305c165aec872
[Deploy code to staging or production/validate                        ] 🏁  Job succeeded
[Process new code merged to main/isExpensifyEmployee                  ] 🏁  Job succeeded
[Process new code merged to main/isExpensifyEmployee                  ] Unable to interpolate expression 'format('{0}', fromJSON(steps.checkActor.outputs.isTeamMember))': Cannot parse non-string type invalid as JSON
[Build and deploy android, desktop, iOS, and web clients/validateActor] 🏁  Job succeeded
[Build and deploy android, desktop, iOS, and web clients/validateActor] Unable to interpolate expression 'format('{0}', fromJSON(steps.isUserDeployer.outputs.isTeamMember) || github.actor == 'OSBotify')': Cannot parse non-string type invalid as JSON
Error: Unable to determine how to run job:lint step:Run lint workflow

Follow up - would it be worth scheduling a call at some point to screenshare and try to figure this all out? Might be faster than the back and forth on GH. Let me know!

Hi all! Checking in to see if there's any progress on this? I'm happy to keep testing if we've got some new ideas.

I'm working on a different project now, but I will try to reproduce the problem on my side and find a solution whenever I have the time. Will get back if I find anything

@dangrous I've added printing the raw output from act into a file, this should help identify the issue, as act-js parses the output into an array and if there are any errors it just returns [] which is not helpful.
Please run any of the previously failing tests (preferably with either -i or -t flag to save time) and check the contents of the workflow-tests/logs/*.log file(s) generated. If the tests still fail, please paste the contents here so we can have a look and think about the solution

Okay on first run of this - I'm not getting any logfiles generated, but on the bright side the in-console logs have changed. Now instead of an empty array for all the errors I now see:

I also tried running just act again on its own and got more loglines than usual so maybe something has changed (it feels like it might be getting farther in the process than it did before.

I have synced the fork with the main repo and updated the dependencies, which updated act-js to version 2.0.8 and it now requires a full path to the workflow file instead of a path to workflows directory when calling runEvent() - that's why you had Could not locate workflows. I updated the calls, so please try again and let me know what the result is

Okay, this is going much better! Tests all ran this time. Notes:

One test failed:

 FAIL  workflow_tests/preDeploy.test.js (239.925 s)
  ● test workflow preDeploy › push to main - workflow executes

    error: remote origin already exists.

      at Object.action (../node_modules/simple-git/src/lib/plugins/error-detection.plugin.ts:42:29)
      at PluginStore.exec (../node_modules/simple-git/src/lib/plugins/plugin-store.ts:29:29)
      at ../node_modules/simple-git/src/lib/runners/git-executor-chain.ts:127:42
      at GitExecutorChain.handleTaskData (../node_modules/simple-git/src/lib/runners/git-executor-chain.ts:124:14)
      at GitExecutorChain.<anonymous> (../node_modules/simple-git/src/lib/runners/git-executor-chain.ts:100:40)
      at fulfilled (../node_modules/simple-git/dist/cjs/index.js:55:24)
          at runMicrotasks (<anonymous>)

This takes an incredibly long time - 18+ minutes for the full set of tests. Is that expected?
Not a huge deal, but I'm not sure the logfiles are working correctly. They fill up with logs but only the ones from the final test of each suite are saved (the others are deleted when new ones are written)

Now that it's actually running, I can start looking at the actual code itself. A couple questions about that:

Is there a good reference for what we're hoping to have tested, to make sure we're covering all the cases we want, etc.? I didn't notice a list or anything in the issue.
Is there a way you'd recommend going through this, things that are tricky that I should take extra care to review? It's pretty big, so it'll be good to have a plan of attack for the review.

Thanks!

@dangrous Regarding the long run times - it is expected to run that long - even with simple tests with mocked steps which only print stuff act still needs to spin up containers for each step, etc. which takes time.
I'll look into removing the test repo before the tests and see what can be done.
Yes, the log files are overwritten by each test so they only have the logs from the last one run in a suite. I used the built in feature of act-js for that, so changing it to appending instead of overwriting is possible but problematic. What else can be done is to have a separate log files for each test, which will create 124 log files, so it might be good to, for example, have each test suite create a subdirectory in the logs/ directory and have the separate log files in there
The main points which I had in mind when approaching these tests were those:

if the workflow uses a step defined by the js action - no point in testing that step because it can be tested separately
if the workflow uses a step defined by another workflow - no point in testing that step because it can be tested separately
steps performing actions on the repository like posting comments, etc. are hard to test behaviourally, but I guess it can be assumed that built-in GA actions perform as expected and they can be mocked
steps that perform checks, set env variables, outputs, etc. or print stuff can be left as is
the main thing that can be tested here is which steps get executed under which conditions and in which order, plus how are the variables and outputs being set - that's why most of the steps are mocked with predetermined output which is then validated to see if that step had been executed or not
created several utils and helpers which should help with maintaining and expanding the tests further

As for "attack plan", I'd probably suggest to check whether the tests cover the usual scenarios that happen with your workflows, as you probably have a more in-depth knowledge about that than me - I never had a chance to actually interact with them during development, just worked with the workflow files and deduced their function. Also, apart from the tests themselves I guess the most important thing would be to check the utils and helpers

Cool, thank you for the outline! I'll try to finish up a review by early next week. In the meantime, just summarizing what's currently on the table:

I think just one comment from @AndrewGable still needs to be addressed
Updating the repo directory removal
A number of linting/other errors are now showing up in the GH checks (I think this might be partially due to the update of our ESLint config). Also signed commits, it looks like.

I'll keep on trucking through the code but other than that ^ it's looking good so far to me!

I haven't had a chance to go through more of the code, but thought I should check in on those other comments above... Let me know if you have any questions or if we can get that updated, and then go through for final checks!

Hey @dangrous , sorry for the delay, I had to focus on another project and didn't have the time to look into these comments. I will try to action them before EoW

Hi @dangrous , I have added an utils function to rm -rf the mock repo directory before the whole test suite, in case the tests have been terminated prematurely without cleanup.
I have also changed the way the log files are generated, instead of /logs/workflowName.log they are now in /logs/workflowName/testName.log. Because there are now as many log files as there are tests they are grouped by the workflow to not get lost in them.
Lastly, I have rearranged the README file according to @AndrewGable 's comment

Cool! GH tests are still a bit unhappy with that latest version...

What's the latest on this?

I have not had time to take a look recently due to moderation; I can dig in next week.
Looks like we have a couple Travis errors (and conflicts) still, if you have time to look at those in the meantime @radoslawkrzemien that would be great!

That sounds like a good plan; let us know what you find out

@dangrous Sorry for another delay, I was OOO Thu-Tue.
I have added support for mocking entire jobs, reverted the changes to reusable workflows and adjusted the tests to mock them using the new feature. The tests are passing again and the GH Actions validation is passing as well

Okay this is looking good! I'll keep going through the code itself but tests well, and I think (other than the new merge conflicts, we can ignore for now) the only automated issue here is the "Verify signed commits" check - not sure exactly how to fix that one.
Another, broader question as we go through, and this is one I should have asked earlier so I apologize:

What's the use case for these? How will we use them day to day? This will help me understand how to look at them and make sure we're good to go

I guess I need to do some rebasing and sign all the commits.
As for usage:

I've added a command to package.json to trigger the tests with one command, so it can be run whenever there are changes made to the workflows to see if there are any functionalities that were unexpectedly broken. (manual check)
Further, I could see potentially another GH Actions workflow that would run against every PR, check if there are changes in the workflows, and if there are to run that command automatically, blocking the PR from merging if there are workflow changes but tests don't pass (automatic CI check)
I've added a bunch of tools and functions that allow for writing these tests in a similar fashion to regular Jest tests in JS/TS, so the learning curve is low for someone who already writes regular tests, plus features like file logs (since act-js doesn't print much for the user, but logs are verbose), etc.
I've also added another command to package.json that autogenerates the test files stubs based on given GH Actions workflow file, which significantly speeds up writing the tests themselves
Where I would see most use is in checking the branching paths in the workflows and conditions that steer the execution of the workflow, i.e. which jobs and which steps are/aren't executed in given conditions, which env vars and outputs are being set and with which values, etc.
Less so for the concrete functionalities interacting with other services (like GitHub), these need to be either mocked, or provide the credentials to the test environment

Let me know if you have any more questions

Hi @dangrous . Signing 100+ already pushed commits, with 9k merged-in in the meantime from main turned out to be a bit more of a hussle than I had anticipated. I have decided to create a new branch, cherry-pick all the commits authored by me from this branch and sign them in the process. I will create a new PR from that new branch (draft here ) and action all of the comments left here, as well as resolve conflicts

Sounds good! Let us know when it's ready.

@dangrous , I have signed all the cherrypicked commits in the new branch, resolved conflicts with main, fixed the workflow tests that started to fail after changes in workflows done in the meantime and actioned the comments left in the discussion under this PR.
I have opened the new PR - https://github.com/Expensify/App/pull/21937 and I am closing this one.
LMK if something is unclear

Actually, there's one more workflow that has been modified, I'm on it


WFLY-18639 fix flaky test org.wildfly.clustering.marshalling.spi.ExternalizerUtilTestCase#testUnmodifiableCollection

Jira Issue
Problem:

The passing of the test is depending on the order of the returned values of the declaredFields method. The first one which meets the criteria is returned – if more fields which meet the criteria are available, the test might fail because it is non-deterministic in which order the array is returned.
The flaky test was found by using the NonDex tool.
[ERROR] Failures:
[ERROR]   ExternalizerUtilTestCase>AbstractUtilTestCase.testUnmodifiableCollection:447 Marshaller size = 290, Default serialization size = 290

This shows the trace to the bug:

https://github.com/wildfly/wildfly/blob/a1d4c805b8a9d290e83c72825951a22f86202cc3/clustering/marshalling/api/src/test/java/org/wildfly/clustering/marshalling/AbstractUtilTestCase.java#L428-L431
using the factory defined in ExternaliterUtilTestCase depending on the UtilExternalizerProvider.class

https://github.com/wildfly/wildfly/blob/a1d4c805b8a9d290e83c72825951a22f86202cc3/clustering/marshalling/spi/src/test/java/org/wildfly/clustering/marshalling/spi/ExternalizerUtilTestCase.java#L16-L21

and the UNMODIFIABLE_COLLECTION enum in the UtilExternalizerProvider.class is defined in the following way

https://github.com/wildfly/wildfly/blob/a1d4c805b8a9d290e83c72825951a22f86202cc3/clustering/marshalling/spi/src/main/java/org/wildfly/clustering/marshalling/spi/util/UtilExternalizerProvider.java#L104
which calls at creation

https://github.com/wildfly/wildfly/blob/a1d4c805b8a9d290e83c72825951a22f86202cc3/clustering/marshalling/spi/src/main/java/org/wildfly/clustering/marshalling/spi/SynchronizedDecoratorExternalizer.java#L27-L29
and results in the reflect call in the DecoratorExternalizer

https://github.com/wildfly/wildfly/blob/a1d4c805b8a9d290e83c72825951a22f86202cc3/clustering/marshalling/spi/src/main/java/org/wildfly/clustering/marshalling/spi/DecoratorExternalizer.java#L38-L50
and calls

https://github.com/wildfly/wildfly/blob/a1d4c805b8a9d290e83c72825951a22f86202cc3/clustering/marshalling/spi/src/main/java/org/wildfly/clustering/marshalling/spi/DecoratorExternalizer.java#L50-L61
Solution:
Order the array before iterating over it – this returns the elements in the array in a deterministic way.

https://github.com/wildfly/wildfly/blob/dfeac6f0cd9a0a51a2ab508e23136dfa2b61e797/clustering/marshalling/spi/src/main/java/org/wildfly/clustering/marshalling/spi/DecoratorExternalizer.java#L52-L65
Result:

The test is deterministic and not flaky. This improves the quality of the test and reduces the time to search for the bug during future development.
Reproduce:
mvn -pl clustering/marshalling/spi edu.illinois:nondex-maven-plugin:2.1.1:nondex -Dtest=org.wildfly.clustering.marshalling.spi.ExternalizerUtilTestCase#testUnmodifiableCollection -DnondexSeed=974622

Hello, hofi1. I'm waiting for one of the admins to verify this patch with /ok-to-test in a comment.

/ok-to-test

@pferraro My take on this is the test isn't actually failing ever, it's just that in theory it might. Ordering the fields doesn't fix the test it just makes things deterministic.
Since the actual change is to production code the test aspect is actually kind of OT. I figure the test is just how the tool worked its way to the production code. The real point is whether the ordering makes the production code better.

Superseded by https://github.com/wildfly/wildfly/pull/17292

Thanks @hofi1 for pointing this out!


RSDK-2561 Remove unused JPEG Code

This PR removes some final code that dealt with creating the JPEG string that was originally returned by the GetMap call when a JPEG mime_type was given.
JIRA Ticket: https://viam.atlassian.net/browse/RSDK-2561

can we remove this code and similar codes?
https://github.com/viamrobotics/viam-cartographer/blob/main/viam-cartographer/src/io/cairo_jpg.cc

can we remove this code and similar codes?
https://github.com/viamrobotics/viam-cartographer/blob/main/viam-cartographer/src/io/cairo_jpg.cc
additionally remove https://github.com/viamrobotics/viam-cartographer/blob/main/viam-cartographer/src/slam_service/slam_service.h#L41


Reconsider to remove spring.aop.proxyTargetClass from the TraceEnvironmentPostProcessor

Since Spring Boot 2.0 the spring.aop.proxyTargetClass is true by default: https://github.com/spring-projects/spring-boot/issues/8786. Therefore we don't need to specify such a property explicitly.
On the other hand having that unconditional in the TraceEnvironmentPostProcessor code makes it impossible to override via application.properties.
Shouldn't we wrap it into if at least:
if (environment.containsProperty(spring.aop.proxyTargetClass) {
    map.put("spring.aop.proxyTargetClass", "true");
}

?

Already filed in https://github.com/spring-cloud/spring-cloud-sleuth/issues/583 . Will remove #583

I think we should fix the reason why we had to force it. Cause without this some features were broken. Obviously I don't remember those right now but will take a look into it.

Cause without this some features were broken.

Well, I think that is why Spring Boot reconsider that to have true by default.
In the presence that looks like we should reconsider otherwise - fix those who are not compatible wit CGLib. Like we have just done in Spring Integration https://jira.spring.io/browse/INT-4270.
My main point here that we can't override it to false if we use Sleuth.
Of course, for Boot 2.0-based branch there is just enough to remove it altogether.
And yes, would be better from the day first just recommend those guys with Websocket issue to switch on spring.aop.proxyTargetClass in their application.properties instead of doing such an unconditional decision...

Yeah - so the best option would be to remove this line from Sleuth at all and fix Websockets.

Let's forget those Websockets for now!
There might be other cases (TX?) which require CGLib and they even may not know about our spring.aop.proxyTargetClass = true, because it comes with Sleuth as out-of-the-box.
You have an unconditional option there which can't be reset. That must be fixed via condition.
Since this option is there for a while already: https://github.com/spring-cloud/spring-cloud-sleuth/commit/4bd484fb214f65736efd6e8903cfb308e700ec88, we can't just remove it from the maintenance versions. That must be as true by default, but provide an ability for end-user to override it would be great solution.
We can remove it altogether only from the branch based on the Boot 2.0. Because only from there it will be true from the top. But there we can override it already now.
As a flexible fix we might consider conditional auto-config similar to the EnableTransactionManagementConfiguration. This way we remove that explicit option from the TraceEnvironmentPostProcessor and will rely on the overriding via application properties.


draw rds file not on zenodo

The file file.treatment.cascade.prop.participants.samples below is currently not available on zenodo, although they should have been obtained on get_treatment_cascade_participants.R.
This is weird because the other file obtained in the script is available.
@ShozenD or @melodiemonod: is it possible that this was not pushed?
(sorry if I tag both but not sure who is the knowledgeable one here)
c(
    file.treatment.cascade.prop.participants.samples,
    file.treatment.cascade.prop.participants
) |> file.exists()
# [1] FALSE  TRUE

this is on me. Just added it. Sorry for any inconvenience


farmyard=kraal/motebo???

what are this keys?
farmyard=kraal and farmyard=motebo is not a tagging what have any proposal or site with a description in the Wiki.
This is not an English word and therefore not OSM Standard.
I'm not able to translate these keys in a other language
Why is iD using this nonsense keys?

farmyard=motebo seems to have come from http://wiki.openstreetmap.org/wiki/WikiProject_Lesotho#Special_Lesotho_Content - e.g. http://www.openstreetmap.org/way/436120587

Thanks for the report @hakuchi, iD does not have presets for these things.  If these tags were added by an iD user, then that user was using the raw tag editor, which allows them to type anything that they want to.

@bhousel if I tip in farmyard, iD give me in the scroll down menu the option to select Kraal/motebo/and other.

@hakuchi, yes - these values are just the most popular ones that we get from taginfo.
http://taginfo.openstreetmap.org/keys/farmyard#values
It's not a very established tag.

value
count

yes
66

stables
17

dunghill
12

motebo
12

livery
5

poultry
2

kraal
2

equestrian
1

abandoned
1

corn
1

disused
1

horse_farm
1

mill
1

pisiculture
1

Oh...ok...so this is not a error inside the code from iD.
Sry