text:
Multi-Zone Node Template

Currently a node template in the various IaaS providers is connected to a specific location.

This means that the user has to clone and manage the template for every location.
I would suggest changing the feature so that node templates are not attached to a location, but node pools are associated to a specific location.

This doesn't really work.
There's no standard config field for "location".  Some providers have no equivalent, some have 1 field, some have 2.  So for a custom machine driver we'd have no idea which fields should be in vs not-in the template.  (Yes the UI has a mapping for common providers, but best-guess for display is very different than filling in a required field on create).
And then each provider has another set of fields that have to vary depending on the selected location.  e.g. for Amazon the subnets, AMIs, and security group names are all going to be different if you pick a different region.  Instance types that are available vary by location in many providers, etc.

You could define a common mapping for R2 that maps down to the specific providers to help with this.
I agree having to maintain multiple templates for different locations is a pain.
Another option would be to teach node pools to use multiple templates and spread the instance counts over the templates.

@vincent99 I didn't say it was easy.  It's just not very good UX.  It doesn't have to be what I suggest, you know the code suggest a reasonable alternative to status quo.

Just for Amazon, all these depend on what zone you pick:

VPC/Subnet
Security Group (depends on VPC)
AMI
SSH User (may vary on AMI)
Instance Type (should, but I don't think we currently do this)

So if you pull region/zone out of the template, now you have to ask 5 more things when trying to use the template, and I don't know what the point of a template even is at that point.

Fair point, but as you said it's a template.
I would say the only thing that matters is the AZ and Subnets.
If a template is multi-zoned, all this information would be the same:

VPC
Security Group
AMI
SSH User
Instance Type

The only thing IMO that would differ in the template would be subnet to zone mapping.

That's my point, they aren't the same, they either can or have to vary depending on the selected zone.  Security groups and AMIs are defined per region.  Newer zones don't offer older instance types.  Etc.  For every provider, differently.

If I understand the initial request, this is getting at what AWS does with an ASG. In AWS you have a launch config that describes the node and then define the auto-scaling group that defines where the instances with that config will run.
So, thinking outloud here, if we had a node template for AWS that only described the specifics of the instance tied to a region. Then gave config options at the node pool level that defined the subnets, vpc, qty etc. Maybe we lock a cluster down to a single VPC.
If a list of subnets/azs were passed in, Rancher could handle distributing the instances as the scale increased. Security groups at the nodepool level seem like they would be a win because you could do one per role type and not per node template.
We will need to figure out the right way to decouple these so we can get to providing Rancher based autoscaling groups.

I agree on the decoupling. Right now node templates are 1 to 1 based on Docker Machine's capabilities per driver. To truly support an auto-scaling system that's driven by Rancher that works across providers you have to decouple and abstract away a Docker Machine Node Template vs a Rancher Node Template.
With respect to a security group per role type, I love it. That's what I'm doing right now but manually. I'm basically having to manage node templates per AZ and then control instance count per AZ. I've got etcd/controlplane on the same node but I have the instance count 1 per AZ.

While we are on the topic of ASG capabilities, it would be nice to look at looping in capabilities like autospotting, replacing on-demand with spot instances for worker node templates, and the ability to scale up and down based on workloads both from Rancher monitoring and external API interaction (but I think this last one already is possible)

@cloudnautique Multi-zone might be the wrong term.  Really multi-location. The hard lock between the template and the node driver is requiring cloning of node templates in a way that is frustrating our users.  Putting a level of abstraction on this to make the UX friendlier (like we do with RBAC and projects), would go a long way.

I really don't thinking you guys are thinking through what the usability of this would be.  Splitting the config means you're making it more "expensive" to use the template every time you create a pool by asking for the region/zone and several dependent options.  In order to avoid a couple one-time clones where you click though and change exactly the same options.
This plays poorly with other things people want, like sharing node templates, and restricting clusters to only those shared templates.
And this greatly exacerbates the other thing where the UI needs the API keys to let the driver make API calls to show you those options.  That still has no practical solution, but now it's a problem extended to even using a template or editing a cluster.
And I think it's way weirder if you take some middle ground for Amazon and say it's only for zones within a region instead of region+zone.  That's like the worst of both worlds, I still have to clone for different regions and have to pick zone-specific options per node pool anyway.
If anything, it seems like the real problem here is "I'm trying to create a pool now and there's no template for the right location, but this one is almost right.  Going back and cloning one is not convenient from here, right now." That could be solved in far simpler ways, like a "clone existing..." option in the template drop-down.

If Rancher had an option to manage / create the VPC (or at least the subnets) as well, it would be much simpler... (But that is a separate feature request)
(AZ support within a node-template seems useful, multiple regions would likely complicate stuff more than needed)
KOPS ends up with instancegroups per AZ for manager (controlplane + etcd) and a cross-AZ one for workers (where it is less critical to have them exactly balanced) (Where all the relevant subnets are listed) (You don't actually set the AZ, you just set the subnet(s)) (This also seems relevant - why you might want to force a specific AZ at times)

+1 on this.  with EC2 this immediately defeats the purpose of Node Templates and the corresponding Node Pools.  Templates (for EC2) need to be bound only by VPC (implying Region).  Subnets ought to be selected in a multiple fashion when deploying a pool of nodes based on the template.  When I'm building for HA, I certainly don't want every node instance in my etcd/worker/control plane pool to be on the same subnet and thus same AZ.  And creating a seperate node template for each separate subnet rather defeats the purpose as this pattern becomes 1:1 for node template to node.
My two cents

authors: JasonvanBrackel cloudnautique ekristen mohag reubenavery vincent99

repo: rancher/rancher


text:
Cluster alert are not visible to cluster member and project alert are not visible to project member

Cluster alert are not visible to cluster member
Project alert are not visible to project owner/member

Which team is validating alert changes? I dont know, so assigning to both logan and sangeetha

Tested with master build from Dec 7th. Created cluster and enabled monitoring using Prometheus.
Cluster level and Project level alerts were configured.
Verified that cluster members can see both cluster level and project level alerts.
Verified that project members can see only project level alerts.

source: gharchive/issue

authors: aiwantaozi cjellick soumyalj

license_type: permissive

license_source: github-api


text:
HA Cluster ERR_SSL_PROTOCOL_ERROR

What kind of request is this (question/bug/enhancement/feature request):
question or bug? I'm not sure if I'm doing something wrong with my HA install
Steps to reproduce (least amount of steps as possible):

clean install of Ubuntu 18.04 (with LVM enabled) on 3 machines
these exact steps

Result:
Originally this worked...now, with no changes that I'm aware of I always get ERR_SSL_PROTOCOL_ERROR.
Other details that may be helpful:
this is exactly how I prepared each node via RKE
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): I used helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
Installation option (single install/HA): HA

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): RKE
Machine type (cloud/VM/metal) and specifications (CPU/memory): Baremetal
Kubernetes version (use kubectl version): v1.13.5

Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.1", GitCommit:"b7394102d6ef778017f2ca4046abbaa23b88c290", GitTreeState:"clean", BuildDate:"2019-04-19T22:12:47Z", GoVersion:"go1.12.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.5", GitCommit:"2166946f41b36dea2c4626f90a77706f426cdea2", GitTreeState:"clean", BuildDate:"2019-03-25T15:19:22Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}

Docker version (use docker version):

Client:
 Version:           18.09.6
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        481bc77
 Built:             Sat May  4 02:35:57 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.6
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       481bc77
  Built:            Sat May  4 01:59:36 2019
  OS/Arch:          linux/amd64
  Experimental:     false

Seems similar to his issue, but I was unsuccessful with his steps https://github.com/rancher/rancher/issues/17906

sorry should I give more info?

@marcstreeter
This issue has fixed in 2.2.4
Please try again. Thanks

authors: loganhz marcstreeter


text:
Active Directory Permissions Not Showing in Members UI

Not sure when this started occurring but within the last week I upgraded from 2.1.8 to 2.2.4.  I'm unable to see all Member assignments at the cluster and project level.  It appears that the missing member assignments are Active Directory groups.  When I attempt to re-add the missing Active Directory group as a member at the cluster or project level the UI accepts the input but never updates the member list.

Useful
Info

Versions
Rancher v2.2.4 UI: v2.2.70

Route
authenticated.project.security.members.index

See https://github.com/rancher/rancher/issues/20825 will be fixed in v2.2.5

authors: KyleTheAutomator davidnuzik


text:
Rancher generated kubeconfig has same user id but different token

Currently running Rancher 2.2.8 and using the kubeconfig generated by it, I am able to individually authenticate to the respective clusters via kubectl. However, I want to merge the kubeconfig so I can use kubectl config use-context. In attempt to merge the kubeconfig, I encountered issue where the latter clusters could not be authenticated into.
> kubectl get nodes
error: You must be logged in to the server (the server has asked for the client to provide credentials)

Looking deeper into the merged kubeconfig, the problem appears to be that the user id used is shared for all clusters, however the authentication token is different for each. The resultant kubeconfig only keeps the token of the user for the first cluster, since it's all the same id.
...
current-context: my-cluster1
kind: Config
preferences: {}
users:
- name: user-d5dvk
  user:
    token: kubeconfig-user-d5dvk.c-6x2sn:sfs7fkdj5d89gbx8p9jsnf8jxlx8ljwdw8r2rwmsp444hq7qx7dsv8

See https://github.com/rancher/rancher/issues/19342

authors: eroji superseb


text:
[Monitoring V2] Check k3s cluster with minimum CPU requirements

What kind of request is this (question/bug/enhancement/feature request):
bug
Steps to reproduce (least amount of steps as possible):
Install Monitoring V2 on a cluster with minimum CPU requirements. I used 3 DigitalOcean Droplets each with 1 GB / 1 CPU + 25 GB SSD Disk + 1000 GB transfer.
Result:
The whole cluster crashed.
This was tested during the initial prototypes of Monitoring V2 so it's possible this issue no longer exists, but we should double check that we do not encounter this error on the latest version of the chart.
Update: I think the whole cluster was crashing before since we didn't have resource limits / requests introduced at the time. Now that we do, the issue is that the Prometheus pod keeps getting OOMKilled

The Prometheus container keeps crashing because of OOMKill although the node and clusters have sufficient memory resource
About the setup:
Rancher master-76c26fb0f9d491d1dc12fbde8947812175c277ba-head, HA installation
Imported K3s cluster, v1.18.8+k3s1, 2 server nodes + 3 worker nodes
The crash happens no matter the pod prometheus-rancher-monitoring-prometheus-0 is assigned to server node or worker nodes.

