Memory leak issue with traefik 2.2.1

Do you want to request a feature or report a bug?
Bug
What did you do?

Running Traefik as Deployment (ingress controller) in K8s
Having Bunch of services running where traefik serves as ingress controller

What did you expect to see?
Traefik to work and reply with error when tried to access such a service
What did you see instead?
Traefik pods memory is increasing gradually and eventually being killed by OOM killer
Output of traefik version: (What version of Traefik are you using?)

Namespace:    traefik
Priority:     0
Node:         ip-10-83-69-54.ap-south-1.compute.internal/<IP_ADDRESS>
Start Time:   Fri, 09 Oct 2020 14:45:24 +0530
Labels:       app.kubernetes.io/instance=traefik
              app.kubernetes.io/managed-by=Helm
              app.kubernetes.io/name=traefik
              helm.sh/chart=traefik-8.4.1
              pod-template-hash=69949cd84f
Annotations:  kubernetes.io/psp: eks.privileged
              sumologic.com/include: true
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/traefik-69949cd84f
Containers:
  traefik:
    Container ID:  docker://affd1fdd9351967378a95873db9c5642dfc03f7fca777e93a47c4199ed43679d
    Image:         traefik:2.2.1
    Image ID:      docker-pullable://traefik@sha256:ad4442a6f88cf35266542588f13ae9984aa058a55a518a87876e48c160d19ee0
    Ports:         8082/TCP, 9000/TCP, 8000/TCP, 8443/TCP
    Host Ports:    0/TCP, 0/TCP, 0/TCP, 0/TCP
    Args:
      --entryPoints.metrics.address=:8082
      --entryPoints.traefik.address=:9000
      --entryPoints.web.address=:8000
      --entryPoints.websecure.address=:8443
      --api.dashboard=true
      --ping=true
      --providers.kubernetescrd
      --providers.kubernetesingress
      --providers.kubernetesingress.ingressclass=traefik
      --accesslog=true
      --accesslog.format=json
      --metrics.prometheus=true
      --metrics.prometheus.entryPoint=metrics
      --metrics.prometheus.addEntryPointsLabels=true
      --metrics.prometheus.addServicesLabels=true
      --entryPoints.metrics.address=:8082
      --metrics.prometheus.entryPoint=metrics
      --log.level=DEBUG
    State:          Running
      Started:      Fri, 09 Oct 2020 17:54:58 +0530
    Last State:     Terminated
      Reason:       OOMKilled
      Exit Code:    137
      Started:      Fri, 09 Oct 2020 14:45:26 +0530
      Finished:     Fri, 09 Oct 2020 17:54:58 +0530
    Ready:          True
    Restart Count:  1
    Limits:
      cpu:     500m
      memory:  1400Mi
    Requests:
      cpu:        300m
      memory:     1000Mi
    Liveness:     http-get http://:9000/ping delay=10s timeout=2s period=10s #success=1 #failure=3
    Readiness:    http-get http://:9000/ping delay=10s timeout=2s period=10s #success=1 #failure=1
    Environment:  <none>
    Mounts:
      /data from data (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from traefik-token-wn5kj (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  data:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  traefik-token-wn5kj:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  traefik-token-wn5kj
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                  From                                                 Message
  ----     ------     ----                 ----                                                 -------
  Warning  Unhealthy  34m (x2 over 34m)    kubelet, ip-10-83-69-54.ap-south-1.compute.internal  Liveness probe failed: Get http://<IP_ADDRESS>:9000/ping: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  34m (x2 over 34m)    kubelet, ip-10-83-69-54.ap-south-1.compute.internal  Readiness probe failed: Get http://<IP_ADDRESS>:9000/ping: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
  Normal   Pulled     33m (x2 over 3h43m)  kubelet, ip-10-83-69-54.ap-south-1.compute.internal  Container image "traefik:2.2.1" already present on machine
  Normal   Created    33m (x2 over 3h43m)  kubelet, ip-10-83-69-54.ap-south-1.compute.internal  Created container traefik
  Normal   Started    33m (x2 over 3h43m)  kubelet, ip-10-83-69-54.ap-south-1.compute.internal  Started container traefik
  Warning  Unhealthy  33m                  kubelet, ip-10-83-69-54.ap-south-1.compute.internal  Readiness probe failed: Get http://<IP_ADDRESS>:9000/ping: read tcp <IP_ADDRESS>:35202-><IP_ADDRESS>:9000: read: connection reset by peer
  Warning  Unhealthy  33m                  kubelet, ip-10-83-69-54.ap-south-1.compute.internal  Liveness probe failed: Get http://<IP_ADDRESS>:9000/ping: read tcp <IP_ADDRESS>:35172-><IP_ADDRESS>:9000: read: connection reset by peer
  Normal   Killing    33m                  kubelet, ip-10-83-69-54.ap-south-1.compute.internal  Container traefik failed liveness probe, will be restarted

Memory usage
Memory usage of pods, even if traffic decreases memory usage never drops it keeps increasing gradually -

Here dip in memory usage indicate restarts -

I'm not able to figure out why traefik pods memory keeps increasing, traffic and number of connections are seems to be normal. I'm i missing something? Is there a way we can take heap dump of traefik?

Hi @sumit-joshi-mt ,
Thank you for your interest in Traefik.
Could you test it with the last version of Traefik (2.3.1) ?
Do you think it may be related to #7384 ?

@jbdoumenjou
Hi, it looks like same issue (but we are using helm3 for a long time now, we started facing this issue recently), earlier traefik pods used to work fine with 400-600Mi memory, now in our case memory keeps increasing upto around 1.4GB and at this usage its remains constant no spikes. facing same issue with new version of Traefik as well (2.3.1)
Thank you

How many services you have discovered with Traefik? For a profile, I guesspprof guess would be good :)

@sumit-joshi-mt could you try one of these image which contains (almost other things) a patch to discard helm objects:

quay.io/sylr/traefik:v2.2.11_sylr.1
quay.io/sylr/traefik:v2.3.1_sylr.1

@sumit-joshi-mt could you try quay.io/sylr/traefik:v2.3.1_sylr.2 ?

Hi @sylr, apologies for delay. I have deployed this now, will get get back to you in a day or two.
Thank you.

Hi, @sylr I have monitored traefik for more than 2 days now, memory usage seems fine with your patch.
Thanks a lot for this.

Closed by  #7562


V2

Pull Request Test Coverage Report for Build 148

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 75.899%

Totals

Change from base Build 144:
0.0%

Covered Lines:
929

Relevant Lines:
1224

💛  - Coveralls


🆕 Update README

Frist draft PR created: https://github.com/ministryofjustice/cloud-operations-github-actions/pull/211


Show scenario name when successful in #monitoring

Analysis
Current State
Currently, when a scenario was successful the bot in RC only posts "Succesfully ran scenario!".
Problem
Above makes it a bit difficult to identify which scenario that was successful since we run several scenarios at the same time now.
Solution
Add the scenario name that was successful to the string that is posted in the monitoring logs.
And also: It's successfully not succesfully ;)

Also took care of the IP/url issue. Was less work than I thought.


fix fix bug of left and full join with other conjuncts

Proposed changes
Issue Number: close #xxx
Fix bug of left and full outer join with other conjuncts. When equal matched row count of a probe row exceed batch_size, some times the _join_node->_is_any_probe_match_row_output flag is not set correcty, which result in outputing extra rows for the probe row.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


VNet Data Gateway requires Microsoft.PowerPlatform	Resource Provider

Hi,
I just spent some time debugging the VNet Data Gateway setup, even with the Microsoft.Network/virtualNetworks/subnets/join/action permission. Turns out I needed the Microsoft.PowerPlatform	Resource Provider to be registered on the subscription.
It might be useful to add this to the FAQ.
Thanks

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

ID: 0ee0e9bd-3051-ae24-e7c1-1dc6aa0c137c
Version Independent ID: 4011df39-116e-dff0-3316-742bc994dc58
Content: Virtual network (VNet) data gateway FAQs
Content Source: data-integration/vnet/data-gateway-faqs.md
Product: on-premises-data-gateway
GitHub Login: @arthiriyer
Microsoft Alias: arthii

Thanks @alexjbush for your dedication to our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response. The requested updates have not been made since the creation of this issue, and the timeline for resolution may vary based on resourcing, so we've created an internal work item to incorporate your suggestions. We are closing this issue for now, but feel free to comment here as necessary. #please-close


crowbar-testbuild: rewrite in ruby, fully configurable

The redeployment of our CI on the SAP side requires our tools to be more flexible and configurable to allow them to be run in different environments.
Making crowbar-testbuild configurable needed to touch almost every line of the code.
Thus it was a good opportunity for a clean rewrite in ruby.
The new script will be merged first, then a temporary test job will do more test runs, then the old job will be switched to the new script.

I'm not sure I understand the purpose of the rewrite other than splitting stuff into a yaml file (which also is possible in python). can you summarize the requirements or is that documented somewhere? its hard for me to review this besides that it had different implementation choices being made.

@dirkmueller

(which also is possible in python)

Sure, that would have been also an option. In my initial comment I also addressed this. Going through the code I realized that it would have required to touch almost all code lines. So it would be not been less error prone.
The requirement is that the tool can be used at SAP. They have a different setup of their internal BuildService, different project names, different parameters for their builds, different NFS server, different mount paths, ... a.s.o. So all this needs to be configurable to make it work on both sides.
Our default configuration (that was previously hardcoded) is now also in this repo and will be used if no other config was found or defined. That way SAP can provide a config that fits their environment to use this tool in their CI.
Other differences/requirements:

Triggering the gating build has now to be enabled with a parameter. This should allow to run this tool standalone locally and just build a PR package without triggering any job.
The jenkins job already sets the github status, so it has been removed from this tool entirely. That should also help with running it locally without setting an unwanted status.
The patch to the package should be fetched via diff (and in a second try via patch) url from github. We already saw builds that only work with diff but failed with patch.

I would have greatly preferred this not to be rewritten in another language.  Incremental changes are much easier to review, and I didn't hear any compelling reason for the rewrite.  Also why was this merged with only one +1?  I was about to suggest some improvements.

@aspiers
[ 'bmwiedemann', 'rsalevsky' ].size > 1 == true

@jdsn I think you missed my edits.

@aspiers nope, I saw them


package.xml is empty

For some reason the SFRelatedListEditor/src/package.xml  has lost all it's entries.
When I deploy to a sandbox I'm getting:
Deployment Started
Status: Queued
Status: InProgress
Status: InProgress
Status: InProgress
Status: InProgress
Status: InProgress
Status: InProgress
Status: InProgress
Status: InProgress
Status: InProgress
Status: Completed
Deployment Complete
Failures:
classes/RelatedListDataGridController.cls(RelatedListDataGridController):Not in package.xml
classes/RestAPIUtils.cls(RestAPIUtils):Not in package.xml
classes/RestAPIUtilsTest.cls(RestAPIUtilsTest):Not in package.xml
classes/RelatedListDataGridControllerTest.cls(RelatedListDataGridControllerTest):Not in package.xml
classes/RestAPIMockHttpResponseGenerator.cls(RestAPIMockHttpResponseGenerator):Not in package.xml

Fixed


pull request for e2e test at 12/22/2016 23:15:18

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


fix output file name to be uploaded

Hey @chaudhryfaisal,
Thanks for your interest!
sibsecsh was definitely my error. I copied the Actions files from another repo and forgot to fix it. Nice one!
However, the binary name of this crate (set in Cargo.toml) is indeed penguin, not rusty-penguin, so the other ones should be left as-is.
If you are looking for binary downloads in the Actions tab, I believe uploaded artifacts from Actions are only available to maintainers. (Feel free to prove me wrong.) To obtain released versions, consider using cargo:
cargo install rusty-penguin

@myzhang1029  you are correct, binary in action is only available to maintainers, I was trying to download the binary from action and it wasnt getting uploaded, so I figured we should fix the name


What's the best alternative?

I have used Gridsome for many years without any problems. But the last week Netlify won't build my solution anymore cause som strange error / old version of packages used in Gridsome. Sadly I have to look for another solution. So what is the best static HTML generator as an alternative to Gridsome?
I know both Vue and React. I use Sanity as "CMS" and would like to continue to do so.

I'm migrating to Astro. It seems suitable for content-focused websites like portfolios and blogs. There's an integration with Sanity as well: https://docs.astro.build/en/guides/cms/sanity/


Sized vs not-Sized?

I notice that the Advanced window trait requires Sized, while the Window trait doesn't. Why is that?

I forgot the reason, but think it has something to do with pre-1.0 rules for constraints. It was in the original proposal https://github.com/PistonDevelopers/window/issues/46, so I think we can remove it.

Ah! Here is why: The chaining methods requires Size.

Ah, that makes sense.


Restructure benchmarks, add Hessian test cases

Restructure Jacobian benchmarks to make them more modular
Add Hessian benchmarks based on the JuMP hessian article (https://www.tandfonline.com/doi/full/10.1080/10556788.2018.1480625)

This PR renames benchmark groups and changes the nesting, so it cannot be compared with the main branch. But that's ok cause I didn't change the src folder, so performance stays the same

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 75.56%. Comparing base (c9040ba) to head (48536a0).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #104      +/-   ##
==========================================
- Coverage   80.00%   75.56%   -4.44%
==========================================
  Files          17       17
  Lines         710      663      -47
==========================================
- Hits          568      501      -67
- Misses        142      162      +20

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

Looks like the issue lies in my best friend similar:
Closest candidates are:
  primal(!Matched::SparseConnectivityTracer.Dual)
   @ SparseConnectivityTracer ~/work/SparseConnectivityTracer.jl/SparseConnectivityTracer.jl/src/tracers.jl:217

Stacktrace:
  [1] _broadcast_getindex_evalf
    @ ./broadcast.jl:709 [inlined]
  [2] _broadcast_getindex
    @ ./broadcast.jl:682 [inlined]
  [3] getindex
    @ ./broadcast.jl:636 [inlined]
  [4] copy
    @ ./broadcast.jl:942 [inlined]
  [5] materialize
    @ ./broadcast.jl:903 [inlined]
  [6] similar(a::Array{Float64, 3}, ::Type{SparseConnectivityTracer.Dual{Float64, SparseConnectivityTracer.GradientTracer{BitSet}}}, dims::Tuple{Int64, Int64, Int64})

Can you remove the hotfix on primal? #106 should fix the actual issue on similar.

Feel free to merge if #106 fixes the issue!

#106 has been merged.


Add explanation of partials to the docs

Since we have the views in the views directory, you'll need to call all of your partials with = partial 'views/_partial-name

Also, can you explain what the views extension does? I don't know, so I typically remove it.

Yes, that should go in the docs too. All it does is make it so you can have your views in a views directory rather than living at the project root.

+1

This project is no longer being actively maintained.


Fix sle version to <IP_ADDRESS>.1

Pin sle version to <IP_ADDRESS>.1 to avoid breaking changes in the future
Environment
install: docker
Verification

Installed helm charts
Tested provision a downstream cluster with Digital Ocean (cluster failed at agent image pull due to not being able to find corresponding tag, will re-verify on merge into master)

Relevant issue: https://github.com/rancher/rancher/issues/34727

Tried to change base branch. @jakefhyde we don't need to use master anymore, can you re-open against release/v2.6

Relevant issue https://github.com/rancher/rancher/issues/34580


Add ability to dismiss &invoke keyboard on NotesViewController

So that we can swipe right screen edge to show markdown notes view controller

Solution: https://github.com/yoha/Notes/commit/ca66f6247d6bf04b15507bc79c5e428dcac93863


auto log out when not signed in

@Letanyan do you still need this to be merged? I see that the request was made the request ages ago

yes please

Wait


Required text fields physically located above a set group of required text fields are not validated

Hello again,
I have noticed a bug in my code and confirmed it on jsFiddle.
When there are required fields physically placed above a set group of required text fields, those fields above are not validated above and show no requirement notifications.  The following link illustrates this issue.
http://jsfiddle.net/ya7Px/75/
Regards,
Ryan Hinton

I'm sorry for the lack of activity on this issue. Instead of leaving it open any longer, I decided to close old issues without trying to address them, to longer give the false impression that it will get addressed eventually, especially after several years with no activity. It doesn't mean I'm abandoning the project, just that I'm unable to work through 200+ open issues with the little time I can afford to spend on this project.
To the reporter (or anyone else interested in this issue): If you're still affected by the same issue, please consider opening a new issue, with a testpage that demonstrates the issue with a current version of the plugin. Even better, make an attempt to fix the issue yourself, and improve the project by sending a pull request. This may seem daunting at first, but you'll likely learn some useful skills that you can apply elsewhere as well. And you can help keep this project alive. We've documented how to do these things, too. A patch is worth a thousand issues!


Docs is using Obsolete version reference release-1.4 to hyperledger-fabric-ca

Description
The maintaining team may think release-1.4 is the LTS version of hyperledger-fabric-ca docs. However, the version hasn't been updated for 4 years and the hyperledger-fabric-ca team only issue the successor version 1.5 to latest.

latest and release-1.4 are not equal, so don't confuse them.  The hyperledger-fabric-ca team do not abide by the convension as here we do

If you are surfing in hyperledger-fabric-ca release-1.4 docs, you can find many issue within the document. For example,

Steps to reproduce

Open https://hyperledger-fabric-ca.readthedocs.io/en/latest/  and you can choose versions in the left-bottom.
Navigate to release-1.4 and compare with latest version.
Click Edit in Github in the right-top corner of both release-1.4 and latest version, and you will be brought to the source code of the docs.

I checked the image directory, and there is no file named "network_topology.png". Is there an alternative image or diagram that can replace the missing one?

I checked the image directory, and there is no file named "network_topology.png". Is there an alternative image or diagram that can replace the missing one?

I don't think the team would like to maintain the "1.4" version. In the latest version the image is present well. Therefore my suggest is, just repeat it, to replace the reference to version 1.4 to latest, and I implemented it in #4855

ok

Thank you, since #4855 is merged I'll close this issue.


Invalid status code received: 404 Status line: HTTP/1.1 404 Not Found

Describe the bug
Can not connect to my own server on android client.
But web client works fine.
To Reproduce
Steps to reproduce the behavior:

Click on 'Log in' button

Expected behavior
Android client connect to my own server successful.
Screenshots
Tindroid

Version: 0.16.4-rc4
Device: meizu Note9
Android API Version: 28

Server

Type: my own server
Server type: unmodified
Server version: 0.16.3

Additional context
Android client settings

firebase: disable
google-service: disable
TLS(HTTPS/WSS): disable

build.gradle(hostname)
Build Variant: debug
buildTypes {
    debug {
        resValue "string", "default_host_name", '"myownserver.com"'
    }
    release {
        resValue "string", "default_host_name", '"api.tinode.co"'
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
    }
}

Error logcat
W/RenderThread: type=1400 audit(0.0:83269): avc: denied { search } for name="proc" dev="debugfs" ino=11513 scontext=u:r:untrusted_app:s0:c196,c256,c512,c768 tcontext=u:object_r:kgsl_debugfs:s0 tclass=dir permissive=0
I/Adreno: PFP: 0x016ee177, ME: 0x00000000
I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
I/OpenGLRenderer: Initialized EGL, version 1.4
D/OpenGLRenderer: Swap behavior 2
V/ViewRootImpl: The specified message queue synchronization  barrier token has not been posted or has already been removed
W/Choreographer: Already have a pending vsync event.  There should only be one at a time.
W/Choreographer: Already have a pending vsync event.  There should only be one at a time.
D/ContentCapture: updateCollectionAppInfoImpl time=5
D/ContentCapture: checkClickAndCapture, voiceRecorder=disable, collection=disable
D/ContentCapture: checkClickAndCapture, voiceRecorder=disable, collection=disable
W/IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper: getExtractedText on inactive InputConnection
D/ContentCapture: checkClickAndCapture, voiceRecorder=disable, collection=disable
I/Url after concat: ws://myownserver.com:6060/v0/
W/System.err: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
W/System.err: SLF4J: Defaulting to no-operation (NOP) logger implementation
W/System.err: SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
I/Choreographer: Skipped 6 frames!  The application may be doing too much work on its main thread.
D/Tinode: Disconnected for 'Invalid status code received: 404 Status line: HTTP/1.1 404 Not Found' (code: -1002, remote: false);
D/Tinode: Disconnected for 'Invalid status code received: 404 Status line: HTTP/1.1 404 Not Found' (code: -1002, remote: false);
D/Tinode: Disconnected for 'Invalid status code received: 404 Status line: HTTP/1.1 404 Not Found' (code: -1002, remote: false);

Most likely your server is misconfigured. When you start your server it prints some config info in the beginning.  Please show what it prints. Alternatively show what you have configured for
"listen" and "api_path".
BTW, Android 0.16.0-rc2 is quite old. You probably want to upgrade to the latest.

server log
root@cadae_test_server:/opt/app/tinode-v0.16.3# cat nohup.out
2020/03/08 17:54:27 Server v0.16:/opt/app/tinode-v0.16.3/tinode:v0.16.3; db: 'mysql'; pid 4577; 8 process(es)
2020/03/08 17:54:27 Using config from '/opt/app/tinode-v0.16.3/tinode.conf'
2020/03/08 17:54:27 stats: variables exposed at '/debug/vars'
2020/03/08 17:54:27 Running as a standalone server.
2020/03/08 17:54:27 Restricted tags: ['basic' 'email' 'tel']
2020/03/08 17:54:27 plugins: no active plugins found
2020/03/08 17:54:27 gRPC/1.26.0 server is registered at [:6061]
2020/03/08 17:54:27 Serving static content from '/opt/app/tinode-v0.16.3/static' at '/'
2020/03/08 17:54:27 API served from root URL path '/'
2020/03/08 17:54:27 Large media handling enabled fs
2020/03/08 17:54:27 Listening for client HTTP connections on [:6060]
2020/03/08 17:54:28 ws: session started QdBBl2FkWsY 1
2020/03/08 17:54:28 in: '{"hi":{"id":"97711","ver":"0.16.3","ua":"TinodeWeb/0.16.3 (Chrome/80.0; MacIntel); tinodejs/0.16.3","lang":"en"}}' ip='<IP_ADDRESS>:39554' sid='QdBBl2FkWsY' uid=''
2020/03/08 17:57:54 ws: session started O6JQadN04aM 1

Android 0.16.0-rc2 is quite old

I clone tindroid on commit inline image sometimes fails to render because it's too wide Jan 20.
I don't know the version of app, just copy the version number in issue template.

Server expects websocket connections at http://testcadae.top:6060/v0/channels
{"ctrl":{"code":403,"text":"valid API key required","ts":"2020-03-09T03:11:29.866Z"}}

While your Android client attempts to connect to http://testcadae.top:6060/v0/
{"ctrl":{"code":404,"text":"Not Found","ts":"2020-03-09T02:59:16.331Z"}}


feat: impl string-like schema attribute parser and ast printer

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[x] N
[ ] Y

Closes #585
feat: impl string-like schema attribute parser and ast printer

2. What is the scope of this PR (e.g. component or file name):

kclvm/ast/src/token.rs
kclvm/ast_pretty/src/node.rs
kclvm/parser/src/parser/stmt.rs

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[x] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[x] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[x] Unit test
[x] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

kclvm/ast_pretty/src/test_data/codelayout.input
kclvm/parser/src/tests/error_recovery.rs

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 87.82%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2300

Relevant Lines:
2619

💛  - Coveralls


distributed?

any suggestion on how to run a distributed clover db?

cloverdb is an embedded library and it doesn't support multiple machines

Yup guys think it would be feasible to implement with etcd store? I could be keen to work on that. Been enjoying clover a lot and that would allow me to use my system in both single binary and in a more Microservices.io way.

Hey, @MaxThom, yes, it could be feasible if etc provides sorted iteration.

An alternative is to use hashicorps's raft library, which already supports badgers /boltdb: https://github.com/hashicorp/raft-boltdb

Hoo nice. I might check it out. I might look on integrating it with NatsIO key value store

@ostafen, i'm quite keen to invest some  time and work on that. I'm currently building a pretty big system and I want to use Clover for it and replace the db I currently use. I might try to integrate it in etcd or natsio or both, but not in the near future, I need to finish a few months of work on my project before circling back and changing db.

Hey, @MaxThom, honored to know you are enjoying clover. If I can ask, could you share why you decided to switch completely to clover and how it suits better your use case?
Regarding the etcd driver, feel free to ping me when you are redy


GitLab login not working on server v3.10+

GitLab login should work on servers v3.10 and above, but we've had a few reports of it not working.
If anyone is having issues with GitLab login, can you help us track down the issue by reporting:
Environment Information:
Device Name:
OS Version:
Mattermost App Version:
Mattermost Server Version:
It would also be helpful to know if other people on your server see the same issue, or if there is anyone who is able to sign in with GitLab with their device.

Device: Nexus 5X
OS: Android 7.1.2
Mattermost app version: current and 2017
beta (both)
Mattermost server: mattermost.web.cern.ch (as of today)
GitLab authentication is on and I can log in through the web (only, which limits my use of Mattermost). In both the current (as of today) main app and 2017 beta app, it claims "invalid credentials" (slightly different message in the two versions). Is like to try setting an explicit password to test that, but I don't think I can do that as a user.

I +1 @jpivarski for this issue on the same server which runs MM 3.9.0.
Device: iPhone SE
OS: iOS 10.3.2
Mattermost app version: current 1.0 (classic works)
Mattermost server: https://mattermost.web.cern.ch

This should be fixed with the 1.0.1 release on the app.
Note: it needs server 3.10 or grater.
Closing this, feel free to re-open if the issue persist

Hi @enahum, I've upgraded to version 1.0.1, but I still cannot login to the server with the same error message of wrong password.
The old app used to show the Gitlab login page (same as browser/Mac behaviour), while this one shows its own login page – could this be a problem?


window expanded to two adjacent zones when dropped between them

Summary of the new feature/enhancement
On wide monitors, when you can set 3-5 vertical zones, sometimes where is a need to use two zones for one window, it would be great if you could do that without changing the zones layout. Window could be expanded to two adjacent zones then dropped on the border between  ##two zones

we demoed this at our internal show and tell last week and looks like it has been already committed.  #335 is the tracking item


feat: add default title for new step

This PR allows to customize the default title when creating a new step.
By default, it will create the title with the format {{file}}.
The available variables are:

file
line
text

I like the idea of a default title, for steps that don't have an explicit title. But I'm not sure if it makes sense to actually set the title in the tour file, as opposed to dynamically deriving the title at render time.
The reason I say that is because the ".tour" file could be unnecessarily duplicating the file or text contents, and also, if the user wanted to hand edit the tour file (which isn't uncommon), they'd now have to edit it twice.
So I'd recommend moving the title formatting logic to the step tree node, and using it purely as a display time behavior.
Also, I'm not sure if this property needs to allow arbitrary text? As opposed to representing an enum? I think file/line/description make sense, but I'm not sure eod a compelling use case to set the title to a static string? And making it an enum would provide the end-user with auto-complete when editing their settings.

Yep, I think you are right for the text variable. It should read the content only at display-time. I will change that.

I think we should do the same for file and line as well. For example, if I move the step to a new line, then the title content would be stale if I was using a line based title. And so we'd either need to update the title when the step is edited, or just make the title property dynamic. I feel like the layer is a cleaner solution, and keeps the tour file free us content that can be easily derived.
Also, by making this a dynamic behavior, it allows the end-user to control it, as opposed to the tour author. And if I want to see the text contents for steps, I should be able to control that, regardless what preference the tour author had.

@lostintangent I've moved the rendering of the title at display-time.
So if a step has "title": "{{file}} - {{line}}", it will be displayed as src/extension.ts - 89 (based on the data of the step).
{{text}} is also supported and the file is only read when needed.

After thinking about this change a bit more, I'm not sure if it adds enough value for the complexity that it introduces. CodeTour already has a ton of customizeability, and so I want to be really thoughtful about new settings, and making sure they're worth the concept count.
In practice, great tours set explicit step titles, and so then it's just a question about what the step title should be if one isn't explicitly set. The current behavior is actually meant to encourage authors to set an explicit title, and so I'm not sure if I actually want this setting, since it might encourage the "wrong" behavior.
Also, this PR is effectively introducing two distinct things: default step titles, and allowing dynamic placeholders in titles. I think the later could be interesting, but I think I'd prefer to hear more feedback about it, before introducing it.
I really appreciate this contribution, but I think I'd rather create a design issue and discuss this behavior, and see if we can solicit some feedback before adding it into the extension.


Add enable trait

I think often need to enable/disable entities. What about to add a trait for it?

it does not relate to extensions


ja: Make docs/concepts/configuration/secret.md follow v1.19 of the original text

This is a Feature Request

What would you like to be added
Update docs/concepts/configuration/secret.md to follow v1.19 of the original (English) text.
Why is this needed
content/ja/docs/concepts/configuration/secret.md is outdated.
Comments
/language ja
/good-first-issue
File to update
https://github.com/kubernetes/website/tree/dev-1.19-ja.1/content/ja/docs/concepts/configuration/secret.md
Original
https://github.com/kubernetes/website/tree/release-1.19/content/en/docs/concepts/configuration/secret.md
diff between translated and v1.19
https://gist.github.com/232840e3cf8c6665dd4461f0de19fd0b
Note
Currently, we use dev-1.19-ja.1 branch. Please open a PR targeting the branch.
ref
https://kubernetes.io/ja/docs/contribute/localization/
If you have a question, feel free to ask us at slack.k8s.io #kubernetes-docs-ja channel.

/triage accepted

/assign

/close


Deleting poco throws: Sequence contains more than one matching element

https://github.com/schotime/NPoco/blob/7c5ceaf9a9e0a67d237af6d70085e06ebbf8fcc3/src/NPoco/Database.cs#L1496
I have a poco with a version column that references other pocos (a one-to-one + a one-to-many). The related pocos are also using a version column each.
When using db.DeleteAsync(poco) or db.Delete(poco) I'm getting an exception "Sequence contains more than one matching element". I suspect it is the line referenced above that causes this.
Just guessing here but maybe the code should read:
var versionColumn = pd?.Columns.SingleOrDefault(x => x.VersionColumn);

A workaround in the meantime is to use the delete that can take a primary key value:
 db.Delete<PocoType>(poco.Id)

Updated in 5.1.2


Workspace does not exist

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

VS Code Version:
OS Version:

Steps to Reproduce:

I am using VSCode Insiders
Version: 1.93.0-insider (user setup)
Commit: 336db9ece67f682159078ea1b54212de7636d88a
Date: 2024-08-30T18:47:32.318Z
Electron: 30.4.0
ElectronBuildId: 10073054
Chromium: 124.0.6367.243
Node.js: 20.15.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19045

Trying to setup a devcontainer as per the instructions at the following link for an existing folder on my local machine: https://code.visualstudio.com/docs/devcontainers/containers#_getting-started

It is not working. I am getting a message - Unable to open workspace folder.

I then browse to where my local folder is but it does not like it. It never opens a devcontainer. This is very very flaky. Please rectify.

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

I am not really sure why mediafire links are being sent for the resolution of this issue. Please exercise caution.


Add Repository::commit_new method with permissive parent param

The existing method doesn't accept owned commits as parameters in
Repository::commit. This new method allows for both owned and unowned
versions of the slice, which will simplify passing in Vectors
containing owned values as well as retain backwards compatibility in
most cases (unfortunately, an empty slice still needs a type specified if passed).
Fixes https://github.com/rust-lang/git2-rs/issues/140, which specifies the issue in more detail.

I personally would prefer commit_new but thats a nitpicky

I can switch over to commit_new since I'll be making that other small documentation change anyway.

I've updated the PR to incorporate the suggestions of @extrawurst, but if we decide that the type inference issue makes us want to go the &[Commit] route I'm happy to make the needed changes.

Personally I still feel like &[&Commit<'_>], is the best for now since it doesn't require type annotations, nor does it require ownership of the commits themselves.

I suppose if you're committing to that then we should also close the issue, then. I'll close this.


Allow SSH access into Notebook Pods

Whats the Goal?
I am trying to figure out how to allow users to SSH into Notebook Pods from their laptop. The benefit of this is supporting tools like Remote VSCode and JetBrains Gateway (for PyCharm) with the resources (e.g. GPUs) of the Pod.
The main issue is how to expose the Notebook Pod via SSH on the Istio Ingress Gateway.
What's the Problem?
SSH uses TCP which can't do hostname/HTTP-path routing like we do for the web-based UIs of the Notebooks. The naive approach is to have the Istio Ingress Gateway listen on a unique port for each Notebook (which is obviously not scalable or secure).
In my mind there are only TWO ways to make this work:

Use a "jump box" service (which has a single IP/Port) which listen on SSH, but route incoming requests to specific Notebooks Pods based on the SSH-key used to authenticate:

This could be implemented by setting the command in authorized_keys to another  -t<EMAIL_ADDRESS>command (see idea here)
Or possibly there might be a pre-made opensource ssh-routing tool for this exact use-case.
I am not sure what kind of hardening is required on the jump box, but we need to consider stuff like:

disabling ssh tunneling
ensuring only traffic from the Istio Gateway gets to it (not from Pods inside the mesh)
using fail2ban to stop brute forcing
regular/automatic rotation of SSH keys

Using some kind of SD-WAN VPN like Tailscale (can be open source hosted), Cloudflare Tunnel, or ngrok:

We would run the service both on the laptop and notebook pod, giving the Notebook Pod a special IP address that the laptop can use to access it.
This is slightly problematic because it will not be a direct connection from the user to the Pod (and it will probably be slower because traffic might have to be relayed).

Other Notes
While it is technically possible to use kubectl port-forward on the laptop to expose any port that the Notebook Pod is listening on (e.g. SSH port), I am not sure this is desirable at scale because it requires all users to have the pod/exec RBAC on the profile namespace, which is very privileged.
Final Thoughts
There are lots of security considerations to allowing remote SSH access, especially for the people who put Kubeflow on the public internet (NOT advised).
I am interested to hear people's ideas for how we can do this safely.

@kimwnasptd @jiridanek @ederign @juliusvonkohout I am interested to know your thoughts on this, as allowing SSH into Notebook Pods is a long standing request, but is complex to do safely.

In practice most people i know use a local vscode and connect it to the workbench/workspace via vscode extensions and a Kubeconfig.

In practice most people i know use a local vscode and connect it to the workbench/workspace via vscode extensions and a Kubeconfig. So it works on the Kubernetes, not the Kubeflow layer.

@juliusvonkohout I assume you are talking about the "attach to container" feature:

https://code.visualstudio.com/docs/devcontainers/attach-container#_attach-to-a-container-in-a-kubernetes-cluster

Or are you talking about using the code tunnel CLI, which relays through Microsoft servers?

https://code.visualstudio.com/docs/remote/tunnels

If you are talking about the first option, it still has a few problems:

It only supports VSCode
It requires users to have lots of permissions on the cluster (I would need to check exactly what kubectl permissions, but I imagine they at least need pod/exec)
The licence of VSCode Remote is proprietary (this is less of a problem, but I am just raising it)

Hence why I want to figure out a generic solution for SSH into the Notebook Pods without compromising the security of the cluster.

"Hence why I want to figure out a generic solution for SSH into the Notebook Pods without compromising the security of the cluster." yes, Code-server/vscode is just a workraound

@thesuperzapper This is indeed an interesting feature that can open up a bunch of new use cases and I agree that we should be careful on security considerations.
I would also start exploring option 1 (jump-box).
One thing we need to figure out is how users will securely add their own SSH keys. The first approach that comes to my mind is to allow them to assign a public key to a given notebook on the spawner UI. Another approach would be a 'key per namespace', that will allow me to ssh in any notebook of a given namespace.

Is relying on the Kubernetes API a scalable and reliable solution for managing workloads? I'm concerned that the kube-apiserver could become a bottleneck if multiple users simultaneously access numerous pods, particularly given that tools like VSCode may generate a high volume of small requests. How can this potential issue be mitigated?

we can add a service to notebook controller that provides the ability client can connect to notebook ssh server via websocket. and then use ssh proxycommand to archive that. the maib flow is:
ssh -> proxy command -> notebook client cli -> controller service -> kubelet exec api -> nc localhost:22
throught websocket, we can reuse http authentication. throught kubelet's exec api, we can reduce the effects on apiserver.


New package: TensorFunction v0.1.0

Registering package: TensorFunction
Repository: https://github.com/KwatMDPhD/TensorFunction.jl
Created by: @KwatMDPhD
Version: v0.1.0
Commit: 26a36da4b98ea687020f8f209fe8a03f978175c8
Git reference: HEAD
Description: Apply function on tensors 🪄
Release notes:

This is the first working release of a ported tensor functions: tools to apply functions on tensors (such as vector, matrix, etc of numbers).

@KristofferC ,
Thanks for your feedback. As in the other comment, we have adopted to this package being in the registry, after doing all of the requirements for registering this package. Then we did refactoring to adapt to this registration. Now we must do more work to revert. So could you please help register this package?
Best,
Kwat


无法转账ETH到合约

报错:
transact to OfferReward.publishOffer errored: VM error: revert.
revert
The transaction has been reverted to the initial state.
Note: The called function should be payable if you send value and the value you send should be less than your current balance.
Debug the transaction to get more information.

这个合约我都没用过啊


No Sound

when I launch missiles there is no liftoff, flight or impact sound even though I have the sound all the way up in config

Sounds are not implemented as we do not have quality sound files at the moment.

okey dokey

okay


How to get the mouse position

Hi there,
Do we have any way to know the mouse position then mouse move on the image?
I want to record all mouse position when it move on the image.

Having the same issue - did you figure it out? When zooming in and tapping I need to get the x/y position of the tap but the coordinates are off and I'm having trouble figuring out the offset. I am able to use offsetX and offsetY for desktop but for touch presses can't figure it out...


Update README with more instructions

Description
Hi there,
I've opened the demo workspace in Xcode and built and successfully deployed it to the simulator (ios and macos).
However, it is not clear how exactly I can get the playground working. Opening the playground file in Xcode gives an error that "no such module exists"  in import AudioKit .
Opening the demo workspace only shows the demo code, not the playground.
It would be great if the README could be updated with just a little more information on simple steps to get started with both the demo and the playground. It would go a great way into letting a new user get started easily.
Thanks,
Sridhar
Proposed Solution
It would be great if the README could be updated with just a little more information on simple steps to get started with both the demo and the playground. It would go a great way into letting a new user get started easily.
Describe Alternatives You've Considered
I've looked at other sources for adding swift packages to a standalone playground.
I've also looked at creating a new workspace and a new playground and then just copying/pasting the code. However, everything is there in this repository, so one should be able to just get started - a little more in the way of instructions would go a long way towards that.
Additional Context
No response

I did manage to find the playground in the Demo App Workspace - called STKAudioKit.
This time, since it was within the scope of the workspace, it no longer complained about finding "import AudioKit"
However, the Clarinet playground fails with the following error messages:
expression failed to parse:
error: Clarinet.xcplaygroundpage:10:16: error: cannot find 'Clarinet' in scope
let clarinet = Clarinet()
^~~~~~~~
error: Clarinet.xcplaygroundpage:12:14: error: cannot find 'Reverb' in scope
let reverb = Reverb(clarinet)
^~~~~~
error: Clarinet.xcplaygroundpage:16:14: error: cannot find 'AudioEngine' in scope
let engine = AudioEngine()
^~~~~~~~~~~
error: Clarinet.xcplaygroundpage:24:37: error: cannot find 'Log' in scope
if !scale.contains(note % 12) { Log("ACCIDENT!") }
^~~
error: Clarinet.xcplaygroundpage:27:32: error: cannot find 'MIDINoteNumber' in scope
clarinet.trigger(note: MIDINoteNumber(note + octave), velocity: 127)
^~~~~~~~~~~~~~

Clearly, I'm not doing things "just right". Some instructions would make the onboarding a lot smoother.
Thanks,
Sridhar

I did manage to get the Clarinet example working in my setup - but not from the playground on the github code.
Thanks,
Sridhar


Fix is repo url for win path

This PR changes the regex for is_repo_url as local windows paths seemed to be mistaken for remote urls, see #531. :cry:
https://ci.appveyor.com/project/audreyr/cookiecutter/build/1.0.656/job/9vjf6xlxxx4sfvj4

Current coverage is 99.15%

Merging #532 into master will not affect coverage as of 719d51b

@@            master    #532   diff @@
======================================
  Files           13      13
  Stmts          476     476
  Branches         0       0
  Methods          0       0
======================================
  Hit            472     472
  Partial          0       0
  Missed           4       4

Review entire Coverage Diff as of 719d51b

Uncovered Suggestions

+0.42% via ...ookiecutter/utils.py#27...28
+0.42% via ...iecutter/init.py#15...16

Powered by Codecov. Updated on successful CI builds.

Hi @charlax, can you please review this? :bow:

:+1:

Looks great.


Cow: Watch ilfornaioblog.com

Cow requests the watch of the watch_keyword ilfornaioblog\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by tripleee in Charcoal HQ


Add InsideTheBackStack sample

Description
Added a new sample app to show how the back stack works, this was adapter from Challenge 2 from DroidCon London
It's the last item in the list:

Check list

[x] I have updated CHANGELOG.md if required.
[x] I have updated documentation if required. -

We probably don't need to add the logo.png, there should be one in this project already.

Details

there's one under documentation, it's the same as this, but I can't use that one.


Improve automatically generated error reports

Right now the generated report that we have for Prisma Client doesn't contain much helpful information.
Example report can be seen here: #724
Things that we can improve:

Add a more detailed trace
Add the datamodel(or at least prompt the user so that they can add it manually)
Properly prompt the user to add information about what they did to reach that panic.

Not sure if I need to create a separate issue, but for me, 50% of the time the link cannot be submitted because it is too long for GitHub. I would suggest to check the size, and try to reduce the link length as much as possible 😅

Next step: Find working reproduction, possibly via explicit "cause crash" method (whihc might be a new feature request).

@timsuchanek were you able to reproduce this using the debug mode?


Fix Navbar at top and make it responsive

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
The Navbar should be fixed at top and should be responsive
Expected behavior

Add ScreenShots
No response
On which device are you experiencing this bug?
No response
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[ ] I'm a SSOC'24 contributor
[X] I have starred the repository

@Utsavladia u are already assigned with 2 issues . Please try to complete previous 2 assigned issues . then just ping me here , I will assign u this issue.

@apu52
Sure I have completed and created PR for them.. now I can work on this one too.

@apu52
Kindly merge this PR before GSSOC ends 😌


Incorrect Directory Mappings

Beginner at all of this, I've read the readme and don't understand what is happening here.  The directory mappings are automatically being generated when I select any project in my solution and they can't be edited within the Wax editor.  These are definitely not where I want items to go.

I need a directory named "Services" and want to put the output of several projects of the solution into it.  How is that accomplished with wax?

This is where your projects output the items to. Wax assumes that the build output is exactly there where it should be at runtime.
If you configure your projects to output item to "A" while the items are expected to be at "B" during runtime, Wax can't help you.


FOR statement

This adds a FOR statement, following this syntax:
FOR i FROM x TO y STEP z DO
    #FOR body
NEXT

where i is a number variable and x, y and z are number variables or literals.
First, it assigns x to i and starts an iteration. At the start of an iteration, the condition i <= y is evaluated if x < y and i >= y otherwise. If the condition passes, the FOR body is executed, if it fails the loop ends. After the body is executed, i is incremented by z and a new iteration is started (checking the condition and so on).
The BREAK and CONTINUE statements can be using inside FOR loops.
I used NEXT to mark the end of a FOR loop, but it could be REPEAT like in the WHILE loop without any trouble, if you prefer it.
Examples:
DATA:
i is number
PROCEDURE:
for i from 0 to 10 step 2 do
    if i is greater than 7 then
        break
    end if
    display i " "
next

outputs 0 2 4 6 .
DATA:
i is number
PROCEDURE:
for i from 5 to 0 step -1 do
    if i is equal to 3 then
        continue
    end if
    display i " "
next

outputs 5 4 2 1 0 .

I think the STEP could be optional, and increment the variable by 1 or -1 depending on x < y or not, what do you think?

maybe from X to Y step Z store in <variable> do would be more readable?
but then we lose the for part, which is a problem.
the step part shouldn't be optional imo, as that goes against the "rigidness" of the language,
anyways, I think that this is an awesome addition!

This adds a FOR statement, following this syntax [...] where i is a number variable and x, y and z are number variables or literals.

I love it! Thank you so very much for this wonderful contribution!

At the start of an iteration, the condition i <= y is evaluated if x < y and i >= y otherwise.

This is what I like the most! Wonderful!

I used NEXT to mark the end of a FOR loop, but it could be REPEAT like in the WHILE loop without any trouble, if you prefer it.

I like NEXT, I would leave it like that. Maybe, just maybe, I'd allow
REPEAT as well, but next is alright with me. I mean, when someone says
FOR you immediately think of FOR-NEXT, so I think that's half the battle
won right there.

I think the STEP could be optional, and increment the variable by 1 or -1 depending on x < y or not, what do you think?

I agree with @fireasembler, it shouldn't be optional, it gives more clarity
to the matter. Just what they said.
Then firesaembler said:

maybe from X to Y step Z store in  do would be more readable?
but then we lose the for part, which is a problem.

I do think losing the for part is a problem. When you need a for loop
in a language you search 'how to write a for loop in X language',
renaming it would make it harder to find (and, for people with any programming
background) to understand.
I love this, thanks a lot to @dgarroDC and thanks to you fireasembler for your
valious input! I'm merging this right now!

Please @dgarroDC document this new feature in the docs and add for loop tests to the ldpl test battery. If you can't do it, please tell me and I'll try to do it myself. Thank you!

@Lartu I suggested changing it to from X to Y step Z store in <var> do because imo the for loop syntax is best used as the syntax of an iteration loop (think python for X in Y)

@fireasembler I understand, and I do agree with you. I like the from syntax more, but it could be confusing for people not used to the language. In python they still keep the for keyword, it's somewhat universal, I wouldn't dare replacing it, even though your syntax is clearer.

While I was writing the tests, I found a bug when x was equal to y, it looped forever when the step was positive instead of doing just one iteration. To fix it, the condition is based on the step, (i <= y if z >= 0). This actually makes more sense (and it is what VB do), because yo mark the intended direction of the for with the step, not the range. In fact, it's useful when you iterate lists, because if it's empty you have a FOR from 0 to -1 with step 1 and you don't want to iterate anything in this case.

Haha, that's true. Wonderful, thank you very much for this and for uploading tests to the test battery!


Bump up kernel version, fw and ucode

This just bumps up a kernel version in the kernel-commits.mk, kernel-version.mk and also increases fw and ucode to the latest available by today.
So these versions will be used:
amd64-generic: v6.1.106
amd64-rt: v6.1.105
arm64-generic: v6.1.106
riscv64-generic: v6.1.106
Update: this should be merged after this is merged: https://github.com/lf-edge/eve-kernel/pull/133

Can we please have commit messages that are relevant?
F.e.:
e61cce864cfa: Dockerfile: add pahole dependency

is not only irrelevant for this repository, but it is even mentioned twice.

Can we please have commit messages that are relevant? F.e.:
e61cce864cfa: Dockerfile: add pahole dependency

is not only irrelevant for this repository, but it is even mentioned twice.

I understand your concern to minimize the log for autogenerated commit, which described the difference in eve-kernel. Here in this PR I manually minimized the log by reducing to 5 commits for each branch and put the link on github for those who are thrilled to see the full log. Christoph, I suggest you to raise this concern to @rucoder and contribute to the tools/update_kernel_commits.py with a PR, then it makes more sense to change things rather to complain in each commit which aims to update kernel SHA.

By the way, I want to fix the commit message linter to allow kernel update commits in the form they are done now. Ignore it until then.


Depdendency updates

Poetry and vue demo app updates.

I cannot believe there already are dependency updates from my PR yesterday 😮

The demo vue app ones weren't in that PR and those had dependabot warnings so just wnated to clear them (though they are very unimportant)


Support scipy special function with tuple output

What do these changes do?
We can use ExecutableTuple and TensorTupleElementOp to support mars execution of scipy special functions with tuple returns. Specifically, the following syntaxes can be supported:
from mars.tensor import special
import mars.tensor as mt
x = mt.linspace(-3, 3)

S, C = special.fresnel(x)
S.execute()
C.execute()
special.fresnel(x).execute()
(S + C).execute()

Also since we invoke scipy.special.fresnel during tensor executions, a cache is added in core.py so if we execute multiple elements of the same function during one execute() call, we don't need to do the scipy computation for each element. Later executes can just use the cached scipy outputs.
Related issue number
Check code requirements

[ ] tests added / passed (if needed)
[x] Ensure all linting tests pass, see here for how to run them

Given your implementation, it is not hard to use one single operand for two outputs. You may take a look at TensorSVD for an example, where we use output_limit property to define the number of outputs:
https://github.com/mars-project/mars/blob/424cfb9d422a0918a089821f2710340ff94e101a/mars/tensor/linalg/svd.py#L44-L46
use new_tensors(..., kws[kw1, kw2]) to create multiple output objects:
https://github.com/mars-project/mars/blob/424cfb9d422a0918a089821f2710340ff94e101a/mars/tensor/linalg/svd.py#L69-L77
and use ctx[out.key] = xxx to store execute results.
https://github.com/mars-project/mars/blob/424cfb9d422a0918a089821f2710340ff94e101a/mars/tensor/linalg/svd.py#L150-L155

Given your implementation, it is not hard to use one single operand for two outputs. You may take a look at TensorSVD for an example, where we use output_limit property to define the number of outputs:
https://github.com/mars-project/mars/blob/424cfb9d422a0918a089821f2710340ff94e101a/mars/tensor/linalg/svd.py#L44-L46
use new_tensors(..., kws[kw1, kw2]) to create multiple output objects:
https://github.com/mars-project/mars/blob/424cfb9d422a0918a089821f2710340ff94e101a/mars/tensor/linalg/svd.py#L69-L78
and use ctx[out.key] = xxx to store execute results.
https://github.com/mars-project/mars/blob/424cfb9d422a0918a089821f2710340ff94e101a/mars/tensor/linalg/svd.py#L150-L155

Thank you for your feedback! Will take a look.


support for streaming data from clickhouse as pyarrow table in python client

Use case

when using clickhouse for data-frame type processing - not all transformations are possible to in clickhouse itself, and data needs to be loaded in from the python client and be processed in python and then inserted back to the clickhouse (no elegant way of inserting large data back, but that is an issue for some other day).
so to process tables that are larger than memory, we can already stream rows in chunks from the clients --> it will be great if we can get row chunk directly in the form of pyarrow table streams.

Describe the solution you'd like

currently we have support for numpy and pandas format query stream, It would be great to have the same for pyarrow format as it is more memory efficient and is a lot faster that the two mentioned above (faster for data conversion from clickhouse to client)

Describe alternatives you've considered

pandas is an alternative but it becomes the bottleneck in the conversion and transformation process (for inserting data back to the clickhouse - I wrote a context manager that dumps the data to parquet files and are uploaded to new table, after transformation the old table is dropped and new table is renamed, at the end parquet files are cleaned!)
so having a direct stream of pyarrow tables will be great

Additional context

I am using clickhouse, and writing a wrapper around it that will help me process larger than memory data in data-frame style API. for some edge case functionalities in ML it becomes really necessary to transform the data in python (image cleaning etc.), otherwise majority of the applications have been implemented in clickhouse. and I am really happy with the performance, that even my laptop shows on datasets bigger than my 12 GB ram.
hope to get some feedback!

See the related issue https://github.com/ClickHouse/clickhouse-connect/issues/267 for some related code examples.   Improved/streaming PyArrow support is a very popular request, and we're looking into it.

Thanks I will look into it!

This should be supported in the 0.7.4 release after the PR by @NotSimone

Use the new client query_arrow_stream method.


Unable to delete/edit items using the UI

I've actually tried both vue-crud-ui, and php-crud-ui. I can't get either to edit or delete items. Both will add new ones, though.
Any insight into what is causing this is greatly appreciated.
Thanks!

Hi @eli-oat
Thanks you for creating this issue.
Probably your webserver doesn't allow the http verbs delete and put. You can verify this using Postman before trying the ui any further.

Thanks @mvdriel!
That solved it.

I'm actually having the same problem, its not showing anything from the database in XAMPP
postman works fine thou


Remove the extra backslash

How about adding https://github.com/koalaman/shellcheck-precommit to the config to catch this type of thing automatically in the future?

How about adding https://github.com/koalaman/shellcheck-precommit to the config to catch this type of thing automatically in the future?

I don't use the pre-commit tool. If you use it, you are welcome to do this.

BTW shellcheck is not able to catch this extra backslash yet (if the last line of the script ends with a line break). But let it be.

How about adding https://github.com/koalaman/shellcheck-precommit to the config to catch this type of thing automatically in the future?

Not a big fan of them myself either, prefer a CI check instead. :P

How about adding https://github.com/koalaman/shellcheck-precommit to the config to catch this type of thing automatically in the future?

Not a big fan of them myself either, prefer a CI check instead. :P

IMO it's best to combine both. One of my workflows always does pre-commit run -a to ensure the PR is actually following formatting, etc encoded through tools in the pre-commit setup.

Btw, I am also open to introducing this as a pre-commit too. :}


Fix typo

"fiels" --> "fields"

Docs Build status updates of commit 5e15a99:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Odata-docs/connectedservice/reference.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


performance: switch to kiddo kd tree library for ~800x improvement on benchmark 😲

I tried a little experiment and switched out the old kdtree library for kiddo, a performance-improved fork of the now 2-year-old kdtree. (fair disclosure: I'm the maintainer of kiddo).
This resulted in a huge improvement in performance on the benchmark. Tested on a Ryzen 5900X, I got the following result for the old master branch:

316.1 microseconds.
After my refactoring, I got the following result:

409.9 nanoseconds - i.e. 0.4 microseconds! Faster by a factor of 790 😎

This is amazing! I heard about kiddo a few months ago and at the time I don't think I could get it to work! Wow! Thank you!!


Implementation of InMemory feature for post manipulation of retrieved data.

Now that other PRs are merged, this is one more feature that is mentioned in #50
It's quite straightforward, the specification holds Func<List<T>, List<T>> predicate, and this is callled after the data is retrieved from persistence.
The usage is as following:
public class CompanySpec : Specification<Company>
{
    public CompanySpec(int countryId)
    {
        Query.Where(x => x.CountryId == countryId)
             .Include(x => x.Stores);

        Query.InMemory(x =>
        {
            // Here you are not constrained to the specification builder.
            // You can use everything that .NET offers in order to manipulate List
        });
    }
}

I must admit, at first glance this seemed quite appealing feature, but I'm having second thoughts on that :)
Not a bad thing to have it, but if thought carefully very rarerly will be used. If you're in a position that you need additional filtering after the DB query is completed, then it means you have quite inefficient query.
One use case, since IncludeWhere is not supported until EF Core 5, then you might need additionally filtering based on some complex conditions on the navigations? Maybe?
I don't know, the community might find some other use cases.

As soon I wrote the previous comment, an apple fall on my head :)
If you love domain events and use them often in your code, then most probably you always have trouble to decide where exactly to subscribe to them? Imagine the aggregate root have to subscribe to its child's event. Now you can just iterate through the collection and call subscribe for each retrieved aggregate root. As a final result, you get list of aggregates from repository who are already completely set.
Note: This is actually more valid if you're using .NET events. If you have your own event aggregator or similar infrastructure, then there are other ways to this problem.

If we're ok with the naming, this can be merged too (resolved the conflicts now).

If we're ok with the naming, this can be merged too (resolved the conflicts now).

Hi @fiseni . Wondering if the InMemory feature was ever released? I'm pulling in version 5.1, but not seeing it. Thanks!

Yes, it's there, but renamed to PostProcessingAction.
We did that to avoid confusion with in-memory evaluators in version 5.
Sorry, we have not been very careful in documenting all changes. We're working on the documentation.

Ah! OK, perfect. That'll do just fine ;) Thanks for the assist!


resolve console errors in admin login

when i checked console on admin login page there were lots of errors

@rupeshmohanty kindly Assign me this

@rupeshmohanty no lvl label ?

@arpit456jain Give me some time. I will assign a level to this issue

Ok @rupeshmohanty  😅
Sorry for the inconvenience


vue.min prop validator don't work

Vue.js version
2.0.3
Reproduction Link
uncompressed
compressed

This is a behavior by design, you could have got the warning in dev mode.


README.md Typo

Just fixed a simple typo that I noticed while reading the documentation.

Thanks!


Adding the missing double quote in href-"Go to Certification" button on CKA course #21126

References: #21126
Section: CKA course
Description:
Added the missing opening ".
File modified: https://github.com/kubernetes/website/blob/master/content/en/training/_index.html
Line no: 100: Go to Certification
Page link: kubernetes.io/training

/assign @kbarnard10


False Positive: time-ios.g.aaplimg.com

This is a false positive I believe
Just needed for getting the time in IOS

hmmm ok, I'm not sure how to verify this since I have no apple devices.

This domain seems to be exclusive to your blocklist, and none of the other 338 blocklists I am using are blocking this.

https://support.apple.com/en-us/HT210060
time-ios.apple.com - Used by devices to set their date and time
This domain is a CNAME for this domain

This issue has been added to my next big update scheduled for July 2020.


refactor caddy-tailscale logic

This is admittedly a pretty sizeable refactor, but is almost exclusively renames, code movement, and documentation.  There should be no logic changes.  There is technically one breaking change in renaming TSApp.Servers to TSApp.Nodes, but only for folks using the JSON config directly (caddyfile doesn't use the name).
The refactoring in this change includes:

Move TailscaleAuth logic into auth.go
Move all TSApp logic into app.go (including caddyfile parsing)
Rename "server" to "node" throughout. This aligns better with Tailscale terminology, and is reflective of the fact that nodes can also just be used as proxy transports, in which case they are not acting as servers at all.
Generally prefer referring to a node's "name" than "host". While this name is still used as the default hostname for the node, I would expect that to change with a future iteration of #18.
add godocs throughout

/cc @clly and @mholt though don't worry if this is more than you've got time to look at.  Even if the changes are straightforward, it's still a lot.

awesome, thanks for giving it a once-over!


Document catalog relist restrictions

We implemented restricting which classes and plans are made available through service catalog in #1773, but no one knows about it or how to use it. Let's add some docs explaining how to register a broker and add restrictions.

Closed by https://github.com/kubernetes-incubator/service-catalog/issues/2203


Example of find in documentation isnt correct

I found a small mismatch in example in documentation
you have
this.$refs.tree.find('Node Text') // It will find Node that has text 'Node Text' this.$refs.tree.find(/Node Text/) // Using RegExp. It will find: Node Text ATAT, ATATA Node Text and so on... this.$refs.tree.find({   text: /^Item 2/,   state: { checked: true, selected: true } })
when you find, it should be  stateS instead of state

We are passing the 'state' for a new Node. But should use 'states' for searching... I think it is not good.
Added possibility to use both: state or states


Historical: add basin mask for basin specific diagnostics

Closes the historical half of https://github.com/ACCESS-NRI/access-esm1.5-configs/issues/95.
This PR sets MOM to read the basin_mask.nc input file which allows for basin specific tracer diagnostics (e.g.  temp_merid_flux_over_atlantic) to be saved.

are there are diagnostics in the standard profiles that use the basin mask?
There are! We're currently saving several of these 1D flux variables incorrectly because of the missing basin mask:
https://github.com/ACCESS-NRI/access-esm1.5-configs/blob/475e222cd37aa3e0bdec384058cf2684e632dd7b/ocean/diagnostic_profiles/source_yaml_files/diag_table_standard_source.yaml#L361-L410

as brought up here: https://forum.access-hive.org.au/t/access-esm1-5-basin-ocean-heat-transports-incorrect/3674


Create loopback.tag

Just sorta copied the wiki, but it helps a lot because people don't check GitHub so it is nice to have this as a tag to help others.

Perhaps we could link there too? https://github.com/GeyserMC/Geyser/wiki/Fixing-'Unable-to-Connect-to-World'#windows-10
Though I suppose not necessary since we have the entire guide. :P

Superseded by #197


Support int64 index dtype in sparse logistic regression

Meanwhile update the test environment to cuml 24.08 nightly.

build

build

build

build


Flaky test: request timeout

Disabled on CI in https://github.com/http4s/http4s/pull/3058.  Has been failing a lot on Scala 2.13 lately, but never locally.  Deemed to be adding more noise than signal for now.  Help wanted.

Can a link be added to the logs of the failing test here? Or paste the logs here? Would help in debugging as this issue is not reproducible locally.

I'll try to get better about tracing the flakes back to tickets.


Feature/elb unlimited stickiness session

Summary

Fix for https://pfs.nifcloud.com/cs/catalog/cloud_news/catalog_230824100000_1.htm
New session_stickiness_policy_expiration_period  range (unlimited, 3-1440) is now available.

How Has This Been Tested?

[x]   Buld with make install command.

make install

[x]   Apply this example. (unlimited session expiration mode)

Please check control-panel after apply completion.

terraform {
  required_providers {
    nifcloud = {
      source = "nifcloud/nifcloud"
    }
  }
}

provider "nifcloud" {
  region = "jp-east-1"
}

resource "nifcloud_elb" "bar" {
  elb_name          = "foobar"
  availability_zone = "east-11"
  instance_port     = 80
  protocol          = "HTTP"
  lb_port           = 80

  network_interface {
    network_id     = "net-COMMON_PRIVATE"
    is_vip_network = true
  }

  session_stickiness_policy_enable = true
  session_stickiness_policy_method = 2
}

[ ]   Modify TF file and re-apply this example. (session expiration duration is 1440)

Please check control-panel after apply completion.

terraform {
  required_providers {
    nifcloud = {
      source = "nifcloud/nifcloud"
    }
  }
}

provider "nifcloud" {
  region = "jp-east-1"
}

resource "nifcloud_elb" "bar" {
  elb_name          = "foobar"
  availability_zone = "east-11"
  instance_port     = 80
  protocol          = "HTTP"
  lb_port           = 80

  network_interface {
    network_id     = "net-COMMON_PRIVATE"
    is_vip_network = true
  }

  session_stickiness_policy_enable = true
  session_stickiness_policy_method = 2
  session_stickiness_policy_expiration_period = 1440
}

[x] Run acceptance tests.

TF_ACC=1 go test ./nifcloud/acc/... -v -count 1 -parallel 1 -timeout 360m -run TestAcc_ELB

[x] Enjoy!!😸

Types of Changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Refactoring (improves code quality but has no user-facing effect)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation

LGTM


Typos on string #085 & 200

Plus minor formatting proposals

These are taken care of in a subsequent checkin


Client implementation errror "Cannot deduce decoder"

Hi,
i implemented this client:
package com.github.jarlakxen.drunk
import com.github.jarlakxen.drunk.GraphQLClient.GraphQLResponse
import org.scalatest.FlatSpec
import com.github.jarlakxen.drunk.circe.deriveByTypenameDecoder
import com.typesafe.scalalogging.LazyLogging
import de.salt.d4s.model.entities.{Delivery, DeliveryItem}
import io.circe._
import io.circe.generic.semiauto._
import sangria.macros._
import java.util.concurrent.TimeUnit.MILLISECONDS

import scala.concurrent.duration.Duration
import scala.concurrent.{Await, ExecutionContext, Future, duration}

class GraphQLSoDelClientSpec extends FlatSpec with LazyLogging {

  implicit val deliveryDecoder: Decoder[Delivery] = deriveDecoder
  implicit val deliveryItemDecoder: Decoder[DeliveryItem] = deriveDecoder
  val duration = Duration(4000, MILLISECONDS)

  //case class DeliveryQuery(delivery: Delivery)
  type DeliveryQuery = Map[String, List[Delivery]]
  case class Pagination(offset: Int, size: Int)

  implicit val deliveryQueryDecoder: Decoder[DeliveryQuery] = deriveByTypenameDecoder()

  implicit val pagniationEncoder: Encoder[Pagination] = deriveEncoder
  val client = GraphQLClient(s"http://delivery-generator-mho.d4s.salt-solutions.de/graphql")
  implicit val ec = ExecutionContext.global

  "server" should "respond correctly to deliveryQuery" in {

    val query =
      graphql"""
               query{delivery( id: "4727")
               {
               docid
               docType
               system
               status
               items{itemid product quantity unit date}}
               }
    """

    val page1: GraphQLCursor[DeliveryQuery, Pagination] = client.query(query, Pagination(0, 10))
    val data: Future[GraphQLResponse[DeliveryQuery]] = page1.result

    val result = Await.result(data, duration)

    logger.debug(result.toString)
  }
}

Running i get this error:
Cannot deduce decoder. Missing __typename: DownField(data)
DecodingFailure(Cannot deduce decoder. Missing __typename, List(DownField(data)))

Can anyone help me to fix it?

Any ideas? Would be happy to get this solved.

Hello 👋
I know that i had this issue when my query order did not match my case class definition order.
For example :
query{delivery( id: "4727"){
    docid
    docType
    system
    status
}```

The case class should be ```
case class Delivery(
    docid: String,
    docType: String,
    system: String
    status: String
)```
In the same exact order as you querying. At least i had this issue using drunk with auto decoder from circe.
Don't know if it can solve your problem

@MichaelHornung I'm assuming you have either found your answer or moved on but the issue is likely that you don't have anything declared for the discriminators. The implementation looks like this:
  /**
    * This a special [[io.circe.Decoder]] for decode a polymorphic JSON response using the __typename field.
    */
  def deriveByTypenameDecoder[T](discriminators: (String, Decoder[_ <: T])*) = new Decoder[T] {
    val discriminatorsMap = discriminators.toMap
    override def apply(c: HCursor) = c.downField(ast.TypenameFieldName).as[String] match {
      case Right(tpe) if discriminatorsMap.contains(tpe) =>
        discriminatorsMap(tpe)(c)
      case Right(tpe) =>
        Left(DecodingFailure(s"Cannot deduce decoder $tpe for ${ast.TypenameFieldName}", c.history))
      case _ =>
        Left(DecodingFailure(s"Cannot deduce decoder. Missing ${ast.TypenameFieldName}", c.history))
    }
  }

Meaning you need to supply the list of discriminators in order for it to be able to resolve which subtype you want


Default background and and white foreground, bad hightlight color

When using defaultBackgroundColor (uses the color of terminal) and a white foreground, the highlight text color is white (should be either default or something other than white.  I am looking for something like highlightColor
        $option = $this->menu('Select :', ['item 1,item 2'])
            ->setBackgroundColour('default')
            ->setForegroundColour('white')
            ->setExitButtonText('None')
            ->setWidth(60)
            ->open();

produces

Hey @mikeerickson! You create an issue on the php-school repository. Since this package is just an wrapper I can't resolve your problem. Sorry.

@nunomaduro ya, I realized that after I posted this (meant to come back and close this puppy).  I have patched the issue in cli-menu


feat: check the number of spec.schedule fields

The schedule field of scheduledbackup.spec can have 5 or 6 parameters as defined by the Go cron package
format
This syntax may be misleading when using just 5 parameters, as the seconds field is not included.
This patch improves the webhook to raise a warning when a schedule specification has just 5 fields, while retaining compatibility.
Closes #5380

E2e: https://github.com/EnterpriseDB/cloudnative-pg/actions/runs/12231727233
@pchovelon, are you okay with the changes I made? Can you please fix the DCO, too?

E2e: https://github.com/EnterpriseDB/cloudnative-pg/actions/runs/12231727233
@pchovelon, are you okay with the changes I made? Can you please fix the DCO, too?

Yep, sure. And I think it's now ok for DCO. Can you confirm ?


Bundle size indication in docs

Hi @colbyfayock, thanks for your thoughtful work on this integration. Overall this looks like a far better solution for using Cloudinary in NextJS then anything else I've seen.
It'd be helpful to have a sense of what the weight of this is (minified, unminified, etc), especially as this takes a dependency on some Cloudinary libs that also don't specify bundle weight.
I'm planning to do a bit of testing and report back, happy to share results if you don't know offhand. One way or another it'd be a nice touch to add this to the docs.

thanks @aldendaniels!
i think thats a great idea. do you have any examples of how youve seen this shown in a helpful way in other projects?
woudl love to hear what you find out and you're welcome to plug in a PR if you'd like

Sure! Here's an example from the lib: https://www.npmjs.com/package/libphonenumber-js

Any update on this? I was just wondering this myself, and stumbled across this posted issue. Specifically wondering about the impact on the JS payload compared to just passing a custom loader to the Next.js Image component (obviously the latter wouldn't have the same ease of using transformations.)

hey jumping back to this - i found that i can have this dynamically added with shields.io and bundlephobia

going to add this to the readme

the thing to keep in mind is unless there's an underlaying or im mistaken, in reality, that size won't be added to the bundle through after treeshaking, so if you're just using the CldImage, it wont impact it to the extent shown there


F1 key doesn't get intercepted by ci_edit

The terminal intercepts this signal, so it becomes impossible to get rid of the welcome message at the start of ci_program.

That's unexpected. Do the other F-Keys get to ci_edit (e.g. using the --log view to see what ci_edit sees)?
Which terminal by the way?
I'll disable it for now.

It now defaults to not showing, but can still be shown with F1. If someone can show it with F1 I'm hoping hiding it with F1 would work too.

Yes, currently using Ubuntu 16.04 default terminal. I think I remember it happening in archlinux as well. F11 also doesn't appear as it should. It shows up as ch 410 KEY_RESIZE, the same key as you get if you maximize the terminal on your monitor.

Hmm, I get ch 265 KEYF(1) on iTerm2 on Mac using terminal type xterm-256color.

Does your terminal contain a built in help window? Linux terminals usually
display a help window when you press F1 I think.
On Nov 2, 2017 10:03 AM, "Dave Schuyler"<EMAIL_ADDRESS>wrote:

Hmm, I get ch 265 KEYF(1) on iTerm2 on Mac using terminal type
xterm-256color.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/ci_edit/issues/112#issuecomment-341490159, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ASlDtb6fhIjL0sXS0E51DDkb_ETbYceeks5syfXQgaJpZM4QO4aN
.


KeyError: 'next_token'

Hey, the code ran but after page 3 it gave this error.
  File "followbot-twitter-master\app.py", line 7, in <module>
    following = get_followings()
  File "followbot-twitter-master\utils\util_funcs.py", line 72, in get_followings
    next_token = result['meta']['next_token']
KeyError: 'next_token'```

no issue when i follow all the steps on my mac


No longer over-capture TA roles

This regex was catching statistics roles (as they technically do include ta). TAs have a role that is exactly 'TA' so we can narrow the regex's grasp a bit.
Now I can add and remove my STAT 515 role 😎

Also Mr. Career man if you implement this you gotta make me Admin. Goteem


Html.EditorFor for an object-typed member with enum contents renders nothing

In 6.0.0-alpha4, I have a simple view model:
public class MyModel { public object Value { get; set; } }

and try to render an input for this:
Html.EditorFor(x => x.Value)

When the object stored in Value is of type int, string, or DateTime etc, I get the corresponding input with type="number", type="text", or type="datetime". However, when the stored object is of type enum, only a blank line is rendered instead of an input.
I have looked at the source code of *.Core and experimented accordingly, but now I'm even more confused:

When I change the type of Value in the view model to my enum type, an input type="text" is rendered
When I add en EditorTemplate named myenumtype.cshtml, the contents are rendered
When I add an EditorTemplate named Enum.cshtml, those contents are rendered

add display and edit templates (either Enum.cshtml or YourEnumType.cshtml). note we added Enum.cshtml support in MVC 5.2.

Given that we have a template for Enum in MVC 5.X should we port that forward for parity?

Hi. Thanks for contacting us.
We're closing this issue as there was no much community interest in this ask for quite a while now.


Route Service endpoints [kong 0.13.0]

Hi,
I add some API endpoint for kong 0.13.0:

Service
Route

I updated breaking change on the Upstream API.
The objective is to update the kong terraform provider (I'm working on that)

@kevholditch

@nm-harry not too much most of the work is in the gokong client. Just waiting for the readme to be updated as part of this PR

@kevholditch Sorry I haven't time to do that, now the readme is updated


chore: install Tekton tasks from local source code & install S2I task

Signed-off-by: Zbynek Roubalik<EMAIL_ADDRESS>Installing Tekton tasks from local source code help enables us to always install the most up to date Tekton tasks (or the working copy).

Changes

:broom:  install Tekton Task from local source code
:gift:  install S2I task

/kind enhancement

/lgtm
/hold for others

/unhold


WIP: add relevant Goldacre recommendation

Completed addition of a recommendation directly related to open source tooling in the NHS (though it doesn't explicitly mention R).  Also updated the quote formatting in the README to be consistent.

This is to add context from the Goldacre review calling for updates to IT policies on modern open tools.

Looks good, ready for merge?

Yes, I'm happy with it.

Not aure if this will play nice with your latest draft revisions, but happy to rebase and revise if necessary?


Write a tool that can reliably render a set of macro calls in a collection of docs

Write a tool that can reliably render a set of macro calls in a collection of docs, and write the result back into the Wiki DB.
"render" means that the macro call is replaced with the static HTML it creates.
Acceptance criteria
We can easily selectively render KumaScript macros for subsets of the Wiki.

Command line interface:

define a list of docs (in a config file)
define a list of macros
list of docs is rendered that Will can then diff
then allow a push to MySQL

Estimated number of files per run: 100s


Wrong command Debian

The command: sudo waagent –force -deprovision
The correct one is: sudo waagent –force -deprovision+user

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

ID: 5be23fa1-7083-e231-3bcc-6b86c57412a7
Version Independent ID: 14f6de07-473f-7993-5493-6ded9ded4435
Content: Prepare an Debian Linux VHD - Azure Virtual Machines
Content Source: articles/virtual-machines/linux/debian-create-upload-vhd.md
Service: virtual-machines
GitHub Login: @gbowerman
Microsoft Alias: guybo

Thanks for the feedback! We are currently investigating and will update you shortly.

Sure i will do it!
Thank you
Inviato da iPhone

Il giorno 31 mar 2021, alle ore 20:50, Karishma Tiwari - MSFT @.***> ha scritto:

Thanks for bringing this to our attention. I have created a PR with the update, changes will be live shortly.
Thanks for improving our documentation! Just so you know, it's also possible to make these changes yourself, if you are interested. Doing so will improve our documentation, and it will add you as a contributor to the document.
In case you're interested, these are the steps to do so:
Navigate to the page of interest
Select the "Edit" button at the top right of the page
Select the "Pencil" icon on the right
Modify the text within the text box in markdown format - more info: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
Name your file change and provide a description, if necessary
Select "Propose file change"
Select "Create pull request" on the 'Comparing changes' page
Select "Create pull request" on the 'Open a pull request' page
You can find a GIF that demonstrates the end-to-end process for submitting changes here: https://aka.ms/editsqldocs.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Sure i will do it.
Thank you
Inviato da iPhone

Il giorno 1 apr 2021, alle ore 18:57, @.*** ha scritto:
Sure i will do it!
Thank you
Inviato da iPhone

Il giorno 31 mar 2021, alle ore 20:50, Karishma Tiwari - MSFT @.***> ha scritto:

Thanks for bringing this to our attention. I have created a PR with the update, changes will be live shortly.
Thanks for improving our documentation! Just so you know, it's also possible to make these changes yourself, if you are interested. Doing so will improve our documentation, and it will add you as a contributor to the document.
In case you're interested, these are the steps to do so:
Navigate to the page of interest
Select the "Edit" button at the top right of the page
Select the "Pencil" icon on the right
Modify the text within the text box in markdown format - more info: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
Name your file change and provide a description, if necessary
Select "Propose file change"
Select "Create pull request" on the 'Comparing changes' page
Select "Create pull request" on the 'Open a pull request' page
You can find a GIF that demonstrates the end-to-end process for submitting changes here: https://aka.ms/editsqldocs.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


[Proposal] Adjust EventManager and Listener classes

I'm submitting a proposal

Library Version:
1.2.1

Current behavior:
Whenever Listener bind is called, it creates a new function event => this.callSource(event), which will be use as callback inside DefaultEventStrategy.
This callback is then assigned to either delegatedCallbacks or capturedCallbacks properties on the element listening to the event. The disadvantage of this approach is the higher memory allocation for creating lambda in Listener, and only one listener allowed per event type per element. While the memory maybe negligible, the latter disadvantage sometimes makes it hard to consume an element.
For example:
<!-- my-comp.html -->
<template bindable="message" click.delegate="say(message)">
  <!-- ... -->
</template>

<!-- my-comp-consumer.html -->
<template>
  <require from="./my-comp.html" ></require>
  <my-comp message="hello" click.delegate="doExtraWorkWhenClick(someReference)"></my-comp>
  <!-- ... -->
</template>

We will either lose say(message) or doExtraWorkWhenClick(someReference) due to the current way of how event is registered on an element.
Proposal
Lets start with EventManager addEventListener method:
CURRENT
addEventListener(target, targetEvent, callback, delegate)

PROPOSAL
// Could be named `addListener` to avoid breaking change ?
addEventListener(target, targetEvent, listener /* instance of class listener */, delegate)

Changes required in Listener class: NOT breaking (requires test changes)
  bind(source) {
    if (this.isBound) {
      if (this.source === source) {
        return;
      }
      this.unbind();
    }
    this.isBound = true;
    this.source = source;

    if (this.sourceExpression.bind) {
      this.sourceExpression.bind(this, source, this.lookupFunctions);
    }
    // this._disposeListener = this.eventManager.addEventListener(
    //  this.target,
    //  this.targetEvent,
    //  event => this.callSource(event),
    //  this.delegationStrategy);

    this._disposeListener = this.eventManager.addListener(
      this.target,
      this.targetEvent,
      this,
      this.delegationStrategy
    );
  }

  // new extra class method to handle event, leveraging EventTargetInterface
  // This help avoid creating lambda inside each listener (Great win, in my pov for memory)
  handleEvent(event) {
    this.callSource(event);
  }

Changes required in DefaultEventStrategy (Breaking, need to duplicate to avoid)
  // old signature:
  // subscribe(target, targetEvent, callback, strategy) {

  // new signature
  subscribe(target, targetEvent, listener, strategy) {
    let delegatedHandlers;
    let capturedHandlers;
    let handlerEntry;

    if (strategy === delegationStrategy.bubbling) {
      delegatedHandlers = this.delegatedHandlers;
      handlerEntry = delegatedHandlers[targetEvent] || (delegatedHandlers[targetEvent] = new DelegateHandlerEntry(targetEvent));
      let delegatedCallbacks = target.delegatedCallbacks || (target.delegatedCallbacks = {});

      handlerEntry.increment();

      // We remove the following line, as it restrict only one listener for 1 event.
      // delegatedCallbacks[targetEvent] = callback;

      // Instead, we use an array
      delegatedCallbacks[targetEvent] = delegatedCallbacks[targetEvent] || (delegatedCallbacks[targetEvent] = []);

      // We replace the following implementation
      return function() {
        handlerEntry.decrement();
        delegatedCallbacks[targetEvent] = null;
      };

      // By
      return function() {
        handlerEntry.decrement();
        var idx = delegatedCallbacks[targetEvent].indexOf(listener);
        if (idx !== -1) {
          delegatedCallbacks[targetEvent].splice(idx, 1);
        }
      };
    }
    if (strategy === delegationStrategy.capturing) {
      // Similar to bubbling delegation strategy ...
    }

    target.addEventListener(targetEvent, listener, false);

    return function() {
      target.removeEventListener(targetEvent, listener);
    };
  }

And finally, changes required in handleDelegatedEvent: (Breaking, need to duplicate to avoid)
function handleDelegatedEvent(event) {
  let interceptInstalled = false;
  event.propagationStopped = false;
  let target = findOriginalEventTarget(event);

  while (target && !event.propagationStopped) {
    if (target.delegatedCallbacks) {
      // we replace following implementation
      // let callback = target.delegatedCallbacks[event.type];
      // if (callback) {
      //  if (!interceptInstalled) {
      //    interceptStopPropagation(event);
      //    interceptInstalled = true;
      //  }
      //  callback(event);
      // }

      // With following one
      let listeners = target.delegatedCallbacks[event.type];
      if (listeners) {
        for (let i = 0, ii = listeners.length; ii > i; ++i) {
          let listener = listeners[i];
          if (!interceptInstalled) {
            interceptStopPropagation(event);
            interceptInstalled = true;
          }
          listener.handleEvent(event);
        }
      }
    }

    target = target.parentNode;
  }
}

Summary:

Pros: Less memory consumption, allow multiple listeners for each event type
Cons: May introduce breaking change

cc @EisenbergEffect @jdanyow

Please no breaking changes at this point. Can we find a way to handle this in a backwards compatible way? @jdanyow Can you review these ideas?

The breaking change can be avoid if we

Add new method to EventManager: addListener
Dupplicate the code of DefaultEventStrategy, handleDelegatedEvent and handleCapturedEvent, which consist around 170 LOC in total.

@EisenbergEffect I have updated some part to show which requires breaking changes, which doesn't in the proposal.

@EisenbergEffect @jdanyow I have prepared a draft implementation at this gist
You can see that breaking changes can be totally avoided, with the cost of 100+ LOC

Since the native spec handles both cases why not support both? Or maybe your draft does that @bigopon ?

@stoffeastrom It can be that way, but with some extra check when adding the listeners. So it's all up to @EisenbergEffect @jdanyow

Some thought:

Using handleEvent will help us keep reference to the Listener class instance, so we can easily intercept it to support ability to do event with count. For example:

class Listener {
  count = -1 // by default it trigger idefinitely

  handleEvent(e) {
    this.callSource(e);
    if (--this.count === 0) {
      this.eventManager.removeListener(this);
    }
  }
}

Then we can have small & specific binding behavior to alter the count of each Listener binding:
<input blur.trigger='lostFocus() & eventCount:5' />

class EventCountBindingBehavior {
  bind(binding: Listener, scope, count) {
    binding.count = count;
  }
}

@EisenbergEffect what do you think ?

In this test: http://www.stefankrause.net/js-frameworks-benchmark6/webdriver-ts-results/table.html, Aurelia has quite low score in memory consumption, when the number of items is very big.
This change should drastically improve this aspect.

@jdanyow Can you review this? It looks like a good improvement. Can we find a way to do this so that the API supports both inputs, allowing us to avoid a breaking change?