AWS Cloud Provider

I wanted to be able to dynamically provision ebs volumes and create elb v1 from kubernetes service with type=LoadBalancer.

Tag resources with cluster name,
Ability to select CoreOS version,
Set FQDN of CoreOS instance,
Created IAM role and policy required for controller nodes.

Testing

I have deployed a cluster in AWS. Created a storageClass. Created statefulset with persistentVolumeClaims. EBS volumes created with success in AWS.

I have created the following service with kubectl apply

kind: Service
apiVersion: v1
metadata:
  name: nginx-ingress-controller
  namespace: ingress-nginx
  labels:
    app: ingress-nginx
  annotations:
    # Enable PROXY protocol
    service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: '*'
    # Increase the ELB idle timeout to avoid issues with WebSockets or Server-Sent Events.
    service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: '3600'
    # enable cross-zone load balancing
    service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: 'true'
spec:
  type: LoadBalancer
  externalTrafficPolicy: Local
  healthCheckNodePort: 30000
  selector:
    app: ingress-nginx
  ports:
  - name: http
    # protocol: TCP
    port: 80
    targetPort: http
  - name: https
    protocol: TCP
    port: 443
    targetPort: https
  - name: healthz
    protocol: TCP
    port: 30000
    targetPort: 10254

TCP ELB created with success in AWS. Deploying nginx-ingress-controller and creating an ingress works as well.

