update kustomize example

This example fails with kpt fn render and kpt fn eval currently: https://kubernetes.slack.com/archives/C0155NSPJSZ/p1623923678034500
This is because they require all files in the directory to be valid KRM resources. For now, this PR fixes the examples.

Should add the fact that GVK needs to be specified, otherwise it can be a pitfall.

But most kustomization.yaml files in the wild do not have metadata.name set. This is actually a blocker for us considering we use many 3rd party manifests with kustomizations. Even kustomize init generates files without "metata.name" @mikebz
There are also other kind of resource files in kustomize like transformer configuration which do not even have GVK.
Also these files have no special kpt markers for set values, they are just yaml files and kpt does not have to do anything with them. This used to work until kpt v1 alpha4.

@sbellan a couple of follow up questions here:

when one uses kustomize build and then pipes the output to kpt live apply the kustomize metadata files are gone and just the raw KRM is piped to kpt.   Can you tell me a little more about what is blocking?
while @natasha41575 has updated these files to be compatible with kpt fn render the example stresses that if you do hydration with kustomize you should just stick with that.  I don't recommend mixing the hydration between the two tools. Excerpt from the readme:

kpt for packaging (kpt pkg)
kpt for actuation (kpt live)
kustomize for customization (kustomize build)

For example,
There are kustomize manifests for aws-ebs-csi-driver at https://github.com/kubernetes-sigs/aws-ebs-csi-driver/tree/master/deploy/kubernetes and we want to kustomize it further, so we end up with folder hierarchy like below in our local repo, eg. https://bitbucket.org/exampleorg/aws-ebs-csi-driver
- aws-ebs-csi-driver
  - Kptfile
  - patches/somepatch.yaml
  - kustomization.yaml (This uses overlays in upstream directory)
  - upstream (independent sub-package)
     - (Contents of `kpt pkg get<EMAIL_ADDRESS>
And when setting up a new cluster downstream consumers will do a kpt pkg get https://bitbucket.org/exampleorg/aws-ebs-csi-driver and do a kpt fn render to set some values in patches/somepatch.yaml. This is when we see the error, because some of the kustomization.yaml files under upstream directory are not well formed. I understand that we're not following the kustomzie example exactly.

I'm currently working around it by materializing the kustomization within the upstream directory into a single upstream.yaml and including it.

@sbellan thank you for the concrete example.
What about the following solution:
kpt pkg get https://github.com/kubernetes-sigs/aws-ebs-csi-driver/tree/master/deploy/kubernetes/base
Most of the kustomizations there are tags so you can do that with search and replace: https://catalog.kpt.dev/search-replace/v0.1/
So you are getting the "meat" of the configuration and avoiding fetch or running functions over metadata files like kustomization.yaml
Snapshotter and secrets are trivial and you can just have them locally.
Let me know what you think about that.

even the base directory has a kustomization.yaml file, so that would fail to on kpt fn ..., wouldn't it? Even if it did work I have to maintain those kustomizations and any future changes upstream, I wouldn't be able to get with just kpt pkg update...

I think this is where a little less understood magic of kpt comes in handy.  kpt doesn't just xcopy when you update, it actually does a 3 way merge.
Consider this:
$ kpt pkg get<EMAIL_ADDRESS>
Package "base":
Fetching<EMAIL_ADDRESS>From https://github.com/kubernetes-sigs/aws-ebs-csi-driver
 * branch            release-1.0 -> FETCH_HEAD
 * [new branch]      release-1.0 -> origin/release-1.0
Adding package "deploy/kubernetes/base".

Fetched 1 package(s).

then we should init git:
$ git init .
$ git add base
$ git commit -am "save game"
[main (root-commit) c1f2147] save game
 14 files changed, 421 insertions(+)
 create mode 100644 base/Kptfile
 create mode 100644 base/clusterrole-attacher.yaml
 create mode 100644 base/clusterrole-csi-node.yaml
 create mode 100644 base/clusterrole-provisioner.yaml
 create mode 100644 base/clusterrolebinding-attacher.yaml
 create mode 100644 base/clusterrolebinding-csi-node.yaml
 create mode 100644 base/clusterrolebinding-provisioner.yaml
 create mode 100644 base/controller-poddisruptionbudget.yaml
 create mode 100644 base/controller.yaml
 create mode 100644 base/csidriver.yaml
 create mode 100644 base/kustomization.yaml
 create mode 100644 base/node.yaml
 create mode 100644 base/serviceaccount-csi-controller.yaml
 create mode 100644 base/serviceaccount-csi-node.yaml

Now we can just remove the kustomization.yaml with "bare hands" - no need to come up with some trick, kpt will sort it out for us later.
$ git rm base/kustomization.yaml
rm 'base/kustomization.yaml'

git commit -am "kustomization is gone"
[main 6fb5dd0] kustomization is gone
 1 file changed, 14 deletions(-)
 delete mode 100644 base/kustomization.yaml

Now let's update to the new version:
$ cd base
$ ls
Kptfile					clusterrolebinding-csi-node.yaml	node.yaml
clusterrole-attacher.yaml		clusterrolebinding-provisioner.yaml	serviceaccount-csi-controller.yaml
clusterrole-csi-node.yaml		controller-poddisruptionbudget.yaml	serviceaccount-csi-node.yaml
clusterrole-provisioner.yaml		controller.yaml
clusterrolebinding-attacher.yaml	csidriver.yaml
$ kpt pkg update @release-1.1
Package "base":
Fetching upstream from<EMAIL_ADDRESS>From https://github.com/kubernetes-sigs/aws-ebs-csi-driver
 * branch            release-1.1 -> FETCH_HEAD
 * [new branch]      release-1.1 -> origin/release-1.1
Fetching origin from<EMAIL_ADDRESS>From https://github.com/kubernetes-sigs/aws-ebs-csi-driver
 * branch            7d184d104041dace4960bb89631c3ba4c4a5ab3c -> FETCH_HEAD
Updating package "base" with strategy "resource-merge".

Updated 1 package(s).

Now you would think that since 1.1 has kustomization then we will get it back, but kpt comes to the rescue and does the merging propertly for us
$ ls -al
total 200
drwx------  26 mikebz  primarygroup   832 Jul  4 17:46 .
drwxr-xr-x   4 mikebz  primarygroup   128 Jul  4 17:45 ..
-rw-------   1 mikebz  primarygroup   456 Jul  4 17:46 Kptfile
-rw-r--r--   1 mikebz  primarygroup   798 Jul  4 17:46 clusterrole-attacher.yaml
-rw-r--r--   1 mikebz  primarygroup   320 Jul  4 17:46 clusterrole-csi-node.yaml
-rw-r--r--   1 mikebz  primarygroup  1346 Jul  4 17:46 clusterrole-provisioner.yaml
-rw-------   1 mikebz  primarygroup  1058 Jul  4 17:46 clusterrole-resizer.yaml
-rw-------   1 mikebz  primarygroup  1200 Jul  4 17:46 clusterrole-snapshot-controller.yaml
-rw-------   1 mikebz  primarygroup   846 Jul  4 17:46 clusterrole-snapshotter.yaml
-rw-r--r--   1 mikebz  primarygroup   469 Jul  4 17:46 clusterrolebinding-attacher.yaml
-rw-r--r--   1 mikebz  primarygroup   460 Jul  4 17:46 clusterrolebinding-csi-node.yaml
-rw-r--r--   1 mikebz  primarygroup   481 Jul  4 17:46 clusterrolebinding-provisioner.yaml
-rw-------   1 mikebz  primarygroup   465 Jul  4 17:46 clusterrolebinding-resizer.yaml
-rw-------   1 mikebz  primarygroup   506 Jul  4 17:46 clusterrolebinding-snapshot-controller.yaml
-rw-------   1 mikebz  primarygroup   481 Jul  4 17:46 clusterrolebinding-snapshotter.yaml
-rw-r--r--   1 mikebz  primarygroup  4510 Jul  4 17:46 controller.yaml
-rw-r--r--   1 mikebz  primarygroup   274 Jul  4 17:46 csidriver.yaml
-rw-r--r--   1 mikebz  primarygroup  3548 Jul  4 17:46 node.yaml
-rw-------   1 mikebz  primarygroup   389 Jul  4 17:46 poddisruptionbudget-controller.yaml
-rw-------   1 mikebz  primarygroup   413 Jul  4 17:46 poddisruptionbudget-snapshot-controller.yaml
-rw-------   1 mikebz  primarygroup   441 Jul  4 17:46 role-snapshot-controller-leaderelection.yaml
-rw-------   1 mikebz  primarygroup   516 Jul  4 17:46 rolebinding-snapshot-controller-leaderelection.yaml
-rw-r--r--   1 mikebz  primarygroup   372 Jul  4 17:46 serviceaccount-csi-controller.yaml
-rw-r--r--   1 mikebz  primarygroup   225 Jul  4 17:46 serviceaccount-csi-node.yaml
-rw-------   1 mikebz  primarygroup   252 Jul  4 17:46 serviceaccount-snapshot-controller.yaml
-rw-------   1 mikebz  primarygroup  1084 Jul  4 17:46 snapshot_controller.yaml

Thanks @mikebz for taking the time for showing a workaround.

@mikebz also https://github.com/GoogleContainerTools/kpt/issues/517 should help a lot in this case, where I can mark the upstream folder as ignored, correct?

Thanks for sharing the scenario in detail @sbellan. I have some followup questions:

And when setting up a new cluster downstream consumers will do a kpt pkg get https://bitbucket.org/exampleorg/aws-ebs-csi-driver and do a kpt fn render to set some values in patches/somepatch.yaml.

Can you describe a bit more on the flow of setting the values from package consumer point of view ? (possibly with the Kptfile and somepatch.yaml in the package you have)

Kptfile,
apiVersion: kpt.dev/v1
kind: Kptfile
metadata:
  name: aws-ebs-csi-driver
info:
  description: sample description
pipeline:
  mutators:
    - image: gcr.io/kpt-fn/apply-setters:v0.1
      configMap:
        cluster-name: something-else
        ebs-csi-iam-role: ebs-csi-iam-role

patches/ebs-csi-controller.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ebs-csi-controller
  namespace: kube-system
spec:
  template:
    spec:
      containers:
        - name: ebs-plugin
          args:
            # - {all,controller,node} # specify the driver mode
            - --endpoint=$(CSI_ENDPOINT)
            - --logtostderr
            - --v=5
            - --k8s-tag-cluster-id=$(CLUSTER_NAME)
            - --extra-tags=cluster=$(CLUSTER_NAME)
          env:
            - name: CLUSTER_NAME
              value: "TBD" # kpt-set: ${cluster-name}

patches/service-account-patch.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: ebs-csi-controller-sa
  namespace: kube-system
  annotations:
    eks.amazonaws.com/role-arn: "ebs-csi-iam-role" # kpt-set: ${ebs-csi-iam-role}

Original kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
bases:
  - upstream/overlays/alpha
resources:
  - Kptfile
patches:
  - path: patches/service-account-patch.yaml
  - path: patches/ebs-csi-controller.yaml

Workaround kustomization.yaml (materialized upstream/overlays/alpha into upstream/upstream.yaml)
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
metadata:
  name: kustomization
resources:
  - Kptfile
  - upstream/upstream.yaml
patches:
  - path: patches/service-account-patch.yaml
  - path: patches/ebs-csi-controller.yaml

Thanks @sbellan for sharing the resource YAMLs. Adding following .krmignore file locally in upstream sub package will solve your use-case. The .krmignore instructs kpt to ignore these patterns in function execution.
# upstream/.krmignore

*kustomization.yaml
values/*.yaml

Note, you can add metadata.name to your local kustomization.yaml to avoid that error.
Here is the output:
~/go/bin/kpt fn render
Package "aws-ebs-csi-driver/upstream":
Package "aws-ebs-csi-driver":
[RUNNING] "gcr.io/kpt-fn/apply-setters:v0.1"
[PASS] "gcr.io/kpt-fn/apply-setters:v0.1"
  Results:
    [INFO] set field value to "something-else" in file "patches/ebs-csi-controller.yaml" in field "spec.template.spec.containers[0].env[0].value"
    [INFO] set field value to "ebs-csi-iam-role" in file "patches/service-account-patch.yaml" in field "metadata.annotations.eks.amazonaws.com/role-arn"

Successfully executed 1 function(s) in 2 package(s).

Hope this helps.
@sbellan I have a few more questions and would like to have a brief chat on either Slack or a video call. Let me know what is the best way to reach you. Thanks

Thanks Sunil. That is good to know and should work nicely for us.
You can find me on Kubernetes Slack with the id 'Bellan'. Is your id
'droot'?
Regards
On Thu, Jul 8, 2021 at 3:04 PM Sunil Arora @.***> wrote:

Thanks @sbellan https://github.com/sbellan for sharing the resource
YAMLs. Adding following .krmignore file locally in upstream sub package
will solve your use-case. The .krmignore instructs kpt to ignore these
patterns in function execution.
upstream/.krmignore
kustomization.yamlvalues/.yaml
Note, you can add metadata.name to your local kustomization.yaml to avoid
that error.
Here is the output:
~/go/bin/kpt fn render
Package "aws-ebs-csi-driver/upstream":
Package "aws-ebs-csi-driver":
[RUNNING] "gcr.io/kpt-fn/apply-setters:v0.1"
[PASS] "gcr.io/kpt-fn/apply-setters:v0.1"
Results:
[INFO] set field value to "something-else" in file "patches/ebs-csi-controller.yaml" in field "spec.template.spec.containers[0].env[0].value"
[INFO] set field value to "ebs-csi-iam-role" in file "patches/service-account-patch.yaml" in field "metadata.annotations.eks.amazonaws.com/role-arn"
Successfully executed 1 function(s) in 2 package(s).
Hope this helps.
@sbellan https://github.com/sbellan I have a few more questions and
would like to have a brief chat on either Slack or a video call. Let me
know what is the best way to reach you. Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleContainerTools/kpt/pull/2270#issuecomment-876775287,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADIWUVVTMMXBOW7ZMJYQJTTWYOHNANCNFSM464IYAEA
.


The order of the values in crateDB

I am working with agent OPC-UA with Fiware and persisting values with Quantum Leap.
I send in individual data to the agent, but the relationship in the table in crateDB is not correct.
For example, I send these values:

In crateDB shows:

current_a_rms does not match the expected value
How can I implement it?
Thank you for your time,
Isabel

hi @IsabelManiega is the problem the precision, or the value?
if the problem is the value, I doubt the problem is quantumleap, but probably the values that are notified to it from orion.
(and you can check what are the message received in the logs). if the problem is related to the precision, this essentially is related to the mapping from the NGSI model to the CRATE one. for this we will need to change the mapping in the code.
currently we map numbers to REAL, which is single precision:
https://crate.io/docs/crate/reference/en/4.7/general/ddl/data-types.html
cheers,


[gotostage] Add GoToStage extractor

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[x] New extractor
[ ] New feature

Description of your pull request and other information
GoToStage is platform for recordings of Webinars. I added an extractor to download a video.
There is a page for all videos. I used a specific video for testing.

Read coding conventions.

@dstftw Sorry, I misunderstood some things. I fixed it and hope you are more satisfied now.

Will this one be committed?

@jbman11 This extractor is now merged into yt-dlp. See https://github.com/yt-dlp/yt-dlp/pull/883


Serving large response via context.result(stream) is very CPU-consuming

When I try to serve a very large result using streams in Javalin, the write method take a huge cpu share. This causes the download rate to be limited to around 100 MB/s. Here is the stack trace:
java.lang.Thread.State: RUNNABLE
at io.javalin.http.OutputStreamWrapper.write(JavalinResponseWrapper.kt:110)
at java.io.OutputStream.write(OutputStream.java:116)
at io.javalin.http.OutputStreamWrapper.write(JavalinResponseWrapper.kt:93)
at kotlin.io.ByteStreamsKt.copyTo(IOStreams.kt:108)
at kotlin.io.ByteStreamsKt.copyTo$default(IOStreams.kt:103)
at io.javalin.http.JavalinResponseWrapper.write(JavalinResponseWrapper.kt:46)
at io.javalin.http.JavalinServlet.service(JavalinServlet.kt:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at io.javalin.websocket.JavalinWsServlet.service(JavalinWsServlet.kt:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:569)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at io.javalin.core.JavalinServer$start$wsAndHttpHandler$1.doHandle(JavalinServer.kt:49)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:507)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1292)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:173)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:501)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
at org.eclipse.jetty.server.HttpChannel$$Lambda$51/1263904127.dispatch(Unknown Source)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:135)
at org.eclipse.jetty.io.ManagedSelector$$Lambda$33/1791045777.run(Unknown Source)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
at java.lang.Thread.run(Thread.java:748)

@shahrivari Looks about 100mb/s here too, but I'm not seeing Java use much CPU. On my machine, chrome is using 30% though while IDEA/Java is using 10% (which is still a lot, I guess).
It's worth noting that this behaves exactly the same when serving a large static file, so it's not related to ctx.result(stream), but rather JavalinResponseWrapper.write (which writes all responses).
I'm not sure if this is an actual problem, I'll try to setup raw Jetty to see how that performs.

Seeing about the same results when just doing
val bigFile = File("javalin/src/test/resources/deleteme/5gb.txt")
val stream: InputStream = FileInputStream(bigFile)
stream.copyTo(ctx.res.outputStream)

So I'm not sure there's much we can do here.

@shahrivari  Are you using Gzip or HTTPs from inside Javalin? That could be a contributor to the overall CPU usage.

@shahrivari Are you using Gzip or HTTPs from inside Javalin? That could be a contributor to the overall CPU usage.

@TareqK No, I use plain HTTP:

GET /objects/alaki/1 HTTP/1.1
Host: localhost:7000
User-Agent: curl/7.47.0
Accept: /

< HTTP/1.1 200 OK
< Date: Sun, 15 Nov 2020 11:04:17 GMT
< Content-Type: application/x-www-form-urlencoded
< Content-Encoding: identity
< Last-Modified: Thu, 12 Nov 2020 16:30:12 GMT
< Age: 239645
< Content-Length:<PHONE_NUMBER>

Seeing about the same results when just doing
val bigFile = File("javalin/src/test/resources/deleteme/5gb.txt")
val stream: InputStream = FileInputStream(bigFile)
stream.copyTo(ctx.res.outputStream)

So I'm not sure there's much we can do here.

Let me explain a little more:
I am writing a simple restful storage system using Javalin. I managed to handle range requests using HTTP Range header.
As a benchmark I used curl to upload a 2GB file to the server and server is fine although it uses about 10% of my 4-core CPU.
However, when I try to download the 2GB file from the server  I have about 80% CPU usage just in Java (I checked that via VisualVM). When I tracked the issue using profiler, it seems that io.javalin.http.OutputStreamWrapper.write(JavalinResponseWrapper.kt:110) takes most the CPU.
Maybe the main cause is from the write method of OutputStream which writes the response byte by byte.
Is there anyway to do this using nio? I think the blocking IO causes huge CPU usage.

@shahrivari as far as I know, Jetty uses NIO even if the Servlet lifecycle is blocking. If you can get this working to your satififaction in plain Jetty, let's see if we can use that improve anything Javalin does. I'll close the issue now, as I didn't see any performance difference between Javalin and just Jetty here.


Text clipped for tab with long text

i has this one control with the width of the screen's width, thus making the text clipped, which i want to avoid. Possible to make it scrollable horizontally?

Are you talking about being able to scroll to fit more sections or about scrolling the text inside a section?

Being able to scroll the segment control to fit more tabs. Is it already applicable or did i post this in the wrong section ?


RGB light strip, "category": "dj", doesn't have the same bightness value has the APP

Describe the bug
In HA, Im trying to set up the bightness to 100%. Either through the Card or the light.turn_on Service.
In the App TUYA and the actual RGB light, it tops at 26%
Expected behavior
Same value in HA, the app and the RGB Strip
Home Assistant Version

2021.6.6

Device info:
{
"active_time":<PHONE_NUMBER>,
"biz_type": 0,
"category": "dj",
"create_time":<PHONE_NUMBER>,
"icon": "smart/icon/ay15281362075689iOHb/934c994f918f7e8dd53115361d572e7d.png",
"id": "eb4fc9154ac34c9c0caq86",
"ip": "xx",
"lat": "xx",
"local_key": "xx",
"lon": "xx",
"name": "Living Room - RGB ",
"online": true,
"owner_id": "xx",
"product_id": "vcbqnvbte1onz4ag",
"product_name": "50115 - V5",
"status": [
{
"code": "switch_led",
"value": true
},
{
"code": "work_mode",
"value": "colour"
},
{
"code": "bright_value_v2",
"value": 1000
},
{
"code": "colour_data_v2",
"value": "{"h":360,"s":1000,"v":255}"
},
{
"code": "scene_data_v2",
"value": "{"scene_num":4,"scene_units": [...]},
{
"code": "countdown_1",
"value": 0
},
{
"code": "control_data",
"value": ""
}
],
"sub": false,
"time_zone": "-04:00",
"uid": "xxxx",
"update_time":<PHONE_NUMBER>,
"uuid": "xxxxx"
}

I have the same problem with tuya bulb. the brightnes goes only to 65%. In tuya app it goes to 100%.


ocamlPackages.optint: 0.0.3 -> 0.0.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/ocaml4.10.0-optint/versions.
meta.description for ocamlPackages.optint is: "Abstract type of integer between x64 and x86 architecture"
meta.homepage for ocamlPackages.optint is: "https://github.com/mirage/optint"
meta.changelog for ocamlPackages.optint is: ""
Updates performed

Version update

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.0.4 with grep in /nix/store/5bandaagxrv2b352vp9jvr39hckhng6v-ocaml4.10.0-optint-0.0.4

directory tree listing: https://gist.github.com/ee089da1e6a834001273dc81dfd9ac7b

du listing: https://gist.github.com/6221bd796879da05e27827af1ed9b2d9

Rebuild report (if merged into master) (click to expand)

135079 total rebuild path(s)

39282 package rebuild(s)

39134 x86_64-linux rebuild(s)
34640 i686-linux rebuild(s)
27306 x86_64-darwin rebuild(s)
33998 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath

AMB-plugins
AusweisApp2
CoinMP
DisnixWebService
EBTKS
EmptyEpsilon
FIL-plugins
Fabric
LAStools
LASzip
LASzip2
Literate
MIDIVisualizer
MMA
NSPlist
OSCAR
OVMF
OVMF-CSM
OVMF-secureBoot
PlistCpp
QuadProgpp
R
SDL
SDL2
SDL2_gfx
SDL2_image
SDL2_mixer
SDL2_net
SDL2_ttf
SDL_Pango
SDL_gfx
SDL_gpu
SDL_image
SDL_mixer
SDL_net
SDL_sixel
SDL_sound
SDL_stretch
SDL_ttf
SPAdes
SkypeExport
Sylk
Xaw3d
_0x0
_1oom
_1password
_1password-gui
_2048-in-terminal
_20kly

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5bandaagxrv2b352vp9jvr39hckhng6v-ocaml4.10.0-optint-0.0.4 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ocamlPackages.optint https://github.com/r-ryantm/nixpkgs/archive/8d623c6312d9604d387c63dea7778e797d111403.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5bandaagxrv2b352vp9jvr39hckhng6v-ocaml4.10.0-optint-0.0.4
ls -la /nix/store/5bandaagxrv2b352vp9jvr39hckhng6v-ocaml4.10.0-optint-0.0.4/bin

Pre-merge build results
NixPkgs review skipped

Maintainer pings
cc @vbgl for testing.

cc @vbgl I believe this is the rare auto update which can be merged.


Fix/update title case

:tada: This PR is included in version 0.3.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Implement pc_ChargeCurrLim and pc_DrawCurrLim

Add functionality to support pc_ChargeCurrLim and pc_DrawCurrLim

[ ] pbcmd
[ ] PowerController (https://github.com/osrf/buoy_sim/issues/86)
[ ] ElectroHydraulicPTO (https://github.com/osrf/buoy_sim/issues/86)

todo: add more details to this issue

Low priority, no-op controller is sufficient for now.


Add join our mailing list capacity to website

@davelandry looking into HubSpot Free Marketing tools - for now leaving info how to connect my account here:
I'd like to install this HubSpot tracking code on our site to start collecting more contacts.
You can read more about it here: https://www.hubspot.com/products/marketing/free
They have documentation that you might find helpful here: https://knowledge.hubspot.com/articles/kcs_article/reports/how-to-install-your-hubspot-tracking-code-on-an-external-website-with-marketing-free-and-starter

Thanks!


Event for animations and dragging

Describe the feature in detail (code, mocks, or screenshots encouraged)
The component already has onDrag callback which reports percentage of dragging, but I need to get currently visible portion of drawer on screen, including all animations and dragging
What type of pull request would this be?
New Feature
Provide relevant links or additional information.
No response

Here is a temporary patch for 0.3.2 version. It requires bezier-easing package from npm in order to run CSS cubic-bezier transitions in js, so just install it on your project where you use vaul-svelte. You can apply the patch by placing it to<EMAIL_ADDRESS>directory and running bun install. Then use onDrag prop on Drawer.Root with percentage argument on callback:
<Drawer.Root onDrag={(_, p) => console.log('progress in range [0-1]', p)} />

diff --git a/dist/internal/vaul.js b/dist/internal/vaul.js
index 6ced7405f010443705cbfef58060d050994842f6..584eb6161b4f95a5027d51acb015a4f119c17602 100644
--- a/dist/internal/vaul.js
+++ b/dist/internal/vaul.js
@@ -5,6 +5,24 @@ import { isIOS, preventScroll } from "./prevent-scroll.js";
 import { TRANSITIONS, VELOCITY_THRESHOLD } from "./constants.js";
 import { handleEscapeKeydown } from "./escape-keydown.js";
 import { handlePositionFixed } from "./position-fixed.js";
+import bezierEasing from 'bezier-easing'
+function animateTransition(callback, from, to) {
+    const startTime = performance.now()
+    const durationMs = TRANSITIONS.DURATION * 1000
+    const easing = bezierEasing(...TRANSITIONS.EASE)
+    function step(currentTime) {
+        const elapsed = currentTime - startTime
+        const progress = Math.min(elapsed / durationMs, 1)
+        const easedProgress = easing(progress)
+
+        callback(from + easedProgress * (to - from))
+
+        if (elapsed < durationMs) {
+            requestAnimationFrame(step)
+        }
+    }
+    requestAnimationFrame(step)
+}
 const CLOSE_THRESHOLD = 0.25;
 const SCROLL_LOCK_TIMEOUT = 100;
 const BORDER_RADIUS = 8;
@@ -419,6 +437,12 @@ export function createVaul(props) {
         if (!$drawerRef)
             return;
         const $direction = get(direction);
+        const drawerStyles = window.getComputedStyle($drawerRef)
+        const drawerOffsetFromSnapPoint = new DOMMatrix(drawerStyles.transform).m42
+        const drawerHeight = parseFloat(drawerStyles.height)
+        animateTransition(x => {
+            onDragProp?.(undefined, x / drawerHeight)
+        }, drawerOffsetFromSnapPoint, drawerHeight)
         onClose?.();
         set($drawerRef, {
             transform: isVertical($direction)
@@ -469,6 +493,12 @@ export function createVaul(props) {
             transform: "translate3d(0, 0, 0)",
             transition: `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`,
         });
+        const drawerStyles = window.getComputedStyle($drawerRef)
+        const drawerOffsetFromSnapPoint = new DOMMatrix(drawerStyles.transform).m42
+        const drawerHeight = parseFloat(drawerStyles.height)
+        animateTransition(x => {
+            onDragProp?.(undefined, x / drawerHeight)
+        }, drawerOffsetFromSnapPoint, 0)
         set($overlayRef, {
             transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`,
             opacity: "1",
@@ -566,6 +596,14 @@ export function createVaul(props) {
         }
         openTime.set(new Date());
         scaleBackground(true, props.backgroundColor);
+        setTimeout(() => {
+            const $drawerRef = get(drawerRef);
+            const drawerStyles = window.getComputedStyle($drawerRef)
+            const drawerHeight = parseFloat(drawerStyles.height)
+            animateTransition(x => {
+                onDragProp?.(undefined, 1 - (x / drawerHeight))
+            }, 0, drawerHeight)
+        }, 0)
     });
     effect([visible], ([$visible]) => {
         if (!$visible)


Embed Gist show in a wrong style

When I add embed gist in my MD file, the compiled page cannot show it correctly.
For Example:
Liz Rice 的代码如下：

<script src="https://gist.github.com/julz/c0017fa7a40de0543001.js"></script>

The compiled page shows that the gist style .gist .blob-num {width: 1%;} conflicted with the style .post .post-content .highlight td {width: 100%;} in _code.scss:72.

Fixed. Feel free to reopen if there are still problems.


fix: invisible transformer rotation handle preventing moving plants

Transformer rotation handle can no longer be selected on the map. Moving any selection of plants now always succeeds.
Closes #1013

Basics

[x] I added a line to changelog.md
[x] The PR is rebased with current master.

[x] References to issues, e.g. close #X, are in the commit messages and changelog.
[x] The buildserver is happy.

Checklist

[ ] I have installed and I am using pre-commit hooks
[ ] I fully described what my PR does in the documentation
[ ] I fixed all affected documentation
[ ] I fixed the introduction tour
[ ] I wrote migrations in a way that they are compatible with already present data
[ ] I fixed all affected decisions
[ ] I added automated tests or a manual test protocol
[ ] I added code comments, logging, and assertions as appropriate
[ ] I translated all strings visible to the user
[ ] I mentioned every code or binary not directly written or done by me in reuse syntax
[ ] I created left-over issues for things that are still to be done
[ ] Code is conforming to our Architecture
[ ] Code is conforming to our Guidelines
[ ] Code is consistent to our Design Decisions
[ ] Exceptions to any guidelines are documented

Review

[ ] I've tested the code
[ ] I've read through the whole code
[ ] I've read through the whole documentation
[ ] I've checked conformity to guidelines

Great job! :heart:


[TrapFocus] Increase interval to be less noticeable

Tweak the interval duration to still be short enough for a user to recover his keyboard navigation when a focused DOM node is unmounted while being long enough not to create too much noise in the dev tools when investigating a performance issue.
Before

After

Related to #16585

@eps1lon The assumption is that we are still within the range that has a negligible effect in production: The average reaction time for humans is 250ms to a visual stimulus. So assuming the first reaction of a DOM node that is unmounted from the dom is to press tab, I wouldn't expect the user to notice it. Regarding the considered case, it concerns anyone that wants to understand a performance issue with the TrapFocus mounted, Modal, Menu, DatePicker, etc.


Display the data-caption or figcaption.

Hi. I am trying to implement the baguetteBox for a photo gallery. If I want to display the captions only when is displayed the big image, how can I do it?
I saw the baguetteBox.css file and there is one class for the figcaption
#baguetteBox-overlay .full-image figcaption {
display: block;
position: absolute;
----AND SO ON....
}
But how is this related to the html elements? I tried styling the figcaption but nothing. Even foir the IDs we have to guess that they are applied for naming conventions but in the HTML doesn't say that in "that DIV" was applied some "id".
In the available templates, I don't see any "div#baguetteBox..."
Or first of all we have to apply these IDs # to the html tags?
I used "title" and "data-caption" and I get the "caption" but in the middle of the picture. And I have loaded all styles and JS of baguetteBox, including the jQuery and Bootstrap. Everything is working fine, except this issue of the caption.
So, if there is a figcaption declared... am I using it wrong maybe? Below is my code:

Bootstrap 3 Gallery
Grid Layout With Zoom Effect

//AND SO ON.....
SECOND OPTION OF THE LINK:

Description of this picture
-----------------------------------------------------
Instead of "title", I've been using "data-caption" and also I am referencing to the same file for the big display picture as well as for the small thumbnail.
I focused on this:
 #baguetteBox-overlay .full-image figcaption {
      display: block;
      position: absolute;
      bottom: 0;
      width: 100%;
      text-align: center;
      line-height: 1.8;
      white-space: normal;
      color: #ccc;
      background-color: #000;
      background-color: rgba(0, 0, 0, 0.6);
      font-family: sans-serif; }