Summary of investigation
It seems like k3s is sending additional metrics that are already scraped from kube-scheduler / kubelet / kube-apiserver / kube-proxy via kube-controller-manager.
This is based off of comparing the scraped metrics from kube-controller-manager (port 10252) on a k3s cluster running monitoring v2 and a RKE1 cluster running monitoring v2
$ wc -l k3s/* rke/*
   23408 k3s/kube_total_metrics_10249
   23408 k3s/kube_total_metrics_10251
   23408 k3s/kube_total_metrics_10252
   257 k3s/kube_uniq_metrics_10249
   257 k3s/kube_uniq_metrics_10251
   257 k3s/kube_uniq_metrics_10252
   23408 rke/kube_total_metrics_10249
   23408 rke/kube_total_metrics_10251
   1810 rke/kube_total_metrics_10252
   257 rke/kube_uniq_metrics_10249
   257 rke/kube_uniq_metrics_10251
   135 rke/kube_uniq_metrics_10252

From what we see here, it seems like k3s the 122 extra types of series that are being sent to kube-controller-manager are resulting in 21,598 extra metrics being scraped.
Parity for Metrics
Metrics that are unique to K3s Controller Manager

aggregator_openapi_v2_regeneration_count
aggregator_openapi_v2_regeneration_duration
aggregator_unavailable_apiservice
apiextensions_openapi_v2_regeneration_count
apiserver_admission_controller_admission_duration_seconds_bucket
apiserver_admission_controller_admission_duration_seconds_count
apiserver_admission_controller_admission_duration_seconds_sum
apiserver_admission_step_admission_duration_seconds_bucket
apiserver_admission_step_admission_duration_seconds_count
apiserver_admission_step_admission_duration_seconds_sum
apiserver_admission_step_admission_duration_seconds_summary
apiserver_admission_step_admission_duration_seconds_summary_count
apiserver_admission_step_admission_duration_seconds_summary_sum
apiserver_admission_webhook_admission_duration_seconds_bucket
apiserver_admission_webhook_admission_duration_seconds_count
apiserver_admission_webhook_admission_duration_seconds_sum
apiserver_current_inflight_requests
apiserver_init_events_total
apiserver_longrunning_gauge
apiserver_registered_watchers
apiserver_request_duration_seconds_bucket
apiserver_request_duration_seconds_count
apiserver_request_duration_seconds_sum
apiserver_request_terminations_total
apiserver_request_total
apiserver_response_sizes_bucket
apiserver_response_sizes_count
apiserver_response_sizes_sum
apiserver_watch_events_sizes_bucket
apiserver_watch_events_sizes_count
apiserver_watch_events_sizes_sum
apiserver_watch_events_total
authentication_token_cache_active_fetch_count
authentication_token_cache_fetch_total
authentication_token_cache_request_duration_seconds_bucket
authentication_token_cache_request_duration_seconds_count
authentication_token_cache_request_duration_seconds_sum
authentication_token_cache_request_total
etcd_object_counts
etcd_request_duration_seconds_bucket
etcd_request_duration_seconds_count
etcd_request_duration_seconds_sum
grpc_client_handled_total
grpc_client_msg_received_total
grpc_client_msg_sent_total
grpc_client_started_total
kubelet_cgroup_manager_duration_seconds_bucket
kubelet_cgroup_manager_duration_seconds_count
kubelet_cgroup_manager_duration_seconds_sum
kubelet_container_log_filesystem_used_bytes
kubelet_containers_per_pod_count_bucket
kubelet_containers_per_pod_count_count
kubelet_containers_per_pod_count_sum
kubelet_http_inflight_requests
kubelet_http_requests_duration_seconds_bucket
kubelet_http_requests_duration_seconds_count
kubelet_http_requests_duration_seconds_sum
kubelet_http_requests_total
kubelet_node_config_error
kubelet_node_name
kubelet_pleg_discard_events
kubelet_pleg_last_seen_seconds
kubelet_pleg_relist_duration_seconds_bucket
kubelet_pleg_relist_duration_seconds_count
kubelet_pleg_relist_duration_seconds_sum
kubelet_pleg_relist_interval_seconds_bucket
kubelet_pleg_relist_interval_seconds_count
kubelet_pleg_relist_interval_seconds_sum
kubelet_pod_start_duration_seconds_bucket
kubelet_pod_start_duration_seconds_count
kubelet_pod_start_duration_seconds_sum
kubelet_pod_worker_duration_seconds_bucket
kubelet_pod_worker_duration_seconds_count
kubelet_pod_worker_duration_seconds_sum
kubelet_pod_worker_start_duration_seconds_bucket
kubelet_pod_worker_start_duration_seconds_count
kubelet_pod_worker_start_duration_seconds_sum
kubelet_run_podsandbox_duration_seconds_bucket
kubelet_run_podsandbox_duration_seconds_count
kubelet_run_podsandbox_duration_seconds_sum
kubelet_running_container_count
kubelet_running_pod_count
kubelet_runtime_operations_duration_seconds_bucket
kubelet_runtime_operations_duration_seconds_count
kubelet_runtime_operations_duration_seconds_sum
kubelet_runtime_operations_total
kubeproxy_network_programming_duration_seconds_bucket
kubeproxy_network_programming_duration_seconds_count
kubeproxy_network_programming_duration_seconds_sum
kubeproxy_sync_proxy_rules_duration_seconds_bucket
kubeproxy_sync_proxy_rules_duration_seconds_count
kubeproxy_sync_proxy_rules_duration_seconds_sum
kubeproxy_sync_proxy_rules_endpoint_changes_pending
kubeproxy_sync_proxy_rules_endpoint_changes_total
kubeproxy_sync_proxy_rules_iptables_restore_failures_total
kubeproxy_sync_proxy_rules_last_timestamp_seconds
kubeproxy_sync_proxy_rules_service_changes_pending
kubeproxy_sync_proxy_rules_service_changes_total
scheduler_binding_duration_seconds_bucket
scheduler_binding_duration_seconds_count
scheduler_binding_duration_seconds_sum
scheduler_e2e_scheduling_duration_seconds_bucket
scheduler_e2e_scheduling_duration_seconds_count
scheduler_e2e_scheduling_duration_seconds_sum
scheduler_framework_extension_point_duration_seconds_bucket
scheduler_framework_extension_point_duration_seconds_count
scheduler_framework_extension_point_duration_seconds_sum
scheduler_pending_pods
scheduler_plugin_execution_duration_seconds_bucket
scheduler_plugin_execution_duration_seconds_count
scheduler_plugin_execution_duration_seconds_sum
scheduler_pod_preemption_victims_bucket
scheduler_pod_preemption_victims_count
scheduler_pod_preemption_victims_sum
scheduler_pod_scheduling_attempts_bucket
scheduler_pod_scheduling_attempts_count
scheduler_pod_scheduling_attempts_sum
scheduler_pod_scheduling_duration_seconds_bucket
scheduler_pod_scheduling_duration_seconds_count
scheduler_pod_scheduling_duration_seconds_sum
scheduler_queue_incoming_pods_total
scheduler_schedule_attempts_total
scheduler_scheduler_cache_size
scheduler_scheduler_goroutines
scheduler_scheduling_algorithm_duration_seconds_bucket
scheduler_scheduling_algorithm_duration_seconds_count
scheduler_scheduling_algorithm_duration_seconds_sum
scheduler_scheduling_algorithm_predicate_evaluation_seconds_bucket
scheduler_scheduling_algorithm_predicate_evaluation_seconds_count
scheduler_scheduling_algorithm_predicate_evaluation_seconds_sum
scheduler_scheduling_algorithm_preemption_evaluation_seconds_bucket
scheduler_scheduling_algorithm_preemption_evaluation_seconds_count
scheduler_scheduling_algorithm_preemption_evaluation_seconds_sum
scheduler_scheduling_algorithm_priority_evaluation_seconds_bucket
scheduler_scheduling_algorithm_priority_evaluation_seconds_count
scheduler_scheduling_algorithm_priority_evaluation_seconds_sum
scheduler_scheduling_duration_seconds
scheduler_scheduling_duration_seconds_count
scheduler_scheduling_duration_seconds_sum
scheduler_total_preemption_attempts
scheduler_volume_scheduling_duration_seconds_bucket
scheduler_volume_scheduling_duration_seconds_count
scheduler_volume_scheduling_duration_seconds_sum
ssh_tunnel_open_count
ssh_tunnel_open_fail_count
storage_operation_duration_seconds_bucket
storage_operation_duration_seconds_count
storage_operation_duration_seconds_sum
storage_operation_status_count
volume_manager_total_volumes

Metrics that are unique to RKE Controller Manager

endpoint_slice_mirroring_controller_addresses_skipped_per_sync_bucket
endpoint_slice_mirroring_controller_addresses_skipped_per_sync_count
endpoint_slice_mirroring_controller_addresses_skipped_per_sync_sum
endpoint_slice_mirroring_controller_changes
endpoint_slice_mirroring_controller_desired_endpoint_slices
endpoint_slice_mirroring_controller_endpoints_added_per_sync_bucket
endpoint_slice_mirroring_controller_endpoints_added_per_sync_count
endpoint_slice_mirroring_controller_endpoints_added_per_sync_sum
endpoint_slice_mirroring_controller_endpoints_desired
endpoint_slice_mirroring_controller_endpoints_removed_per_sync_bucket
endpoint_slice_mirroring_controller_endpoints_removed_per_sync_count
endpoint_slice_mirroring_controller_endpoints_removed_per_sync_sum
endpoint_slice_mirroring_controller_endpoints_sync_duration_bucket
endpoint_slice_mirroring_controller_endpoints_sync_duration_count
endpoint_slice_mirroring_controller_endpoints_sync_duration_sum
endpoint_slice_mirroring_controller_endpoints_updated_per_sync_bucket
endpoint_slice_mirroring_controller_endpoints_updated_per_sync_count
endpoint_slice_mirroring_controller_endpoints_updated_per_sync_sum
endpoint_slice_mirroring_controller_num_endpoint_slices
endpoint_slice_mirroring_controller_rate_limiter_use
get_token_count
get_token_fail_count
leader_election_master_status
node_ipam_controller_cidrset_allocation_tries_per_request_bucket
node_ipam_controller_cidrset_allocation_tries_per_request_count
node_ipam_controller_cidrset_allocation_tries_per_request_sum
node_ipam_controller_cidrset_cidrs_allocations_total
node_ipam_controller_cidrset_usage_cidrs

Until https://github.com/rancher/k3s/issues/2262 is investigated / resolved, we can't make any definitive steps forward in changing the chart's behavior for monitoring k3s clusters.
Users who deploy Rancher Monitoring will need to specify a higher-than-default resource memory limit for Prometheus (i.e. recommended to set prometheus.prometheusSpec.resources.memory.limit=2500Mi and prometheus.prometheusSpec.resources.memory.request=1750Mi). This will be enforced as the default on the Rancher Dashboard UI as part of https://github.com/rancher/dashboard/issues/1230.

So not sure why scheduler_scheduling_algorithm_duration_seconds_count isn't available?

authors: aiyengar2 david-nano jiaqiluo


text:
Add Docker 20.10.7

https://github.com/moby/moby/releases/tag/v20.10.7

Add to https://github.com/rancher/install-docker/

Verified on Rancher master-head version 6b430f3
Create AWS infrastructure provider with 3 nodes, 1 role each.

Change Docker Install URL to https://releases.rancher.com/install-docker/20.10.7.sh in node template.
Launch cluster and wait for cluster to become available.
Docker version on all nodes is 20.10.7

Create DO infrastructure provider with 3 nodes, 1 role each.

Change Docker Install URL to https://releases.rancher.com/install-docker/20.10.7.sh in node template.
Launch cluster and wait for cluster to become available.
Docker version on all nodes is 20.10.7

Create a custom cluster on CentOS 8.3.2011 x86_64 docker version 20.10.7, 1 node all roles.

Provision 1 CentOS 8.3.2011 node
Install docker on node with curl -sSL https://releases.rancher.com/install-docker/20.10.7.sh |sh
Provision custom cluster using Rancher registration command with all roles.
Cluster comes up successfully

authors: aaronRancher superseb


text:
[cli] [security] Windows Defender claims malware in CLI 2.6.0 for Windows-x64

When downloading the rancher CLI from https://github.com/rancher/cli/releases/download/v2.6.0/rancher-windows-amd64-v2.6.0.zip , Windows Defender (anti-virus program included with Windows 11) claims that the malware "Trojan:Win32/Sabsik.FL.B!ml" is inside the archive. However, test results with other virus scanners are inconclusive ( https://www.virustotal.com/gui/file/3fbf0aeca1fc7da79375c7ab9ec1544ca135b0267588bf46f0d4d65370e78be2 ).
Could you have a look and confirm whether it is a false alarm or indeed a compromised file?

The sha256sum of my download is:
3fbf0aeca1fc7da79375c7ab9ec1544ca135b0267588bf46f0d4d65370e78be2  rancher-windows-amd64-v2.6.0.zip

It seems to have been a bad signature update in Windows Defender. After getting fresh signatures today, both my local Defender and Virus Total see the same file as clean again.


text:
[Backport] OIDCConfig.Scopes struct field tag is not compatible with reflect.StructTag.Get

Backport: https://github.com/rancher/rancher/issues/43668
Describe the bug

There is  typo in OIDCConfig.Scopes struct field tag
https://github.com/rancher/rancher/blob/2581a956996c948945dac34ca159c32ce556a6bd/pkg/apis/management.cattle.io/v3/authn_types.go#L457
struct field tag `json:"scope", norman:"required,notnullable"` not compatible with reflect.StructTag.Get: key:"value" pairs not separated by spaces

It was there since the originating commit a2a501c6d2270837ee17d8d139b489ce324ec46e

@pmatseykanets should this go in the next 2.8 release? its flagged for the next-next one, but i dont see why we cant include it? cc @anupama2501

@samjustus I don't see why not if it was tested.

Regression tests validated and looks good, No new issues reported and closing this card.

authors: MKlimuszka dasarinaidu pmatseykanets samjustus


text:
[BUG] Rancher 2.9.0 does not include metadata.ownerReferences when creating a job from Cronjob (UI)

Rancher Server Setup

Rancher version: 2.9.0
Installation option (Docker install/Helm Chart): Helm (EKS)

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc):

Proxy/Cert Details: Valid

Information about the Cluster

Kubernetes version: 1.30
Cluster Type (Local/Downstream): ALL Clusters (both downstream and local). GKE and EKS equally affected.

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider):

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom)

Admin (but all other roles seem affected as well)

Describe the bug

In Rancher 2.9.0, when clicking 'Run now' on a cronjob, the created job field does not have a metadata.ownerReferences field. Thus what cronjob it was created from can not be programmatically identified. This was previously not the case (worked as expected in Rancher 2.8.6), and the behaviour breaks from creating a job via kubectl create my-job --from=cronjob/mycronjob .
To Reproduce

Click on Run Now for any cronjob
View the resulting Job as YAML
Result
There is no ownerReferences in the metadata section
Expected Result

There should be ownerReferences in the metadata section
Screenshots

Additional context

I wasn't able to reproduce this bug on a helm install of Rancher on v2.9.0.

Spun up a helm install of Rancher v2.9.0
Created a downstream cluster
Created a project and namespace in project
Created a cronjob in namespace created in previous step
Clicked "Run Now" on cronjob created in previous step
Viewed yaml for cronjob and observed ownerReference field was present in metadata

Could you provide more setup info please? Did you upgrade from v2.8.6->2.9.0 by chance?

Hi @joesims22!
Yes, we upgraded from v2.8.5 -> 2.9.0.
Out of curiosity: were you reproducing on EKS 1.30? Also - could you try reproducing on the local cluster instead of downstream? (though for us the issue presents on both local and imported clusters)

Originally I just reproduced on a Linode downstream cluster.
I went back and imported an EKS downstream cluster w/ 1.30 k8s on a helm install of Rancher v2.9.0 and wasn't able to reproduce the issue. The yaml for the job contained the ownerReference field in the metadata.
I ran an upgrade scenario from v2.8.5->2.9.0 as well and wasn't able to reproduce.
I also tried to reproduce the bug on the local cluster on Rancher v2.9.0 and wasn't able to.
Below is a screenshot of the job yaml while cronjob is running that shows the ownerReference field in metadata.

We are seeing this behavior on aks v1.28 with rancher version 2.9.4
We have argo pruning enabled so this bug causes rancher to prune the job almost immediately.

authors: Jay-Madden SamuZad joesims22


text:
Kubernetes Ingress LB stack and Kubernetes LB stacks are not displayed in the UI

Rancher Version: Master
**Docker Version:**1.12.1
**OS and where are the hosts located? (cloud, bare metal, etc):**Ubuntu, Cloud
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB) Single node
**Environment Type: (Cattle/Kubernetes/Swarm/Mesos)**Kubernetes
Steps to Reproduce:

Create a Kuberentes Environment
Kubernetes Lb stack and Ingress Lb stacks are not displayed in the UI.
They are not in the Infrastructure stacks link or any other location.
Create a service and Ingress for that service. The ingress will not displayed in the stack. They can be accessed only through the host tab

The stacks should have system:true set.

Version - master 10/19
Verified fixed

authors: soumyalj tfiduccia vincent99


text:
cAdvisor serving publicly

Rancher Versions:
Server: v1.3.3
healthcheck: v0.2.0
ipsec:  0.0.2
network-services: v0.0.8
scheduler:
kubernetes (if applicable):  v1.5.1-rancher1-8
Docker Version:
docker --version
Docker version 1.12.6, build 78d1802
OS and where are the hosts located? (cloud, bare metal, etc):
Linode VMs / Bare-Metal
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)
Single Node Rancher with public IP and cert
Environment Type: (Cattle/Kubernetes/Swarm/Mesos)
Kubernetes
Steps to Reproduce:

Setup Rancher
Setup Plain Kubernetes Cluster (3 hosts in my example), no pods/services needed
Check Kubernetes Nodes public/private IPs for metrics on

http://node-ip:10255/metrics
http://node-ip:4194/containers

Results:
Metrics are publicly visible to anyone.
Expected:
Metrics exposed after authentication or only inside the overlay network.
See: https://github.com/kubernetes/kubernetes/issues/11710
Basically they do set the cadvisor port to 0. Might be worth looking into.

Merging into https://github.com/rancher/rancher/issues/12142

authors: davidhiendl superseb


text:
Catalog: mysql_send_long_data() is longer than 'max_long_data_size' bytes

Rancher versions:
rancher/server:v1.6.4
rancher/agent:v1.2.5
Infrastructure Stack versions:
healthcheck:v0.3.1
ipsec:v0.11.3
network-services:v0.7.4
scheduler:v0.8.2
kubernetes (if applicable):
Docker version: (docker version,docker info preferred)
Client:
Version:      17.03.0-ce
API version:  1.26
Go version:   go1.7.5
Git commit:   60ccb22
Built:        Thu Feb 23 11:02:43 2017
OS/Arch:      linux/amd64
Server:
Version:      17.03.0-ce
API version:  1.26 (minimum version 1.12)
Go version:   go1.7.5
Git commit:   60ccb22
Built:        Thu Feb 23 11:02:43 2017
OS/Arch:      linux/amd64
Experimental: false
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
Ubuntu 16.04.2 LTS
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO)
KVM, Bare-metal
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
HA rancher with external DB
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
Cattle
Steps to Reproduce:
Activate/refresh catalogs
Results:
(Error 1105: Parameter of prepared statement which is set through mysql_send_long_data() is longer than 'max_long_data_size' bytes)
[2017-07-16 19:02:27]
ERRO[0013] Failed to perform catalog refresh: community: Error 1105: Parameter of prepared statement which is set through mysql_send_long_data() is longer than 'max_long_data_size' bytes

(Error 1105: Parameter of prepared statement which is set through mysql_send_long_data() is longer than 'max_long_data_size' bytes)
[2017-07-16 19:02:33]
ERRO[0020] Failed to perform catalog refresh: community: Error 1105: Parameter of prepared statement which is set through mysql_send_long_data() is longer than 'max_long_data_size' bytes

I found the above errors every ~6 seconds in "docker logs" and cattle-debug.log. The error appears, I think, after the upgrade from 1.6.2 to 1.6.4. I tried to increase the max_long_data_size from 1048576 to 2097152 but the error appears until I disable the catalogs in admin settings.
mysql> show variables like 'max_long_data_size'\G
Variable_name: max_long_data_size
        Value: 2097152

How can I find out how big is mysql_send_long_data?

Are you sure this started since upgrading to 1.6.4? Can you tell me what database server and what database server version you are running? Try to up max_allowed_packet in the meantime

No I am not totally sure. But after the upgrade to 1.6.2 I did not saw this error.
I use the image mysql:5.5 as database.
I tried to increase the max_allowed_packet but the error still there:
mysql> set global max_allowed_packet=2097152;
root@rancher:~$ docker logs -f --tail=100 rancher_server_1
..
..
(Error 1105: Parameter of prepared statement which is set through mysql_send_long_data() is longer than 'max_long_data_size' bytes)
[2017-07-17 12:38:59]
ERRO[63408] Failed to perform catalog refresh: community: Error 1105: Parameter of prepared statement which is set through mysql_send_long_data() is longer than 'max_long_data_size' bytes

(Error 1105: Parameter of prepared statement which is set through mysql_send_long_data() is longer than 'max_long_data_size' bytes)
[2017-07-17 12:39:21]

(Error 1105: Parameter of prepared statement which is set through mysql_send_long_data() is longer than 'max_long_data_size' bytes)
[2017-07-17 12:39:41]
..
..

Can you try setting it to 16777216 or higher?

Its a bit strange... I set max_long_data_size=16777216 and max_allowed_packet to default and the error not appeared anymore.
Then I removed all the settings so its the default settings of the image, and the error also is gone.
After every change I recreated the database-container.
Maybe the errors is gone because the server could update the requested data once?
I let the container run the next hours to see if the error comes back. I will give feedback.

This should be detectable and/or documented, please report back and thanks for testing.

I recently ran into this error, I had to up the max_allowed_packet on my database server.

been receiving the same error in our HA environment we are using amazon rds with maria db 10.0
this might be some helpful information
max_allowed_packet |   | 1024-1073741824 | true | engine-default | dynamic | integer | This value by default is small, to catch large (possibly incorrect) packets. Must be increased if using large BLOB columns or long strings. As big as largest BLOB.

You'll need to increase the max_allowed_packet. I increased mine to 16777216 to resolve the problem.

go-mysql-driver defaults to 16777216 (https://github.com/go-sql-driver/mysql/blob/0b58b37b664c21f3010e836f1b931e1d0b0b0685/const.go#L13)
Defaults on max_allowed_packet, based on Dockerhub images and RDS

Type
Version
max_allowed_packet

mysql
5.5
1048576

mysql
5.6
4194304

mysql
5.7
4194304

mysql
8.0
4194304

mariadb
5.5
16777216

mariadb
10.0
16777216

RDS
5.7
4194304

If using a compose file, you can pass in the config via "command":
version: 2
services:
    db:
        image: mysql:5.5.53
        environment:
            MYSQL_DATABASE: ${MYSQL_DATABASE}
            MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
            MYSQL_USER: ${MYSQL_USER}
            MYSQL_PASSWORD: ${MYSQL_PASSWORD}
        command:
            - --max_allowed_packet=16M

We are updating our docs to recommend using a max_packet_size of 32M or so.
The record for the catalog has (2) Medium blob fields each can be a max of 16MB. Right now, it appears a 4MB max_packet_size will work for the existing entries. Still  the possibility of this error exists even in those setups with 16M.

authors: cloudnautique ekristen gregkeys leodotcloud marvinwankersteen superseb


text:
update vendor

Problem:
Rancher will crash when deleting an existing GKE cluster
Solved:
Fixed the code bug
Issue:
rancher/rancher#18103
Related PR:
https://github.com/rancher/kontainer-engine/pull/127
Introduced in this PR:
https://github.com/rancher/kontainer-engine/pull/112

LGTM, should merge after ke PR is merged.

closing in favor of rebased version https://github.com/rancher/rancher/pull/18122

source: gharchive/pull-request

authors: cjellick fyery-chen orangedeng


text:
Secrets sometimes have unexpected newlines

This could be a K8s ism, but running:
kubectl create secret foo -n tf-operator --from-file=./blah
Ended up in the container with the '\n' character at the end of the text in blah.
Creating this to track if this is user error or not.

This is user error, need to ensure files do not have extra newlines.

repo: rancher/terraform-operator


text:
Fix fluentd client cert path and client key path.

Proposed changes

It needs backend merge. https://github.com/rancher/rancher/issues/18396

Types of changes

Bugfix (non-breaking change which fixes an issue)

Linked Issues
https://github.com/rancher/rancher/issues/18374

Further comments

@n313893254 if you are waiting on a backend merge can you add the status/waiting-backend-changes label please?

@westlywright Sure, but I had no permission to add labels. Can you add permission to me?

@westlywright Backend is in

authors: loganhz n313893254 westlywright

repo: rancher/ui

license_source: bigquery


text:
Slow builds

@hibooboo2 created this issue in rancherio/python-agent.
Waiting for a build to run and fail after 30 minutes just to fix a flake8 Error after is annoying.

Something i am working on this weekend in spare time. :+1:

Was going to do it for cattle first then ill move to python agent and other repos we have.

repo: rancherio/rancher


text:
constant.language not scoped as function parameter

When TRUE or other constant.language.r members are non-keyword function parameters (func(TRUE)), they are  highlighted (incorrectly) like any other function parameter. However, if part of a key-value (func(option=TRUE) they are highlighted appropriately.

Thanks for catching this.

This is fixed in the latex branch, however, we need to wait until https://github.com/sublimehq/Packages/pull/370 is merged.

Actually, I was able to split the commits, fixed in 9154d0646706555855097f73a66d71b2c536f70f.

license: mit


text:
Allow to open application with context menu

Open the application using context menu
Allow option to select current node on context menu

There's a chance that this can not be implemented due to limitations in Chrome.

authors: sumitarora xorgy

repo: rangle/augury


text:
Add missing require for https in repl 'tests'

Missing require, added so that I can run the repl "tests" in Webstorm for debugging tools

@mhazy can you clarify what this is for?

Missing import for https usage at https://github.com/mhazy/the-clusternator/blob/fix-missing-require-https/spec/repl/setup.js#L48.

Right this was for that weird hack we (@xorgy and I) had to do to get around DynamoDb instances having different protocol settings.  I guess we never moved it into the REPL.
@mhazy I'm guessing this was a problem when you tried to use DDB with the REPL?  I'm mostly asking b/c this went unnoticed and I seldom (never) really use the DDB from the REPL.

https is imported for you in the REPL so it doesn't show up as undefined. It didn't show up until I wanted to use this outside of the REPL to setup some breakpoints.

authors: SethDavenport bennett000 mhazy

repo: rangle/the-clusternator


text:
Crash during startup Win 10

App Version: Enter the version number, e.g., 1.2.3
2.0.14
Platform: Windows / macOS / Linux
Windows 10
Installation Method: App Store / Direct Download / Other
Zip
Expected Behavior:
It shouldn't crash
Actual Behavior:
It crashes during startup
Steps to Reproduce:
Click on sleek.exe to open
config.ts: sleek userdata is located at: C:\Users\USER\AppData\Roaming\sleek\userData
[34548:1006/193134.553:ERROR:gpu_process_host.cc(987)] GPU process launch failed: error_code=18
Watching new file: c:\todo.txt
[34548:1006/193134.635:ERROR:gpu_process_host.cc(987)] GPU process launch failed: error_code=18
[34548:1006/193134.641:ERROR:gpu_process_host.cc(987)] GPU process launch failed: error_code=18
Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at s._sendInternal (node:electron/js2c/browser_init:2:83221)
    at _._sendInternal (node:electron/js2c/browser_init:2:69245)
    at node:electron/js2c/browser_init:2:95589
    at new Promise (<anonymous>)
    at Object.invokeInWebContents (node:electron/js2c/browser_init:2:95336)
    at _.<computed> [as insertCSS] (node:electron/js2c/browser_init:2:69800)
    at D:\Yazilimlar2\Sleek\resources\app.asar\dist\main\main.js:8:268101
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3)
Styles injected found in CSS file: C:\Users\USER\AppData\Roaming\sleek\userData\customStyles.css
[34548:1006/193134.650:ERROR:gpu_process_host.cc(987)] GPU process launch failed: error_code=18
[34548:1006/193134.656:ERROR:gpu_process_host.cc(987)] GPU process launch failed: error_code=18
[34548:1006/193134.658:ERROR:gpu_process_host.cc(987)] GPU process launch failed: error_code=18
[34548:1006/193134.668:ERROR:gpu_process_host.cc(987)] GPU process launch failed: error_code=18
[34548:1006/193134.694:ERROR:gpu_process_host.cc(987)] GPU process launch failed: error_code=18
[34548:1006/193134.702:ERROR:gpu_process_host.cc(987)] GPU process launch failed: error_code=18
[34548:1006/193134.702:FATAL:gpu_data_manager_impl_private.cc(448)] GPU process isn't usable. Goodbye.

Screenshots:

It seems like the crash happens if it is run from a network drive.

license: MIT


text:
(Potential overloaded) "Lost connection to server" when playing in single player

Issue description:
First of all, the issue might not be with Refined Storage, however i was working with RS when the issue occurred, and I'm not sure where the problem is at, when I read through the Game Output (the game doesn't crash, so that is all i got, since no crash log seems to be generated).
I was playing the Sky Factory 3 modpack from the Curse client.
When the initial issue occurred, i was working on automation with RS. I had a way to automating the Mystical Agriculture essence's, but as it is known, when using the Master crystal (the one with unlimited uses), the recipes are acting up. I then decided to change it to something more reliable.
I then changed it to using a RS Crafter pointing to a Crafter from RFTools (on top, if that helps). Under the RFTolls Crafter I've placed an RS Importer (the issue occurred after I've inserted a stack upgrade and 3 speed upgrades in the RS Importer). The RFTools Crafter was set in fast mode. It kept putting content to the RFTools Crafter output buffer as the RS Importer was importing (it kept pulling from the top right slot in the RFTools Crafter's output buffer, since it kept crafting items), which is why I might suspect that this new setup might got overloaded somewhere. When I've noticed that the RS Importer couldn't clear the output buffer on the RFTools Crafter, I've headed over to my Grid's to check if it was actually importing and crafting (about 3 seconds away from the location the setup where). But when i was about to right click (didn't made it) my Crafting Grid (my pointer was looking at an RS Network Transmitter, not clicking or interacting with), at that moment the game froze for like a halt second, and then I was presented with a "disconnect" screen like it I was playing on a multiplayer server (I know the single player creates a local server that you connect to, and then you just play on your own, until you open it up to the LAN). When I click the button on the "disconnect" screen, I then get the screen where I can choose a server to join. The client searched for local and LAN servers, but find none.
When I then exit the multiplayer screen, and try to load up the world from single player, then it joins the world, and almost instantly I get the "disconnect" screen again. That keeps happening, and I've tried to restart minecraft, but no luck.
What happens:
It seems like the local server crashes, however the client, doesn't. But I get presented with a "disconnect" screen. Read the section above for more details on how I've got there
What you expected to happen:
That I could keep playing.
Steps to reproduce:
Written in details in the issue description.
Version (Make sure you are on the latest version before reporting):

Minecraft: 1.10.2
Forge: 12.18.3.2215
Refined Storage: 1.2.18 (default in the Sky Factory 3 modpack on the Curse launcher).
Sky Factory 3: 3.0.6

I've added "InventoryTweaks-1.61-58" to the pack I'm playing, using the Curse client (it have been working for days without issues).
Does this issue occur on a server? [yes/no]
no (haven't tested, in an actual multiplayer server).
If a (crash)log is relevant for this issue, link it here:
This log is from a single session. Unfortunately I didn't copy the Game Output from the session where the issue occurred, but when I try to play the world, the same thing keeps happening when the world is loaded.
https://gist.github.com/soerenkk/0a743421a81ae5cf6142a114ccbba02c
Notice: Complete "Game Output" log, replaced my player name and UUID, beside that, it is unaltered.

Can you try updating HWYLA?

In fact, just update SF3. The latest SF3 version is 3.0.7, you're on 3.0.6.

SF3 3.0.7 is marked as beta, but I'll give it a go. I'll let you know.

Well that seems to have done the job, I can load my world again, and it seems to work now.
Thank you very much. And I really like this mod 👍

authors: raoulvdberge soerenkk

repo: raoulvdberge/refinedstorage


text:
Fluid autocrafting

With TE now available on 1.10.2 it would be great if autocrafting of liquids was possible.
For example the signalum recipe requires a bucket of destabilized redstone.
At the moment it does not seem possible to create a recipe for 1000mb of destabilized redstone. If I add a recipe : 10 redstone -> 1 bucket of destabilized redstone in the magma crucible and send the output to fluid storage the crafting request will stop and wait for the bucket.
If no crafting recipe is available but 1000mb is stored in the system the crafting of signalum will work.
I see two ways this could be improved.

Crafting of fluids. Add the possibility to create recipes for fluids, e.g. 10 redstone -> 1000mb of destabilized redstone. This could then be used with other crafting as a fluid from storage.
Use buckets. Keep the pattern model as it is now, but integrate pulling from fluid storage in the middle in a crafting request. The pattern would then be : 10 redstone -> bucket of destabilized redstone.

duplicate #461

authors: MrOysterMeister raoulvdberge


text:
Add ability to disable patch operations by bitmask

I could be useful to disallow some operations on a document (like remove). Therefore it is possible to set a value for each patch operation which should be allowed to use. Per default all are allowed.

Thanks for your comments. I think I met the expectations.

Could you rebase your branch and squash your commits into a single one (feel free to do a forced push against your PR branch)?

Sure.

Ideas regarding 5.4 and 5.5?

To fix the PHP 5.4 and 5.5 failing tests just initalize allowedPatchOperations inside the constructor.

Ok. Did that. Seems to work.

👍 Will merge and roll out a new release. Thanks for the contribution.

Great. Thanks for the fast responses.

Merged with 69561f64240d16a591dedc0538f95a2509723f60.

authors: mikelohmann raphaelstolt

repo: raphaelstolt/php-jsonpatch


text:
Update to libcudacxx 1.9.1 to have a version >= CUDA Toolkit 12

Description
libcudacxx 1.9.1 fixes the issues found when merging: https://github.com/rapidsai/rapids-cmake/pull/332
Checklist

[x] I am familiar with the Contributing Guidelines.
[x] New or existing tests cover these changes.
[x] The documentation is up to date with these changes.
[x] The cmake-format.json is up to date with these changes.

Can't merge due to new regression in libcudacxx 1.9.1: https://github.com/rapidsai/cudf/pull/12581

Can't merge due to new regression in libcudacxx 1.9.1: rapidsai/cudf#12581

libcudacxx branch/1.9.1 has been updated to correct the new compile failures. So this is valid again for 22.03

CI has no failures with libcudacxx 1.9.1 ( https://github.com/rapidsai/cudf/pull/12581 ) so merging

/merge

repo: rapidsai/rapids-cmake


text:
DOC: Variational Reasoning for Question Answering with Knowledge Graph

Please review: https://www.aaai.org/ocs/index.php/AAAI/AAAI18/paper/viewFile/16983/16176

@inproceedings{zhang2018variational,
title={Variational reasoning for question answering with knowledge graph},
author={Zhang, Yuyu and Dai, Hanjun and Kozareva, Zornitsa and Smola, Alexander and Song, Le},
booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
volume={32},
number={1},
year={2018}
}

repo: raresraf/KRAM


text:
🛑 NJU Mirror (mirrors.nju.edu.cn) is down

In de9717e, NJU Mirror (mirrors.nju.edu.cn) (https://mirrors.nju.edu.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: NJU Mirror (mirrors.nju.edu.cn) is back up in aeb3230.

repo: raspbian-addons/status


text:
Menubar is missing in linux QT

I issued a pull request to fix the menubar for linux QT.

I don't experience any issues with the menu on linux. What's your
distribution and desktop environment?

Ubuntu 14.04 Desktop, the entire file menu is missing unless I add the change listed in the pull request.
Let me know if I can provide additional information.

Desktop environment? I am using xfce and has no problem with the menu bar.

Yes vanillia desktop install, I tested it on a few different installs to confirm. You can try it yourself, it is a popular version of linux so its worth confirming it works.

I have tested it on a freshly installed ubuntu in a vm and this bug is indeed existed.
This issue only present when appmenu-qt5 package is installed. So I am not sure if it is a bug in Blackcoin itself, or in appmenu-qt5.
Also, I noted that the menu is not missing after applying your pull request. However, if I minimize the window to tray (by clicking the tray icon, not minimize to the taskbar), and restore it again, the menu is gone again.

Another issue i found is the tray icon does not goes into tray on a vanilla ubuntu install. Instead, the icon stay at the top left cornet. http://www.zimagez.com/zimage/screenshot-220315-214958.php

The menu issue looks like a bug in appmenu-qt5/unity, but we can workaround it quite easy. The tray seems to be bug in qt5 https://bugreports.qt.io/browse/QTBUG-31762 no idea how we could workaround that.

authors: crispybear nanocoinorg rat4


text:
multiline list items cause late rendering when scrolling

Description
when selecting a large, multi-line item in a list widget with scroll_padding, smaller items sometimes don't render until the next frame
To Reproduce
here's some code that makes 26 list items. most items are 5 lines long, but every fifth item is 1 line long
use crossterm::{
	event::{
		self, Event,
		KeyCode::{self, Char},
		KeyEvent,
	},
	execute,
	terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen},
};
use std::{
	error::Error,
	io::{self, Stdout},
};
use tui::{
	backend::CrosstermBackend,
	layout::{Rect, Size},
	style::{Color, Style},
	widgets::{List, ListItem, ListState},
	Frame, Terminal,
};

fn main() {
	let alphabet: Vec<char> = ('a'..='z').into_iter().collect();
	let list_items: Vec<ListItem> = alphabet.into_iter().enumerate().map(|(i, c)| {
		let mut line = c.to_string().repeat(10);
		line.push('\n');
		line.repeat(if i % 5 == 0 { 1 } else { 5 }).into()
	}).collect();
	let app = App {
		list_items, list_state: ListState::default(),
	};
	let mut term = setup().unwrap();
	let res = run_app(&mut term, app);

	teardown(&mut term);
	if let Err(err) = res {
		println!("{:?}", err)
	}
}

pub struct App {
	list_items: Vec<ListItem<'static>>,
	list_state: ListState,
}

type CrosstermTerm = Terminal<CrosstermBackend<Stdout>>;

pub fn setup() -> Result<CrosstermTerm, Box<dyn Error>> {
	enable_raw_mode()?;
	let mut stdout = io::stdout();
	execute!(stdout, EnterAlternateScreen)?;
	let backend = CrosstermBackend::new(stdout);
	Ok(Terminal::new(backend)?)
}

pub fn teardown(terminal: &mut CrosstermTerm) {
	_ = disable_raw_mode();
	_ = execute!(terminal.backend_mut(), LeaveAlternateScreen);
	_ = terminal.show_cursor();
}

pub fn run_app(terminal: &mut CrosstermTerm, mut app: App) -> Result<(), Box<dyn Error>> {
	loop {
		terminal.draw(|frame| ui(frame, &mut app))?;
		if let Event::Key(key) = event::read()? {
			if !handle_input(&key, &mut app, &terminal.size()?) {
				return Ok(());
			}
		}
	}
}

fn handle_input(key: &KeyEvent, app: &mut App, term_size: &Size) -> bool {
	match key {
		// scroll
		KeyEvent {
			code: Char('j') | KeyCode::Down,
			..
		} => {
			scroll(&mut app.list_state, 1);
		},
		KeyEvent {
			code: Char('k') | KeyCode::Up,
			..
		} => {
			scroll(&mut app.list_state, -1);
		},
		KeyEvent { code: Char('g'), .. }
		| KeyEvent {
			code: KeyCode::Home, ..
		} => {
			app.list_state.select_first();
		},
		KeyEvent {
			code: Char('q') | KeyCode::Esc,
			..
		} => {
			return false;
		},
		_ => {}, // ignored
	};
	true
}

fn scroll(list_state: &mut ListState, amount: i16) {
	let index = match list_state.selected() {
		None => 0,
		Some(index) => {
			let new_index = index.saturating_add_signed(amount.into());
			new_index.max(0)
		},
	};
	list_state.select(Some(index));
}

fn ui(frame: &mut Frame, app: &mut App) {
	let area = Rect::new(
		frame.area().x,
		frame.area().y,
		frame.area().width,
		frame.area().height - 1,
	);

	let list = List::new(app.list_items.clone())
		.highlight_style(Style::default().bg(Color::Indexed(237)))
		.scroll_padding(4);
	frame.render_stateful_widget(list, area, &mut app.list_state);
}

on my terminal with $LINES of 50, selecting k only renders down to o, but selecting l renders down to p, despite the offset not changing
Expected behavior
p is rendered as soon as k is selected
Screenshots

Environment

OS: debian 13/trixie/testing running in windows 10
Terminal Emulator: windows terminal
Font: InconsolataGo Nerd Font Mono
Crate version: 0.29.0
Backend: crossterm 0.28.1

Additional context

Repro test

    /// The displayed rows seems to be one off what it should be.
    ///
    /// <https://github.com/ratatui/ratatui/issues/1514>
    #[test]
    fn repro_1514() {
        let items = ('a'..='z').enumerate().map(|(i, c)| {
            let mut line = c.to_string().repeat(10);
            line.push('\n');
            ListItem::from(line.repeat(if i % 5 == 0 { 1 } else { 5 }))
        });
        let list = List::new(items).scroll_padding(4).highlight_symbol(">>");

        let state = &mut ListState::default().with_selected(Some(10));

        let mut buffer = Buffer::empty(Rect::new(0, 0, 10, 50));
        list.clone().render(buffer.area, &mut buffer, state);

        assert_eq!(
            buffer,
            Buffer::with_lines(vec![
                "  eeeeeeee",
                "  eeeeeeee",
                "  eeeeeeee",
                "  eeeeeeee",
                "  eeeeeeee",
                "  ffffffff",
                "  gggggggg",
                "  gggggggg",
                "  gggggggg",
                "  gggggggg",
                "  gggggggg",
                "  hhhhhhhh",
                "  hhhhhhhh",
                "  hhhhhhhh",
                "  hhhhhhhh",
                "  hhhhhhhh",
                "  iiiiiiii",
                "  iiiiiiii",
                "  iiiiiiii",
                "  iiiiiiii",
                "  iiiiiiii",
                "  jjjjjjjj",
                "  jjjjjjjj",
                "  jjjjjjjj",
                "  jjjjjjjj",
                "  jjjjjjjj",
                ">>kkkkkkkk",
                "  llllllll",
                "  llllllll",
                "  llllllll",
                "  llllllll",
                "  llllllll",
                "  mmmmmmmm",
                "  mmmmmmmm",
                "  mmmmmmmm",
                "  mmmmmmmm",
                "  mmmmmmmm",
                "  nnnnnnnn",
                "  nnnnnnnn",
                "  nnnnnnnn",
                "  nnnnnnnn",
                "  nnnnnnnn",
                "  oooooooo",
                "  oooooooo",
                "  oooooooo",
                "  oooooooo",
                "  oooooooo",
                "          ",
                "          ",
                "          ",
            ])
        );

        state.select_next();

        let mut buffer = Buffer::empty(Rect::new(0, 0, 10, 50));
        list.render(buffer.area, &mut buffer, state);

        assert_eq!(
            buffer,
            Buffer::with_lines(vec![
                "  eeeeeeee",
                "  eeeeeeee",
                "  eeeeeeee",
                "  eeeeeeee",
                "  eeeeeeee",
                "  ffffffff",
                "  gggggggg",
                "  gggggggg",
                "  gggggggg",
                "  gggggggg",
                "  gggggggg",
                "  hhhhhhhh",
                "  hhhhhhhh",
                "  hhhhhhhh",
                "  hhhhhhhh",
                "  hhhhhhhh",
                "  iiiiiiii",
                "  iiiiiiii",
                "  iiiiiiii",
                "  iiiiiiii",
                "  iiiiiiii",
                "  jjjjjjjj",
                "  jjjjjjjj",
                "  jjjjjjjj",
                "  jjjjjjjj",
                "  jjjjjjjj",
                "  kkkkkkkk",
                ">>llllllll",
                "  llllllll",
                "  llllllll",
                "  llllllll",
                "  llllllll",
                "  mmmmmmmm",
                "  mmmmmmmm",
                "  mmmmmmmm",
                "  mmmmmmmm",
                "  mmmmmmmm",
                "  nnnnnnnn",
                "  nnnnnnnn",
                "  nnnnnnnn",
                "  nnnnnnnn",
                "  nnnnnnnn",
                "  oooooooo",
                "  oooooooo",
                "  oooooooo",
                "  oooooooo",
                "  oooooooo",
                "  pppppppp",
                "          ",
                "          ",
            ])
        );
    }

The problematic part of the code, which I missed earlier when looking at this:
		.scroll_padding(4);

Right now the code is treating this as a higher priority than making sure that more rows are added to the bottom of the list. there's some complexity in the code:
https://github.com/ratatui/ratatui/blob/main/ratatui-widgets/src/list/rendering.rs#L223-L264
It's likely that this needs a bit more review to ensure that the behavior is unsurprising.

sorry, I think I misdiagnosed the problem. even without scroll_padding, I'm able to repro the problem
diff --git a/src/main.rs b/src/main.rs
index 563ac59..e04bae9 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -24,7 +24,7 @@ fn main() {
 	let list_items: Vec<ListItem> = alphabet.into_iter().enumerate().map(|(i, c)| {
 		let mut line = c.to_string().repeat(10);
 		line.push('\n');
-		line.repeat(if i % 5 == 0 { 1 } else { 5 }).into()
+		line.repeat(if i % 5 == 0 { 25 } else { 2 }).into()
 	}).collect();
 	let app = App {
 		list_items, list_state: ListState::default(),
@@ -122,8 +122,7 @@ fn ui(frame: &mut Frame, app: &mut App) {
 	);

 	let list = List::new(app.list_items.clone())
-		.highlight_style(Style::default().bg(Color::Indexed(237)))
-		.scroll_padding(4);
+		.highlight_style(Style::default().bg(Color::Indexed(237)));
 	frame.render_stateful_widget(list, area, &mut app.list_state);
 }

it's especially noticeable in this example when you select one of the giant 25-line items

my current thinking is that instead of worrying about the first index (what the state calls "offset"), we should figure out how many lines from the top we need to skip before we start rendering
consider the case where we have a list of 2 items, each item is 25 lines high, we've selected the bottom item, and the rendering area has 40 lines. IMO, the correct thing to do here is to render the last 15 lines of the top item and then render the bottom item. there's no way to model that with first index/offset

There's all sorts of edge cases to be aware of when rendering the list (or anything scrollable). Take a look at https://github.com/ratatui-org/ratatui/issues/174 for a bit of an overview of the complexity.

how do you feel about a scroll_padding that measures in lines rather than items? I think this is more desirable anyway since you don't want more padding if the item on the top/bottom happens to be taller
it would be a behavior change. we could rename to scroll_offset or scroll_padding_lines or something to make it a breaking change so it's more obvious when people upgrade

I believe this was implemented recently. Track down the implementer / requester on the original PR and tag them for an opinion. I'd be wary of trying to stack too many scrolling behavior changes on this though without thinking about the bigger picture, mainly because it will cause painful updates if we change things too often, and make it difficult to implement things properly well.

authors: joshka raylu

repo: ratatui/ratatui


text:
BetterDiscord randomly stopped working

Randomly gets stuck on "Extracting core.asar"
I've tried re-installing discord, and BandagedBD.
https://i.imgur.com/VhUdu5B.png

Nevermind, figured out the issue, had to put it on my desktop and not download BD from my downloads.

repo: rauenzi/BetterDiscordApp


text:
Add history support

See https://github.com/raxod502/selectrum/issues/4

This PR also enables usage of M-n to run file-name-at-point-functions to pull file names at point into the minibuffer like possible in default file completion.

M-p in file completion does currently not work as in default. With this PR only the filename is saved with default completion the whole path is saved.

I figured this is because in selectrum--exit-with does insert the selected candidate but not (get-text-property 0 'selectrum-candidate-full selected). This is only retrieved later in selectrum-read. Maybe that should be done in selectrum--exit-with generally?

There is a problem when going through all history elements after reaching the end you get "Text is read only" error and can't go back from there.

Fixed now

Nothing more I want to add, thanks!

This is a great feature, I really appreciate your help and patience.


text:
Error with find command after recent pull from develop branch

Seems like after this commit: https://github.com/raxod502/straight.el/commit/f689b59e93a22e14b6a674aeaaa2a0dfb32a5e03
Here's the error:
Debugger entered--Lisp error: (error "Command failed: find . -depth 2 -name .git -prune -o -path ./straight.el/\\* -newermt 2017-07-25T12\\:13\\:42-0400 -print: ")
  signal(error ("Command failed: find . -depth 2 -name .git -prune -o -path ./straight.el/\\* -newermt 2017-07-25T12\\:13\\:42-0400 -print: "))
  error("Command failed: %s: %s" "find . -depth 2 -name .git -prune -o -path ./straight.el/\\* -newermt 2017-07-25T12\\:13\\:42-0400 -print" "")
  straight--cache-package-modifications()
  straight--transaction-exec(bulk-find straight--cache-package-modifications straight--uncache-package-modifications)
  straight--package-might-be-modified-p((:host github :repo "raxod502/straight.el" :files ("straight.el") :branch "develop" :package "straight" :type git :local-repo "straight.el"))
  #f(compiled-function () #<bytecode>)()
  straight--transaction-exec(use-package-straight #f(compiled-function () #<bytecode>))
  straight-use-package((straight :type git :host github :repo "raxod502/straight.el" :files ("straight.el")))
  eval-buffer(#<buffer  *load*-545375> nil "/home/diego/.emacs.d/straight/bootstrap.el" nil t)  ; Reading at buffer position 2771
  load-with-code-conversion("/home/diego/.emacs.d/straight/bootstrap.el" "/home/diego/.emacs.d/straight/bootstrap.el" nil t)
  load("~/.emacs.d/straight/bootstrap.el" nil nomessage)
  (let ((bootstrap-file (concat user-emacs-directory "straight/bootstrap.el")) (bootstrap-version 2)) (if (file-exists-p bootstrap-file) nil (save-current-buffer (set-buffer (url-retrieve-synchronously "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el" 'silent 'inhibit-cookies)) (goto-char (point-max)) (eval-print-last-sexp))) (load bootstrap-file nil 'nomessage))
  eval-buffer(#<buffer  *load*> nil "/home/diego/.emacs.d/init.el" nil t)  ; Reading at buffer position 2647
  load-with-code-conversion("/home/diego/.emacs.d/init.el" "/home/diego/.emacs.d/init.el" t t)
  load("/home/diego/.emacs.d/init" t t)
  #f(compiled-function () #<bytecode>)()
  command-line()
  normal-top-level()

Also when I try to evaluate the find command on the command line, I get
find: paths must precede expression: 2

Actually, I think that find command never worked (on GNU find; it works with BSD find). It's just that commit https://github.com/raxod502/straight.el/commit/f689b59e93a22e14b6a674aeaaa2a0dfb32a5e03 fixed straight.el so that it actually reports an error if find fails unexpectedly.

Fixed in https://github.com/raxod502/straight.el/commit/4c4488cae8347d2500311b522236334f2a359b30, but see #121.

Oh, and just for your edification, the problem was that I was under the impression that -prune and -depth could be used together. It turns out that they can't be. Apparently BSD find silently ignores one of them in this case, while GNU find reports an error.
I think #78 is an entirely separate issue, though.

@raxod502 it actually seems like -prune and -depth can be used together in GNU find (er, it ignores -prune in this case just like BSD find), I just don't think there's an option for passing in a level to GNU find's -depth (e.g. -depth 2).

Wait wat
Is the meaning of -depth seriously completely different in BSD vs. GNU find? That's horrifying; I didn't even think to check that.
Anyways, -depth is useless either way. In GNU find, it's a global option; in BSD find, it can't be used with -prune. OTOH there is a -maxdepth option which has the same meaning in both, but it's global in both.
So in the end I think there's nothing more than can be done. Does the patched version work for you, though?

Yeah, the patched version works.


text:
Darkmode support

A common feature for the modern UI experience is dark mode however it doesn't appear your website supports it. Neither do the interactive diagrams. I use dark reader to make websites dark but it struggles on non static elements such as your diagrams.
I'd look into making sure dark mode is supported as a usability feature.

I'm not sure whether that feature is supposed to be supported directly in the library or whether it's the user that has to configure that one themself.
For now, I think it's the responsibility of the user to provide themes and multiple diagrams or diagram styles that can be swapped depending on the theme.
In this case, it'll still be nice to support a dark theme on the website, but I suppose that will be an issue for separate repo https://github.com/ray-pH/diagramatics-site

authors: FruitcakeElemental ray-pH

repo: ray-pH/diagramatics


text:
Add support for 100+ LLMs - Anyscale, vertexai, ollama, perplexity, together ai, palm, openrouter

This PR adds support for the above mentioned LLMs using LiteLLM https://github.com/BerriAI/litellm/
LiteLLM is a lightweight package to simplify LLM API calls - use any llm as a drop in replacement for gpt-3.5-turbo.
Example
from litellm import completion

## set ENV variables
os.environ["OPENAI_API_KEY"] = "openai key"
os.environ["COHERE_API_KEY"] = "cohere key"

messages = [{ "content": "Hello, how are you?","role": "user"}]

# openai call
response = completion(model="gpt-3.5-turbo", messages=messages)

# cohere call
response = completion(model="command-nightly", messages)

# anthropic call
response = completion(model="claude-instant-1", messages=messages)

@waleedkadous @kylehh I thought litellm would be useful here to make benchmarking easier
noticed you have an outstanding PR for adding HF inference (which litellm supports already)

LLMperf v2 released and LiteLLM was added as one of the LLM client
Close this PR

authors: ishaan-jaff kylehh

repo: ray-project/llmperf


text:
Fixed Downscroll Held Notes

This took a while, but I finally managed to make a working fix for downscroll held notes.

Looks good

repo: rayanmargham/FNF-Godot-Engine


text:
[Hide My Email] Love this extension! 🎯

Extension
https://www.raycast.com/svenhofman/hidemyemail
Description
Just wanted to say thanks for creating this extension! Being able to manage Apple's Hide My Email service directly from Raycast is amazing. I was previously using this shortcut, but this is so much more efficient. Great work! 👏
Who will benefit from this feature?
No response
Anything else?
No response

Hi @jlpajares
Thank you for your kind words! It's really nice of you to take the time to write this message :)
It's still awaiting approval, but there will soon be an update that makes the extension much faster to use!
Happy holidays 🎆

authors: jlpajares svenhofman

repo: raycast/extensions


text:
[Things] Extension cannot find the application

Extension
https://www.raycast.com/loris/things
Description
Hi,
it seems that current version of Things extension do not properly pick up installed Things 3 with following message

Steps To Reproduce

Installed Things 3 from App Store
Installed Things extension from Raycast store
Tried to invoke any command in Raycast
Extension is not picking up running Things application

Current Behaviour

Attempted to restart Raycast
Attempted to restart Things 3

Expected Behaviour
Extension can work properly with Things 3

After looking into System permissions I believe there should be some check / prompt to enable Security & Privacy > Automation > Raycast > Things. After enabling this the extension started to work.

Not stale

After looking into System permissions I believe there should be some check / prompt to enable Security & Privacy > Automation > Raycast > Things. After enabling this the extension started to work.

Just did a tiny commit to make this clearer when there is an error.

@raycastbot close this issue


text:
[Jira] ...

Extension
https://www.raycast.com/raycast/jira
Description

Error:
Error: Rendering failed:
Missing required component property "title"

Steps To Reproduce
Go jira Open Issues
The error "something went wrong" appears on screen.
Current Behaviour
No response
Expected Behaviour
No response

Thanks for bringing this up. It appears that this is a duplicate of issue #6011, so I'll mark it as such.

authors: colinfitzp thomaslombart


text:
[Google Bard] ...

Extension
https://www.raycast.com/EvanZhouDev/raycast-bard-ai
Description
I haven't been able to use this extension for months. After putting int he __Secure-1PSID, Bard never connects and produces a response.
Steps To Reproduce
Setup exebtsion as per the README.md
Obtaining Authentication
Log in to your Google account, and visit Google Bard
Open the Web Inspector, and go to the "Application" tab.
Click open the Cookies dropdown on the sidebar, under storage, and click on the option that says https://bard.google.com.
Look for and copy the Cookie labeled __Secure-1PSID. Make sure you copy the periods at the end as well.
That's it! Now, put __Secure-1PSID in the setup screen and you're all good!
Warning It is probably a good idea not to commit this COOKIE_KEY, though there doesn't seem to be a direct way to exploit it as far as I am concerned.
Current Behaviour
Not sending or receiving requests/ responses
Expected Behaviour
Request sent and response from BARD API.

Just use the Google palm extension for raycast. It's better and faster

Just use the Google palm extension for raycast. It's better and faster

Hi, I have a similar problem with palm, do you know the reason? Thanks.
I use the same __Secure-1PSID.

You're gonna need a dedicated key, sorry for any confusion.
Get one here: https://makersuite.google.com/app/apikey

You're gonna need a dedicated key, sorry for any confusion.
Get one here: https://makersuite.google.com/app/apikey

Thanks, Can this extension display pictures?

authors: EvanZhouDev Jeremy-Cleland Ssiswent Visual-Studio-Coder


text:
Add Disk utility extension with Create Volume command(s)

Description

Adds "Quick Create Volume" command to create APFS encrypted and case-sensitive volumes.
Adds "Create Volume" command to create APFS encrypted and case-sensitive volumes with extra features like symlinks (more features can be added later).

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Hi!
Thank you for your contribution! My name is Milena and I will be reviewing it today.
Wouldn't it make sense to have a list command as well?

Wouldn't it make sense to have a list command as well?

Hello @mil3na, thanks for taking a look! The volumes are in plist format and I am trying to come up with a list command (with delete action). It might require more time and we can tackle the list command in future iterations, starting with "Create Volume" and "Quick Create Volume" for now. What do you think?

Wouldn't it make sense to have a list command as well?

Hello @mil3na, thanks for the feedback! I have added the Show Volumes command along with a Delete action, can you please take a look when you find some time?

The PR is ready to be reviewed!


text:
Future Italian translation

Will you ever translate the game into Italian?

If you have a large enough team willing to undertake this work, let me know.

repo: rayshift/translatefgo


text:
Getting deprecated message. Kindly fix.

[25-May-2022 10:10:07 UTC] PHP Deprecated:  Required parameter $id follows optional parameter $attributes in .....\vendor\razorpay\razorpay\src\Webhook.php on line 33
https://github.com/razorpay/razorpay-php/blob/29996176da589e33e6046b4b94c684f0b109951f/src/Webhook.php#L33

@knit-pay this issue has been fixed in #329 . Please let me know if the issue persists.

repo: razorpay/razorpay-php


text:
yarn build does not work on Windows

The use of ENV_VAR=value react-scripts build makes yarn build not work on Windows. cross-env solves this.

First closing of an issue on HMS weave.

repo: razzius/hms-weave


text:
PdfView.builder zoom full width

I would like to have pages render at full screen width when loaded.

is there a standard way to achieve this?

I believe I can use the Custom Page Builder referenced in the documentation.
However, PdfView.builder does not seem to be a standard type for this class.
Is there a more complete example showing how to use PdfView.builder?

Thank you,
Great Package!

what version of the library? In recent versions, everything should be fixed

It looks like version 3.1.0 is used.
When editing with VSCODE PdfView.builder results in
The method 'builder' isn't defined for the type 'PdfView'.

builder constructor removed, available in default constructor

Duplicate of #68

@pmagnuson https://github.com/rbcprolabs/packages.flutter/issues/68#issuecomment-631619222

authors: SergeShkurko pmagnuson


text:
Sync with apache/thrift as of v0.14.1

Also backport some changes which affect erl generator and runtime library.
Should cover #48, #49.

@keynslug мержим?

repo: rbkmoney/thrift


text:
Cant import part from shared library

Hi! I compiled the shared library from ngspice (master) and enabled shared library flag.
Successfully found those on my Ubuntu16.04 under /usr/local/lib :
libngspice.so, libngspice.so.0, libngspice.so.0.0
In jupyter I included the library as following as in the example of the diode in 8.2.1 and changed this line to:
libraries_path = os.path.join(os.path.dirname('/usr/local/lib/'), 'libraries')
spice_library = SpiceLibrary(libraries_path)
When I try spice_library['1N4148']  I get the key error because spice_library has no entry of this part.
When I open interactive python console and look into the class of spice_library I have only two empty subclasses:
models  subcircuits
Could anyone tell me what I am missing?

It looks like you are conflating two identically-named packages called SPICE:  one is an electronics simulation package, IIRC; the other is a toolkit for working with spacecraft mission geometry and events written by the Navigation and Ancillary Information Facility at the Jet Propulsion Laboratory (NAIF/JPL).
PySPICE is related to the latter.

Wow I mixed this up! Those are indeed named both PySpice and PySPICE. Thank you for the hint!

repo: rca/PySPICE


text:
Fix issue #22

This commit addresses the two issues outlined in
https://github.com/rcbops/rpc-extras/issues/22.  We now create a
user_extras_secrets.yml which should be copied to
/etc/openstack_deploy and can have pw-token-gen.py run against it.
Additionally, we rename user_maas_settings.yml to
user_extras_variables.yml to clarify that this file can be used for
other roles in rpc-extras, while also keeping the naming consistent
with user_variables.yml in os-ansible-deployment.

LGTM

:+1:

authors: mattt416 miguelgrinberg stevelle

repo: rcbops/rpc-extras


text:
[backport - liberty-12.2] Add export to RUN_TEMPEST_OPTS and TESTR_OPTS

This is so the openstack_tempest_gate.sh script picks up
these variables when invoked.
Connects https://github.com/rcbops/u-suk-dev/issues/1680
(cherry picked from commit 6591baef015d6be5d541d92b2a1acb39b67161e7)

recheck_cit_ceph
recheck_cit_swift

recheck_cit_swift

recheck_cit_swift

recheck_cit_swift

recheck_cit_swift
recheck_cit_ceph

recheck_cit_ceph
recheck_cit_swift

recheck_cit_swift
recheck_cit_cept
tempest failure

recheck_cit_ceph

recheck_cit_ceph
recheck_cit_swift

repo: rcbops/rpc-openstack


text:
Update fail messages for MaaS entity discovery

Entities should alway exist for the customers hardware and are created
when it is assigned to the account. This commit updates the error
messages generated to be clearer about the action support should take.
The use of entites is not RPC specific and so no additional
documentation should be required.
Closes-issue: https://github.com/rcbops/rpc-openstack/issues/155

:+1:

Minor maybe not worth changing. Otherwise happy to merge.

authors: andymcc git-harry mancdaz


text:
Song downloader broken ):

When I try to play online with my friends, and we try a song we don't all have it doesn't let us start and says we dont all own the song. Has anyone else had this issue?

I made some changes to the server-side download logic that may have resolved the issue you're referring to. Can you try now and see if the problem persists?

Closing due to inactivity

authors: CarterWagner rcelyte

repo: rcelyte/BeatUpRcelyte

license: Unlicense


text:
Generator Params vs. TypeGen Params

Currently, the Generator constructor requires that the Params provided to the Generator match the Params provided to the TypeGen. There are cases where you would like the Generator to take additional parameters over the TypeGen. For example, consider a line buffer.
The line buffer needs to know at least 5 things: the width and height of the taps you want, the width of the image, the height of the image, and the bits per pixel. On the other hand, the type of the line buffer is very easily represented, it is just a single pixel in, and width*height pixels out. The TypeGen does not require any knowledge about the width and height of the image.
Instead, I propose that the Parameters provided to the Generator be a superset of the Parameters provided to the TypeGen.

An argument against would be we would need to know the image width in order to know the delay of a module, but I'm going to disagree with that by saying the delay of a module should be a property of a module, not a property of its interface.
I'm open to hear what anyone else thinks.

I think this is good and allows typegens to be able to be used by a larger set of generators.


text:
support INSERT DATA operation

Currently rdf-sparql-builder supports DELETE operation, would be really useful to support also INSERT DATA.
I'm open to create a PR for this :)

Sure, a PR is very welcome!

Done! My PR is ready #20, please take a look and let me know if I should change anything.

authors: bergos davasqueza

repo: rdf-ext/rdf-sparql-builder


text:
Development/firmware control update documentation

FirmwareControl: add configuration clause

All pull request on this subject will be combined into one pull request

repo: rdkcentral/ThunderNanoServices


text:
RuntimeError when importing rdkit.Chem.Descriptors

Description:

RDKit Version: 2018.09.1dev1 (installed with brew install --with-python3)
Platform: MacOS High Sierra 10.13.5, python 3.7.0

I've been encountering the following traceback
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/site-packages/rdkit/Chem/Descriptors.py", line 208, in <module>
    _setupDescriptors(locals())
  File "/usr/local/lib/python3.7/site-packages/rdkit/Chem/Descriptors.py", line 37, in _setupDescriptors
    for nm, thing in namespace.items():
RuntimeError: dictionary changed size during iteration

when running from rdkit.Chem import Descriptors.
I also have access to a Linux system running python 3.6.5, rdkit 2018.03.2 and don't see this problem.
I was able to patch the problem and get Descriptors to load by copying the namespace before iterating (in file rdkit/Chem/Descriptors.py):
_namespace = dict(namespace)
for nm, thing in _namespace.items():
  if nm[0] != '_' and _isCallable(thing):
    _descList.append((nm, thing))

Reporting here in case anyone else sees this and if this patch is generally useful for incorporating into rdkit.  Looks pretty innocent to me, but I also don't know why this would be broken just in my environment and not generally broken.

It looks like this is a change in behavior for python 3.7.
Thanks for letting us know!

Brian Kelley

On Jul 10, 2018, at 1:20 PM, Jon Sorenson notifications@github.com wrote:
Description:
RDKit Version: 2018.09.1dev1 (installed with brew install --with-python3)
Platform: MacOS High Sierra 10.13.5, python 3.7.0
I've been encountering the following traceback
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.7/site-packages/rdkit/Chem/Descriptors.py", line 208, in
_setupDescriptors(locals())
File "/usr/local/lib/python3.7/site-packages/rdkit/Chem/Descriptors.py", line 37, in _setupDescriptors
for nm, thing in namespace.items():
RuntimeError: dictionary changed size during iteration
when running from rdkit.Chem import Descriptors.
I also have access to a Linux system running python 3.6.5, rdkit 2018.03.2 and don't see this problem.
I was able to patch the problem and get Descriptors to load by copying the namespace before iterating (in file rdkit/Chem/Descriptors.py):
_namespace = dict(namespace)
for nm, thing in namespace.items():
if nm[0] != '' and _isCallable(thing):
_descList.append((nm, thing))
Reporting here in case anyone else sees this and if this patch is generally useful for incorporating into rdkit. Looks pretty innocent to me, but I also don't know why this would be broken just in my environment and not generally broken.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

authors: bp-kelley drkeoni

repo: rdkit/rdkit


text:
MinimalLib: return fingerprints as BitSets

Currently the fingerprint functions in MinimalLib, such as a mol.get_morgan_fp, return a string representing a fingerprint as 0 and 1 characters.
In Datagrok Chem package we convert such a string to a library BitSet. Under its implementation, 0 and 1 are actually bits stored in an array of integers. We later perform high-performance search and filtering related operations on these bitsets.
For performance reasons, it would be fruitful to receive fingerprints from MinimalLib directly as a bitset. As an example, the return type may be a Uint8Array with enough elements to represent the entire fingerprint vector, s.t. it may possible be used to convert to a library BitSet class. This may be a function additional to already existing ones such as get_morgan_fp.
CC @ptosco it would be great if you share your thoughts on this extension.

@dskatov I agree with you and I'll see if I manage to push a PR today.

authors: dskatov ptosco


text:
Allow the substruct library to be deleted when refcount goes to 0

Fixes  #7457
Using the equivalent of an infinite number monkeys writing Shakespeare, this patch allows python to free a substructlibrary when the ref count goes to zero.
Why it works, or why it was broken in the first place, I have no idea.

test code
from rdkit import Chem
from rdkit.Chem import rdSubstructLibrary
import psutil

process= psutil.Process()
start_rss = process.memory_info().rss

def foo():
    molholder = rdSubstructLibrary.CachedSmilesMolHolder()
    for smi in smiles:
        molholder.AddSmiles(smi)
    ss = rdSubstructLibrary.SubstructLibrary(molholder)

i = 0

smiles = ["CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc"] * 1000000

for i in range(4):
    foo()
    rss = process.memory_info().rss - start_rss
    if rss/(1024**2) > 200:
        print(i+1, "LEAK", rss/(1024**2), "mb")
        raise ValueError("Leak!")

This leaks without the change (at least on OSX)

def foo():
molholder = rdSubstructLibrary.CachedSmilesMolHolder()
for smi in smiles:
molholder.AddSmiles(smi)
ss = rdSubstructLibrary.SubstructLibrary(molholder)

You actually don't even need the molholder here. This leaks by itself on master:
def foo():
    ss = rdSubstructLibrary.SubstructLibrary(molholder)

authors: bp-kelley greglandrum


text:
Add integrations app and add GitHub provider

Add integrations app and add GitHub provider

Coverage decreased (-2.0%) to 90.198% when pulling 2adc210e86e3a0a76d4be639603e1c5576a5a69a on improve_tasks2 into 223ef2d85a26b6af6fc94bf8b1db322d8bf18baa on master.

authors: coveralls jochenklar

repo: rdmorganiser/rdmo


text:
Mehrere Homekit Profile gleichzeitig

Ist es möglich unterschiedliche Homekit Profile zu erstellene (z.B. durch mehrere Homekit Nodes für unterschiedliche Nutzer)? Ich habe gesehen dass der Homematic Node die Auswahl von Geräten erlaubt, aber ich schaffe ihn nicht als neue Wohnung bei Apple
zu konfigurieren. Das Ziel wäre es den Kindern nur bestimmte Geräte bedienen zu lassen.

Ja, das ist machbar. Du kannst beliebig viele Homekit Bridges anlegen, musst dabei aber darauf achten dass jede Bridge einen anderen Port nutzt und diese Ports auch von der CCU Firewall erlaubt werden. Zähl einfach für jede weitere Bridge 1 dazu, also die erste auf dem Default Port 51826, die zweite auf 51827 usw.

authors: drMaxxi hobbyquaker

repo: rdmtc/RedMatic


text:
Inference helper class

I just wanted to share some code I'm using to help with type inference for higher-kinded effects.
cleff-plugin wasn't an option for me because I am x-compiling. See this GHC ticket.
The effects I was using were unique for my effect stack anyways, so I was able to use a helper type class with a fundep to get GHC to figure out the type parameter that the plugin would normally help with. I added a little more stuff to guarantee the effect is only used once (just like mtl fundeps ensure in that world).
Here's the code! https://gist.github.com/ramirez7/fab0ba053f27b73c2a50bafa69c26be4
theAsks
  :: forall r a es
   . The Reader es r
  => Reader r :> es
  => (r -> a)
  -> Eff es r
theAsks f = f <$> ask @r

^ theAsk will never run into inference issues even if the function you pass to it is highly parametric (e.g. optics and labels and such. Like theAsks $ view #player % #speed). The only downside is you can't have multiple Readers.

PS I love the library and it's working great for me so far! I'm using it for gamedev and it's really cleaned up my code compared to mtl style. And my small stuff is still humming at 60fps with plenty of headroom.
PPS I also have an alternative that uses implicit Proxy params in a similar way to nudge inference. That was mostly for fun, but it was cool nonetheless.

I'm glad that cleff works well for you! I had a look at your The class, it was neat. It seems that to use theAsk, the call site needs to have both The Reader es r and Reader r :> es - is it possible to make the latter a superclass of the former, i.e. class f e :> es => The f es e, so that only The is needed?

I was able to make it a superclass and it Just Worked! Very cool - I've never used superclasses for type-level computations like that. Thank for the code review 🤠

Closing for now - if you have any further suggestions/questions let me know!

repo: re-xyr/cleff


text:
Work out estimate for azure credit usage

So that we can pass this on to microsoft as an official request.

cc @sabind @edmkitty @webmonger
Dan has volunteered to do a cost ballpark based on heroku costs (to give us a ballpark as to what to ask for from Azure)

@edmkitty mentioned on Slack that the infra team estimated 600 pounds a month. Might be good to hear her thoughts on this?

TODO: me: send an estimate of 600GBP to microsoft, and setup an org.

No longer using Azure, using GCP instead.


text:
feat(text-search): algolia-request-text-search

Description
@telmodias this one is for you. All requests added to the db will be indexed in https://algolia.com. I've applied for our free COVID-19 pricing.
Motivation
Allow text searching of request objects.
Testing Guidelines
Release Checklist

[ ] This code has unit tests
[ ] I have a plan to verify that these changes are working as expected after deploy
[ ] I have a plan for how to revert, rollback, or disable these changes if things are not working as expected

Security Checklist
This PR creates, modifies, or deletes:

[ ] API routes: API routes, parameters, or user authorization
[ ] Authentication: Authentication mechanism
[ ] Credentials: Server side credentials, or secrets in configuration / source code
[ ] Cryptography: Encryption, hashing, certificates, signatures, random numbers, etc.
[ ] User data: personal information handling, logs, error messages, etc.

Additional Notes

@ashwinkjoseph Added you here so you can see how we use third party services in cloud functions.

Assigned @telmodias as this might be relevant to him

authors: puzzledbytheweb sabind


text:
Script cleanAndSetup causes Typescript compile error in serviceWorker.ts

Description
After creating a new application with cra-template-rb template and starting the app everything works fine.  However, when I run the cleanAndSetup script I get a Typescript compile time error in serviceWorker.ts
src/serviceWorker.ts:31:31 - error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
  Type 'undefined' is not assignable to type 'string'.

Steps to reproduce
Steps to reproduce the behavior:
npm run eject
npm run cleanAndSetup
npm run checkTs

Expected behavior
Either of these (not exhaustive):

cleanAndSetup script should create a default PUBLIC_URL to avoid Typescript error.
cleanAndSetup script should prompt user for new PUBLIC_URL to avoid Typescript error.
Update documentation to detail how to manually create PUBLIC_URL to avoid Typescript error.

Versions

react-boilerplate-cra-template: 1.0.1
Node/NPM: 12.16.1/6.13.4
Browser: N/A

This seems to be due to the fact that cleanAndSetup completely wipes out the react-app-env.d.ts and in removing the NodeJS namespace with the type definition for PUBLIC_URL.

cleanAndSetup doesn't delete the react-app-env.d.ts file. Are you sure of that?
Does this also happens when you don't eject?

@Can-Sahin - Oh no sorry, cleanAndSetup doesn't delete the react-app-env.d.ts file but it modifies the content to just:
/// <reference types="react-scripts" />

// To solve the issue: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31245
/// <reference types="styled-components/cssprop" />

Doing so we lose the original types definitions, which includes the PUBLIC_URL definition:
declare namespace NodeJS {
  interface ProcessEnv {
    readonly NODE_ENV: 'development' | 'production' | 'test';
    readonly PUBLIC_URL: string;
  }
}

/// <reference types="react-scripts" /> line includes the PUBLIC_URL within it self if you navigate inside you will see.  Your problem originates from something else and I don't know why
https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/lib/react-app.d.ts
Here you can see the contents of the file which includes your stuff.

No response. Closing

authors: Can-Sahin travispomeroy


text:
there is not enough subscription for the sort click event

I need to subscribe on sort click event in header column when you click it for table sort. After reading docs i found that hook headerEvents: onClick triggered on such header columns where - sort: false.

@massmediagroup-28 sorry for lately reply, we must implement this feature in Q1. Right now, I can promise when I can finish it, maybe this ned of month or beginning of next month, I'll mention herea again when we finish it, thanks

New Release: https://react-bootstrap-table.github.io/react-bootstrap-table2/blog/2018/02/14/version-bump.html
For this issue, check this > https://github.com/react-bootstrap-table/react-bootstrap-table2/blob/master/packages/react-bootstrap-table2-example/examples/sort/sort-events.js#L18
Let me know if theres any problem, thanks


text:
Keeping markers visible whilst animating

I have a map with roughly 50 markers displayed within fairly close proximity. I have noticed a small (noticeable) issue when zooming out from a very zoomed-in state to fit a group of coordinates on the map.
Understandably, because I'm zoomed in very far the map hides other markers to save using memory unnecessarily. However, when I execute fitToCoordinates, the markers aren't shown until the animation has completely finished. This means suddenly at the end of the animation all other 50 markers are shown on the map again. It would look far better if I could show these markers again before I execute fitToCoordinates so that they can be seen throughout the animation and not just suddenly appear at the end.
Can anyone help me with a workaround for this issue?
this.map.fitToCoordinates(myCoordinates, {
  edgePadding: { top: 50, right: 50, bottom: Dimensions.get('window').height / 2, left: 50 },
  animated: true
});

We recently changed issue template. Do you mind filling it up according to the new rules please?

repo: react-community/react-native-maps


text:
Problems trying to run react-navigation in existing project

Everytime i try to include the library in my projects i get the error:
Syntax Error in TransitionConfigs.js Unexpected token(26:52)
Can somebody help m. I'm stuck here.
Thanks

Wipe node_modules and try again?

Can you give some sample code? What's in your .babelrc?

Hey Satya, rm node_modules, upgrade an linking resolved my issue.
Thanks for the help.

authors: Ehesp andrelimawork satya164

repo: react-community/react-navigation


text:
404 not found

Due to a recent security incident, all user tokens have been invalidated. Please see the status page for more details.
To generate a new token, visit your tokens settings page or run npm login.
code 404

I'm so sorry;  Signs of Stupidity！！！

repo: react-component/queue-anim


text:
Memory leak for unmounted components

Describe the bug
When the DragSource-component is unmounted, the unsubscribe function (https://github.com/react-dnd/react-dnd/blob/master/packages/react-dnd-html5-backend/src/HTML5Backend.ts#L121) is not called.
To Reproduce

Open example from link: https://codesandbox.io/s/memory-leak-reactdndhtml5backend-64y8r
or manually execute this code:

import React from "react";
import ReactDOM from "react-dom";
import { DragDropContextProvider, DragSource } from "react-dnd";
import HTML5Backend from "react-dnd-html5-backend";

const Draggable = DragSource(
  "",
  {
    beginDrag() {},
    endDrag() {}
  },
  connect => ({
    connectDragSource: connect.dragSource()
  })
)(({ connectDragSource }) =>
);

let backend;

class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = { cnt: 1 };
    setInterval(() => this.setState({ cnt: this.state.cnt + 1 }), 10);
  }

  render() {
    return (
      <>
        sourceNodes in memory: {backend.sourceNodes.size}
        {this.state.cnt % 2 === 0 && <Draggable />}
      </>
    );
  }
}

ReactDOM.render(
  <DragDropContextProvider backend={m => (backend = HTML5Backend(m))}>
    <App />
  </DragDropContextProvider>,
  document.getElementById("root")
);

The number of sourceNodes in memory strictly increases to infinity.

Expected behavior
The number of sourceNodes does not increase above the actual number of components.
Screenshots

Desktop:

OS: Windows 10
Browser: Chrome
Version: 74

Additional context

react: 16.8.6
react-dom: 16.8.6
react-dnd: 7.4.5
react-dnd-html5-backend: 7.4.4

FWIW this happens to react-dnd-touch-backend as well but for DropTarget instead.
A modified testcase: https://codesandbox.io/s/memory-leak-reactdndtouchbackend-85wru
Code below:

import React from "react";
import ReactDOM from "react-dom";
import { DragDropContextProvider, DropTarget } from "react-dnd";
import TouchBackend from "react-dnd-touch-backend";

const Droppable = DropTarget("", {}, connect => ({
  connectDropTarget: connect.dropTarget()
}))(({ connectDropTarget }) =>
);

let backend;

class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = { cnt: 1 };
    setInterval(() => this.setState({ cnt: this.state.cnt + 1 }), 10);
  }

  render() {
    return (
      <>
        targetNodes in memory: {Object.keys(backend.targetNodes).length}
        {this.state.cnt % 2 === 0 && <Droppable />}
      </>
    );
  }
}

ReactDOM.render(
  <DragDropContextProvider backend={m => (backend = TouchBackend()(m))}>
    <App />
  </DragDropContextProvider>,
  document.getElementById("root")
);

And after inspecting the code, we have come up with a solution to this issue. I'll probably submit a PR maybe tomorrow.

authors: alexander-dmitriev upsuper

repo: react-dnd/react-dnd