I left cloud-provider features out mainly due to the security ramifications. Yes, I'm aware commercial distros just ship it anyway, but its a rather unhappy tradeoff. I also wish the features weren't so all-or-nothing and could be isolated. EBS volume mounting is compelling, service type=LoadBalancer is a bit of an anti-pattern in my mind, Typhoon comes with appropriate Ingress infrastructure in place (and you don't pay your cloud provider $$$ for every app). Anyway, that's my ramble.
In practical terms, I'd like to get NetworkPolicy mature and enabled by default before this is considered.
Also:

Can you explain the tags? I'm aware they're a "requirement" for --cloud-provider=aws, but I've yet to see a justification.
Similar, for hostname setting requirement
Please don't add a new variable for setting the Container Linux image version. Picking the stable, beta, or alpha channel should be sufficient and keeps things simple (also prevents self-foot injuries).

@dghubble without the --cloud-provider=aws, you cannot dynamically provision volumes which is a HUGE problem for the most of us. bootkube relies on the "KubernetesCluster" tag to find resources in aws, especially nodes in autoscaling groups.

@dghubble without the --cloud-provider=aws, you cannot dynamically provision volumes which is a HUGE problem for the most of us. bootkube relies on the "KubernetesCluster" tag to find resources in aws, especially nodes in autoscaling groups.

Thanks for taking your time and look over my PR.

I also wish the features weren't so all-or-nothing and could be isolated.

I would like that too. As I see it now one way to achieve it would be with multiple aws_iam_role_policy and a flag to activate for example ebs volumes, elb, etc.

EBS volume mounting is compelling, service type=LoadBalancer is a bit of an anti-pattern in my mind, Typhoon comes with appropriate Ingress infrastructure in place (and you don't pay your cloud provider $$$ for every app). Anyway, that's my ramble.

I think it's great Typhoon comes with appropriate Ingress infrastructure in place. It helped me understand way faster how thing work. And the fact you have it up and running in no time it's amazing.
I also agree about service type=LoadBalancer being an anti-pattern. Having aws cloud provider enabled just opens the way to multiple patterns. As an example, the way I use it now is to deploy an ELB with TLS termination (cert from AWS) that points to nginx deployment.
Also using nginx-ingress-controller exposed behind a Service type=LoadBalancer in AWS makes it possible to use external-dns with Route53 for automatically create DNS records when creating ingresses.

In practical terms, I'd like to get Network Policies mature and included by default before this is considered. Cloud metadata needs to be locked down.

Very good point. This totally escaped me. ATM I use kube2iam and containers can access metadata based on their IAM role.

Can you explain the tags? I'm aware they're a "requirement" for --cloud-provider=aws, but I've yet to see a justification.

Without KubernetesCluster or kubernetes.io/cluster/<cluster_name>: owned the nodes where registering to the master and get deleted soon after because they we're not part of any cluster.
I inspired from kubernetes/kubernetes the aws cloud provider aws.go and tags.go files.
Looking again today, I noticed another useful tag I think it should be added.
// awsTagNameMasterRoles is a set of well-known AWS tag names that indicate the instance is a master // The major consequence is that it is then not considered for AWS zone discovery for dynamic volume creation. var awsTagNameMasterRoles = sets.NewString("kubernetes.io/role/master", "k8s.io/role/master")
Without the following the ELB was getting created in the first subnet only.
// TagNameSubnetPublicELB is the tag name used on a subnet to designate that // it should be used for internet ELBs const TagNameSubnetPublicELB = "kubernetes.io/role/elb"

Similar, for hostname setting requirement

The ec2 core os instances have only the short hostname without the .compute.internal domain by default. After setting --cloud-provider=aws the nodes were getting registered to the cluster and unregistered in a matter of seconds because they couldn't be found in the cloud. I guess the fqdn is the name of the node as returned and used by the kubernetes aws cloud provider. After I did this nodes register successfully to the cluster.

Please don't add a new variable for setting the Container Linux image version. Picking the stable, beta, or alpha channel should be sufficient and keeps things simple (also prevents self-foot injuries)

I understand. I have a question though. If there is no version set, any time CoreOS does an update on stable/alpha/beta and releases the AMI the cluster would have to be recreated? In fact, the controller instance(s) and node asg.

To @valentinbud 's comment from the 18th, external-dns can also function on Ingresses, but not every service is HTTP, and until Ingresses can expose raw TCP Services, Service with type=LoadBalancer is the only way to make this work with things that aren't http.
Agree that ec2 metadata should be locked down. Can we do that at the OS level, or is it better/preferred to use an egress NetworkPolicy? If we go the NetworkPolicy route, I wonder if that isn't better left to the cluster operator? Maybe create a policy for kube-system and leave the rest to the operator?
Either way, +1 for this PR minus the os_version variable. This change would let me easily switch off of kops.

Service with type=LoadBalancer is the only way to make this work with things that aren't http

The Nginx Ingress controller supports TCP and UDP services if you provide a ConfigMap to the controller. I'm a user of the feature myself. The manifests shown in addons/ingress show how to deploy Ingress without needing to use service type=LoadBalancer anywhere.

The only reason I have added os_version was because if I hadn't whenever the CoreOS AMI got updated running terraform apply recreated the cluster from scratch. I just wanted to have a stable cluster for a medium period of time while running terraform apply pretty often.

Thanks for the PR, but I'm not intending to add this.


training loss in stage-1

In the first stage of training, the final loss was around 2. Is this normal?

In the first stage of training, the final loss was around 2. Is this normal?

Hi, I’m currently trying to reproduce the results from the LlamaVid paper, but I’m having some difficulty because I don’t have access to the WebVid dataset. Would you be able to guide me on how to download or access the WebVid dataset? I’d really appreciate any help you could offer. Thank you so much in advance!


⚠ SceneTime has degraded performance

In f9385a8, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 2792 ms

Resolved: SceneTime performance has improved in 66267c0 after 8 minutes.


revert Error() api change

In commit 0758a840 Error changed from
Error(format string, args ...interface{})
to
Error(args ...interface{})
So now all of Error calls in my projects print the literal formats.  I am seeing stuff like:
err := fmt.Errorf("Error Message")
log.Error("Thing failed: %s", err)

now prints the format literally like:
Thing failed: %sError Message

I would say that the Error api should be no different than the other log level statements Critical, Warning, Notice, Info, Debug.
So I kindly ask you to revert the Error api change made in 0758a840.
Thanks!
-Cory

I was maybe a bit trigger happy and looked at the methods above and noticed that the change looked fine. But looking at the methods below, you're right. This is just so inconsistent.

Nice, thanks!
-Cory

@coryb Sorry but I changed it again if you've seen my recent changes in master. Please use the Infof function if you want explicit formatting. Thanks for reporting!

Sigh, okay.  I see you just created a v1 tag, so I am going to switch to using
import "gopkg.in/op/go-logging.v1"
Hopefully you can keep the version tags moving to help us be isolated from api changes of the sort.
Thanks
-Cory


go messenger dispatcher should print sender in case of an error when receiving

Without the sender a BAD_MAC is not very helpful when debugging an issue:
2019-01-20 11:39:41.031186+0000 [WARN] error id=9a95f09f goroutine=dispatcher_bck err=
>  transport error op="RecvFrom"
>      Class=PATH(3) Type=BAD_MAC(1) TotalLen=96B Checksum=d3fb Timestamp=2019-01-20 11:39:41.026785 +0000 UTC

We should print the sender in go/lib/infra/disp/disp.go:recvNext. We should also check the file if there are more log entries that would profit from additional log information.

The go messenger dispatcher (go/lib/infra/disp) will be deprecated by https://github.com/scionproto/scion/issues/3551, so this is no longer needed.


Allow users to mock functions returning storage::*Metadata values.

For "good reasons" the storage::*Metadata classes do not have constructors or accessors that can set every field. Many of these classes have fields that are read-only, that is, setting the fields in a Update or Patch request is always an error.
The only way to initialize these values is through the functions to convert a string in the JSON object format into storage::*Metadata object. But these functions live in the internal:: namespace, and applications should not be calling functions in the internal:: namespace, not even for mocks.
Maybe we can create functions in a storage_mocks namespace, which at least would make it obvious that they are (a) not for general use, and (b) part of our public APIs that we intend to support.

To be fixed as part of https://github.com/googleapis/google-cloud-cpp/issues/7142


None of them work

So I tested all of them except for the amongus one, and none of them work. Apparently, the money hack was supposed to work, but sadly it doesn't. So pls fixes?

Money hack works. It’s for the next game you do.

does the answer hack not work anymore?


The rounding description for float remainder is incorrect

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/expressions#remainder-operator
The article mentions that N is "the largest possible integer that is less than or equal to X / y" (Floor)
However the actual rounding applied during the calculation seems to be rounding to 0 and NOT towards -Infinity

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

ID: e783650c-e063-e268-316e-564362cb1e37
Version Independent ID: aa9f4996-cab4-0bed-6452-213342453785
Content: Expressions - C# language specification
Content Source: spec/expressions.md
Product: dotnet-csharp
Technology: csharp-spec
GitHub Login: @dotnet-bot
Microsoft Alias: wiwagn

x and y are positive finite values. z is the result of x % y and is computed as x - n * y, where n is the largest possible integer that is less than or equal to x / y.
The previous is the paragraph you're speaking about, where x and y are floats. and it seems correct to me.
Let's take an example where x = 5.3 and y = 7.9
x / y = 0.67 (approx.)
n is the largest possible int less than or equal to x / y, so n is zero.
then x % y is computed as x - n * y, and that is equals to x (5.3) because n is zero.
Evaluating 5.3 % 7.9 on C# compiler results in 5.3
Another example where x = 16.3 and y = 2.8.
x / y = 5.82 (approx.)
n is 5
x % y = x - n * y = 16.3 - 5 * 2.8 = 2.3
And that is what I see when I evaluate on a C# compiler.
I maybe missing something, Can you give an example where you don't get the expected result ?

This works fine with positive numbers, it breaks with negative numbers however
Example:
-10.4 % 2 == -0.4
n = Floor(-10.4 / 2)
n = Floor(-5.2)
n = -6
-10.4 - (-6 * 2)
-10.4 + 12
1.6

@KoziLord

This works fine with positive numbers...

The linked spec states that as well (emphasis mine):

In the table, x and y are positive finite values. z is the result of x % y and is computed as x - n * y, where n is the largest possible integer that is less than or equal to x / y.

Right, however there isn't any specification about how negative values behave, I think changing it from

In the table, x and y are positive finite values. z is the result of x % y and is computed as x - n * y, where n is the largest possible integer that is less than or equal to x / y.

to something like:

In the table, x and y are finite values. z is the result of x % y and is computed as x - n * y, where n is a truncated integer of x / y.

The table after the paragraph shows how negative and non-finite values are treated.

As @pkulikov and others have mentioned, the description is correct.
I'll close this as the docs are accurate.


Too much disk space (>14GB) is required during the compilation of the GraphScope Store

Currently, it has far exceeded the disk space (14GB) of the GitHub runner.
Build command:
cd GraphScope && make graphscope-store-image

Will take care of that later.

Remember to address the hotfix in #1682


chore: V2 update from main

Issue #, if available:
Update v2 from main

Checklist

[ ] Meet tenets criteria
[ ] Update tests
[ ] Update docs
[ ] PR title follows conventional commit semantics

Breaking change checklist

RFC issue #:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

:exclamation: No coverage uploaded for pull request base (v2@23261c7). Click here to learn what that means.
Patch has no changes to coverable lines.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@          Coverage Diff          @@
##             v2    #1365   +/-   ##
=====================================
  Coverage      ?   77.25%
  Complexity    ?      559
=====================================
  Files         ?       68
  Lines         ?     2194
  Branches      ?      235
=====================================
  Hits          ?     1695
  Misses        ?      427
  Partials      ?       72

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


SSL not applying everywhere.

Did you check the FAQ & Troubleshooting section for answers to common questions and issues?

Yes/No
Yes

Describe the issue

What happened? Post any relevant log snippets.

Running curl -h on pages in my instance shows that http is being used for most links and not https. This seems to be causing issues in quite a few areas. Comments from my instance aren’t syncing to others and /c/ urls fail. What mistake would I have had to of made for SSL to not be applied universally?

If you hadn't deleted the part of the template asking for your debug output, I might be able to check :p

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    {
      "lemmy": "https://join-lemmy.org/ns#",
      "litepub": "http://litepub.social/ns#",
      "pt": "https://joinpeertube.org/ns#",
      "sc": "http://schema.org/",
      "ChatMessage": "litepub:ChatMessage",
      "commentsEnabled": "pt:commentsEnabled",
      "sensitive": "as:sensitive",
      "matrixUserId": "lemmy:matrixUserId",
      "postingRestrictedToMods": "lemmy:postingRestrictedToMods",
      "removeData": "lemmy:removeData",
      "stickied": "lemmy:stickied",
      "moderators": {
        "@type": "@id",
        "@id": "lemmy:moderators"
      },
      "expires": "as:endTime",
      "distinguished": "lemmy:distinguished",
      "language": "sc:inLanguage",
      "identifier": "sc:identifier"
    }
  ],
  "type": "Page",
  "id": "https://lemmyf.uk/post/4103",
  "attributedTo": "http://lemmyf.uk/u/willya",
  "to": [
    "http://lemmyf.uk/c/announcements",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "name": "Testing",
  "cc": [],
  "content": "
1 2 3
\n",
  "mediaType": "text/html",
  "source": {
    "content": "1 2 3",
    "mediaType": "text/markdown"
  },
  "attachment": [],
  "commentsEnabled": true,
  "sensitive": false,
  "published": "2023-07-11T06:09:12.270911+00:00",
  "language": {
    "identifier": "en",
    "name": "English"
  },
  "audience": "http://lemmyf.uk/c/announcements"
}root@COV0177:~/Lemmy-Easy-Deploy# ```
I edited the Caddyfile.template and it seems to have updated the live one, for whatever reason though url's are still coming back with http:// formatted ones on this command.

It's not possible for you to have an http:// prefix in the Caddyfile unless you set that variable to true or 1:
https://github.com/ubergeek77/Lemmy-Easy-Deploy/blob/main/deploy.sh#L1556,L1557
Can you try redeploying?
Also,

I edited the Caddyfile.template and it seems to have updated the live one, for whatever reason though url's are still coming back with http:// formatted ones on this command.

Please do not edit the Caddyfile.template directly. If you need custom modifications, you can useAdvanced Configuration, although I cannot provide help for issues related to this.

I initially had LEMMY_TLS_ENABLED="false" and set that to true and redeployed. I haven't messed with the CADDY_DISABLE_TLS

That will make the links returned in activities http as you are experiencing. On my instance, they return https as expected.
For both issues, I think you may not actually be redeploying even if you think you are. In your debug output, I can see your containers have been up for 45 minutes at the time of the post. When you redeploy, they should be re-created.

'''
root@COV0177:~/Lemmy-Easy-Deploy# ./deploy.sh -f
WARNING: Force deploying; this will regenerate configs and deploy again even if there were no updates
Passwords will NOT be re-generated
========================================
Lemmy-Easy-Deploy by ubergeek77 (v1.2.7)
Detected runtime: docker (Docker version 24.0.4, build 3713ee1)
Detected compose: docker compose (Docker Compose version v2.19.1)
Runtime state: OK
Current Backend Version: 0.18.1
Latest Backend Version: 0.18.1
Current Frontend Version: 0.18.2
Latest Frontend Version: 0.18.2
Re-deploy these versions? [Y/n] y
Finding the best available Backend image, please wait...
--> Using Backend Image: ghcr.io/ubergeek77/lemmy:0.18.1
Finding the best available Frontend image, please wait...
--> Using Frontend Image: ghcr.io/ubergeek77/lemmy-ui:0.18.2
[+] Pulling 5/5
✔ proxy Skipped - No image to be pulled                                                 0.0s
✔ postgres Pulled                                                                       0.9s
✔ lemmy Pulled                                                                          0.7s
✔ lemmy-ui Pulled                                                                       0.7s
✔ pictrs Pulled                                                                         0.9s
[+] Building 0.7s (9/9) FINISHED
=> [proxy internal] load build definition from Dockerfile                               0.0s
=> => transferring dockerfile: 202B                                                     0.0s
=> [proxy internal] load .dockerignore                                                  0.0s
=> => transferring context: 2B                                                          0.0s
=> [proxy internal] load metadata for docker.io/library/caddy:latest                    0.0s
=> [proxy internal] load metadata for docker.io/library/caddy:builder                   0.6s
=> [proxy stage-1 1/2] FROM docker.io/library/caddy:latest                              0.0s
=> [proxy builder 1/2] FROM docker.io/library/caddy:builder@sha256:847d8eca25e08fb9b0c  0.0s
=> CACHED [proxy builder 2/2] RUN xcaddy build     --with github.com/caddy-dns/cloudfl  0.0s
=> CACHED [proxy stage-1 2/2] COPY --from=builder /usr/bin/caddy /usr/bin/caddy         0.0s
=> [proxy] exporting to image                                                           0.0s
=> => exporting layers                                                                  0.0s
=> => writing image sha256:018b011c68e5d47a0b44dce8ea5825c9b14f147cb1ea9152bd2c9b4fb6d  0.0s
=> => naming to docker.io/library/lemmy-easy-deploy-proxy                               0.0s
[+] Running 6/6
✔ Container lemmy-easy-deploy-proxy-1     Remo...                                       1.4s
✔ Container lemmy-easy-deploy-lemmy-ui-1  R...                                         10.3s
✔ Container lemmy-easy-deploy-lemmy-1     Remo...                                       0.5s
✔ Container lemmy-easy-deploy-postgres-1  R...                                          0.3s
✔ Container lemmy-easy-deploy-pictrs-1    Rem...                                        0.5s
✔ Network lemmy-easy-deploy_default       Remove...                                     0.1s
[+] Running 6/6
✔ Network lemmy-easy-deploy_default       Create...                                     0.0s
✔ Container lemmy-easy-deploy-postgres-1  S...                                          0.5s
✔ Container lemmy-easy-deploy-pictrs-1    Sta...                                        0.5s
✔ Container lemmy-easy-deploy-lemmy-1     Star...                                       0.8s
✔ Container lemmy-easy-deploy-lemmy-ui-1  S...                                          1.0s
✔ Container lemmy-easy-deploy-proxy-1     Star...                                       1.3s
Checking deployment status...
Checking proxy... OK!
Checking lemmy... OK!
Checking lemmy-ui... OK!
Checking pictrs... OK!
Checking postgres... OK!
Deploy complete!
BE: 0.18.1
FE: 0.18.2

NOTE: Please do not run from the ./live folder directly, or you may cause issues!
To shut down your deployment, run:
./deploy.sh --shutdown
To start your deployment back up, run
./deploy.sh
If you must manage your deployment manually, it is critical to supply the stack name:
docker compose -p "lemmy-easy-deploy" [up/down/etc]

'''
LEMMY_TLS_ENABLED="false" you're saying this should be false and not true?

I was saying that it being false would do this, it should be true.
It could also be that you've found a bug in Lemmy that causes that setting to not be considered once the database is already initialized.
Are the http prefixes in ./live/caddy/Caddyfile gone now?

Yes, the prefixes are gone now. Same problems though it seems.

It could also be that you've found a bug in Lemmy that causes that setting to not be considered once the database is already initialized.

If this is the case, is there anything that I can do?

First, go into the Lemmy-Easy-Deploy folder, and run this:
cat ./live/lemmy.hjson

You will see your config file. Don't post it here, it will have passwords :p
In that config file, you should see a block like this:
  hostname: "***"
  bind: "<IP_ADDRESS>"
  port: 8536
  tls_enabled: true

That tls_enabled option should be true as I have shown here. If it's false, then that's why you're having issues.
But, if it is true, and you are still having issues, then it would go on the Lemmy issue tracker, not the UI one:
https://github.com/LemmyNet/lemmy/issues
Requests with the application/* header go directly to the Lemmy backend, so this wouldn't be a frontend issue, I don't think.
Whether or not https is used is set here, so hopefully you only have a configuration issue:
https://github.com/LemmyNet/lemmy/blob/69a7181a29ea01672c61e0190e68b632dfcaf232/crates/utils/src/settings/mod.rs#L71-L78

Yep it’s set to true. So my only option is deleting and starting over?

Try making a new post now that the server is running with that setting and see if it's any different with curl. I think the data in your old post might only be set once.

:( same results. Any other ideas?

Unfortunately I'm not sure what to recommend in this case. If you don't have important data, you could start over and delete everything:
./deploy.sh --shutdown
docker volume rm
lemmy-easy-deploy_caddy_config lemmy-easy-deploy_caddy_data lemmy-easy-deploy_pictrs_data lemmy-easy-deploy_postgres_data
rm -rf ./live

Otherwise, it looks like Lemmy-Easy-Deploy is configuring everything as expected, so I suppose you could make a new issue with your redacted ./lemmy.hjson config and see what they say. You should tell them that it was created with that setting set to false during first time setup.

Submitted the bug report. Seems like it should be such an easy fix somewhere. That's the only thing making me hesitant on deleting and starting over.


[Bug] Panic within Rust is not printed in the Dart exception.

Describe the bug
Panic within Rust is not printed in the Dart exception. This was sent during the previous version 1.70. However, now toString only prints Instance of 'FrbAnyhowException'
Codegen logs with RUST_LOG=debug environment variable
-- BEFORE

FfiException(RESULT_ERROR, previous `if` had no `then`
       --> <anon>:7:5
        |
      7 |     (i32.add
        |     ^, null)
  package:flutter_rust_bridge/src/basic.dart 129:9  FlutterRustBridgeBase._transformRust2DartMessage
  package:flutter_rust_bridge/src/basic.dart 70:9   FlutterRustBridgeBase.executeNormal.<fn>
  ===== asynchronous gap ===========================
  package:wasm_run_example/main.dart 32:14          getBinary
  ===== asynchronous gap ===========================
  package:wasm_run_example/main.dart 644:21         testAll.<fn>

-- AFTER

 test/main_test.dart: fueling instance execution limit (failed)
  Instance of 'FrbAnyhowException'
  package:flutter_rust_bridge/src/basic.dart 133:9  FlutterRustBridgeBase._transformRust2DartMessage
  package:flutter_rust_bridge/src/basic.dart 70:51  FlutterRustBridgeBase.executeNormal.<fn>
  ===== asynchronous gap ===========================
  package:wasm_run_example/main.dart 39:14          getBinary
  ===== asynchronous gap ===========================
  package:wasm_run_example/main.dart 790:21         testAll.<fn>

To Reproduce
No response
Expected behavior
No response
Generated binding code
No response
OS
No response
Version of flutter_rust_bridge_codegen
No response
Flutter info
No response
Version of clang++
No response
Version of ffigen
No response
Additional context
No response

Nice catch, this looks like a good-first-issue, so feel free to PR to fix it!
A possible fix: Add toString to class FrbAnyhowException at dart side.


Failing tests with python 3.8, 3.9

I maintain this as a package in Debian
Several logs similar to this:
Complete log is availaible here
> platform linux -- Python 3.9.0+, pytest-4.6.11, py-1.9.0, pluggy-0.13.0
> rootdir: /<<PKGBUILDDIR>>
> plugins: flaky-3.7.0
> collected 1518 items / 2 skipped / 1516 selected
>
> streamz/dataframe/tests/test_dataframe_utils.py .s.s                     [  0%]
> streamz/dataframe/tests/test_dataframes.py ............................. [  2%]
> ........................................................................ [  6%]
> ........................................................................ [ 11%]
> .......................................................................s [ 16%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 21%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 25%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 30%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 35%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 40%]
> sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss. [ 44%]
> ...xxxxxx....................ss......................................... [ 49%]
> ....X.....X.....X.....X.....X.....X.....X.....X.....X.....X.....X.....X. [ 54%]
> ....X.....X.....X.....X.....X.....X.....X.....X.....X.....X.....X.....X. [ 59%]
> ....X.....X.....X.....X.....X.....X.....X.....X.....X.....X.....X.....X. [ 63%]
> ....X.....X.....X.....X.....X.....X.....X.....X.....X.....X.....X.....X. [ 68%]
> .....X......X......X......X......X......X......X......X......X......X... [ 73%]
> ...X......X......X......X......X......X......X......X......X......X..... [ 78%]
> .X......X......X......X......X......X......X......X......X......X......X [ 82%]
> ......X......X......X......X......X......X......X......X......X......X.. [ 87%]
> ....X......X......X......X......X......X......X...............x..        [ 91%]
> streamz/tests/test_batch.py ....                                         [ 92%]
> streamz/tests/test_core.py ............................................. [ 95%]
> ...........................................................              [ 98%]
> streamz/tests/test_dask.py ssssFFFFFFsF                                  [ 99%]
> streamz/tests/test_sources.py XXXx                                       [100%]x [100%]x [100%]
>
> =================================== FAILURES ===================================
> ___________________________________ test_map ___________________________________
>
>     def test_func():
>         result = None
>         workers = []
>         with clean(timeout=active_rpc_timeout, **clean_kwargs) as loop:
>
>             async def coro():
>                 with dask.config.set(config):
>                     s = False
>                     for i in range(5):
>                         try:
>                             s, ws = await start_cluster(
>                                 nthreads,
>                                 scheduler,
>                                 loop,
>                                 security=security,
>                                 Worker=Worker,
>                                 scheduler_kwargs=scheduler_kwargs,
>                                 worker_kwargs=worker_kwargs,
>                             )
>                         except Exception as e:
>                             logger.error(
>                                 "Failed to start gen_cluster, retrying",
>                                 exc_info=True,
>                             )
>                         else:
>                             workers[:] = ws
>                             args = [s] + workers
>                             break
>                     if s is False:
>                         raise Exception("Could not start cluster")
>                     if client:
>                         c = await Client(
>                             s.address,
>                             loop=loop,
>                             security=security,
>                             asynchronous=True,
>                             **client_kwargs
>                         )
>                         args = [c] + args
>                     try:
>                         future = func(*args)
>                         if timeout:
>                             future = asyncio.wait_for(future, timeout)
>                         result = await future
>                         if s.validate:
>                             s.validate_state()
>                     finally:
>                         if client and c.status not in ("closing", "closed"):
>                             await c._close(fast=s.status == "closed")
>                         await end_cluster(s, workers)
>                         await asyncio.wait_for(cleanup_global_workers(), 1)
>
>                     try:
>                         c = await default_client()
>                     except ValueError:
>                         pass
>                     else:
>                         await c._close(fast=True)
>
>                     for i in range(5):
>                         if all(c.closed() for c in Comm._instances):
>                             break
>                         else:
>                             await asyncio.sleep(0.05)
>                     else:
>                         L = [c for c in Comm._instances if not c.closed()]
>                         Comm._instances.clear()
>                         # raise ValueError("Unclosed Comms", L)
>                         print("Unclosed Comms", L)
>
>                     return result
>
> >           result = loop.run_sync(
>                 coro, timeout=timeout * 2 if timeout else timeout
>             )
>
> /usr/lib/python3/dist-packages/distributed/utils_test.py:956:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> /usr/lib/python3/dist-packages/tornado/ioloop.py:532: in run_sync
>     return future_cell[0].result()
> /usr/lib/python3/dist-packages/distributed/utils_test.py:927: in coro
>     result = await future
> /usr/lib/python3.9/asyncio/tasks.py:476: in wait_for
>     return fut.result()
> /usr/lib/python3/dist-packages/tornado/gen.py:742: in run
>     yielded = self.gen.throw(*exc_info)  # type: ignore
> streamz/tests/test_dask.py:25: in test_map
>     yield source.emit(i)
> /usr/lib/python3/dist-packages/tornado/gen.py:735: in run
>     value = future.result()
> /usr/lib/python3/dist-packages/tornado/gen.py:501: in callback
>     result_list.append(f.result())
> /usr/lib/python3/dist-packages/tornado/gen.py:742: in run
>     yielded = self.gen.throw(*exc_info)  # type: ignore
> streamz/dask.py:113: in update
>     future_as_dict = yield client.scatter({tokenized_x: x}, asynchronous=True)
> /usr/lib/python3/dist-packages/tornado/gen.py:735: in run
>     value = future.result()
> /usr/lib/python3/dist-packages/distributed/client.py:1965: in _scatter
>     _, who_has, nbytes = await scatter_to_workers(
> /usr/lib/python3/dist-packages/distributed/utils_comm.py:144: in scatter_to_workers
>     out = await All(
> /usr/lib/python3/dist-packages/distributed/utils.py:235: in All
>     result = await tasks.next()
> /usr/lib/python3/dist-packages/distributed/core.py:757: in send_recv_from_rpc
>     result = await send_recv(comm=comm, op=key, **kwargs)
> /usr/lib/python3/dist-packages/distributed/core.py:540: in send_recv
>     response = await comm.read(deserializers=deserializers)
> /usr/lib/python3/dist-packages/distributed/comm/tcp.py:211: in read
>     msg = await from_frames(
> /usr/lib/python3/dist-packages/distributed/comm/utils.py:69: in from_frames
>     res = _from_frames()
> /usr/lib/python3/dist-packages/distributed/comm/utils.py:54: in _from_frames
>     return protocol.loads(
> /usr/lib/python3/dist-packages/distributed/protocol/core.py:106: in loads
>     header = msgpack.loads(header, use_list=False, **msgpack_opts)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> >   ???
> E   ValueError: tuple is not allowed for map key
>
> msgpack/_unpacker.pyx:195: ValueError
> ----------------------------- Captured stderr call -----------------------------
> distributed.protocol.core - CRITICAL - Failed to deserialize
> Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/distributed/protocol/core.py", line 106, in loads
>     header = msgpack.loads(header, use_list=False, **msgpack_opts)
>   File "msgpack/_unpacker.pyx", line 195, in msgpack._cmsgpack.unpackb
> ValueError: tuple is not allowed for map key
> distributed.core - ERROR - tuple is not allowed for map key
> Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/distributed/core.py", line 346, in handle_comm
>     msg = await comm.read()
>   File "/usr/lib/python3/dist-packages/distributed/comm/tcp.py", line 211, in read
>     msg = await from_frames(
>   File "/usr/lib/python3/dist-packages/distributed/comm/utils.py", line 69, in from_frames
>     res = _from_frames()
>   File "/usr/lib/python3/dist-packages/distributed/comm/utils.py", line 54, in _from_frames
>     return protocol.loads(
>   File "/usr/lib/python3/dist-packages/distributed/protocol/core.py", line 106, in loads
>     header = msgpack.loads(header, use_list=False, **msgpack_opts)
>   File "msgpack/_unpacker.pyx", line 195, in msgpack._cmsgpack.unpackb
> ValueError: tuple is not allowed for map key
> distributed.protocol.core - CRITICAL - Failed to deserialize
> Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/distributed/protocol/core.py", line 106, in loads
>     header = msgpack.loads(header, use_list=False, **msgpack_opts)
>   File "msgpack/_unpacker.pyx", line 195, in msgpack._cmsgpack.unpackb
> ValueError: tuple is not allowed for map key

It'd be great to have this fixed!

Are dask/distributed tests otherwise passing? The message suggests a change in msgpack (i.e., not strictly connected with this project). Can you provide your runtime versions, please?

Thanks @martindurant for helping!

Are dask/distributed tests otherwise passing? The message suggests a change in msgpack (i.e., not strictly connected with this project). Can you provide your runtime versions, please?

Yes, I suspect that's probably what broke this. It'd be nice if you could adapt to this change.
(Relevant)Versions:
python: 3.8, 3.9
msgpack: 1.0.0
tornado: 6.0.4
toolz: 0.9.0
pandas: 1.1.3
dask: 2.11.0
distributed: 2.10.0
zict: 2.0.0
six: 1.15.0

Well, on further inspection, maybe msgpack ended up breaking distributed instead - but I'd want to seek your confirmation - that this has nothing to do with streamz?

Streamz has only evolved slowly, and has been passing its own CI. I ran py38 locally without issue. Note that the msgpack version is almost brand new, but the version of distributed is over 8months old, so that mismatch might be the culprit.

Yep, I suspected this too - need to fix distributed there. Thanks for the help and many thanks for maintaining streamz! :-)


For transforms that require order, allow setting order via firrtl execution options

So it looks like transforms are added to the transform list via circuit annotations here. The problem is, the original method didn't allow you flexibility as to how the transforms were ordered (beside being high, middle, low form). I changed the code so that you can specify a list of ordered transforms (via firrtlOptions.customTransforms). If I do a distinct, since customTransforms occurs before the annotation-derived transforms, the order specified by customTransforms should be used.
I'm not 100% sure this works, b/c for whatever reason, BlackBoxSourceHelpers seems to still be run twice... (Maybe it's injected into the transform list elsewhere???)
This is getting to be somewhat urgent.
Finished ***LowFirrtlOptimization***
***LowFirrtlOptimization*** took 2.9 ms

Starting ***BlackBoxSourceHelper***
Finished ***BlackBoxSourceHelper***
***BlackBoxSourceHelper*** took 0.4 ms

Starting ***AddIOPadsTransform***
Starting Legalize
Finished Legalize
Legalize took 0.2 ms

Starting Resolve Genders
Finished Resolve Genders
Resolve Genders took 0.2 ms

Starting Infer Types
Finished Infer Types
Infer Types took 1.0 ms

Starting Add Padframe
Finished Add Padframe
Add Padframe took 1.1 ms

Starting Remove Empty Statements
Finished Remove Empty Statements
Remove Empty Statements took 0.1 ms

Starting Check Initialization
Finished Check Initialization
Check Initialization took 0.4 ms

Starting Infer Types
Finished Infer Types
Infer Types took 1.9 ms

Starting Uniquify Identifiers
Finished Uniquify Identifiers
Uniquify Identifiers took 2.5 ms

Starting Resolve Kinds
Finished Resolve Kinds
Resolve Kinds took 0.9 ms

Starting Resolve Genders
Finished Resolve Genders
Resolve Genders took 0.6 ms

Finished ***AddIOPadsTransform***
***AddIOPadsTransform*** took 60.5 ms

Starting ***BlackBoxSourceHelper***
Finished ***BlackBoxSourceHelper***
***BlackBoxSourceHelper*** took 1.3 ms

Starting Add temporary nodes with verilog widths for modulus
Finished Add temporary nodes with verilog widths for modulus
Add temporary nodes with verilog widths for modulus took 0.3 ms

Starting Verilog Wrap
Finished Verilog Wrap
Verilog Wrap took 0.5 ms

Starting Verilog Rename
Finished Verilog Rename
Verilog Rename took 1.0 ms

Starting Verilog Prep
Finished Verilog Prep
Verilog Prep took 1.9 ms

Also @jackkoenig how can you make sure that the BlackBoxHelper transform is run if a Firrtl pass adds BlackBoxResources? Can I update the transforms list (i.e. append to it) in a transform?

I'm not quite sure I get this PR. To my view of the code you are just removing duplicates from the combined set of transforms. How does that help enforce order?

Assuming that the order of customTransforms is maintained, then all
transforms specified by customTransforms (even if reused from annotations)
would keep to that order. But Jack made a good point, so I guess this PR
should be closed.
On Monday, February 27, 2017, Colin Schmidt<EMAIL_ADDRESS>wrote:

I'm not quite sure I get this PR. To my view of the code you are just
removing duplicates from the combined set of transforms. How does that help
enforce order?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ucb-bar/chisel3/pull/532#issuecomment-282789041, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AGTTFpvhUJGdOKYOEKSiGv4bzcHmz4DKks5rgwdEgaJpZM4MMq9j
.

I think a reasonable to enforce ordering of [custom] transforms is to add some fields that can be overridden in classes implementing Transform, like:
def dependsOn = Seq.empty[Class[_ <: Transform]]
// The above is probably sufficient for custom transforms since they can be told to depend on
//   each other
// But if you need to specify that your custom transform runs before some built-in transforms
//   this might be better
def runAfter = Seq.empty[Class[_ <: Transform]]
def runBefore = Seq.empty[Class[_ <: Transform]]

This would construct constraints that we could then solve to get a correct ordering of transforms. This is actually a superset of the current inputForm and outputForm API, but that could stay as a simpler API whereas this is a bit more detailed. This exacerbates the problem of wanting to run a transform more than once but that's a different discussion that can be solved with subclassing or composition.

I'm going to close this issue, but we should look into adding some way of doing this in Firrtl


2513: Rename api-client to shared and open a new subfolder api

Short description
Api-client has grown a lot and it does not only contain things related to api-client, so it was decided to rename it to shared and create a subfolder with the name api where it will contain api related files and folders
Proposed changes

Rename api-client to shared
Create a subfolder called api

Fixes: #2513

What do you think of having two entry points? import ... from 'shared' and import ... from 'shared/api-client'? This could make the imports a lot cleaner I think.

What do you think of having two entry points? import ... from 'shared' and import ... from 'shared/api-client'? This could make the imports a lot cleaner I think.

If thats easy to implement it sounds nice. I wouldn't mind keeping the current as well though. I would use shared/api though with ommitting of the client.

What do you think of having two entry points? import ... from 'shared' and import ... from 'shared/api-client'? This could make the imports a lot cleaner I think.

By entry points do you mean what is in main in shared/package.json?

I think at least errors, endpoints, mapping and models subfolders should also go to api subfolder as well as some of the folders that are now just in the root folder of shared, e.g. mapAvailableLanguages, MapParamsToBody`, ... as those are all part of fetching stuff from our api.

Do you mean all the subfolders and files in src folder?

I think at least errors, endpoints, mapping and models subfolders should also go to api subfolder as well as some of the folders that are now just in the root folder of shared, e.g. mapAvailableLanguages, MapParamsToBody`, ... as those are all part of fetching stuff from our api.

Do you mean all the subfolders and files in src folder?

No, not all of them, just the ones that are for handling the api. The examples above are all doing that.

So to visualize sth like
- shared
  - @types/
  - api
    - endpoints/
    - errors/
    - mappings/
    - models/
    - MapParamsToBody.ts
    - MapParamsToUrlType.ts
    - MapResponseType
    - types.ts
    - index.ts // contains all exposed api exports
  - constants/
  - maps/
  - routes/
  - testing/
  - tracking/
  - utils/
  - mapAvailableLanguages.ts
  - normalizePath.ts
  - types.ts  // only contains type TimeSlots for now?
  - index.ts  // contains all shared exposed exports

I think the main field in the package.json can only list one file. This could be adjusted once the shared folder is an esm (#2404) package. If sth. does not work feel free to say sth.. Up till now this is also only a concept ^^

So to visualize sth like
- shared
  - @types/
  - api
    - endpoints/
    - errors/
    - mappings/
    - models/
    - MapParamsToBody.ts
    - MapParamsToUrlType.ts
    - MapResponseType
    - types.ts
    - index.ts // contains all exposed api exports
  - constants/
  - maps/
  - routes/
  - testing/
  - tracking/
  - utils/
  - mapAvailableLanguages.ts
  - normalizePath.ts
  - types.ts  // only contains type TimeSlots for now?
  - index.ts  // contains all shared exposed exports

I think the main field in the package.json can only list one file. This could be adjusted once the shared folder is an esm (#2404) package. If sth. does not work feel free to say sth.. Up till now this is also only a concept ^^

So to visualize sth like
- shared
  - @types/
  - api
    - endpoints/
    - errors/
    - mappings/
    - models/
    - MapParamsToBody.ts
    - MapParamsToUrlType.ts
    - MapResponseType
    - types.ts
    - index.ts // contains all exposed api exports
  - constants/
  - maps/
  - routes/
  - testing/
  - tracking/
  - utils/
  - mapAvailableLanguages.ts
  - normalizePath.ts
  - types.ts  // only contains type TimeSlots for now?
  - index.ts  // contains all shared exposed exports

I think the main field in the package.json can only list one file. This could be adjusted once the shared folder is an esm (#2404) package. If sth. does not work feel free to say sth.. Up till now this is also only a concept ^^

I mostly agree with your list, only I think mapAvailableLanguages should go to api/mappings and normalizePath should go to utils. Also, MapParamsToBody/UrlType and MapResponseType could go to api/endpoints.

I am getting test errors which I can not resolve, it is saying that
`Test suite failed to run
TypeError: api_1.PoiCategoryModel is not a constructor

  20 |     phoneNumber: '012345',
  21 |     email<EMAIL_ADDRESS>> 22 |     category: new PoiCategoryModel({
     |               ^
  23 |       color: '#1DC6C6',
  24 |       iconName: 'gastronomy',
  25 |       id: 10,

`

@ztefanie I think we are ready :) Can't rule out that we missed something but lets hope the best :crossed_fingers:


popup model scratchcard - hide and display

New option added: popUp (default Value: false)
When popUp: true, initially the scratchcard is hidden from the user. On calling sc.setPopUpDisplayState(true) the scratchcard is shown as a popup. On calling sc.setPopUpDisplayState(false) the scratchcard is gone. A state variable called display can be maintained for toggling the display of scratchcard.

I don't think that popup option has his place in scratchcard.
The init() promise provides a way to do that.
You can hide the scratchcard and once the method init() resolved you show it.
No need to make it an option.


Dates dependency

I just reinstalled Winston today. This went fine but when I tried using Winston, I got an error complaining that the Dates package is not installed. Installing this package solved the problem. I use julia 0.4rc.

Same thing with IniFile: https://github.com/JuliaLang/IniFile.jl/issues/13

The Dates package has been put into Base as of version 0.4. To remove the warning, a control flow needs to be put in the front-end of the module.
if VERSION < v"0.4-"
   using Dates
else
   using Base.Dates
end

https://github.com/nolta/Winston.jl/pull/252


Readme update

It looks like setKnex() no longer exists - it was replaced by a setter.

Whoa, it's been a while…
Actually, setKnex exists on index.js, it's a bit confusing since it doesn't live on the Base class. I should probably pick a pattern and stick with it. I'm still undecided on whether I should be using getters/setters instead of explicit functions. I'll close this for now though.


send  PS1='\u:\W$ ' to bash at start when using vscode

VSCode Version:1.10.2
OS Version:Windows 10 (1607)

Steps to Reproduce: N/A
Initialize a variable at start of bash when working using vscode. Since the path becomes too long, run command PS1='\u:\W$ ' so that path string becomes short and max utilization of space.

You should configure bash using a .bashrc file

the problem with configuring .bashrc file is that its permanent. It would be more comfortable if this happens only when terminal is launched using vscode

You should be able to wrap your shell in a script that sets the environment for you (terminal.integrated.shell.windows), at least until you can do set in terminal settings.


Convert string to integer when paginating

130522531
The issue relates to the page number (the p in the query string) being extracted as a string, while, in the SearchRaCandidatesCommand, the page number is expected to be an integer.

@rjkip


deadlock detected: workflow goroutine "root" didn't yield for over a second

Expected Behavior
CronJob works ok.
Actual Behavior
deadlock detected: workflow goroutine "root" didn't yield for over a second
Steps to Reproduce the Problem
Start workflow
package main

import (
	"context"
	"log"
	"time"

	"github.com/koolay/temporal-quickstart/pkg/workflows"
	"go.temporal.io/sdk/client"
	clientSdk "go.temporal.io/sdk/client"
)

var serverHost = "localhost:7233"

func main() {
	client, err := client.NewClient(client.Options{
		HostPort: serverHost,
	})
	if err != nil {
		log.Fatalln("unable to create temporal client", err)
	}
	defer client.Close()

	options := clientSdk.StartWorkflowOptions{
		ID:                       workflows.CronWorkflowID,
		TaskQueue:                workflows.CronQueueName,
		CronSchedule:             "@every 10s",
		WorkflowRunTimeout:       5 * time.Second,
		WorkflowExecutionTimeout: 10 * time.Second,
	}

	running, err := client.ExecuteWorkflow(context.Background(), options, workflows.CronWorkflow)
	if err != nil {
		log.Fatalln("unable to start cron workflow", err)
	}

	log.Println("execute workflow:", running.GetID(), running.GetRunID())
}

workflow
func CronWorkflow(ctx workflow.Context) error {
	time.Sleep(time.Second)
	workflow.GetLogger(ctx).Info("Cron workflow started.", "StartTime", workflow.Now(ctx))
	return nil
}

Run worker
package main

import (
	"log"

	"github.com/koolay/temporal-quickstart/pkg/workflows"
	"go.temporal.io/sdk/client"
	"go.temporal.io/sdk/worker"
)

var serverHost = "localhost:7233"

func main() {
	// The client and worker are heavyweight objects that should be created once per process.
	client, err := client.NewClient(client.Options{
		HostPort:  serverHost,
		Namespace: "default",
	})
	if err != nil {
		log.Fatalln("Unable to create client", err)
	}

	defer client.Close()

	w := worker.New(client, "cron", worker.Options{})

	w.RegisterWorkflow(workflows.CronWorkflow)

	err = w.Run(worker.InterruptCh())
	if err != nil {
		log.Fatalln("Unable to start worker", err)
	}
}

Specifications

Version:1.14.0
Platform:docker

You cannot sleep in workflows. Please see https://docs.temporal.io/docs/go/how-to-develop-a-workflow-definition-in-go#workflow-logic-requirements-in-go and the documentation at the top of https://pkg.go.dev/go.temporal.io/sdk.


Issue in Task Scheduler Timer example

Description:
Task Scheduler Timer example does not exit after the execution.
Compiling source
	timer.bal

Generating executables
Running executables

Hi Sam you are 1 years old now.
Hi Sam you are 2 years old now.
Hi Sam you are 3 years old now.
Hi Sam you are 4 years old now.
Hi Sam you are 5 years old now.
Sam started schooling
Hi Sam you are 6 years old now.
Hi Sam you are 7 years old now.
Hi Sam you are 8 years old now.
Hi Sam you are 9 years old now.
Hi Sam you are 10 years old now.
End.

Program hangs after this point.
Steps to reproduce:
Run the code at Task Scheduler Timer.
Affected Versions:
1.0.3

Even though the main function execution exits, the callback services are not stopped. This is the expected behavior. Hence closing this issue.


Address merge conflicts, continue refactoring

@BeckySharp, I continued what you were doing, mostly moving over some tests, cleaning the utilities out of elasticsearch, separating some less utilitarian utilities, and changing lots of import statements.  I kept your eidoscommon.  If it doesn't look unreasonable, I will merge with your branch, merge that into master, and then send it to Lum.


Thunar and Nautilus have started getting "Not Authorized" when trying to mount external storage devices

This solution works: http://brahim.hamdouni.com/en/usb-mount-and-polykit-en/ Need to add it to the README, probably add the polkit file to the repo and add it to the install instructions.

This seems to have gone away on its own.


SIMS #174 - Auth e2e test

Enabled E2E test to test authentication scenarios as shown below, following the recommendations here: https://docs.nestjs.com/fundamentals/testing#end-to-end-testing
In general, the E2E tests are executed in two steps:

Get a valid token from Keyclock;
Try to authenticate to a fake API (but with real functionality) controller (AuthTestController)

Key observations:

To allow us to test the E2E authentication cycle, a dummy user (student_e2e_test) was added to the Keycloak DEV instance.
This user is used to retrieve the token from Keycloak and authenticate the API endpoints.
The AuthTestController controller was created to be the target for all E2E tests related to the authentication. This controller is not part of the final API (not available on DEV/TEST/PROD) and it is being used only for the E2E tests (see comments on the file auth-test.controller.ts).
The Keycloak endpoints are retrieved from the discovery endpoint ".well-known/openid-configuration".
To run the tests locally the ENV variable E2E_TEST_STUDENT_PASSWORD need to be defined in a local .env file, to avoid add the Keyclock dummy user password in the source code.
It is not part of this PR the enablement of E2E on the CI/CD. We need to do this for UnitTest/E2E Test/Lint, etc.
Along the process, some changes affected the Unit Tests already in place and some changes were needed to keep them working.

Went through a peer review chat with @2011sandeepraj and got the approval to execute the merge.


Reduced GStreamer h264 encoder latency

Description
Changed x264enc properties to reduce latency

Fantastic! Thank you so much @alexey-kravtsov, lots of people copy this so will help a lot :)

Thank you @Sean-Der ! You and Pion community doing a great job :)


Remove Test*.py scripts from excluded list and enabling its execution via glob python test runner

Work for Issue #31317
Follow up to PR #35660
PR 19 - This PR modifies the test infrastructure by removing Test*.py scripts from the excluded list and ensuring they are now automatically included in test runs using the glob pattern in the Python test runner script.

This PR is closed for now, the work will be carried over as a follow-up task to the PR #34785.


Commits bundled in a wrong version

Hi, we are using a gitflow branching model, and the generated changelog has commits showing in a wrong version to which they were actually released in - particularly obvious with hotfixes:
EXAMPLE:

We release version 4.0.0
We make some changes on feature branches, merge them to develop.. etc.
We make a hotfix (branched from 4.0.0 master) and release it as a version 4.0.1
We release version 4.1.0

Expected changelog:
4.1.0

All the changes made in the meantime (before and after the hotfix was made) on develop, released to master later

4.0.1

Hotfix for 4.0.0

Actual result:
4.1.0

Only changes made chronologically after 4.0.1

4.0.1

Hotfix for 4.0.0
All the changes on develop made chronologically before 4.0.1 (but not yet merged to the master)

(With gitflow the version tagged commit is always the one where the release is merged to master)

Right now it's assumed that versions are merged and released chronologically. The changelog is built purely from the information we can gather from git log. Is there any data in the commits that can determine which release a given commit is part of?

(note: log order is not chronological)
you theoretically should be able to use git commands for each tag, and diff the lists - also i think git log can diff between the two tags?

Yep, as @ljharb noted git log can diff between two tags, and a diff of every pair of tags in ascending order should provide the correct list of commits belonging to each release.
To illustrate on the original example:
git log 4.0.0..4.0.1
-> Merge branch for 'hotfix/fix-for-4.0.0'
-> Hotfix for 4.0.0
git log 4.0.1..4.1.0
-> All the changes made in the meantime (before and after the hotfix was made) on develop, released to master later
Note that the output of git log 4.0.0..4.0.1 does not contain the not yet merged commits made on develop in the meantime, so it matches the expected output.
I'm not certain if there are no edge cases or some other caveats, but it seems to work exactly as needed.

This is really important for our team. We have multiple developers working simultaneously on different features, and committing to their own branches, which are then merged into master individually, at some time in the future. The current chronological setup of auto-changelog really muddies our changelog and makes it difficult/impossible to tell what was actually included in each release.

It feels like quite a heavy change to the library to execute and parse a git log command for every version in the history of the repo, but I understand that this is a problem that needs solving. I’ll take some time to figure out what a solution might look like and how big of a hit it might be to the simplicity/performance of the tool.

I've given this a crack in https://github.com/CookPete/auto-changelog/pull/144.
@patlillis let me know if this does the trick for you? Install with npm install auto-changelog@tags

Thanks @CookPete!
I tried running it on our repo, and got the following output:
auto-changelog: Generating changelog…

TypeError: date.slice is not a function
    at _callee$ (node_modules/auto-changelog/lib/releases.js:124:29)
    at tryCatch (node_modules/auto-changelog/node_modules/regenerator-runtime/runtime.js:45:40)
    at Generator.invoke [as _invoke] (node_modules/auto-changelog/node_modules/regenerator-runtime/runtime.js:271:22)
    at Generator.prototype.(anonymous function) [as next] (node_modules/auto-changelog/node_modules/regenerator-runtime/runtime.js:97:21)
    at asyncGeneratorStep (node_modules/auto-changelog/lib/releases.js:70:103)
    at _next (node_modules/auto-changelog/lib/releases.js:72:194)
    at process._tickCallback (internal/process/next_tick.js:68:7)

@patlillis Sorry, I left in some half-done logic around commit dates. Just published a new version (same npm tag: npm install auto-changelog@tags) that hopefully fixes this

👍 Looks like it's working much better now, and PRs/commits are getting included in the group for the tag in which they were merged.

Looks like it's working great. Good job @CookPete 👍
And it still runs very quickly, doesn't seem to be any slower than the master branch.


Add sqlfuzz

Thank you very much for adding your project here, @PumpkinSeed!
Looks great, will merge as soon as everything passes. Hope we help get you some wonderful contributions!


Build failed (macOS 14.0)

Hi, @gwenzek.
I'm encountering an error while trying to build ZML source code on macOS. Can anyone help me to troubleshoot the issue?
environment

Zig 0.13.0 (by zigup)
macOS 14.0 (with xcode and command line tools installed)

examples|master ⇒ ./bazel.sh run -c opt //mnist --verbose_failures
INFO: Analyzed target //mnist:mnist (0 packages loaded, 0 targets configured).
ERROR: /private/var/tmp/_bazel_<user>/650e05f5187a72020a06cae499d0aef1/external/zlib~/BUILD.bazel:78:11: Compiling zutil.c [for tool] failed: absolute path inclusion(s) found in rule '@@zlib~//:z':
the source file 'zutil.c' includes the following non-builtin files with absolute paths (if these are builtin files, make sure these paths are in your toolchain):
  '/usr/local/include/stddef.h'
  '/usr/local/include/_types.h'
  '/usr/local/include/sys/_types.h'
  '/usr/local/include/sys/cdefs.h'
  '/usr/local/include/sys/_symbol_aliasing.h'
  '/usr/local/include/sys/_posix_availability.h'
  '/usr/local/include/machine/_types.h'
  '/usr/local/include/arm/_types.h'
  '/usr/local/include/sys/_pthread/_pthread_types.h'
  '/usr/local/include/sys/_types/_null.h'
  '/usr/local/include/sys/_types/_offsetof.h'
  '/usr/local/include/sys/_types/_ptrdiff_t.h'
  '/usr/local/include/machine/types.h'
  '/usr/local/include/arm/types.h'
  '/usr/local/include/sys/_types/_int8_t.h'
  '/usr/local/include/sys/_types/_int16_t.h'
  '/usr/local/include/sys/_types/_int32_t.h'
  '/usr/local/include/sys/_types/_int64_t.h'
  '/usr/local/include/sys/_types/_u_int8_t.h'
  '/usr/local/include/sys/_types/_u_int16_t.h'
  '/usr/local/include/sys/_types/_u_int32_t.h'
  '/usr/local/include/sys/_types/_u_int64_t.h'
  '/usr/local/include/sys/_types/_intptr_t.h'
  '/usr/local/include/sys/_types/_uintptr_t.h'
  '/usr/local/include/sys/_types/_rsize_t.h'
  '/usr/local/include/sys/_types/_size_t.h'
  '/usr/local/include/sys/_types/_wchar_t.h'
  '/usr/local/include/sys/_types/_wint_t.h'
  '/usr/local/include/limits.h'
  '/usr/local/include/machine/limits.h'
  '/usr/local/include/arm/limits.h'
  '/usr/local/include/arm/_limits.h'
  '/usr/local/include/sys/syslimits.h'
  '/usr/local/include/sys/types.h'
  '/usr/local/include/sys/appleapiopts.h'
  '/usr/local/include/machine/endian.h'
  '/usr/local/include/arm/endian.h'
  '/usr/local/include/sys/_endian.h'
  '/usr/local/include/libkern/_OSByteOrder.h'
  '/usr/local/include/libkern/arm/OSByteOrder.h'
  '/usr/local/include/stdint.h'
  '/usr/local/include/_types/_uint8_t.h'
  '/usr/local/include/_types/_uint16_t.h'
  '/usr/local/include/_types/_uint32_t.h'
  '/usr/local/include/_types/_uint64_t.h'
  '/usr/local/include/_types/_intmax_t.h'
  '/usr/local/include/_types/_uintmax_t.h'
  '/usr/local/include/arm/arch.h'
  '/usr/local/include/sys/_types/_u_char.h'
  '/usr/local/include/sys/_types/_u_short.h'
  '/usr/local/include/sys/_types/_u_int.h'
  '/usr/local/include/sys/_types/_caddr_t.h'
  '/usr/local/include/sys/_types/_dev_t.h'
  '/usr/local/include/sys/_types/_blkcnt_t.h'
  '/usr/local/include/sys/_types/_blksize_t.h'
  '/usr/local/include/sys/_types/_gid_t.h'
  '/usr/local/include/sys/_types/_in_addr_t.h'
  '/usr/local/include/sys/_types/_in_port_t.h'
  '/usr/local/include/sys/_types/_ino_t.h'
  '/usr/local/include/sys/_types/_ino64_t.h'
  '/usr/local/include/sys/_types/_key_t.h'
  '/usr/local/include/sys/_types/_mode_t.h'
  '/usr/local/include/sys/_types/_nlink_t.h'
  '/usr/local/include/sys/_types/_id_t.h'
  '/usr/local/include/sys/_types/_pid_t.h'
  '/usr/local/include/sys/_types/_off_t.h'
  '/usr/local/include/sys/_types/_uid_t.h'
  '/usr/local/include/sys/_types/_clock_t.h'
  '/usr/local/include/sys/_types/_ssize_t.h'
  '/usr/local/include/sys/_types/_time_t.h'
  '/usr/local/include/sys/_types/_useconds_t.h'
  '/usr/local/include/sys/_types/_suseconds_t.h'
  '/usr/local/include/sys/_types/_errno_t.h'
  '/usr/local/include/sys/_types/_fd_def.h'
  '/usr/local/include/Availability.h'
  '/usr/local/include/AvailabilityVersions.h'
  '/usr/local/include/AvailabilityInternal.h'
  '/usr/local/include/sys/_types/_fd_setsize.h'
  '/usr/local/include/sys/_types/_fd_set.h'
  '/usr/local/include/sys/_types/_fd_clr.h'
  '/usr/local/include/sys/_types/_fd_zero.h'
  '/usr/local/include/sys/_types/_fd_isset.h'
  '/usr/local/include/sys/_types/_fd_copy.h'
  '/usr/local/include/sys/_pthread/_pthread_attr_t.h'
  '/usr/local/include/sys/_pthread/_pthread_cond_t.h'
  '/usr/local/include/sys/_pthread/_pthread_condattr_t.h'
  '/usr/local/include/sys/_pthread/_pthread_mutex_t.h'
  '/usr/local/include/sys/_pthread/_pthread_mutexattr_t.h'
  '/usr/local/include/sys/_pthread/_pthread_once_t.h'
  '/usr/local/include/sys/_pthread/_pthread_rwlock_t.h'
  '/usr/local/include/sys/_pthread/_pthread_rwlockattr_t.h'
  '/usr/local/include/sys/_pthread/_pthread_t.h'
  '/usr/local/include/sys/_pthread/_pthread_key_t.h'
  '/usr/local/include/sys/_types/_fsblkcnt_t.h'
  '/usr/local/include/sys/_types/_fsfilcnt_t.h'
  '/usr/local/include/string.h'
  '/usr/local/include/strings.h'
  '/usr/local/include/secure/_strings.h'
  '/usr/local/include/secure/_common.h'
  '/usr/local/include/secure/_string.h'
  '/usr/local/include/stdlib.h'
  '/usr/local/include/sys/wait.h'
  '/usr/local/include/sys/signal.h'
  '/usr/local/include/machine/signal.h'
  '/usr/local/include/arm/signal.h'
  '/usr/local/include/machine/_mcontext.h'
  '/usr/local/include/arm/_mcontext.h'
  '/usr/local/include/mach/machine/_structs.h'
  '/usr/local/include/mach/arm/_structs.h'
  '/usr/local/include/sys/_types/_sigaltstack.h'
  '/usr/local/include/sys/_types/_ucontext.h'
  '/usr/local/include/sys/_types/_sigset_t.h'
  '/usr/local/include/sys/resource.h'
  '/usr/local/include/sys/_types/_timeval.h'
  '/usr/local/include/alloca.h'
  '/usr/local/include/sys/_types/_ct_rune_t.h'
  '/usr/local/include/sys/_types/_rune_t.h'
  '/usr/local/include/malloc/_malloc.h'
  '/usr/local/include/stdio.h'
  '/usr/local/include/_stdio.h'
  '/usr/local/include/sys/_types/_va_list.h'
  '/usr/local/include/sys/stdio.h'
  '/usr/local/include/_ctermid.h'
  '/usr/local/include/secure/_stdio.h'
  '/usr/local/include/fcntl.h'
  '/usr/local/include/sys/fcntl.h'
  '/usr/local/include/sys/_types/_o_sync.h'
  '/usr/local/include/sys/_types/_o_dsync.h'
  '/usr/local/include/sys/_types/_seek_set.h'
  '/usr/local/include/sys/_types/_s_ifmt.h'
  '/usr/local/include/sys/_types/_timespec.h'
  '/usr/local/include/sys/_types/_filesec_t.h'
  '/usr/local/include/errno.h'
  '/usr/local/include/sys/errno.h'
Target //mnist:mnist failed to build
INFO: Elapsed time: 0.925s, Critical Path: 0.72s
INFO: 11 processes: 11 internal.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

Hey @hoangpq, I'm happy to help with your issue.
Thanks for the information you provided. Just to clarify, we don’t interact directly with your Zig setup. My hypothesis is that the failing build may be related to Bazel’s autodetection of the Apple/Xcode toolchain.
One of the key advantages of Bazel is its sandboxing, but some toolchains aren’t fully hermetic yet (until proper sandboxing is in place).
Could you try running ./bazel.sh fetch --force --configure to force Bazel to fetch and configure the required tools? After that, if mnist still isn’t working, please rerun it with the following flags: ./bazel.sh run --verbose_failures --sandbox_debug -c opt //mnist to have more traces on what's going on.
Thanks!

Thanks for you help, @hugomano.
I face the same issue, but with different a file.
examples|master ⇒ ./bazel.sh fetch --force --configure
INFO: All external dependencies fetched successfully.
Computing main repo mapping:

examples|master ⇒ ./bazel.sh run --verbose_failures --sandbox_debug -c opt //mnist
INFO: Analyzed target //mnist:mnist (0 packages loaded, 0 targets configured).
ERROR: /private/var/tmp/_bazel_hoangpq/650e05f5187a72020a06cae499d0aef1/external/zstd~/BUILD.bazel:43:11: Compiling lib/common/entropy_common.c failed: absolute path inclusion(s) found in rule '@@zstd~//:zstd':
the source file 'lib/common/entropy_common.c' includes the following non-builtin files with absolute paths (if these are builtin files, make sure these paths are in your toolchain):
  '/usr/local/include/stddef.h'
  '/usr/local/include/_types.h'
  '/usr/local/include/sys/_types.h'
  '/usr/local/include/sys/cdefs.h'
  '/usr/local/include/sys/_symbol_aliasing.h'
  '/usr/local/include/sys/_posix_availability.h'
  '/usr/local/include/machine/_types.h'
  '/usr/local/include/arm/_types.h'
  '/usr/local/include/sys/_pthread/_pthread_types.h'
  '/usr/local/include/sys/_types/_null.h'
  '/usr/local/include/sys/_types/_offsetof.h'
  '/usr/local/include/sys/_types/_ptrdiff_t.h'
  '/usr/local/include/machine/types.h'
  '/usr/local/include/arm/types.h'
  '/usr/local/include/sys/_types/_int8_t.h'
  '/usr/local/include/sys/_types/_int16_t.h'
  '/usr/local/include/sys/_types/_int32_t.h'
  '/usr/local/include/sys/_types/_int64_t.h'
  '/usr/local/include/sys/_types/_u_int8_t.h'
  '/usr/local/include/sys/_types/_u_int16_t.h'
  '/usr/local/include/sys/_types/_u_int32_t.h'
  '/usr/local/include/sys/_types/_u_int64_t.h'
  '/usr/local/include/sys/_types/_intptr_t.h'
  '/usr/local/include/sys/_types/_uintptr_t.h'
  '/usr/local/include/sys/_types/_rsize_t.h'
  '/usr/local/include/sys/_types/_size_t.h'
  '/usr/local/include/sys/_types/_wchar_t.h'
  '/usr/local/include/sys/_types/_wint_t.h'
  '/usr/local/include/stdint.h'
  '/usr/local/include/_types/_uint8_t.h'
  '/usr/local/include/_types/_uint16_t.h'
  '/usr/local/include/_types/_uint32_t.h'
  '/usr/local/include/_types/_uint64_t.h'
  '/usr/local/include/_types/_intmax_t.h'
  '/usr/local/include/_types/_uintmax_t.h'
  '/usr/local/include/limits.h'
  '/usr/local/include/machine/limits.h'
  '/usr/local/include/arm/limits.h'
  '/usr/local/include/arm/_limits.h'
  '/usr/local/include/sys/syslimits.h'
  '/usr/local/include/string.h'
  '/usr/local/include/Availability.h'
  '/usr/local/include/AvailabilityVersions.h'
  '/usr/local/include/AvailabilityInternal.h'
  '/usr/local/include/sys/_types/_errno_t.h'
  '/usr/local/include/sys/_types/_ssize_t.h'
  '/usr/local/include/strings.h'
  '/usr/local/include/secure/_strings.h'
  '/usr/local/include/secure/_common.h'
  '/usr/local/include/secure/_string.h'
Target //mnist:mnist failed to build
INFO: Elapsed time: 1.266s, Critical Path: 0.30s
INFO: 12 processes: 12 internal.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

examples|master ⇒ ./bazel.sh run --verbose_failures --sandbox_debug -c opt //mnist
INFO: Analyzed target //mnist:mnist (0 packages loaded, 0 targets configured).
ERROR: /private/var/tmp/_bazel_hoangpq/650e05f5187a72020a06cae499d0aef1/external/zlib~/BUILD.bazel:78:11: Compiling zutil.c [for tool] failed: absolute path inclusion(s) found in rule '@@zlib~//:z':
the source file 'zutil.c' includes the following non-builtin files with absolute paths (if these are builtin files, make sure these paths are in your toolchain):
  '/usr/local/include/stddef.h'
  '/usr/local/include/_types.h'
  '/usr/local/include/sys/_types.h'
  '/usr/local/include/sys/cdefs.h'
  '/usr/local/include/sys/_symbol_aliasing.h'
  '/usr/local/include/sys/_posix_availability.h'
  '/usr/local/include/machine/_types.h'
  '/usr/local/include/arm/_types.h'
  '/usr/local/include/sys/_pthread/_pthread_types.h'
  '/usr/local/include/sys/_types/_null.h'
  '/usr/local/include/sys/_types/_offsetof.h'
  '/usr/local/include/sys/_types/_ptrdiff_t.h'
  '/usr/local/include/machine/types.h'
  '/usr/local/include/arm/types.h'
  '/usr/local/include/sys/_types/_int8_t.h'
  '/usr/local/include/sys/_types/_int16_t.h'
  '/usr/local/include/sys/_types/_int32_t.h'
  '/usr/local/include/sys/_types/_int64_t.h'
  '/usr/local/include/sys/_types/_u_int8_t.h'
  '/usr/local/include/sys/_types/_u_int16_t.h'
  '/usr/local/include/sys/_types/_u_int32_t.h'
  '/usr/local/include/sys/_types/_u_int64_t.h'
  '/usr/local/include/sys/_types/_intptr_t.h'
  '/usr/local/include/sys/_types/_uintptr_t.h'
  '/usr/local/include/sys/_types/_rsize_t.h'
  '/usr/local/include/sys/_types/_size_t.h'
  '/usr/local/include/sys/_types/_wchar_t.h'
  '/usr/local/include/sys/_types/_wint_t.h'
  '/usr/local/include/limits.h'
  '/usr/local/include/machine/limits.h'
  '/usr/local/include/arm/limits.h'
  '/usr/local/include/arm/_limits.h'
  '/usr/local/include/sys/syslimits.h'
  '/usr/local/include/sys/types.h'
  '/usr/local/include/sys/appleapiopts.h'
  '/usr/local/include/machine/endian.h'
  '/usr/local/include/arm/endian.h'
  '/usr/local/include/sys/_endian.h'
  '/usr/local/include/libkern/_OSByteOrder.h'
  '/usr/local/include/libkern/arm/OSByteOrder.h'
  '/usr/local/include/stdint.h'
  '/usr/local/include/_types/_uint8_t.h'
  '/usr/local/include/_types/_uint16_t.h'
  '/usr/local/include/_types/_uint32_t.h'
  '/usr/local/include/_types/_uint64_t.h'
  '/usr/local/include/_types/_intmax_t.h'
  '/usr/local/include/_types/_uintmax_t.h'
  '/usr/local/include/arm/arch.h'
  '/usr/local/include/sys/_types/_u_char.h'
  '/usr/local/include/sys/_types/_u_short.h'
  '/usr/local/include/sys/_types/_u_int.h'
  '/usr/local/include/sys/_types/_caddr_t.h'
  '/usr/local/include/sys/_types/_dev_t.h'
  '/usr/local/include/sys/_types/_blkcnt_t.h'
  '/usr/local/include/sys/_types/_blksize_t.h'
  '/usr/local/include/sys/_types/_gid_t.h'
  '/usr/local/include/sys/_types/_in_addr_t.h'
  '/usr/local/include/sys/_types/_in_port_t.h'
  '/usr/local/include/sys/_types/_ino_t.h'
  '/usr/local/include/sys/_types/_ino64_t.h'
  '/usr/local/include/sys/_types/_key_t.h'
  '/usr/local/include/sys/_types/_mode_t.h'
  '/usr/local/include/sys/_types/_nlink_t.h'
  '/usr/local/include/sys/_types/_id_t.h'
  '/usr/local/include/sys/_types/_pid_t.h'
  '/usr/local/include/sys/_types/_off_t.h'
  '/usr/local/include/sys/_types/_uid_t.h'
  '/usr/local/include/sys/_types/_clock_t.h'
  '/usr/local/include/sys/_types/_ssize_t.h'
  '/usr/local/include/sys/_types/_time_t.h'
  '/usr/local/include/sys/_types/_useconds_t.h'
  '/usr/local/include/sys/_types/_suseconds_t.h'
  '/usr/local/include/sys/_types/_errno_t.h'
  '/usr/local/include/sys/_types/_fd_def.h'
  '/usr/local/include/Availability.h'
  '/usr/local/include/AvailabilityVersions.h'
  '/usr/local/include/AvailabilityInternal.h'
  '/usr/local/include/sys/_types/_fd_setsize.h'
  '/usr/local/include/sys/_types/_fd_set.h'
  '/usr/local/include/sys/_types/_fd_clr.h'
  '/usr/local/include/sys/_types/_fd_zero.h'
  '/usr/local/include/sys/_types/_fd_isset.h'
  '/usr/local/include/sys/_types/_fd_copy.h'
  '/usr/local/include/sys/_pthread/_pthread_attr_t.h'
  '/usr/local/include/sys/_pthread/_pthread_cond_t.h'
  '/usr/local/include/sys/_pthread/_pthread_condattr_t.h'
  '/usr/local/include/sys/_pthread/_pthread_mutex_t.h'
  '/usr/local/include/sys/_pthread/_pthread_mutexattr_t.h'
  '/usr/local/include/sys/_pthread/_pthread_once_t.h'
  '/usr/local/include/sys/_pthread/_pthread_rwlock_t.h'
  '/usr/local/include/sys/_pthread/_pthread_rwlockattr_t.h'
  '/usr/local/include/sys/_pthread/_pthread_t.h'
  '/usr/local/include/sys/_pthread/_pthread_key_t.h'
  '/usr/local/include/sys/_types/_fsblkcnt_t.h'
  '/usr/local/include/sys/_types/_fsfilcnt_t.h'
  '/usr/local/include/string.h'
  '/usr/local/include/strings.h'
  '/usr/local/include/secure/_strings.h'
  '/usr/local/include/secure/_common.h'
  '/usr/local/include/secure/_string.h'
  '/usr/local/include/stdlib.h'
  '/usr/local/include/sys/wait.h'
  '/usr/local/include/sys/signal.h'
  '/usr/local/include/machine/signal.h'
  '/usr/local/include/arm/signal.h'
  '/usr/local/include/machine/_mcontext.h'
  '/usr/local/include/arm/_mcontext.h'
  '/usr/local/include/mach/machine/_structs.h'
  '/usr/local/include/mach/arm/_structs.h'
  '/usr/local/include/sys/_types/_sigaltstack.h'
  '/usr/local/include/sys/_types/_ucontext.h'
  '/usr/local/include/sys/_types/_sigset_t.h'
  '/usr/local/include/sys/resource.h'
  '/usr/local/include/sys/_types/_timeval.h'
  '/usr/local/include/alloca.h'
  '/usr/local/include/sys/_types/_ct_rune_t.h'
  '/usr/local/include/sys/_types/_rune_t.h'
  '/usr/local/include/malloc/_malloc.h'
  '/usr/local/include/stdio.h'
  '/usr/local/include/_stdio.h'
  '/usr/local/include/sys/_types/_va_list.h'
  '/usr/local/include/sys/stdio.h'
  '/usr/local/include/_ctermid.h'
  '/usr/local/include/secure/_stdio.h'
  '/usr/local/include/fcntl.h'
  '/usr/local/include/sys/fcntl.h'
  '/usr/local/include/sys/_types/_o_sync.h'
  '/usr/local/include/sys/_types/_o_dsync.h'
  '/usr/local/include/sys/_types/_seek_set.h'
  '/usr/local/include/sys/_types/_s_ifmt.h'
  '/usr/local/include/sys/_types/_timespec.h'
  '/usr/local/include/sys/_types/_filesec_t.h'
  '/usr/local/include/errno.h'
  '/usr/local/include/sys/errno.h'
Target //mnist:mnist failed to build
INFO: Elapsed time: 0.365s, Critical Path: 0.23s
INFO: 11 processes: 11 internal.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

This issue has been resolved through the Discord chat, so I close it.
Thank you @hugomano .


Desktop Pin to Sidebar Pin Incorrect Folder

Description
If you sync your Desktop folder with OneDrive, pinning the Desktop folder to the sidebar still chooses C:\User<username>\Desktop in spite of it being redirected.
Steps To Reproduce
Open OneDrive folder, right click on Desktop, choose Pin to Sidebar. Click on the pin, and it takes you to the old location under C:\Users<username> instead of C:\Users<username>\OneDrive.
Requirements
Pins correct folder
Files Version
<IP_ADDRESS>
Windows Version
10.0.22635.3061
Log File
debug.log

I can't repro this issue on my side
Can you check what happens if you pin the folder from File Explorer and come back to Files?

Same thing happens to me..  exactly as described.

@tanczosm Can you check what happens if you pin the folder from File Explorer and come back to Files?


feat(vm-creation): access vm enhancements

Check that the solution works and meets the requirements.

See screenshot. This VM has a password, and by requirements, login should be root

SSH, add IPv6
Open VNC|Webshell|Open URL is a link but not a button.

Check other functionality.

Can we make the entire connection string visible at once?
It will be better if we remove such big spacing between connection strings and add some spacing before "Open" link

Check for workability by yourself before sending to the code review


godoc.org: plain text interface not working

As far as I can tell pkg.go.dev doesn't support this feature either
https://github.com/golang/gddo/wiki/Plain-Text-Interface
What did you do?
curl -H 'Accept: text/plain' https://godoc.org/math
What did you expect to see?
Plain text representation of math package
What did you see instead?
Found.

due to #43178
cc @julieqiu

due to #43178
cc @julieqiu

I noticed this too when gofind stopped working. It used godoc.org's plain text interface, and I updated it to scrape pkg.go.dev's search results HTML page for now - until pkg.go.dev gets an API (#36785).

I noticed this too when gofind stopped working. It used godoc.org's plain text interface, and I updated it to scrape pkg.go.dev's search results HTML page for now - until pkg.go.dev gets an API (#36785).


Use Spark 3 Beam runner instead of deprecated Spark 2 runner.

This change is

Handled in #1602


Investigate what on-chain events (if any) CAP needs alerting for and how to set-up that alerting

Short team solution is to use metabase pulses to a slack channel for medium severity "real-time" alerting and daily/weekly/monthly summaries. rc1_eksportisto_11 now exports all core contract events to metabase.
Opened https://github.com/celo-org/celo-monorepo/issues/6556.
Long term solution is to develop a more robust, lower latency alerting pipeline and runbook for on-call engineers to respond to and communicate about high severity on-chain events.
Opened https://github.com/celo-org/celo-monorepo/issues/6557.

Short team solution is to use metabase pulses to a slack channel for medium severity "real-time" alerting and daily/weekly/monthly summaries. rc1_eksportisto_11 now exports all core contract events to metabase.
Opened https://github.com/celo-org/celo-monorepo/issues/6556.
Long term solution is to develop a more robust, lower latency alerting pipeline and runbook for on-call engineers to respond to and communicate about high severity on-chain events.
Opened https://github.com/celo-org/celo-monorepo/issues/6557.