But doesn't work.
Any ideas, please.

Hi, I first implemented this with the help of a CS professor. Maybe you could see how I implemented it and get yours to work. I didn't have to do anything special to get the captions to show up properly except for a couple additions to get them to start on the edge of the screen and have some padding.
i.e.
#baguetteBox-overlay .full-image figcaption {
left: 0;
padding: 1rem .5rem 1.5rem .5rem;
}
An example of a page from my portfolio site with a gallery that is set up for baguette box:
baguette box supported gallery page and css.zip
You can view this in action here:
https://giovanniroverso.com/g_gal.php


Crafting Troubles Meta-Issue

This is a meta-issue to direct all general trouble with crafting item scripts into.
The general intended solution at the moment is to rework the item script crafting system to be driven by NMS interop with the native minecraft crafting system.
Should fix all the issues with the weird janked-on event-driven crafting system we currently use.

See my post tat bottom of #1764 for notes on how to implement.

Is this still in progress?
It's a major bug. And it makes our server (on them I'm working with Goma) still unplayable.

Done!


name: Aniruddha Roy

name: Aniruddha Roy
github_user_name: ani3321r

forked-repo: https://github.com/ani3321r/oss101


Ploting

How to save the plot offline without using wandb

There's not a great way to do this built in, because I used wandb from the beginning. Simplest way to do this I can think off is to make sure you installed the repo as editable (pip install -e .) and then change the code where it is saved to the wandb logger to instead save to disk:
https://github.com/QData/spacetimeformer/blob/efff49aea19eb9d6f6643aafa4916aa387893d84/spacetimeformer/plot.py#L92-L97


[test-only]web commit update

related https://github.com/owncloud/web/pull/10776 and https://github.com/owncloud/ocis/issues/8731

@2403905 @JammingBen we should do new v9.0.0-alpha.5 to make CI happy

close to favor https://github.com/owncloud/ocis/pull/8868
thanks @JammingBen


Add struct extension

It simply infers a hash schema from a struct. More complex scenarios are not supported, there are reasons for this. In future, we plan to infer structs from schema definition, similarly to how it works in rom.

More complex scenarios are not supported

@flash-gordon could you give a couple of examples? 🤔

@solnic it's something insane like value(StructOne, StructTwo) or
required(:foo).value(User) do
  require(:i_have_no_idea_what_im_doing).value(:string)
end

@flash-gordon 😆 then we're fine


test_replay.cc: temporarily comment out the rand seek test

Can you revert the disable commit to the CI config?

Let's also make sure to re-run CI a few times to ensure it doesn't randomly fail before merging.


skipDocumentsValidation is missing in CodegenConfig

Which packages are impacted by your issue?
@graphql-codegen/cli
Describe the bug
The docs clearly state that a skipDocumentsValidation attribute should be available in the config but this is not a part of the CodegenConfig type and when added this config setting is completely ignored.
Your Example Website or App
https://codesandbox.io/p/devbox/vibrant-lake-y7dmnw
Steps to Reproduce the Bug or Issue

Go to any codegen.ts in your repo using codegen
Try to add skipDocumentsValidation
💥

Expected behavior
The skipDocumentsValidation to work and ignore certain rules.
Screenshots or Videos
No response
Platform

OS: [e.g. macOS, Windows, Linux]
NodeJS: [e.g. 18.5.0]
graphql version: [e.g. 16.3.0]
@graphql-codegen/* version(s): [e.g. 2.6.2]

Codegen Config File
import { CodegenConfig } from "@graphql-codegen/cli";

const config: CodegenConfig = {
  schema: "schema.graphql",
  documents: "document.graphql",
  skipDocumentsValidation: {
    ignoreRules: ["OverlappingFieldsCanBeMergedRule"],
  },
  generates: {
    "types.ts": { plugins: ["typescript", "typescript-operations"] },
  },
};

export default config;

Additional context
Being able to do this would fix a lot other issues like #2781

@thomasverleye were you able to get around this?

@thomasverleye were you able to get around this?

Yes apparently it were unclear docs, mentioned how to fix it here: https://github.com/dotansimha/graphql-code-generator/issues/2781#issuecomment-2033077079


Plugin incompatible with the new build found: Lombok Plugin --- IDEA 2019.1 UPDATE

Update anyway then immediately update plugins which will load the Lombok plugin marked compatible with 2019.1

Sorry, because of my net , i can not check update of this plugin in the market.
So can you tell me  where i can download it directly ?

Sorry, because of my net , i can not check update of this plugin in the market.
So can you tell me where i can download it directly ?

更新还没出来 我退回到2018.3.6了

Sorry, because of my net , i can not check update of this plugin in the market.
So can you tell me where i can download it directly ?

更新还没出来 我退回到2018.3.6了

我在 Realease 中找到了 ：0.23-EAP

Sorry, because of my net , i can not check update of this plugin in the market.
So can you tell me where i can download it directly ?

更新还没出来 我退回到2018.3.6了

我在 Release 中找到了 ：0.23-EAP

看来还是不是正式版,jetbrain的插件市场没有最新的,无奈

It is now possible to update the Lombok plug-in version to 0.23-EAP in IDEA, adapting to IDEA version 2019.1. @davichi11

After update IDEA -> update Lombok.


Fix the thread safety issue for mutable forward index

Solve #11311
Use CopyOnWriteArrayList to maintain the reader list.

Codecov Report

Merging #11392 (5a737d2) into master (a5a1641) will decrease coverage by 46.85%.
Report is 1 commits behind head on master.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master   #11392       +/-   ##
=============================================
- Coverage     61.42%   14.58%   -46.85%
+ Complexity     6512      495     -6017
=============================================
  Files          2234     2159       -75
  Lines        120158   116964     -3194
  Branches      18239    17787      -452
=============================================
- Hits          73811    17059    -56752
- Misses        40918    98489    +57571
+ Partials       5429     1416     -4013

Flag
Coverage Δ

integration1
?

integration2
?

java-11
?

java-17
?

java-20
14.58% <0.00%> (-46.71%)
:arrow_down:

temurin
14.58% <0.00%> (-46.85%)
:arrow_down:

unittests1
?

unittests2
14.58% <0.00%> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

...e/impl/forward/FixedByteMVMutableForwardIndex.java
0.00% <0.00%> (-70.79%)
:arrow_down:

...e/impl/forward/FixedByteSVMutableForwardIndex.java
0.00% <0.00%> (-96.43%)
:arrow_down:

... and 1471 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Implement JUnit reporter plugin

So simplify integration with Java-based CI (Teamcity, Jenkins, Hudson etc)
we need to implement build-in JUnit  reporter plugin.

We have xunit reporter that is pretty much it.


Greedy ImageSequence encoding

With the current interface, unless I'm missing something obvious, there is no way of eagerly encoding an image without an ImageSequence<T> of completed frames. This is somewhat of an issue, as frames get unreasonably large unreasonably quickly when dealing with raw RGB[A] frames as two seconds of 1080p frames is just a hair under a GB in size.
Ideally, I would like a way to push frames to be encoded, and avoid 30GB worth of frames sitting in memory before being encoded as a final step.

added in ril v0.10 (https://github.com/jay3332/ril/commit/211eec45ccd01121df3452d767af6a35815b371b)


Expose MultiExponentiation Method

This PR publishes a new method in the NBitcoin.Secp256k1 library. This is necessary for WabiSabi because it implements a range proof algorithm that involves tens of group element multiplications that makes the algorithm performance really bad. With this exposed method the performance is 10x faster:
|   Method | count |         Mean |      Error |       StdDev |       Median | Rank |
|--------- |------ |-------------:|-----------:|-------------:|-------------:|-----:|
| MultiExp |     2 |     64.03 us |   2.127 us |     5.965 us |     62.15 us |    1 |
| ExpMulti |     2 |    745.40 us |  16.678 us |    46.768 us |    728.23 us |    3 |
| MultiExp |    10 |    251.95 us |   4.753 us |     4.668 us |    251.49 us |    2 |
| ExpMulti |    10 |  3,640.58 us |  51.402 us |    42.923 us |  3,633.79 us |    5 |
| MultiExp |   100 |  2,686.49 us |  57.672 us |   167.318 us |  2,632.45 us |    4 |
| ExpMulti |   100 | 36,844.23 us | 720.093 us | 1,503.102 us | 36,264.07 us |    6 |

MultiExp is multiexponentiation(IE<Scalar> ns, IE<GEJ> gs)
ExpMulti is n0 *G0 + n1 * G1 + ....+ nn * Gn

@nothingmuch could you take a look at this?

Umm I am hunting a problem. Please DO NOT merge

This PR makes no sense.


Not able to add RR to zone

Hi there,
first: Thanks for the plugin. Really nice and easy to get to work.
But I think I found a bug: Currently it is impossible to create records for a zone itself. Only for subdomains.
Based on your examples I am using foo.example.org as zone name.
When a request for "test.foo.example.org" is received, the completed name ist "test.foo.example.org."
"." + Zonename (".foo.example.org.") is stripped out. Thats right.
So the query is:

SELECT name, zone, ttl, record_type, content FROM coredns_records WHERE zone = 'foo.example.org.' AND name = 'test' AND record_type IN ('A')

But when you do a request for "foo.example.org" also ".foo.example.org." is tried to stripped out. This fails of course. The final query is:

SELECT name, zone, ttl, record_type, content FROM coredns_records WHERE zone = 'foo.example.org.' AND name = 'foo.example.org.' AND record_type IN ('A')

This does not find any records. If I try to use the data like in the query given the result will be for "foo.example.org.foo.example.org" which also causes an error.
I think the easiest solution is to set the name empty if the name matches the zone.
Thanks and greetings from Germany
Lukas

Thank you @muellerlukas for the report and suggestion. Given the differences in the queries based on clients, we're going to review this further to make sure your suggested fix is not breaking other apex queries.

+1 for that issue, having the same problem


Update to 1.20.4

Changes

Updated Gradle Wrapper
Updated Minecraft, Fabric and Loom versions to latest
Bumped version to 1.1.0

lgtm


Error when install

I upload sourcecode to my server, modify and application/config/config.php $config['base_url'] = 'http://mywebsite.com'; and application/config/database.php
After I create a database with name gpon_git and import database gpon_git.sql into database.
I try access to http://mywesite.com, this error display. Please, help me this solve. Thanks
Not Found
The requested URL /auth/login was not found on this server.

A PHP Error was encountered
Severity: Compile Error
Message: Can't use method return value in write context
Filename: controllers/Device.php
Line Number: 443
Backtrace:
Please help me. Thanks

I upload sourcecode to my server, modify and application/config/config.php $config['base_url'] = 'http://mywebsite.com'; and application/config/database.php
After I create a database with name gpon_git and import database gpon_git.sql into database.
I try access to http://mywesite.com, this error display. Please, help me this solve. Thanks
Not Found
The requested URL /auth/login was not found on this server.

I think you dont enable rewrite on you http server. please read https://codeigniter.com/user_guide/general/urls.html

Can't use method return value in write context

I think your PHP version is old. Please use new version of PHP.
empty() needs to access the value by reference (in order to check whether that reference points to something that exists), and PHP before 5.5 didn't support references to temporary values returned from functions.

@alexlansovich This project is looking good, can you contact me on telegram ? Here is my username @jozefrebjak on telegram. Are you using only Bridged ONT's. What about HomeGateway ONT's with a TR069 provisioned through ACS server ?

I have problem with snmp error where is problem, please

I have problem with snmp error where is problem, please
What type of problem?

A PHP Error was encountered
Severity: Error
Message: Call to undefined function snmp_set_quick_print()
Filename: models/Snmp_model.php
Line Number: 9
Backtrace:

Please install on linux "apt install php-snmp" or on centos "yum install php-snmp"

i have install ubuntu, and install mysql php, apache, but is problem in open?
in config file is path  - $config['base_url'] = 'http://<IP_ADDRESS>';
error http://<IP_ADDRESS>/auth/login
Not Found
The requested URL was not found on this server.
Apache/2.4.18 (Ubuntu) Server at <IP_ADDRESS> Port 80
where is problem

I think you dont enable rewrite on you http server. please read https://codeigniter.com/user_guide/general/urls.html
If your Apache server has mod_rewrite enabled, you can easily remove this file by using a .htaccess file with some simple rules. Here is an example of such a file, using the “negative” method in which everything is redirected except the specified items:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
<EMAIL_ADDRESS>

Hello, just added .htaccess and i have this issue:
No input file specified.
Can you pls help?
Also i want to know, that how can i connect working OLT with connected customers?
What should i do when i dont want to change my olt basic config pls?

Hello. You connect OLT with connected customers.
Do you use Apache?
I should view your config.
You can write me this

Hello,
this is a fresh instal, i havent connected anything. I am using virtualmin on ubuntu.
Yes I am using Apache.
<VirtualHost :80>
SuexecUserGroup "#1093" "#1089"
ServerName gpon.xxxx.net
ServerAlias www.gpon.xxxx.net
ServerAlias webmail.gpon.xxxx.net
ServerAlias admin.gpon.xxxx.net
DocumentRoot /home/gpon/public_html
ErrorLog /var/log/virtualmin/gpon.xxxx.net_error_log
CustomLog /var/log/virtualmin/gpon.xxxx.net_access_log combined
ScriptAlias /cgi-bin/ /home/gpon/cgi-bin/
DirectoryIndex index.html index.htm index.php index.php4 index.php5
<Directory /home/gpon/public_html>
Options -Indexes +IncludesNOEXEC +SymLinksIfOwnerMatch +ExecCGI
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
Require all granted
AddType application/x-httpd-php .php
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
AddHandler fcgid-script .php5.6
AddHandler fcgid-script .php7.0
FCGIWrapper /home/gpon/fcgi-bin/php5.6.fcgi .php
FCGIWrapper /home/gpon/fcgi-bin/php5.fcgi .php5
FCGIWrapper /home/gpon/fcgi-bin/php5.6.fcgi .php5.6
FCGIWrapper /home/gpon/fcgi-bin/php7.0.fcgi .php7.0

<Directory /home/gpon/cgi-bin>
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
Require all granted

RewriteEngine on
RewriteCond %{HTTP_HOST} =webmail.gpon.xxxx.net
RewriteRule ^(?!/.well-known)(.) https://gpon.xxxx.net:20000/ [R]
RewriteCond %{HTTP_HOST} =admin.gpon.xxxx.net
RewriteRule ^(?!/.well-known)(.) https://gpon.xxxx.net:10000/ [R]
RemoveHandler .php
RemoveHandler .php5
RemoveHandler .php5.6
RemoveHandler .php7.0
php_admin_value engine Off
FcgidMaxRequestLen<PHONE_NUMBER>
IPCCommTimeout 31

<VirtualHost :443>
SuexecUserGroup "#1093" "#1089"
ServerName gpon.xxxx.net
ServerAlias www.gpon.xxxx.net
ServerAlias webmail.gpon.xxxx.net
ServerAlias admin.gpon.xxxx.net
DocumentRoot /home/gpon/public_html
ErrorLog /var/log/virtualmin/gpon.xxxx.net_error_log
CustomLog /var/log/virtualmin/gpon.xxxx.net_access_log combined
ScriptAlias /cgi-bin/ /home/gpon/cgi-bin/
DirectoryIndex index.html index.htm index.php index.php4 index.php5
<Directory /home/gpon/public_html>
Options -Indexes +IncludesNOEXEC +SymLinksIfOwnerMatch +ExecCGI
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
Require all granted
AddType application/x-httpd-php .php
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
AddHandler fcgid-script .php5.6
AddHandler fcgid-script .php7.0
FCGIWrapper /home/gpon/fcgi-bin/php5.6.fcgi .php
FCGIWrapper /home/gpon/fcgi-bin/php5.fcgi .php5
FCGIWrapper /home/gpon/fcgi-bin/php5.6.fcgi .php5.6
FCGIWrapper /home/gpon/fcgi-bin/php7.0.fcgi .php7.0

<Directory /home/gpon/cgi-bin>
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
Require all granted

RewriteEngine on
RewriteCond %{HTTP_HOST} =webmail.gpon.xxxx.net
RewriteRule ^(?!/.well-known)(.) https://gpon.xxxx.net:20000/ [R]
RewriteCond %{HTTP_HOST} =admin.gpon.xxxx.net
RewriteRule ^(?!/.well-known)(.) https://gpon.xxxx.net:10000/ [R]
RemoveHandler .php
RemoveHandler .php5
RemoveHandler .php5.6
RemoveHandler .php7.0
php_admin_value engine Off
FcgidMaxRequestLen<PHONE_NUMBER>
SSLEngine on
SSLCertificateFile /home/gpon/ssl.cert
SSLCertificateKeyFile /home/gpon/ssl.key
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
IPCCommTimeout 31

It happends right after i connect it to DB

First of all you need to check - if php is working.
Make file test.php with content
You should view php information.
Then you need to setup rewrite https://codeigniter.com/userguide3/general/urls.html

Hello,
it is running on webhosting server so PHP is ok. I tryed several other php versions and i putted this lines into .htaccess file:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Ok i made a fresh install of server and it started to work. Really sorry.
But i need to know how to connect a working platform with preconfigured GEM , Service ports and working customers to not destroy it :)
What should i do pls?

You should change service ports in php(config and sql) to number higher than you have.
Create snmp on OLT, add OLT to site. Then create ports on site.

And any way to change the language to english pls?

I will translate later in next update.
I can give you all files with english. write me on mail<EMAIL_ADDRESS>

I will translate next update

We are interesado testing the collection with one We have it installed but it does not connect with the uy

We are interesado testing the connection with a new olt ,We have it installed but it does not connect with the our olt

You should create user for telnet access and snmp community
terminal user name buildrun_new_password root SOME_PASSWORD
terminal user name buildrun_new_password SOME_USER SOME_PASSWORD
snmp-agent community read SOME_COMMUNITY
snmp-agent sys-info version v2c

Hi, I'm triying to test your software but i didn't see how It works. I've installed in my server, but in the main panel i din't see whats the way I can connect to my OLT (or where i can config the IP where the OLT is located).
Can you do a little explanation on how it works? I think will be usefful for most people
** Another question, is your software capable to work with ZTE routers?
Thanks, I hope will test it

Hi, I'm triying to test your software but i didn't see how It works. I've installed in my server, but in the main panel i din't see whats the way I can connect to my OLT (or where i can config the IP where the OLT is located).
Can you do a little explanation on how it works? I think will be usefful for most people
** Another question, is your software capable to work with ZTE routers?
Thanks, I hope will test it

You should login and click main button "добавить".
Then you can set olt ip, password, snmp.
I working on new multilanguage version.


Leaderboard table view cell images switch around

Whenever you scroll through the table view, sometimes the images aren't caching properly and switch around.
Though they are random generated avatars, they switch around in a way that is unseemly of the app. Try scrolling around the leaderboard a bunch and you'll see them switch.

I think we should implement Kingfisher to fix this, which I just learned about.


Fix if-let, when-let macro backports

Allow multiple bindings in variable spec.
Declare indentation.
if-let: allow multiple else forms.
Define macros with proper namespace and alias when needed.
This will make it easier to debug the macros without overriding
if/when-let when developing on Emacs versions that already have those macros
bound.
fixes: https://github.com/raxod502/straight.el/issues/556

#535 and #549 pass all CI test with this fix rolled in.


Minor overflow issue in firefox share page

Dupe of #1625

Repro's on all sandbox views, not just firefox.


Add cancel-wiki-edit-button feature

Close #4460
Test URLs

New page: https://github.com/tooomm/wikitest/wiki/_new
Edit page: https://github.com/tooomm/wikitest/wiki/Getting-Started/_edit

Screenshot

@fregante Do you think it worth adding something like isEditingWiki to github-url-detection? This should also help with #4463

Shouldn't the cancel button go on the other side? (Left side)

I think we should avoid layout changes if possible?

I think we should avoid layout changes if possible?

Not sure what you mean by that.
RG Has a feature that moves all close buttons to the left to avoid a mistaken click.

I got it. Thought you were saying I should swap the buttons.

Thank you @kidonng!


The versionfile parameter is not working.

No matter what I entered for this parameter, it still generates a temporary file name for the S3 bucket.

private RevisionLocation zipAndUpload(AWSClients aws, String projectName, FilePath sourceDirectory) throws IOException, InterruptedException, IllegalArgumentException {
    File zipFile = null;
    File versionFile;
    versionFile = new File(sourceDirectory + "/" + versionFileName);

    InputStreamReader reader = null;
    String version = null;
    try {
      reader = new InputStreamReader(new FileInputStream(versionFile), "UTF-8");
      char[] chars = new char[(int) versionFile.length() -1];
      reader.read(chars);
      version = new String(chars);
      reader.close();
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      if(reader !=null){reader.close();}
    }

    if (version != null){
      zipFile = new File("/tmp/" + projectName + "-" + version + ".zip");
      final boolean fileCreated = zipFile.createNewFile();
      if (!fileCreated) {
        logger.println("File already exists, overwriting: " + zipFile.getPath());
      }
    } else {
      zipFile = File.createTempFile(projectName + "-", ".zip");
    }

This is a critical issue for us, as we would to generate a dashboard showing what has been deployed onto each environment, and without this parameter AWS Codedeploy just displays a generated text

This line looks like it's assuming that it is running on a Windows box:
new File("/tmp/" + projectName + "-" + version + ".zip");

getting this in the Jenkins log:
java.io.EOFException
at java.io.DataInputStream.readFully(DataInputStream.java:197)
at java.io.DataInputStream.readFully(DataInputStream.java:169)
at hudson.TcpSlaveAgentListener$ConnectionHandler.run(TcpSlaveAgentListener.java:242)
It seems to be throwing an end of file exception while trying to read the version text

char[] chars = new char[(int) versionFile.length() -1];
reader.read(chars);

@Patrick-Magee It works for me.  Try adding .txt files to your Include Files list?


Email Configuration bad results

I tried with my own domain , i have dmarc, spf and dkim, but web check show only spf
I think this is because of the library used, dns, that only show the txt record of spf for a reason that i dont know
Maybe change the library for dkim and dmarc

The issue comes in where dns.resolveTxt(domain) only looks at TXT records assigned to the domain. So for 'example.com' it will only show records aligning with 'example.com'.   DMARC and DKIM are assigned to different DNS names, so for DKIM it is "selector._domainkey.example.com" and DMARC is (I believe) "_dmarc.example.com".  Same for BIMI as it's scoped as well: "selector._bimi.example.com".
Getting DMARC should be relatively simple in that an additional request for this record @ "_dmarc." + domain. But for accurate BIMI and DKIM, the selector would need to be identified.
I don't think there's a way for node to get "._domainkey" for each domain in order to get all DKIM keys. Same is true for BIMI's need for "._BIMI".  So without an additional piece of information, I think this tool will always provide red X for all DKIM/BIMI information.

is there a fix for this or should it simply not be considered accurate?

I agree with @traeblain. DMARC could be fixed quite easily but it's not possible to enumerate DKIM and BIMI selectors without using exhaustive search (basically brute-forcing all possible DKIM/BIMI selectors or using dictionary search).
@Lissy93 Considering these 3 metrics currently don't provide correct results, I would propose to at least remove DKIM and BIMI and to fix DMARC.

I generally agree with the discussions of my predecessors. For DMARC and BIMI, at least the standard values should be parsed (v=DMARC1 and v=BIMI1). The situation with DKIM is somewhat more complicated without the information about which selector the entry corresponds to. To find this out, I will at least use the most common selectors from mail providers (google, gogle1024, google2048...) and so on. Various lists circulate on the internet that offer at least a starting point for this. If there is no match, then a notification should be issued that either the selector does not exist or cannot be found. I must also say that I am very pleased with the project, and even now, it provides a wealth of information.


console messages from launchctl unload during uninstall

The uninstall code needs review:

launchctl unload may be incorrect here
launchctl unload may have been intended to support pathname values for uninstall :launchctl.
the console messages may have always been emitted, but suppressed

https://github.com/caskroom/homebrew-cask/pull/11972.


segmentation fault + ffmpeg parameter error + memory leaks

Environment

OS: Manjaro
scrcpy version: git c27ab46e
installation method: meson setup d -Db_sanitize=address
device model: Samsung S10e
Android version: 12

Describe the bug
scrcpy window is not opened, core dumped on segmentation fault.
$ ./run d
scrcpy 2.4 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO:     -->   (usb)  XXX                     device  SM_G970F
DEBUG: Device serial: XXX
DEBUG: Using SCRCPY_SERVER_PATH: d/server/scrcpy-server
d/server/scrcpy-server: 1 file pushed, 0 skipped. 161.2 MB/s (96676 bytes in 0.001s)
[server] INFO: Device: [samsung] samsung SM-G970F (Android 12)
DEBUG: Server connected
DEBUG: Starting controller thread
DEBUG: Starting receiver thread
[server] DEBUG: Using audio encoder: 'c2.android.opus.encoder'
[server] DEBUG: Using video encoder: 'OMX.Exynos.AVC.Encoder'
[server] DEBUG: Display: using SurfaceControl API
INFO: Renderer: opengl
INFO: OpenGL version: 4.6.0 NVIDIA 550.54.14
INFO: Trilinear filtering enabled
DEBUG: Using SCRCPY_ICON_PATH: app/data/icon.png
AddressSanitizer:DEADLYSIGNAL
=================================================================
==620474==ERROR: AddressSanitizer: SEGV on unknown address 0x0000bfff8000 (pc 0x56455f163e3e bp 0x7ffcbab78680 sp 0x7ffcbab78570 T0)
==620474==The signal is caused by a READ memory access.
    #0 0x56455f163e3e in decode_image ../app/src/icon.c:89
    #1 0x56455f164510 in load_from_path ../app/src/icon.c:192
    #2 0x56455f164e92 in scrcpy_icon_load ../app/src/icon.c:280
    #3 0x56455f18130d in sc_screen_init ../app/src/screen.c:411
    #4 0x56455f17dbae in scrcpy ../app/src/scrcpy.c:721
    #5 0x56455f1455b7 in main_scrcpy ../app/src/main.c:88
    #6 0x56455f1456db in main ../app/src/main.c:107
    #7 0x7fbad4c76ccf  (/usr/lib/libc.so.6+0x29ccf) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    #8 0x7fbad4c76d89 in __libc_start_main (/usr/lib/libc.so.6+0x29d89) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    #9 0x56455f145014 in _start (/mnt/d/GitHub/scrcpy/d/app/scrcpy+0x2b014) (BuildId: 626a8249afe58faf1f06254862a3863b1ad86115)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ../app/src/icon.c:89 in decode_image
==620474==ABORTING
[server] DEBUG: Controller stopped
[server] DEBUG: Device message sender stopped

                                                                                [server] DEBUG: Screen streaming stopped
[server] DEBUG: Audio encoder stopped

So I tried running without an actual icon:
$ SCRCPY_SERVER_PATH=d/server/scrcpy-server SCRCPY_ICON_PATH="dev/null" d/app/scrcpy  -V debug
scrcpy 2.4 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO:     -->   (usb)  XXX                     device  SM_G970F
DEBUG: Device serial: XXX
DEBUG: Using SCRCPY_SERVER_PATH: d/server/scrcpy-server
d/server/scrcpy-server: 1 file pushed, 0 skipped. 156.2 MB/s (96676 bytes in 0.001s)
[server] INFO: Device: [samsung] samsung SM-G970F (Android 12)
DEBUG: Server connected
DEBUG: Starting controller thread
DEBUG: Starting receiver thread
[server] DEBUG: Using video encoder: 'OMX.Exynos.AVC.Encoder'
[server] DEBUG: Using audio encoder: 'c2.android.opus.encoder'
[server] DEBUG: Display: using SurfaceControl API
INFO: Renderer: opengl
INFO: OpenGL version: 4.6.0 NVIDIA 550.54.14
INFO: Trilinear filtering enabled
DEBUG: Using SCRCPY_ICON_PATH: dev/null
ERROR: Could not open icon image: dev/null
WARN: Could not load icon
DEBUG: Demuxer 'video': starting thread
DEBUG: Demuxer 'audio': starting thread
INFO: Texture: 1080x2280
ERROR: [FFmpeg] Value -619858224 for parameter 'in_sample_fmt' out of sample format range [-1 - 11]
ERROR: [FFmpeg] Requested input sample format -1 is invalid
ERROR: Failed to initialize the resampling context
ERROR: Demuxer error
DEBUG: quit...
DEBUG: Receiver stopped
[server] DEBUG: Controller stopped
[server] DEBUG: Device message sender stopped
[server] DEBUG: Audio encoder stopped
DEBUG: Demuxer 'video': end of frames
WARN: Killing the server...
DEBUG: Server disconnected
DEBUG: Server terminated

=================================================================
==716268==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 184 byte(s) in 1 object(s) allocated from:
    #0 0x7f8fdc8fc34a in calloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x7f8fca0b1d8a  (/usr/lib/libdbus-1.so.3+0x23d8a) (BuildId: 2e5c986493292691de71f15154efb3214e0a4f5f)

Indirect leak of 1842 byte(s) in 2 object(s) allocated from:
    #0 0x7f8fdc8fb6e2 in realloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x7f8fca0bfa4f  (/usr/lib/libdbus-1.so.3+0x31a4f) (BuildId: 2e5c986493292691de71f15154efb3214e0a4f5f)

SUMMARY: AddressSanitizer: 2026 byte(s) leaked in 3 allocation(s).

The ffmpeg binary is from package ffmpeg 2:6.1.1-7 from the manjaro extra repository
$ command ffmpeg
ffmpeg version n6.1.1 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 13.2.1 (GCC) 20230801
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-frei0r --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libharfbuzz --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e --enable-librsvg --enable-librubberband --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-vapoursynth --enable-version3 --enable-vulkan
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

OTG mode works:
$ SCRCPY_SERVER_PATH=d/server/scrcpy-server SCRCPY_ICON_PATH="dev/null" d/app/scrcpy  --otg
scrcpy 2.4 <https://github.com/Genymobile/scrcpy>
DEBUG: Open USB device XXX:YYYY: libusb error: Access denied (insufficient permissions)
DEBUG: Open USB device XX:YYYY: libusb error: Access denied (insufficient permissions)
DEBUG: Open USB device XXX:YYYY: libusb error: Access denied (insufficient permissions)
DEBUG: Open USB device XXX:YYYY: libusb error: Access denied (insufficient permissions)
DEBUG: Open USB device XXX:YYYY: libusb error: Access denied (insufficient permissions)
DEBUG: Open USB device XXX:YYYY: libusb error: Access denied (insufficient permissions)
INFO: USB device found:
INFO:     --> XXX        (04e8:6860)  SAMSUNG SAMSUNG_Android
DEBUG: Starting AOA thread
DEBUG: Using SCRCPY_ICON_PATH: dev/null
ERROR: Could not open icon image: dev/null
WARN: Could not load icon
DEBUG: HID keyboard state synchronized
^CDEBUG: User requested to quit
DEBUG: quit...

=================================================================
==732119==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 1684064 byte(s) in 102 object(s) allocated from:
    #0 0x7f6658efca31 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x7f663ade8961  (/usr/lib/libnvidia-glcore.so.550.54.14+0x9e8961) (BuildId: 5b1ef0cc938d5484c92f017ff5166705223f1d4d)

Direct leak of 270291 byte(s) in 59 object(s) allocated from:
    #0 0x7f6658efc34a in calloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x7f663ade8c1d  (/usr/lib/libnvidia-glcore.so.550.54.14+0x9e8c1d) (BuildId: 5b1ef0cc938d5484c92f017ff5166705223f1d4d)

Direct leak of 184 byte(s) in 1 object(s) allocated from:
    #0 0x7f6658efc34a in calloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x7f6646634d8a  (/usr/lib/libdbus-1.so.3+0x23d8a) (BuildId: 2e5c986493292691de71f15154efb3214e0a4f5f)

Indirect leak of 304108 byte(s) in 236 object(s) allocated from:
    #0 0x7f6658efc34a in calloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x7f663ade8c1d  (/usr/lib/libnvidia-glcore.so.550.54.14+0x9e8c1d) (BuildId: 5b1ef0cc938d5484c92f017ff5166705223f1d4d)

Indirect leak of 121585 byte(s) in 1012 object(s) allocated from:
    #0 0x7f6658efca31 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x7f663ade8961  (/usr/lib/libnvidia-glcore.so.550.54.14+0x9e8961) (BuildId: 5b1ef0cc938d5484c92f017ff5166705223f1d4d)

Indirect leak of 1842 byte(s) in 2 object(s) allocated from:
    #0 0x7f6658efb6e2 in realloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x7f6646642a4f  (/usr/lib/libdbus-1.so.3+0x31a4f) (BuildId: 2e5c986493292691de71f15154efb3214e0a4f5f)

Indirect leak of 336 byte(s) in 1 object(s) allocated from:
    #0 0x7f6658efb6e2 in realloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x7f663ade8ff3  (/usr/lib/libnvidia-glcore.so.550.54.14+0x9e8ff3) (BuildId: 5b1ef0cc938d5484c92f017ff5166705223f1d4d)

SUMMARY: AddressSanitizer: 2382410 byte(s) leaked in 1413 allocation(s).

Thank you for your report.
Leaks comme from other libs (dbus and nvidia driver).
For the segfault, I will investigate. Please post the full result of scrcpy --version.

scrcpy 2.4 <https://github.com/Genymobile/scrcpy>

Dependencies (compiled / linked):
 - SDL: 2.30.0 / 2.30.3
 - libavcodec: 58.125.101 / 60.31.102
 - libavformat: 58.68.100 / 60.16.100
 - libavutil: 56.66.100 / 58.29.100
 - libavdevice: 58.12.100 / 60.3.100
 - libusb: - / 1.0.27

How was your ffmpeg compiled?
It seems you compiled scrcpy against an old version but linked a newer version. It should be perfectly ok, but It is surprising, since you're building manually.
I can't understand/reproduce your segfault.
Could you try on dev branch? Also, I prepared a minor change that impacts the line where you segfaults: icon_decoder. Could you please test this branch?

]> It seems you compiled scrcpy against an old version but linked a newer version. It should be perfectly ok,
Oh, no, it is not perfectly ok since they have a different major number, they are not ABI compatible:

FFmpeg guarantees backward API and ABI compatibility for each library as long as its major version number is unchanged.

You get other similar errors:

ERROR: [FFmpeg] Value -619858224 for parameter 'in_sample_fmt' out of sample format range [-1 - 11]
ERROR: [FFmpeg] Requested input sample format -1 is invalid

How was your ffmpeg compiled?

The ffmpeg binary is from package ffmpeg 2:6.1.1-7 from the manjaro extra repository

You can see the PKGBUILD here:
https://gitlab.archlinux.org/archlinux/packaging/packages/ffmpeg/-/blob/169a765abd4a55ae622dbcc3f7051b15c472a65d/PKGBUILD

It seems you compiled scrcpy against an old version but linked a newer version.

How can you tell ?

It seems you compiled scrcpy against an old version but linked a newer version.

How can you tell ?

Dependencies (compiled / linked):
 […]
 - libavcodec: 58.125.101 / 60.31.102
 - libavformat: 58.68.100 / 60.16.100
 - libavutil: 56.66.100 / 58.29.100
 - libavdevice: 58.12.100 / 60.3.100
 […]

You must recompile scrcpy against your current ffmpeg libraries.

I prepared a minor change that impacts the line where you segfaults: icon_decoder. Could you please test this branch?

$ git fetch origin icon_decoder
$ git checkout icon_decoder
$ ./install_release.sh
...

Found ninja-1.12.1 at /usr/bin/ninja
[33/69] Compiling C object app/scrcpy.p/src_icon.c.o
FAILED: app/scrcpy.p/src_icon.c.o
ccache cc -Iapp/scrcpy.p -Iapp -I../app -I../app/src -I/usr/include/SDL2 -I/usr/include/libusb-1.0 -flto=auto -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c11 -O3 -Wmissing-prototypes -D_REENTRANT -MD -MQ app/scrcpy.p/src_icon.c.o -MF app/scrcpy.p/src_icon.c.o.d -o app/scrcpy.p/src_icon.c.o -c ../app/src/icon.c
../app/src/icon.c: In function ‘decode_image’:
../app/src/icon.c:84:62: error: passing argument 5 of ‘av_find_best_stream’ from incompatible pointer type [-Wincompatible-pointer-types]
   84 |         av_find_best_stream(ctx, AVMEDIA_TYPE_VIDEO, -1, -1, &codec, 0);
      |                                                              ^~~~~~
      |                                                              |
      |                                                              const AVCodec **
In file included from ../app/src/icon.h:8,
                 from ../app/src/icon.c:1:
/usr/local/include/libavformat/avformat.h:2281:35: note: expected ‘AVCodec **’ but argument is of type ‘const AVCodec **’
 2281 |                         AVCodec **decoder_ret,
      |                         ~~~~~~~~~~^~~~~~~~~~~
[50/69] Compiling C object app/scrcpy.p/src_scrcpy.c.o
ninja: build stopped: subcommand failed.

Could you try on dev branch?

$ git checkout dev
$ ./install_release.sh
...
$ /usr/local/bin/scrcpy -V debug
scrcpy 2.4 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO:     -->   (usb)  XXX                     device  SM_G970F
DEBUG: Device serial: XXX
DEBUG: Using server: /usr/local/share/scrcpy/scrcpy-server
/usr/local/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 135.7 MB/s (69007 bytes in 0.000s)
[server] INFO: Device: [samsung] samsung SM-G970F (Android 12)
DEBUG: Server connected
DEBUG: Starting controller thread
DEBUG: Starting receiver thread
INFO: Renderer: opengl
INFO: OpenGL version: 4.6.0 NVIDIA 550.54.14
INFO: Trilinear filtering enabled
DEBUG: Using icon: /usr/local/share/icons/hicolor/256x256/apps/scrcpy.png
[server] DEBUG: Using audio encoder: 'c2.android.opus.encoder'
[server] DEBUG: Using video encoder: 'OMX.Exynos.AVC.Encoder'
[server] DEBUG: Display: using SurfaceControl API
[server] DEBUG: Controller stopped
[server] DEBUG: Device message sender stopped
[1]    448189 segmentation fault (core dumped)  /usr/local/bin/scrcpy -V debug
[server] DEBUG: Audio encoder stopped
[server] DEBUG: Screen streaming stopped

/usr/local/include/libavformat/avformat.h:2281:35: note: expected ‘AVCodec **’ but argument is of type ‘const AVCodec **’
2281 |                         AVCodec **decoder_ret,
|                         ^

Please test with this additional change:
diff --git a/app/src/icon.c b/app/src/icon.c
index 52537d2ba..0dddefa3c 100644
--- a/app/src/icon.c
+++ b/app/src/icon.c
@@ -78,7 +78,16 @@ decode_image(const char *path) {
         goto close_input;
     }

+
+// In ffmpeg/doc/APIchanges:
+// 2021-04-27 - 46dac8cf3d - lavf 59.0.100 - avformat.h
+//   av_find_best_stream now uses a const AVCodec ** parameter
+//   for the returned decoder.
+#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(59, 0, 100)
     const AVCodec *codec;
+#else
+    AVCodec *codec;
+#endif

     int stream =
         av_find_best_stream(ctx, AVMEDIA_TYPE_VIDEO, -1, -1, &codec, 0);

If it build for you, I'll merge it into dev.

$ git checkout dev
$ ./install_release.sh

Note: in theory, the prebuilt server is only built for each release, so the client on dev branch might be incompatible with the prebuilt server. But in any case, it should NEVER segfault.

[1]    448189 segmentation fault (core dumped)  /usr/local/bin/scrcpy -V debug

What is the result of /usr/local/bin/scrcpy -v?

You must recompile scrcpy (against your current ffmpeg libraries).

isn't that what ./install_release.sh supposed to do ? I'm getting the same compiled/linked discrepancies after it

isn't that what ./install_release.sh supposed to do ?

Yes.

I'm getting the same compiled/linked discrepancies after it

So with the same compiled and link dependencies, you still get the segfault? I could not reproduce.
Please retry in debug and with ASAN enabled:
diff --git a/install_release.sh b/install_release.sh
index 0be5675c6..478297702 100755
--- a/install_release.sh
+++ b/install_release.sh
@@ -12,7 +12,7 @@ echo "$PREBUILT_SERVER_SHA256  scrcpy-server" | sha256sum --check

 echo "[scrcpy] Building client..."
 rm -rf "$BUILDDIR"
-meson setup "$BUILDDIR" --buildtype=release --strip -Db_lto=true \
+meson setup "$BUILDDIR" --buildtype=debug -Db_sanitize=address \
     -Dprebuilt_server=scrcpy-server
 cd "$BUILDDIR"
 ninja

If it build for you

on icon_decoder it builds but after patching I get:
$ d_ic/app/scrcpy -V debug
...
DEBUG: Using icon: /usr/local/share/icons/hicolor/256x256/apps/scrcpy.png
AddressSanitizer:DEADLYSIGNAL
=================================================================
==491268==ERROR: AddressSanitizer: SEGV on unknown address 0x000200000004 (pc 0x7f4b4de064ef bp 0x7ffed0dd9e30 sp 0x7ffed0dd9cd0 T0)
==491268==The signal is caused by a READ memory access.
    #0 0x7f4b4de064ef in avcodec_parameters_to_context (/usr/lib/libavcodec.so.60+0x2064ef) (BuildId: 6062be614616d2aaa7b103b2fd6bcf17aa07e92d)
    #1 0x55d6e5c1eafe in decode_image ../app/src/icon.c:107
    #2 0x55d6e5c1f0eb in load_from_path ../app/src/icon.c:198
    #3 0x55d6e5c1fa6d in scrcpy_icon_load ../app/src/icon.c:286
    #4 0x55d6e5c3ca06 in sc_screen_init ../app/src/screen.c:449
    #5 0x55d6e5c38d4c in scrcpy ../app/src/scrcpy.c:743
    #6 0x55d6e5bff5c7 in main_scrcpy ../app/src/main.c:88
    #7 0x55d6e5bff6eb in main ../app/src/main.c:107
    #8 0x7f4b4c676ccf  (/usr/lib/libc.so.6+0x29ccf) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    #9 0x7f4b4c676d89 in __libc_start_main (/usr/lib/libc.so.6+0x29d89) (BuildId: 0865c4b9ba13e0094e8b45b78dfc7a2971f536d2)
    #10 0x55d6e5bff024 in _start (/mnt/d/GitHub/scrcpy/d_ic/app/scrcpy+0x2c024) (BuildId: 929ae4336a7de23d01a90ae593bdbb736612a0da)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/usr/lib/libavcodec.so.60+0x2064ef) (BuildId: 6062be614616d2aaa7b103b2fd6bcf17aa07e92d) in avcodec_parameters_to_context
==491268==ABORTING
[server] DEBUG: Using video encoder: 'OMX.Exynos.AVC.Encoder'
[server] DEBUG: Using audio encoder: 'c2.android.opus.encoder'
[server] DEBUG: Display: using SurfaceControl API
[server] DEBUG: Controller stopped
[server] DEBUG: Device message sender stopped
[server] DEBUG: Audio encoder stopped
[server] DEBUG: Screen streaming stopped

What is the result of scrcpy -v with your new build?

scrcpy 2.4 <https://github.com/Genymobile/scrcpy>

Dependencies (compiled / linked):
 - SDL: 2.30.3 / 2.30.3
 - libavcodec: 58.125.101 / 60.31.102
 - libavformat: 58.68.100 / 60.16.100
 - libavutil: 56.66.100 / 58.29.100
 - libavdevice: 58.12.100 / 60.3.100
 - libusb: - / 1.0.27

OK so you build against an old ffmpeg and run against a newer one:
 - libavcodec: 58.125.101 / 60.31.102
 - libavformat: 58.68.100 / 60.16.100
 - libavutil: 56.66.100 / 58.29.100
 - libavdevice: 58.12.100 / 60.3.100

So with the same compiled and link dependencies, you still get the segfault? I could not reproduce.
Please retry in debug and with ASAN enabled:

same error in both master & dev branches.

OK so you build against an old ffmpeg and run against a newer one:

That's weird because I only have one ffmpeg binary installed

pkg-config --print-provides libavformat

pkg-config --print-provides libavformat

libavformat = 60.16.100

That's the new version (so it's correct).
If you create a builddir, what is the full output:
meson setup tmpbuilddir

$ meson setup tmpbuilddir
The Meson build system
Version: 1.4.0
Source dir: /mnt/d/GitHub/scrcpy
Build dir: /mnt/d/GitHub/scrcpy/tmpbuilddir
Build type: native build
Project name: scrcpy
Project version: 2.4
C compiler for the host machine: ccache cc (gcc 14.1.1 "cc (GCC) 14.1.1 20240507")
C linker for the host machine: cc ld.bfd 2.42.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: YES (/usr/bin/pkg-config) 2.1.1
Run-time dependency libavformat found: YES 60.16.100
Run-time dependency libavcodec found: YES 60.31.102
Run-time dependency libavutil found: YES 58.29.100
Run-time dependency libswresample found: YES 4.12.100
Run-time dependency sdl2 found: YES 2.30.3
Run-time dependency libavdevice found: YES 60.3.100
Run-time dependency libusb-1.0 found: YES 1.0.27
Checking for function "strdup" : YES
Checking for function "asprintf" : YES
Checking for function "vasprintf" : YES
Checking for function "nrand48" : YES
Checking for function "jrand48" : YES
Checking for function "reallocarray" : YES
Header "sys/socket.h" has symbol "SOCK_CLOEXEC" : YES
Configuring config.h using configuration
Program ./scripts/build-wrapper.sh found: YES (/mnt/d/GitHub/scrcpy/server/./scripts/build-wrapper.sh)
Build targets in project: 13

Found ninja-1.12.1 at /usr/bin/ninja

Run-time dependency libavformat found: YES 60.16.100
Run-time dependency libavcodec found: YES 60.31.102
Run-time dependency libavutil found: YES 58.29.100
Run-time dependency libswresample found: YES 4.12.100
Run-time dependency sdl2 found: YES 2.30.3
Run-time dependency libavdevice found: YES 60.3.100
Run-time dependency libusb-1.0 found: YES 1.0.27

OK, that looks correct, so now if you build, you'll get the correct version:
ninja -Ctmpbuilddir
./run tmpbuilddir -v
./run tmpbuilddir

$ ./run tmpbuilddir -v
scrcpy 2.4 <https://github.com/Genymobile/scrcpy>

Dependencies (compiled / linked):
 - SDL: 2.30.3 / 2.30.3
 - libavcodec: 58.125.101 / 60.31.102
 - libavformat: 58.68.100 / 60.16.100
 - libavutil: 56.66.100 / 58.29.100
 - libavdevice: 58.12.100 / 60.3.100
 - libusb: - / 1.0.27

Same issue:
$ SCRCPY_ICON_PATH="dev/null" tmpbuilddir/app/scrcpy -V debug
...
ERROR: [FFmpeg] Value -510806320 for parameter 'in_sample_fmt' out of sample format range [-1 - 11]
ERROR: [FFmpeg] Requested input sample format -1 is invalid
...

Found pkg-config: YES (/usr/bin/pkg-config) 2.1.1
Run-time dependency libavformat found: YES 60.16.100
Run-time dependency libavcodec found: YES 60.31.102
Run-time dependency libavutil found: YES 58.29.100
Run-time dependency libswresample found: YES 4.12.100
Run-time dependency sdl2 found: YES 2.30.3
Run-time dependency libavdevice found: YES 60.3.100
Run-time dependency libusb-1.0 found: YES 1.0.27

$ ./run tmpbuilddir -v
scrcpy 2.4 <https://github.com/Genymobile/scrcpy>

Dependencies (compiled / linked):
- SDL: 2.30.3 / 2.30.3
- libavcodec: 58.125.101 / 60.31.102
- libavformat: 58.68.100 / 60.16.100
- libavutil: 56.66.100 / 58.29.100
- libavdevice: 58.12.100 / 60.3.100
- libusb: - / 1.0.27

WTF!?
Meson correctly detects libavformat 60.16.100, but LIBAVFORMAT_VERSION_MAJOR is 58 and LIBAVFORMAT_VERSION_MINOR is 68 :thinking:
https://github.com/Genymobile/scrcpy/blob/c27ab46efbcab0b9558a91e691d799ffef496c97/app/src/version.c#L32-L39
IMO there is something wrong with your ffmpeg headers or pkg-config.
fd version_major.h /usr

What is the value of LIBAVFORMAT_VERSION_MAJOR in which directory? Do you have ffmpeg headers both in /usr and /usr/local?

@rom1v Hi and sorry for the late reply.

What is the value of LIBAVFORMAT_VERSION_MAJOR in which directory?

#define LIBAVFORMAT_VERSION_MAJOR  60

at /usr/include/libavformat/version_major.h
owned by package ffmpeg 2:6.1.1-7

Do you have ffmpeg headers both in /usr and /usr/local?

No not headers but I have some .a and .pc files for libav* libraries.
I also have ffmpeg 4.4 installed but it doesn't include any version_major.h files but has these .so files:
ffmpeg4.4 /usr/lib/libavcodec.so.58
ffmpeg4.4 /usr/lib/libavcodec.so.58.134.100
ffmpeg4.4 /usr/lib/libavdevice.so.58
ffmpeg4.4 /usr/lib/libavdevice.so.58.13.100
ffmpeg4.4 /usr/lib/libavfilter.so.7
ffmpeg4.4 /usr/lib/libavfilter.so.7.110.100
ffmpeg4.4 /usr/lib/libavformat.so.58
ffmpeg4.4 /usr/lib/libavformat.so.58.76.100
ffmpeg4.4 /usr/lib/libavutil.so.56
ffmpeg4.4 /usr/lib/libavutil.so.56.70.100
ffmpeg4.4 /usr/lib/libpostproc.so.55
ffmpeg4.4 /usr/lib/libpostproc.so.55.9.100
ffmpeg4.4 /usr/lib/libswresample.so.3
ffmpeg4.4 /usr/lib/libswresample.so.3.9.100
ffmpeg4.4 /usr/lib/libswscale.so.5
ffmpeg4.4 /usr/lib/libswscale.so.5.9.100

Inspecting the "local" .pc files it seemed the culprit was found.
Their versions fit 'scrcpy -v' output.
For example, in /usr/local/lib/pkgconfig/libavformat.pc it says:
Version: 58.68.100
I also checked:
$ pkg-config --print-provides  libavformat
libavformat = 60.16.100
$ pkg-config --path  libavformat
/usr/lib/pkgconfig/libavformat.pc

But even after deleting those files, deleting the local repository, recloning and building afresh the same version numbers show up with './run d -v'


Request for V12 version

I have 2 servers.  One is still on V11.. I was able to add this to that server.. But, on my V12, I can't install it..

and if I try the latest version - https://github.com/Garsondee/pf2e-roll-manager/blob/master/module.json --

I tried the v1.385 link you provided.. Still won't install for me.  I'm running this on a linux server, so not an easy task to manually copy it over and adjust..
In module json, probably need to change:
"compatibility": {
"minimum": 11,
"verified": 11, <---- maybe also to 12?
"maximum": 11  <---- to 12

In the module configuration, right click on the module you've downloaded and you get a dropdown menu:

Choose Edit Module, and set the values as this:

Select Edit Module button to save those settings and accept whatever it tells you.
It will still give you a warning as last verified for 11, but max 12 will allow it to run in v12 instead of being blocked.

Should now be working correctly for v12.


Nuxt2 postcss-calc error

Hi, I encountered this problem in my project

This is my project dependency version
     "flex-gap-polyfill": "1.0.4",    "nuxt": "2.10.2",
Is there any way I can handle this error

Hi @Muluk-m. I think what is happening is max-content somewhere in your project and this is being combined with something in the polyfill. Since max-content can't be computed by CSS calc it's possibly throwing an error?
Can you find where max-content is being used and provide the CSS rule it's inside?
Meanwhile here are a couple of things you could try:

Try upgrading flex-gap-polyfill to version 4.1.2
Try changing the order of if flex-gap-polyfill and postcss-calc

Let me know how you get on.
Thanks!

This is where I find that the component reporting an error contains the max-content rule
/deep/ .klk-poptip-popper-inner {
      width: max-content;
      max-width: calc(100vw - 32px) !important;
      padding: 0 36px 0 12px;
      margin: 12px 0;
    }

But everything worked fine until I introduced flex-gap-polyfill
postcss: {
     plugins: {
       'flex-gap-polyfill': {}
     }
   },

this is my nuxt2 config

Thank you. Ok, I see what's happening. For the polyfill to work, it needs to rewrite the width because it uses negative margins and needs to recalculate the width. Therefore when you use postcss-calc with flex-gap-polyfill it tries to reduce a calc function that contains max-content.
For now you can try the following options:

Replace max-content with 100%
Disable warnings in postcss-calc when it cannot resolve them -> https://github.com/postcss/postcss-calc#warnwhencannotresolve-default-false


Faction color recognition

It would be nice if the bot could recognize agent color (resistance/enlightment) because result scoring spreadshit has two separated sections for each faction.

I feel like you ended up in a wrong issue tracker.

ups :)


Adding key bindings for exiting insert mode and ...

it would be awesome to have a key binding for exiting the insert mode to normal mode and also view mode to normal mode
I'll use jk for that myself but many may use jj key to exit insert mode
thanks for the awesome plugin 💎

I think that a command like this could more easily aligned wother plugins that could provide this feature. For instance, it may be best to use something like commander and just providing commands for specifically turning it on or off which I kind of like more than creating a process over the editor listening for additional commands just for vim toggle.


Ensure directory permissions are correctly applied.

The current implementation will fail on directory structures which have parent directories less permissive than child directories. For instance, any structure of the sort:
- root_dir (0o555)
  - child_dir (0o755)

Will fail to be created since root_dir permissions won't allow child_dir to be created. The simple fix here is to reorder the directories and treat the filesystem as a tree processed in topological order. This PR does just that.

Thanks!


Fix list of firstnames

Fixes #39
This is what could also be causing so long for the annotations to be stored.  That being said, we should anticipate users accidentally annotating lots of strings by accident.

Here are some strange ones that the annotator gets but it's better than before:

"any", "so", "per", "me", "day", "good", "weeks"


Combination (Math) implementation in NLTK

Strangely, python don't seem to provide a quick/easy way to get mathematical combinations/choose (nCr). It's sort of essential for the RIBES algorithms and most rank-based Machine Translation metrics.
Would it be okay to add this function to NLTK? It seems to be the fastest computation of combinations.
def choose(n, k):
    """
    This function is a fast way to calculate binomial coefficients, commonly
    known as nCk, i.e. the number of combinations of n things taken k at a time.
    (https://en.wikipedia.org/wiki/Binomial_coefficient).

        >>> choose(4, 2)
        6
        >>> choose(6, 2)
        15

    :param n: The number of things.
    :type n: int
    :param r: The number of times a thing is taken.
    :type r: int
    """
    if 0 <= k <= n:
        ntok, ktok = 1, 1
        for t in range(1, min(k, n - k) + 1):
            ntok *= n
            ktok *= t
            n -= 1
        return ntok // ktok
    else:
        return 0

I could do a wrap for the code shipped with native python but it's kind of silly to generate combinations everytime i need to count nCr and then do a length from it, i.e.
import itertools
def choose(n,k):
    return len(list(itertools.combinations(range(n),k)))

If it's alright to add the combination calculation function to NLTK where should it go? nltk.util? Or should there be a nltk.math?
Or maybe it's already in the pipeline in newer versions of python. Does anyone know about that?

Currently, the combination binomial coefficient is implemented in nltk.translate.ribes_score.choose() at https://github.com/alvations/nltk/blob/ribes/nltk/translate/ribes_score.py#L161 in a sandbox branch but I'm not sure whether it should reside there.

+1 for nCr function. I wonder if any of the external packages used in nltk already have that.

+1 yes good idea to check whether it's provided in any of the other packages we import

scipy does that but it's slower than this implementation =(

That's surprising. It might be worth mentioning that to them. Anyway, I'm happy for us to include nCr. It probably belongs in nltk.util.

After some tests, scipy implementation is still a lot slower. http://stackoverflow.com/questions/33468821/is-scipy-misc-comb-faster-than-an-ad-hoc-binomial-computation.


How to update Ruby?

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
I want to use slather to generate a code coverage report. But my problem: to install slather I need a updated Ruby version, the bundled one is too old :-(
I tried to update Ruby following this steps but without success. At the end Jenkins found fastlane and slather but it didn't found xcpretty.
Is it possible to update the bundled Ruby version?
Environment
✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.5

Ruby
2.2.4

Bundler?
false

Git
git version 2.11.0 (Apple Git-81)

Installation Source
~/.fastlane/bin/bundle/bin/fastlane

Host
Mac OS X 10.12.5 (16F73)

Ruby Lib Dir
~/.fastlane/bin/bundle/lib

OpenSSL Version
OpenSSL 1.0.2g  1 Mar 2016

Is contained
true

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.3.2

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE
en_US.UTF-8
✅

fastlane gems

Gem
Version
Update-Status

fastlane
2.42.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

CFPropertyList
2.3.5

addressable
2.5.1

babosa
1.0.2

bigdecimal
1.2.6

bundler
1.14.6

claide
1.0.1

colored
1.2

colored2
3.1.2

commander-fastlane
4.4.4

declarative
0.0.9

declarative-option
0.1.0

domain_name
0.5.20170404

dotenv
2.2.0

excon
0.55.0

faraday
0.12.1

faraday-cookie_jar
0.0.6

faraday_middleware
<IP_ADDRESS>

fastimage
2.1.0

gh_inspector
1.0.3

google-api-client
0.12.0

googleauth
0.5.1

highline
1.7.8

http-cookie
1.0.3

httpclient
2.8.3

hurley
0.2

io-console
0.4.3

json
1.8.1

jwt
1.5.6

libxml-ruby
3.0.0

little-plugger
1.1.4

logging
2.2.2

memoist
0.15.0

mime-types
3.1

mime-types-data
3.2016.0521

mini_magick
4.5.1

minitest
5.4.3

multi_json
1.12.1

multi_xml
0.6.0

multipart-post
2.0.0

nanaimo
0.2.3

nokogiri
1.5.6

os
0.9.6

plist
3.2.0

power_assert
0.2.2

psych
2.0.8

public_suffix
2.0.5

rake
10.4.2

rdoc
4.2.0

representable
3.0.4

retriable
2.1.0

rouge
1.11.1

rubygems-update
2.5.2

rubyzip
1.2.1

security
0.1.3

signet
0.7.3

slack-notifier
1.5.1

sqlite3
1.3.13

terminal-notifier
1.7.1

terminal-table
1.7.3

test-unit
3.0.8

tty-screen
0.5.0

uber
0.0.15

unf
0.1.4

unf_ext
<IP_ADDRESS>

unicode-display_width
1.1.3

word_wrap
1.0.0

xcodeproj
1.4.4

xcpretty
0.2.6

xcpretty-travis-formatter
0.0.4

generated on: 2017-06-29

Sorry we can't update the bundled Ruby version, as we use some third party code that doesn't support newer versions yet.

Okay I try to update the system Ruby version :-)

Personally, I just brew install ruby as that'll pull the latest stable.  For me, it's 2.4.1p111.
Another alternative to rbenv is RVM.  For awhile I was using RVM after having headaches with rbenv.  It worked fine, ultimately I didn't need to support multiple versions of Ruby and installing via brew was more than enough to get off the system version of Ruby.

Personally, I just brew install ruby as that'll pull the latest stable. For me, it's 2.4.1p111.
Another alternative to rbenv is RVM. For awhile I was using RVM after having headaches with rbenv. It worked fine, ultimately I didn't need to support multiple versions of Ruby and installing via brew was more than enough to get off the system version of Ruby.

@the4thfloor Have you achieve to update your Ruby?
I updated Ruby version on differents computers without problems
I have followed this steps:
If you use rbenv with ruby-build.
But if you want to install it, follow this walkthrough https://github.com/rbenv/rbenv#homebrew-on-mac-os-x and then:
Run `brew install ruby-build` if you didn't installed
or `brew upgrade ruby-build` if you did
Run `brew update && rbenv install 2.3.1`
Run `rbenv global 2.3.1` to make it the new global default Ruby version
Write on command line `echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile `

This will set the correct ruby version 2.3.1 as default for your system
Before checking everything is correct, you will need to open a new brand terminal, then:
Write `ruby --version` ; The prompt will show you the version of ruby, which should be 2.3.1, if version is 2.0.0, something is wrong, it's getting the ruby system.

Hope this helps

Hey everyone! ❤  seeing everyone help out with Ruby issues! I am going to close this issue for now because it seems like this conversation should be good to help people update ruby versions. Let us know if there is anything else we can help out with!! 🚀


fix: generate Name::full_name properly

full_name() seems to generate the full name in the wrong order (given the examples in the doc comments, TypeName.google.protobuf instead of google.protobuf.TypeName).

Would it be possible to get a point release with this?


Enable close button on failed VM creation in Wizard

This PR enables the "Close" button in the create VM wizard regardless of whether creation succeeded or failed.
Bug: https://bugzilla.redhat.com/1721454

Pull Request Test Coverage Report for Build 1896

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 82.616%

Totals

Change from base Build 1888:
0.005%

Covered Lines:
4078

Relevant Lines:
4729

💛  - Coveralls