Kubernetes sky DNS doesnt work

Hi Team,
I am facing issues with skydns in Kubernetes. Kindly help me in fixing this issue.
Attaching yaml file for svc and rc in skydns
==============SKY DNS SERVICE YAML========================
cat skydns-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: kube-dns
namespace: kube-system
labels:
k8s-app: kube-dns
kubernetes.io/cluster-service: "true"
kubernetes.io/name: "KubeDNS"
spec:
selector:
k8s-app: kube-dns
clusterIP:  <IP_ADDRESS>
ports:

name: dns
port: 53
protocol: UDP
name: dns-tcp
port: 53
protocol: TCP
======================================

================SKYDNS RC YAML======================
cat skydns-rc-correct.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: kube-dns-v11
namespace: kube-system
labels:
k8s-app: kube-dns
version: v11
kubernetes.io/cluster-service: "true"
spec:
replicas: 1
selector:
k8s-app: kube-dns
version: v11
template:
metadata:
labels:
k8s-app: kube-dns
version: v11
kubernetes.io/cluster-service: "true"
spec:
containers:
- name: etcd
image: registry.corpintra.net:5000/etcd-amd64:2.2.1
resources:
# TODO: Set memory limits when we've profiled the container for large
# clusters, then set request = limit to keep this container in
# guaranteed class. Currently, this container falls into the
# "burstable" category so the kubelet doesn't backoff from restarting it.
limits:
cpu: 100m
memory: 500Mi
requests:
cpu: 100m
memory: 50Mi
command:
- /usr/local/bin/etcd
- -data-dir
- /var/etcd/data
- -listen-client-urls
- http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001
- -advertise-client-urls
- http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001
- -initial-cluster-token
- skydns-etcd
volumeMounts:
- name: etcd-storage
mountPath: /var/etcd/data
- name: kube2sky
image: registry.corpintra.net:5000/kube2sky:1.14
env:
- name: "KUBERNETES_RO_SERVICE_HOST"
value: "<IP_ADDRESS>"
- name: "KUBERNETES_RO_SERVICE_PORT"
value: "80"
resources:
# TODO: Set memory limits when we've profiled the container for large
# clusters, then set request = limit to keep this container in
# guaranteed class. Currently, this container falls into the
# "burstable" category so the kubelet doesn't backoff from restarting it.
limits:
cpu: 100m
# Kube2sky watches all pods.
memory: 200Mi
requests:
cpu: 100m
memory: 50Mi
livenessProbe:
httpGet:
path: /healthz
port: 8080
scheme: HTTP
initialDelaySeconds: 60
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 5
readinessProbe:
httpGet:
path: /readiness
port: 8081
scheme: HTTP
# we poll on pod startup for the Kubernetes master service and
# only setup the /readiness HTTP server once that's available.
initialDelaySeconds: 30
timeoutSeconds: 5
args:
# command = "/kube2sky"
- --domain=kubernetes.local
- name: skydns
image: registry.corpintra.net:5000/skydns:2015-10-13-8c72f8c
resources:
# TODO: Set memory limits when we've profiled the container for large
# clusters, then set request = limit to keep this container in
# guaranteed class. Currently, this container falls into the
# "burstable" category so the kubelet doesn't backoff from restarting it.
limits:
cpu: 100m
memory: 200Mi
requests:
cpu: 100m
memory: 50Mi
args:
# command = "/skydns"
- -machines=http://<IP_ADDRESS>:4001
- -addr=<IP_ADDRESS>:53
- -ns-rotate=false
- -domain=kubernetes.local.
ports:
- containerPort: 53
name: dns
protocol: UDP
- containerPort: 53
name: dns-tcp
protocol: TCP
- name: healthz
image: registry.corpintra.net:5000/exechealthz:1.0
resources:
# keep request = limit to keep this container in guaranteed class
limits:
cpu: 10m
memory: 20Mi
requests:
cpu: 10m
memory: 20Mi
args:
- -cmd=nslookup kube-dns.kube-system.svc.kubernetes.local <IP_ADDRESS> >/dev/null
- -port=8080
ports:
- containerPort: 8080
protocol: TCP
volumes:
- name: etcd-storage
emptyDir: {}
dnsPolicy: Default  # Don't use cluster DNS.
COMMAND :
kubectl cluster-info
Kubernetes master is running at http://localhost:8080
KubeDNS is running at http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/kube-dns
kubectl --namespace kube-system describe svc kube-dns
Name:                   kube-dns
Namespace:              kube-system
Labels:                 k8s-app=kube-dns,kubernetes.io/cluster-service=true,kubernetes.io/name=KubeDNS
Selector:               k8s-app=kube-dns
Type:                   ClusterIP
IP:                     <IP_ADDRESS>
Port:                   dns     53/UDP
Endpoints:
Port:                   dns-tcp 53/TCP
Endpoints:
Session Affinity:       None
No events.
If you see here there are no endpoints.
===========KUBELET CONFIG============================
My kubelet configuration as below
cat /etc/kubernetes/kubelet

kubernetes kubelet (minion) config
The address for the info server to serve on (set to <IP_ADDRESS> or "" for all interfaces)
KUBELET_ADDRESS="--address=<IP_ADDRESS>"
The port for the info server to serve on
KUBELET_PORT="--port=10250"
You may leave this blank to use the actual hostname
KUBELET_HOSTNAME="--hostname-override=<IP_ADDRESS>"
location of the api-server
KUBELET_API_SERVER="--api-servers=http://<IP_ADDRESS>:8080"
Add your own!
KUBELET_ARGS="--pod-infra-container-image=registry.corpintra.net:5000/pause:2.0 --cluster_dns=<IP_ADDRESS> --cluster_domain=kubernetes.local"
==============POD OUTPUT================================
kubectl --namespace kube-system get pod
NAME                         READY     STATUS             RESTARTS   AGE
kube-dns-v11-1xtm2           3/4       CrashLoopBackOff   45         2h
kubernetes-dashboard-a0byv   1/1       Running            1          2d
KUBECTL LOGS FOR SKYDNS in the pod shows this error.
kubectl logs po/kube-dns-v11-1xtm2 --namespace kube-system skydns
2016/07/13 05:44:21 skydns: falling back to default configuration, could not read from etcd: 100: Key not found (/skydns) [3]
2016/07/13 05:44:21 skydns: ready for queries on kubernetes.local. for tcp://<IP_ADDRESS>:53 [rcache 0]
2016/07/13 05:44:21 skydns: ready for queries on kubernetes.local. for udp://<IP_ADDRESS>:53 [rcache 0]
Needed Help.

Sorry. I'm not able to give support for skydns/k8s issues.

Hello Thanks for the reply.
Can you guide me where could i get support on this.

@arjunm183 from the yaml you posted the version of the addon is old (kube-dns-v11).
Please check https://github.com/kubernetes/kubernetes/blob/master/cluster/gce/coreos/kube-manifests/addons/dns/skydns-rc.yaml and https://github.com/kubernetes/kubernetes/tree/master/build/kube-dns

@aledbf  I tried using the yaml file referred by you and kubedns is running, however i was getting an error when i execute the below command for collecting logs
How do i test that dns is working fine?
ERROR:
kubectl --namespace kube-system logs kube-dns-v15-sbp6n kubedns
E0714 16:00:57.325984       1 config.go:258] Expected to load root CA config from /var/run/secrets/kubernetes.io/serviceaccount/ca.crt, but got err: open /var/run/secrets/kubernetes.io/serviceaccount/ca.crt: no such file or directory
I0714 16:00:57.326212       1 server.go:91] Using https://<IP_ADDRESS>:443 for kubernetes master
I0714 16:00:57.326223       1 server.go:92] Using kubernetes API
I0714 16:00:57.326644       1 server.go:132] Starting SkyDNS server. Listening on port:10053
I0714 16:00:57.326774       1 server.go:139] skydns: metrics enabled on :/metrics
I0714 16:00:57.326803       1 dns.go:166] Waiting for service: default/kubernetes
I0714 16:00:57.327385       1 logs.go:41] skydns: ready for queries on kubernetes.local. for tcp://<IP_ADDRESS>:10053 [rcache 0]
I0714 16:00:57.327452       1 logs.go:41] skydns: ready for queries on kubernetes.local. for udp://<IP_ADDRESS>:10053 [rcache 0]
I0714 16:00:57.426296       1 dns.go:172] Ignoring error while waiting for service default/kubernetes: Get https://<IP_ADDRESS>:443/api/v1/namespaces/default/services/kubernetes: x509: failed to load system roots and no roots provided. Sleeping 1s before retrying.
E0714 16:00:57.428254       1 reflector.go:216] pkg/dns/dns.go:154: Failed to list *api.Endpoints: Get https://<IP_ADDRESS>:443/api/v1/endpoints?resourceVersion=0: x509: failed to load system roots and no roots provided

@arjunm183 if the file /var/run/secrets/kubernetes.io/serviceaccount/ca.crt is missing the error is that you don't have serviceaccount running correctly. Please check https://github.com/kubernetes/kubernetes/issues/27973

@aledbf: I get the below output when i execute the command
kubectl --server <IP_ADDRESS>:8080 describe serviceaccounts default
Name:           default
Namespace:      default
Labels:
Mountable secrets:      default-token-3zwlo
Tokens:                 default-token-3zwlo
Image pull secrets:

Looks like i dont have the ca.crt file presented in the kubedns container
However the token in the container and the secrets are same.but there is no ca.crt.
How do i add the ca.crt to the yaml and so that they will replicate in the container.( like volume sharing from host to containers)
Additional logs Below
kubectl describe secret default-token-zbx2p --namespace kube-system
Name:           default-token-zbx2p
Namespace:      kube-system
Labels:
Annotations:    kubernetes.io/service-account.name=default,kubernetes.io/service-account.uid=aede2f13-43c1-11e6-96b3-005056b69c1a
Type:   kubernetes.io/service-account-token
Data
namespace:      11 bytes
token:          eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXpieDJwIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJhZWRlMmYxMy00M2MxLTExZTYtOTZiMy0wMDUwNTZiNjljMWEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.eIY0BiKTfRICco6wXEFvRHxGLnT4G9uDZboaxRFfYyHMyxwDEox5reodR8qMk-KkUT4-U5xdM_K_4ZYsc1lq7YSTrgFnCZ-s-tElO7b15qRAVyEHILtZC6kaJ4MPI_75Ne-QnFZER_ycgGLyE7WsTczYO0Ty_NKyczWlEqYwlXnRxGTJMX6zYXMTJ46w2xX7VvSYMtz9CRHs66MsDNtdfgKgLKJkWU_6eE5srt3vJlRP5n2BrR-HPYRMmSzbHfadMJAdFvjB4JPa2uJKBdIq2IdvfWWXec4qjnd1jLmffs9jfB8jxtPmmGzd9eyk9_KS3tn1bDTP64TRVsQ2jAMWyg
host1:~/kube-system/deploy/skydns # kubectl --namespace kube-system exec kube-dns-v15-sbp6n -- cat /var/run/secrets/kubernetes.io/serviceaccount/token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXpieDJwIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJhZWRlMmYxMy00M2MxLTExZTYtOTZiMy0wMDUwNTZiNjljMWEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.eIY0BiKTfRICco6wXEFvRHxGLnT4G9uDZboaxRFfYyHMyxwDEox5reodR8qMk-KkUT4-U5xdM_K_4ZYsc1lq7YSTrgFnCZ-s-tElO7b15qRAVyEHILtZC6kaJ4MPI_75Ne-QnFZER_ycgGLyE7WsTczYO0Ty_NKyczWlEqYwlXnRxGTJMX6zYXMTJ46w2xX7VvSYMtz9CRHs66MsDNtdfgKgLKJkWU_6eE5srt3vJlRP5n2BrR-HPYRMmSzbHfadMJAdFvjB4JPa2uJKBdIq2IdvfWWXec4qjnd1jLmffs9jfB8jxtPmmGzd9eyk9_KS3tn1bDTP64TRVsQ2jAMWyg

@arjunm183 please check the procedure you followed to create the certificates for k8s.
You can use this guide to check what's missing.

@arjunm183 just as a suggestion (as a kubernetes user) please close this issue
This is not related to skydns and it can generate more  traffic from search engines (serviceaccount troubles are a common thing)


Is it possible to merge rules only by selectors?

Is it possible to merge rules only by selectors. Why? Often when we use any framework or library we need to override some rules because their values are set arbitrarily... and finally we have rules that are overridden by some other rules below.
but I don't like merging by declarations I like only merging by selectors... please see the example below which is a real case.
// Bootstrap SASS
.label {
border-radius: .25em; // arbitrary value
color: $label-color;
display: inline;
font-size: 75%;  // arbitrary value
font-weight: bold;
line-height: 1;
padding: .2em .6em .3em;  // arbitrary value
text-align: center;
vertical-align: baseline;
white-space: nowrap;
}
// Now my custom code for these arbitrary values
.label {
border-radius: $label-border-radius;
display: inline-block;
font-size: $label-font-size;
padding: $label-padding;
}
I would like to joining these two at the end of process. Is it possible?

I think it's a complex question as:

those two rules may not be next to each other
there's no guarantee .label rule is not mixed with any other rule in-between those two (semantic naming like BEM helps)
minified code is usually just for machine use so we shouldn't care what gets merged where as long as it works fine, should we?

Any more comments here?

Please reopen if needed.


ReadMe to Fern docs converter: convert openapi specs from readme to fern docs

Given a ReadMe docs url, the cli will init all the openapis (one openapi init failing won't block the rest) it can find along with an init of docs.
Changes:

modified init docs to also init an openapi workspace if we pass in a docs url that contains an open api spec
added docs utils which has an interface for docs url actions (ex: get all openapis in docs)
If the readme website has a grouping of endpoints, inject the grouping into tags in the openapi spec

Testing:

e2e test for successful init of openapi docs

closing as we're not moving forward with this at this time


support required field in contract

hi,
we use cloud contract with pleasure. sometimes we need to declare which request fields are required or not. is it possible to support this? we can solve by writing comments but this is not feasible for a long time.

If a field is inside the contract - it's required. It's as simple as that.

And I'm really happy that you're enjoying the project :)


[suggestion] Allow for splitting exportation templates into DLLs

Tested versions
N/A
System information
N/A
Issue description
Current Godot/Redot export templates comprised of monolithic binary containing all the functionalities, including the ones unneeded for the game (e.g. 3D components in a 2D-only game). To explicitly remove the redundant components, one has to recompile the source code, which is slow and not always working when attempting cross platform compilation.
Therefore, the proposal is to allow split godot binary into dlls in a similar fashion as gdextensions, so that users can enable/disable exporting them on project settings. This way we can:

Reduce the size of exported game without recompiling the engine.
Allow disabling GDScript/C# if they are not used in the project and allow for more language bindings to be added into the source tree.
Allow the inclusion of functionalities that not every project needs but nonetheless important enough to deserve official support, such as a terrain system.


cirrus-vga gives black screen on macOS with M1

Hi,
When trying to use cirrus in UTM it gives a black screen. Other graphics adapters work, but break SVGA in DOS so i need cirrus.
Configuration

UTM Version: 2.1.2
OS Version: 12.0 Beta (21A5284e)
Apple Silicon

config.plist.zip

Issue is still there on 2.2.2 on latest macOS beta.

Can you try with QEMU?


Application is launching but closing immediately,using FlaUI.Core.Application.Launch(executable)

I am new to flaui,when i am trying to launch our application exe,using below it is launching but it closing immediately.can some one let me know if we need to add any arguments,if so what are they?
FlaUI.Core.Application.Launch(executable)
here executable is path of the exe.
code:
Application app=FlaUI.Core.Application.Launch(executable);

can some one let me know if we need to add any arguments,if so what are they?

I believe that is something you should know.

Is it a common application executable, if so what's the name? (E.g., Calculator.exe, notepad.exe)
Perhaps check and see if the shortcut to your executable has arguments? (E.g., my company uses Progress's OpenEdge ProWin32 client for business operations but it will not open unless certain arguments are passed to the executable. Those arguments are installed via an installer into the Shortcut's Target field)


Switched boolean flag to immediate flushing to integer

Release notes
Introduces the ability to specify the flush interval for IO write operations, changing the default, to an immediate flush.
What does it do?

Changed the value of configuration setting immediate_buffer_flush from boolean to a number (expressing milliseconds)

Fixes #718

@hylkevds have to do, I'm going with incremental commits, to make it easy reviewabe


About replicating the experimental results

Thank you for contribution！
There are some problems with reproducing the results with your open source code.First the data saved is 33M per file, a little short of the 17M you gave. Secondly, I reproduced the experimental results of CIFAR100, and only achieved about 67% accuracy in the experiment on two 2080TI sheets. In addition I almost reproduced your experimental results on CIFAR10. Could you give me some Pointers, please.

@cvv-student Thanks for your interests. The 33M checkpoint includes both the model itself (17M) and the training state dict of the optimizer.
For reproducibility, I re-ran the bash I provided in this repo for Cifar100, using 1 RTX 2080Ti, and got 76.95% top-1 accuracy. Please see my training log here.
dydensenet_4336900_71109208.txt

@zhuogege1943 Thank you for your reply.I'm even surprised that you will reproduce the results for me.I will try to train again with exactly the same settings as yours. Can I refer to all your code (such as mobilenet models)?Because of your interesting work, I hope to reproduce your results and make some changes.

@cvv-student Sorry, we didn't keep the code for mobilenet~  it's pretty much similar to the implementation as in densenet and resnet.  Good luck to your research.

@zhuogege1943  Hi, after retrying the experiment, I succeeded in reproducing the result.

According to the loss function, the result may be better.I wonder only by change the size of batch and the number of gpu, the result is an error of 10% ( 2 RTX2080ti and 256 batchsize get 67%, 1 RTX2080ti and 64 batchsize get 76%). Beside, I notice that one epoch only takes about 3 minutes in your result, while I need 10 minutes. Do you have any skills to speed up training or adjust batch size?

@cvv-student  Interesting. While I guess other settings also matter, for example, it is recommended to also adjust the learning rate when batch size is changed, see here.  The training speed depends on the gpu utilization, the highest speed is achieved when the gpu is 100% utilized during training, which can be seen by nvidia-smi under the GPU-Util label. I didn't take any particular skill for speeding up and only used the code and the bash script provided.

@zhuogege1943 Yeah, the higher the GPU utilization, the better. But in actual use, the utilization rate of a GPU is only less than 50% (1 RTX2080TI and 64 batch size). So I am curious how you can reach the speed of 3 minutes.

@cvv-student Probably I store the ImageNet dataset on a ssd disk.

@zhuogege1943 Thank you for your patience in answering all my questions.  Good luck with your job.


Index Names Not Applied to Database When Using Annotations

No duplicates 🥲.

[X] I have searched for a similar issue in our bug tracker and didn't find any solutions.

What happened?
Problem Description
When defining annotations and using the name parameter for indexes, the names defined in the annotation are not applied to the database. Instead, random names are generated and used.
Example Entity:
<?php

declare(strict_types=1);

namespace WayOfDev\Cycle\Bridge\Telescope\Entities;

use Cycle\Annotated\Annotation\Column;
use Cycle\Annotated\Annotation\Entity;
use Cycle\Annotated\Annotation\ForeignKey;
use Cycle\Annotated\Annotation\Table\Index;
use DateTimeImmutable;

#[Index(columns: ['uuid'], unique: true, name: 'telescope_entries_uuid_unique')]
#[Index(columns: ['batch_id'], name: 'telescope_entries_batch_id_index')]
#[Index(columns: ['family_hash'], name: 'telescope_entries_family_hash_index')]
#[Index(columns: ['created_at'], name: 'telescope_entries_created_at_index')]
#[Index(columns: ['type', 'should_display_on_index'], name: 'telescope_entries_type_should_display_on_index_index')]
#[Entity(table: 'telescope_entries')]
class TelescopeEntry
{
    #[Column(type: 'primary')]
    public int $sequence;

    #[Column(type: 'uuid')]
    public string $uuid;

    #[Column(type: 'uuid')]
    public string $batchId;

    #[Column(type: 'string', nullable: true)]
    public string $familyHash;

    #[Column(type: 'boolean', default: true)]
    public bool $shouldDisplayOnIndex;

    #[Column(type: 'string', size: 20)]
    public string $type;

    #[Column(type: 'longText')]
    public string $content;

    #[Column(type: 'datetime', nullable: true)]
    public ?DateTimeImmutable $createdAt;
}

Expected Result
In the database, I expect to see the names that I have used in annotations, as shown below:

Current Result
Instead of the defined names, random names are generated and used, as shown below:

Also, composite key, instead of name, has hash number.
Version
ORM 2.7.1
PHP 8.2
Database: SQLite

Can't reproduce on my side. Could be problem with sqlite database caching.


Handle python BoolOp for multiple arguments

This PR aims to support python BoolOps for more than 2 values. It also adds some tests to determine if the EOG makes sense for BoolOps with different operators (and and or).
To the reviewer(s): Please check if the EOG checks actually make sense!
Fixes #1699

Looks good but probably needs an EOG expert. @konradweiss

Should be ok since we create the binary operators correctly.


N-Queen Problem

Feature ✅
Description

The N Queen is the problem of placing N chess queens on an N×N chessboard so that no two queens attack each other.
Example

Input: N=4
Output:
4 Queen problem
{ 0,  1,  0,  0}
{ 0,  0,  0,  1}
{ 1,  0,  0,  0}
{ 0,  0,  1,  0}
Checklist:

[x] I have read the project guidelines.
[x] I have checked all the existing projects, before submitting a new project issue.
[x] This issue will be meaningful for the project.
[x] I will contribute more in future

Contributors are supposed to mention their coding language while asking for assignment

Hi @pallavivaswani,
can you assign me for C++.

Can you assign me for Python.

Can you please assign me this issue . I can do it in C or C++ .

@aniket173000 It is assigned to @manojrao3619 in C/C++

Hey @pallavivaswani Can you assign this to me? I will provide a solution in JAVA.

could you assign this issue to me, can provide solution in c, cpp, java

Hey @pallavivaswani Can you assign this to me? I will provide a solution in JAVA.

I have submitted the solution to issue #444. Kindly review and merge it. @pratik-choudhari


Any examples with storybook?

I've tried adding import 'windi.css' to preview.js in the .storybook folder, but it won't even start up because it can't find windi.css
I've also tried adding a webpack.config.js using the Vanilla Webpack example from the documentation.
I am using Vite with antfu/vitesse as a starter template

Storybook is webpack based and you might need to have a look at https://github.com/windicss/windicss-webpack-plugin


Error: not implemented

sound recognition.. when I press "start listening" it gives me that error

Hello. Please can you give me a few details?
What type of web browser are you using?
What type of computer are you using?
What web page were you on?

@mahmoudtarek1871997 If you can get some more details on this, I'd be happy to have a look - please re-open it if you do come back to it.


Use -- for bottles.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

Use -- for bottles so they can be dropped into the cache.
Fixes https://github.com/Homebrew/brew/pull/4601#issuecomment-410687384.

Thank you!


[Bug]: rsbuild fails to compile with compression-webpack-plugin

Version
System:
    OS: macOS 14.4.1
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 97.76 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh

Details
The rsbuild dev command run fails with [webpack-dev-middleware] [Error:   × HookWebpackError: A Source-like object with a 'map' method must also provide an 'updateHash' method error if I add compression-webpack-plugin plugin.
Reproduce link
https://github.com/madiyetov/rspack-issue-repro
Reproduce Steps
added in the README file

@SyMind Looks like we need to implement updateHash method for rspack source.compatSource.


This PR adds the gridOptions.context to the angular scope as scope.co…

…ntext.
For small grids, using angular is super convenient.  I need the ability to reference my controller in the angular template.
With this PR, I can reference my controller in a template using context.myControllerReference.controllerFunction().

thanks for pr. accepting, however fyi, i plan to revisit how angular is used in a few months from now, so this may change as i refactor.


Flutter Web misses rapid shortcut presses

Tested in 2.8.0 and master.
I'm using Shortcuts and Actions to test triggering custom actions via keybindings. The details below are regarding a PasteAction via a PasteIntent when pressing command v, but the general problem/root cause is due to Flutter Web's keyboarding binding and happens when listening to HardwareKeyboard or RawKeyboard events too.
On the Web, Flutter does this debounce trick to synthesize key-ups on modifier key combos (I remember fighting this 6 years ago, can't believe browsers still don't report key-ups in these cases). In combo with ignoring presses without a release, Flutter web misses reporting combos like (note these are quick, time is important as the keyguards have 1-2s durations):
0ms: Press CMD
200ms: Press V
400ms: Release V
600ms: Press V
800ms: Release CMD
Which should result in two Paste actions, instead only generates one because the release for V isn't seen (browser issue). Flutter web will report:
0ms: Press CMD
200ms: Press V
800ms: Release CMD
2200ms: Release V (Flutter's keydown guard on mac is 2s)
Our workaround takes a different approach, we will always report keydowns when modifiers are pressed and instead of synthesizing on a timer, we synthesize key-ups for all known pressed keys when the modifier is finally released. Rive's fix will report:
0ms: Press CMD
200ms: Press V
600ms: Press V (we could also synthesize a key-up right before this, but we currently don't).
800ms: Release V (sent just before CMD as we see V was pressed while CMD was down, so the release of CMD releases all other pressed keys in context of it)
800ms: Release CMD
We currently do this by spinning up our own platform keyboard channel.
We're planning on forking the engine to do this for Rive to keep our hack out of our app, but I wanted to bring it up to see if the Flutter team has interest in us attempting to PR this back, or if others are also running into a similar issue perhaps a more general solution could be found.

HI @luigi-rosso, Thanks for filing the issue. I am able to reproduce the issue. On rapidly pressing shortcuts like cmd+v on the Web takes a certain time duration(around 2000ms) between consecutive keystrokes while on the Desktop it's instant.
In both the videos I am constantly pressing cmd+v, On the left console shows the key events and the time elapsed
Web
https://user-images.githubusercontent.com/31410839/147089046-67d85834-c0d4-45bb-bc2c-8c47010e4423.mov
Desktop
https://user-images.githubusercontent.com/31410839/147089805-933673dc-7fc4-4225-8c75-9c4e1364c619.mov

code sample
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  Stopwatch stopwatch = Stopwatch();

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    stopwatch.start();
  }

  @override
  void dispose() {
    // TODO: implement dispose
    super.dispose();
    stopwatch.stop();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: GlobalKeyboardListener(
            onKeyEvent: (KeyEvent event) {
              if (event is KeyDownEvent) {
                if (HardwareKeyboard.instance.logicalKeysPressed.isNotEmpty) {
                  final pressedKeys = LogicalKeySet.fromSet(
                    HardwareKeyboard.instance.logicalKeysPressed,
                  );
                  // ignore: avoid_print
                  print(
                      'elapsed ${stopwatch.elapsedMilliseconds}ms ${pressedKeys}');
                }
              }
              return false;
            },
            child: Scaffold(
                appBar: AppBar(
                  title: const Text('Flutter Home page'),
                ),
                body: Column(
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: const [
                      TextField(),
                    ]))));
  }
}

class GlobalKeyboardListener extends StatefulWidget {
  final bool Function(KeyEvent keyEvent) onKeyEvent;
  final Widget child;

  const GlobalKeyboardListener({
    required this.onKeyEvent,
    required this.child,
    Key? key,
  }) : super(key: key);

  @override
  State<GlobalKeyboardListener> createState() {
    return _GlobalKeyboardListenerState();
  }
}

class _GlobalKeyboardListenerState<T> extends State<GlobalKeyboardListener> {
  @override
  void initState() {
    startListen();
    super.initState();
  }

  @override
  void dispose() {
    stopListen();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return widget.child;
  }

  void startListen() {
    HardwareKeyboard.instance.addHandler(widget.onKeyEvent);
  }

  void stopListen() {
    HardwareKeyboard.instance.removeHandler(widget.onKeyEvent);
  }
}

logs(web)
Restarted application in 171ms.
elapsed 10397ms LogicalKeySet#4b191(keys: Meta Left)
elapsed 10765ms LogicalKeySet#10264(keys: Meta Left + Key V)
elapsed 12833ms LogicalKeySet#10264(keys: Meta Left + Key V)
elapsed 14905ms LogicalKeySet#10264(keys: Meta Left + Key V)
elapsed 16990ms LogicalKeySet#10264(keys: Meta Left + Key V)
elapsed 19104ms LogicalKeySet#10264(keys: Meta Left + Key V)
elapsed 21264ms LogicalKeySet#10264(keys: Meta Left + Key V)
elapsed 23348ms LogicalKeySet#10264(keys: Meta Left + Key V)
elapsed 25512ms LogicalKeySet#10264(keys: Meta Left + Key V)
elapsed 27731ms LogicalKeySet#10264(keys: Meta Left + Key V)
elapsed 29774ms LogicalKeySet#10264(keys: Meta Left + Key V)
Application finished.
Exited (sigterm)

logs (Desktop)
Restarted application in 534ms.
flutter: elapsed 6306ms LogicalKeySet#00106(keys: Meta Left)
flutter: elapsed 6513ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 6666ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 6806ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 6915ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 7051ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 7212ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 7334ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 7506ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 7671ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 7852ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 8015ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 8139ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 8319ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 8507ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 8627ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 8756ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 8859ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 9047ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 9127ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 9301ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 9370ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 9570ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 9670ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 9740ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 9906ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 10095ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 10270ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 10373ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 10492ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 10671ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 10826ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 10963ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 11138ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 11294ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 11424ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 11556ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 11742ms LogicalKeySet#e485d(keys: Meta Left + Key V)
flutter: elapsed 11862ms LogicalKeySet#e485d(keys: Meta Left + Key V)

flutter doctor -v
[✓] Flutter (Channel stable, 2.8.1, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.8.1 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 77d935af4d (6 days ago), 2021-12-16 08:37:33 -0800
    • Engine revision 890a5fca2e
    • Dart version 2.15.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 60.1.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.61.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • iPhone 8 (mobile) • A55680BB-E46F-425E-B803-ACB8DEA8A239 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • macOS (desktop)   • macos                                • darwin-arm64   • macOS 12.1
      21C52 darwin-arm
    • Chrome (web)      • chrome                               • web-javascript • Google
      Chrome 96.0.4664.110

• No issues found!

[✓] Flutter (Channel master, 2.9.0-1.0.pre.93, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.9.0-1.0.pre.93 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 1be7f1ea56 (7 days ago), 2021-12-14 22:14:07 -0500
    • Engine revision e444009bf4
    • Dart version 2.16.0 (build 2.16.0-109.0.dev)
    • DevTools version 2.9.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 60.1.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.61.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • iPhone 8 (mobile) • A55680BB-E46F-425E-B803-ACB8DEA8A239 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • macOS (desktop)   • macos                                • darwin-arm64   • macOS 12.1
      21C52 darwin-arm
    • Chrome (web)      • chrome                               • web-javascript • Google
      Chrome 96.0.4664.110

• No issues found!

Thanks for the detailed explanation @luigi-rosso!
The person who's most familiar with our current keyboard implementation is @dkwingsmt so I would like to get his opinion on this.

Our workaround takes a different approach, we will always report keydowns when modifiers are pressed and instead of synthesizing on a timer, we synthesize key-ups for all known pressed keys when the modifier is finally released. Rive's fix will report:
0ms: Press CMD 200ms: Press V 600ms: Press V (we could also synthesize a key-up right before this, but we currently don't). 800ms: Release V (sent just before CMD as we see V was pressed while CMD was down, so the release of CMD releases all other pressed keys in context of it) 800ms: Release CMD

@dkwingsmt do you think this approach makes sense for us? Do you foresee any issues with it?
@luigi-rosso how do you handle cases that involve multiple modifier keys?
My 2 cents:
Given that this is fundamentally a browser issue, I don't think we can have a perfect solution that works in all cases. So we either have to make a trade-off, or let the user make the trade-off by giving them the option to choose which approach to use (our current approach vs @luigi-rosso's workaround approach).

@luigi-rosso Thank you very much for the detailed explanation!
I agree that it's a concerning problem and your solution makes a lot of sense. Though, I have some questions: Are you using the HardwareKeyboard/KeyEvent system, or the RawKeyboard/RawKeyEvent system? Currently the Shortcut class in the Flutter framework is still based on RawKeyEvent, and the situation you described should not happen (and indeed not according to my test.)
So I'll assume you're using the newer KeyEvent (which I appreciate.) Now this explains because its regularization algorithm is designed so that back-to-back key down events are resolved by ignoring the second event, which is described here. To be honest, this decision was made pretty arbitrarily, so I'm willing to change it, and I think this should be a more universal solution than yours.
To test, can you change L413 and 414 in the file above to:
-          event.preventDefault();
-          return;
+          type = ui.KeyEventType.repeat;

This change should make the second event a KeyRepeatEvent instead. Can you try and see if your problem is resolved? (I'd like to test but I'm still building.)
Another option is to simulate a KeyUpEvent before the second down event, similar to your plan. Do you have a preference over these two?

Hi @dkwingsmt! I was actually using the old RawKeyboard system, but not with Shortcuts at the time. I was just listening to the onKey callback of a FocusNode.  I was excited to see the new HardwareKeyboard changes get merged (thank you!) but I tried there too (using onKeyEvent) and it seems like the gating logic is very similar if not the same.
Oh your solution is interesting, and it would solve this problem but it would exacerbate another problem. In a separate issue us we're trying to filter synthesized repeats: https://github.com/flutter/flutter/issues/95506
Basically, we only want certain actions to happen on actual hardware key-presses, so sending through a repeat wouldn't work for us as we'd try to filter that out at the app layer. So masquerading this second press as a repeat would make us need to not filter the repeats (which breaks the requirements on the other issue).

That's really weird. Can you isolate an example to demonstrate the problem? The problem does not seem to occur when using Shortcut.
keyboard_binding.dart only changes the HardwareKeyboard system.
Yes, HardwareKeyboard is designed to be as seamless as possible (while solving some very edge cases that had been bugging us.)

@mdebbar we constantly sync all modifier key-presses (the js event always carries whether any mod key is down) but currently only release all other pressed keys on meta release.  It works for the shortcuts we have in place, but is not a great generic solution.
Here's the rundown of how we do it from JS land:
    // initInputHelper is called by our Dart code during app init. keyPressed is
    // also a function defined in Dart that we call from JS to send the key code
    // with some bit flags to indicate it is a press/release and whether it's a
    // repeat. That will (in Dart) send it via our custom MethodChannel.
    function initInputHelper() {

      const pressedKeys = new Set();

      const metaKeyCode = 0x5B;
      const ctrlKeyCode = 0x11;
      const shiftKeyCode = 0x10;
      const altKeyCode = 0x12;

      function isModifier(code) {
        switch (code) {
          case metaKeyCode:
          case ctrlKeyCode:
          case shiftKeyCode:
          case altKeyCode:
            return true;
          default:
            return false;
        }
      }

      window.addEventListener("focus", function (event) {
        // Sync modifiers to released state.
        reportKey(metaKeyCode, false);
        reportKey(ctrlKeyCode, false);
        reportKey(shiftKeyCode, false);
        reportKey(altKeyCode, false);
      });

      function reportKey(code, isPress, isRepeat) {
        if (isModifier(code) && isPress && pressedKeys.has(code)) {
          // We already think this modifier key is pressed. We allow reporting
          // other keys multiple times.
          return false;
        }
        if (!isPress && !pressedKeys.has(code)) {
          // We already think the key is not pressed.
          return false;
        }

        // We need to report the key.
        if (isPress) {
          pressedKeys.add(code);
        } else {
          pressedKeys.delete(code);
        }

        if (!isPress) {
          code |= 1 << 18;
        }
        if (isRepeat) {
          code |= 1 << 17;
        }
        keyPressed(code);
        if (maskedKeys.has(code)) {
          return false;
        }
        return true;
      }

      function syncModifiers(event) {
        if (reportKey(metaKeyCode, event.metaKey) && !event.metaKey) {
          // If meta was released, we need to notify that all other non modifier
          // keys were released too.
          for (const code of pressedKeys) {
            if (!isModifier(code) && code != event.keyCode) {
              reportKey(code, false);
            }
          }
        }

        // Note that we also take this opportunity to sync modifiers that may
        // have not reported keydown/up but will report changed in the event
        // datastructure. reportKey will do the gating for us if necessary.
        reportKey(ctrlKeyCode, event.ctrlKey);
        reportKey(shiftKeyCode, event.shiftKey);
        reportKey(altKeyCode, event.altKey);
      }

      window.addEventListener("keydown", function (event) {
        syncModifiers(event);
        const propagate = reportKey(event.keyCode, true, event.repeat);
        if (!propagate) {
          event.stopPropagation();
          event.preventDefault();
        }
      });

      window.addEventListener("keyup", function (event) {
        syncModifiers(event);
        reportKey(event.keyCode, false);
      });
    }

That's really weird. Can you isolate an example to demonstrate the problem? The problem does not seem to occur when using Shortcut.
keyboard_binding.dart only changes the HardwareKeyboard system.
Yes, HardwareKeyboard is designed to be as seamless as possible (while solving some very edge cases that had been bugging us.)

Let me try to spin up an example! Would be great if it worked there!

@dkwingsmt you are right! Meta + V, V, V, V reports multiple Paste actions with Shortcuts/old keyboard api. However, it breaks when interjecting a different key:
For example, when trying to copy-paste, a common practice is to keep meta held while pressing C and V in succession:
Press Meta
Press C (copy action occurs)
Release C (keep Meta pressed)
Press V (paste action should occur, does not until 2s gate is opened)
I'll get you a demo that makes this clear!

Here's an example that shows the issue.  You'll see in the recording that I'm pressing Meta + C, then keeping Meta pressed I release C and press V. My mac reports the Meta V, but the Paste action is never fired in Flutter Web. Eventually when I press it enough times and the 2s gate passes, it works but in the meantime the user feels like their paste is broken.

Code here: https://gist.github.com/luigi-rosso/08009f82ec10f0581a2fd204ce03ee9d

@luigi-rosso Thanks for writing this example!
First off, I managed to reproduce this error on my own and fixed it. For the record, this is what I did:
App: A normal TextField.
Steps:

Run with flutter run -d chrome.
Type a few characters in the text field.
Hold Cmd, then rapidly press Left and Right alternately.

However, there are more problems in your code.
There's a minor issue: On L117 and L124, CopyIntent should be changed to PasteIntent.
And there's a major issue: On L18 and L20, LogicalKeySet must be migrated to SingleActivator. LogicalKeySet is the legacy class. In most cases, migrating it to SingleActivator is optional, but in this case it's mandatory. It's because LogicalKeySet uses an exact match, while SingleActivator allows a "more vague" kind of match.
Say you want to write a shortcut for key combination Meta + C. If you write it using LogicalKeySet, then the key combination will be recognized when "any key down events occur, and the current pressed keys are exactly {Meta, KeyC}". (Let's assume there's only one Meta key, since it takes care of MetaLeft and MetaRight.) The problem is, since it is impossible to detect when the previous Meta  + V is released on Web, therefore it is assumed that both Meta and KeyV are being held until the end of the "key guard window", when you press C later, the current pressed keys are actually {Meta, KeyC, KeyV}. And LogicalKeySet rejects it, until KeyV is not pressed for 2 seconds.
What's worse, due to the same reason, if you press Meta + C, release both keys, then rapidly press Meta, guess what: the shortcut is recognized for each Meta press for 2 seconds, even when KeyC is no longer held! (Of course, it also means that, pressing Meta while holding KeyC always triggers the shortcut, which is why we decided to abandon the class in the first place.)
On the other hand, SingleActivator uses a different policy. It only checks when the currently event is "the non-modifier key", and performs an exact match of the modifier keys. In the example above, it finds all key combinations with a KeyC, and sees if any of them requires "pressing Meta, and none of the other modifier keys". So even when KeyV is incorrectly considered as held at that time, it doesn't prevent Meta + C being recognized!

So, in short, please kindly wait until the PR is merged and rolled, and migrate all occurrences of LogicalKeySet in your codebase to SingleActivator.

Thanks @dkwingsmt! How can I see when a Flutter channel has rolled to an engine with this PR? Should it already be in Flutter master?

The cp: 2.10 label is for https://github.com/flutter/engine/pull/30488, which will hopefully cause that PR to be included in the next stable Flutter release as well as the current Flutter master branch.

@luigi-rosso You can find a guide here. At the time of writing, this engine commit has not been rolled into the framework yet. We have decided to (propose to) cherrypick it into the next stable release, 2.10.

Thank you!

I just tried this in master and can confirm it's working as expected on both desktop and web! :tada: Thanks @dkwingsmt et al!


Unit tests for Batch using mock objects

Use unittest mock objects to test the batch pool creation

This looks great! So happy to finally have some tests for this library. That said, it looks like we still need to set up CI for the tests.
I'd recommend something like this since both projects use poetry. That said, it'll need a little work to remove the PyRenew specific parts.


Can't install

I didn't play for a few days and then suddenly the overlay is completely broken. Either says cannot parse item or sits there searching forever. I deleted the entire folder and downloaded the setup files but it hangs at about 35% saying simply: "installation aborted. setup not completed successfully"
Might want to put in actual error messages.

Same thing after reboot.

Whatever it is, is localized to the 6.26 exes. Nothing worked, updated vcredist, deleted all appdata/programdata/temp files, ran as admin, etc. 6.25 worked on the first click.


tools: Support export dependencies

Title: Support export dependencies
Description:
How about adding support to Envoy to export its dependencies? The generated tarball can be distributed and used as  distdir directory to make the Envoy build faster and more stable. I have created a draft PR for POC.
cc @htuch @phlax @mattklein123

cc @lizan

Yeah this makes sense and thanks for working on it.

still working on it, no stale


What is the exact rate limit of DDG?

Hello,
I'm using duckduckgo_search version 5.1.0.
In my code, I'm using "AsyncDDGS.text(keyword)" in a for loop.
I'm iterating through the loop with an interval of 10 seconds using "await asyncio.sleep(10)".
However, after 5-6 search requests, I'm getting a rate limit error.
Any subsequent requests trigger a rate limit error as well for about 10-15 minutes.
Until now I thought that the rate limit was 1-2 request per 10 seconds, but this doesn't seem to be the case.
Is there a total amount of requests that I'm allowed to send?
Any help would be appreciated.
Thank you in advance.

Hi, show me the code.

After upgrade to 5.1.0 it returns error
_aget_url() https://duckduckgo.com RequestsError: Impersonating BrowserType.chrome120 is not supported

@phamxtien
Some kind of problem with curl-cffi.
Try to reinstall duckduckgo_search:
pip install -I duckduckgo_search

@phamxtien Some kind of problem with curl-cffi. Try to reinstall duckduckgo_search: pip install -I duckduckgo_search

I follow your guide but still get errror

are you importing requests?

are you importing requests?

Yes, i import requests already
I miss it when create above comment

I don't see the above error when I run your code.
Reinstall duckduckgo_search in the virtual environment from which you are running the code.

I think this make it error

and I'm still stuck :(

Hi, show me the code.

DUCKDUCKGO_MAX_ATTEMPTS = 3
async def web_search(query: str, num_results: int = 8) -> list[dict]:
search_results = []
attempts = 0
while attempts < DUCKDUCKGO_MAX_ATTEMPTS:
    if not query:
        return json.dumps(search_results)

    async with AsyncDDGS() as ddgs:
        results = await ddgs.text(query, safesearch='on', max_results=num_results, backend="html")
        search_results = list(islice(results, num_results))

    if search_results:
        break

    await asyncio.sleep(1)
    attempts += 1

return search_results

async def main(url:str):
keywords = ["keyword1", "keyword2", "keyword3", "keyword4", "keyword5"]
for i in range(len(keywords)):
    results = await search_keyword(keywords[i], 10)
    await asyncio.sleep(10)

Try to use backend='api', it's less likely to block.

Completely forgot to mention that I switched over to 'html' from 'api' after my ip started getting blocked.
I guess my only option is using proxies.
Thank you for the help!

Hi - did using proxies resolve the issue? I'm having the same problem - used to work fine, now I keep getting the rate limit exception after 5-6 search runs. Have to wait a while before it can run properly again. Was trying to see if there's a way to actually pay for duckduckgo-search so that I can guarantee it'll work for what I need, but can't find that either.

@iwo9
Just use a rotating proxy
https://github.com/deedy5/duckduckgo_search?tab=readme-ov-file#proxy


Gateway deprecation updates - cli-client and local network topics

https://github.com/MystenLabs/sui/commit/9c3705aaa0e9daa2a23eea83eea342e83b699ac9


Add a filter for sometimes rules

I think is interesting add a filter to check "sometimes" laravel rule and just apply the filter if the field isset, because this way if field is not set raise the error that the field is required.

Is there any progress with regards to this issue? I strongly believe that filters should only be applied to inputs that have been passed in the request instead of retuning null for inputs that haven't been passed through.

I think is not difficult to implement this, just need a check if is set the field in request before apply the sanitize.

i got it working by filtering the filter array before returning it
    public function filters()
    {
        return collect([
            'first_name'  => 'trim|escape|capitalize',
            'last_name'  => 'trim|escape|capitalize',
            'email' => 'trim',
        ])->filter(function ($value, $key) {
            return $this->input($key) !== null;
        })->toArray();
    }


fix(ui5-lib-ref-writer): fix relative path written to yaml files

#1856
The library path (as it is passed in) should be used to determine the relative path written to the yaml files.

Closing for now, issue may need to be addressed in inquirer


Prompt to re-enter master password on first setup of password store, and on updating master password

Ask the user to re-enter the master password and compare the two master password inputs before setting the master password. This is to avoid setting up password store with a mistyped master password.

Hi @SonuBardai I would like to work on this is issue , I have just started learning rust and I think it would be nice to practice my skills solving some issues , can you please assign me to this and tell me more about the project

Hey @Vayras! Sure, all contributions are welcome. You can try setting up the project locally and going through the README. Try to use the REPL and all the CLI commands.
A good point to start with this issue would be cli/io.rs. A new function here that reads verified inputs would be nice.
The update_master_password function was implemented in this PR https://github.com/SonuBardai/lockbox/pull/57. This is one of the places where we want to ask the user to re-enter the password. Bonus points if there is a way to also re-read the master password when a new password file is setup (either through CLI or REPL).
If you have any questions feel free to ask them here.

@SonuBardai Thank you for this information , I will start working on this right away

Hey just wanted to check if this issue is still active at all? thanks!

@Rever2d Yup, the issue is active

@Vayras Un-assigning the issue due to inactivity. If you're already working on this, feel free to submit a PR. Thanks.


Update IP data

want to include this in the next release tag along with #164 ahead of the redirect shipping.

/retest


feat: add option to override image entrypoint and command

what

Give users the option to override container image entrypoint and command.

why

Sometimes there is a need to modify the container's startup behavior, without directly modifying the image.
More specifically, this feature can be used to inject a script before the Atlantis entrypoint to perform an initial setup, for example, to install gcloud, fetch secrets from Secret Manager (or other locations), and export environment variables.
This allows users to export environment variables that do not appear in the Console (e.g. ATLANTIS_GH_WEBHOOK_SECRET)

Our use case
In the instance startup script, we create a custom entrypoint script, and place it in atlantis' home folder through the existing mountpoint. This custom entrypoint performs an initial setup (as described above), and calls the original atlantis entrypoint.
references

gcloud docs: https://cloud.google.com/compute/docs/containers/configuring-options-to-run-containers#overriding_the_default_command_to_execute_on_container_startup
example usage of the vm container module: https://github.com/terraform-google-modules/terraform-google-container-vm?tab=readme-ov-file#container-options

notes
May be relevant to add this info to the readme?

If CMD is defined from the base image, setting ENTRYPOINT will reset CMD to an empty value.
https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact

Awesome, I'm reviewing this tonight :)

Hey @bschaatsbergen, I added an example, let me know what you think!
PS: I had to throw in a chown 100 /mnt/disks/gce-containers-mounts/gce-persistent-disks/atlantis-disk-0/ in the script, because the folder's owner was never being changed from root when using this startup script. Do you have any idea of why that might happen?

We do the same actually in the cloud init!

The changes seem good to me, though I think we should have the example under the "secure-env-vars" directory, as this is primarily used to secure the environment variables and not have them leak in the Google Cloud UI. Is this something you could do please? 🙏🏼  @d-costa
Then I would like to merge this PR.

Note for self: needs to be released under a major as this is a breaking change.

Please rebase @d-costa - would love to merge this today.

Can you rebase this branch one more time @d-costa ?

hey @bschaatsbergen , how are you?
Any idea on when you might be able to review this and #139
We are currently using a local version of this but we would love to point all the way to your upstream :)

hey @bschaatsbergen , how are you? Any idea on when you might be able to review this and #139
We are currently using a local version of this but we would love to point all the way to your upstream :)

Hi @dgteixeira, thanks for getting in touch. Now that the repository has been transferred to the runatlantis organization, and you, @d-costa, @DanielRieske, and @cblkwell are maintainers of this repository, I encourage you to collaborate on addressing these PRs together :)

This is a breaking change:
module.atlantis.google_compute_instance_template.default must be replaced

Due to the changes in the gce-container-declaration metadata field:
    +     "args": null
    +     "command": null


Add Text instead of Numbers

By testing the new MA3 module I've seen that its not possible to reference eg. a sequence via name. It's just possible to reference it by number. Is it possible to change that? Referencing sequences, MAtricks, Groups, Quickeys, macros with a name?
Thanks for your work. The Module works great!

Hey @Benjamin2509, that's nice to hear that the plugin works great!
Sorry for the late answer, I didn't get any emails on these Issues.
It seems to work with the command 'Select Sequence "PAR"' or 'SelectFixtures Group "All PAR Grid"', so I can implement it.

Sadly, currently it's not possible to address your wish, because of #3
The MA Support hast this as a known issue. The way I do it currently works fine, but as soon as I would use the text variant, this error would come up, and would not be fixable.

closed because of inactivity

Hey @Benjamin2509,
since one of the new updates of grandMA, we have now the possibility to reference Quickeys, Groups, Sequences, MATricks, Plugins and Macros via their names.
I just published a new version, that should get published to companion during the next build cycle of them.

Thanks for Adding that.


Integrate map staging commands into this repository

Part of the map staging scripts should be pulled into this repository, so that we centralized the capabilities of uploading and tracking datasets.
This is part of #25.

We should only pull in the "easily generalized" part of the map staging process. (We don't need web-scraping code here for NBMG or other sites).
The core operations of "upload files and associate with a map entry" should be housed here.
Maybe the less standard parts (web-scraping scripts, and the like) can be housed in a map-bulk-ingestion repository (or similar) where we record notes and scripts required to capture random maps? Maybe we can revive the UW-Macrostrat/map-ingestion repository to this purpose?

I think I did the bulk of this work on https://github.com/UW-Macrostrat/macrostrat/pull/43.


Gitlab v4 API 'unable to detect package files' in large repos

If you have a large repository using a recent version of Gitlab with the v4 API it's possible that package files will go undetected, which will prevent Renovate from working.
This is due to this API call in getFileList:
const res = await get(
  `projects/${config.repoName}/repository/tree?ref=${branchName}&recursive=true`
);

A recursive list of directories and files is no problem for v3 of the API, as that call will return all of them. But in v4 of the API the results will be returned in pages, with the default amount per page being 20, with a cap of 100 using &per_page=100 in the URL. This is documented in this issue.
If you happen to have a large repository with many files/directories your package files can easily go undetected because of this.

Thanks for the clarification. This was raised in #962 today too, but I didn't realise it was specific to APIv4. I will port the API pagination from GitHub over shortly.

Please try version 9.85.1 and confirm if now working or reopen if not, thanks.


Add license

In order to make it easy and usable for people we should add a license statement to the README.
I'll leave it to you @Adam- which license we want to use. I guess MIT isn't wrong GPL is also an option.

MIT is fine, I'll add it.


Initial R htmlwidgets integration

It appears the error here is the bulletchart image test, which this PR should not affect.

This LGTM, going by the demo I got last week. If you think it's in good shape, let's merge it.


Create API for Listing Orders

As a Developer
I need an API for listing orders
So that I can get information about exsiting orders
Details & Assumptions:

we will be using database to manage order information
the URL should be something like $root/orders

Acceptance Criteria:
When requesting the API
Then I can get the details about existing orders (if any)

Need to consider using GET or POST

It's GET


[BUG] Can't post comments on blog

Describe the bug
When trying to post a comment, receive 'Unauthorized user' message when entering Sleeper Username.
Your League ID
916476233674907648
To Reproduce
Steps to reproduce the behavior:

Go to full blog post
Click on LEAVE A COMMENT
Type anything into the comment section
Type your Sleeper Username
Click SUBMIT COMMENT
See Error

Expected behavior
I expect the comment to post to the blog
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Windows 11
Browser: Chrome & Edge
Version: 116.0.5845.111

Smartphone (please complete the following information):

Device: Pixel 7 Pro
OS: Android 13
Browser: Chrome
Version: 116.0.5845.111

Additional context
I can get the comment to post if I use the full name of the manager as opposed to the Sleeper Username but it does not pull the profile picture or link to the manager's website profile. However, if I initiate the blog comment from Contentful, it will post correctly if I type the Sleeper Username when initiating from Contentful. Also, if I create a comment on the site using the full name, I can then go to Contentful and edit the author field under the comment to the Sleeper Username and it will work correctly.

My bad, this slipped through the cracks. I'll push up a fix shortly


Symlinking into routes folder not working

Describe the bug
I want to be able to develop some code that can be used by more than one website. So I want the contents of /routes to be populated with some real files but symlinked folders too.
I try to symlink a local folder into /routes/p and access a markdown file from that folder:
Logs
I get this error:
Cannot find module 'svelte/internal' from '<my-project>/src/routes/p'
To Reproduce
I'm using a symlink on mac to link a folder into /routes/p
ln -s ~/path/to/markdown/folder ./src/routes/p

I'm using a very simple mdsvex config
/** @type {import('@sveltejs/kit').Config} */
const config = {
	extensions: [".svelte", ...mdsvexConfig.extensions],
	// Consult https://github.com/sveltejs/svelte-preprocess
	// for more information about preprocessors
	preprocess: [
		preprocess({
			postcss: true,
		}),
		mdsvex(mdsvexConfig),

	],
	kit: {
		vite: {
                     ......

Expected behavior
There should be a way to configure preserveSymlinks. I dug into the vite code and it looks like this is hardcoded to false unless running from pnp or something?
If I hardcode it to true instead of false, my code works.
https://github.com/vitejs/vite/blob/8b5a6a855091e6f744cc7b886cf927d14dc74d50/packages/vite/src/node/utils.ts#L36-L49
Information about your SvelteKit Installation:

Diagnostics
  System:
    OS: macOS Mojave 10.14.6
    CPU: (8) x64 Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz
    Memory: 31.20 MB / 16.00 GB
    Shell: 5.3 - /bin/zsh
  Binaries:
    Node: 16.0.0 - ~/.nvm/versions/node/v16.0.0/bin/node
    Yarn: 1.22.0 - /usr/local/bin/yarn
    npm: 7.10.0 - ~/.nvm/versions/node/v16.0.0/bin/npm
  npmPackages:
    @sveltejs/kit: 1.0.0-next.102 => 1.0.0-next.102
    svelte: ^3.34.0 => 3.38.2

Severity
I really want a way of putting .svelte/.css/.md files outside of /src to develop the implementation of the website separately from the content.
Additional context
I commented on mdsvex issues looking for an alternative solution to my problem.

Can you file this issue in the Vite repo instead? Since the code you're referring to lives there I think that's where the code change would be necessary and there's not much we can do in SvelteKit


ES views with resourceTag keeps indexing deprecated resources

I am observing some weird behavior of ES indexing. I have 200 resources of type Embedding with some tag "X" and, to select this subset of resources, I created a View that has "resourceTag": "X"  and "includeDeprecated": false.
When I use a SPARQL query (with filtering out deprecated resources) I get my 200 resources. However, when I execute an ES query selecting all the documents (even with "_deprecated": false in the query itself), I get 400 resources.
I checked the 200 extra resources matched by ES and these are the Embedding resources with the same tag that I have deprecated previously. So, for some reason, the resourceTag  "selector" seems "stronger" than includeDeprecated.
It may be related to the fact that the resources were deprecated after being tagged, so the ES view still 'sees' the resources in their old version (which are not deprecated).
Check/fix Sparql and CompositeViews as well.

So, you do have 200 resources of type Embedding with tag X and another 200 resources of type Embedding with tag X that afterwards are deprecated.
When having views with resourceTag = X, we will try to retrieve resources with that tag (regardless of its deprecation status). So what you are describing is expected behaviour.
I understand it can be an annoying constrain. There are 2 possible solutions:

We can have a work around that tries to fetch the tagged resource but also the latest revision of the resource and if the latest revision is deprecated, filter it out
Allow deprecated resources to be tagged (that seems like a better solution). In that case you can reassign the tag to the deprecated resources and those shouldn't be indexed if the view has includeDeprecated = false


[BUG] TCP DNS Traffic Blocked Despite Security Group Rule Allowing Egress to DNS Service

Kube-OVN Version
v1.12.8
Kubernetes Version
Server Version: v1.26.9
Operation-system/Kernel Version
"Ubuntu 22.04.2 LTS"
Description
We have encountered an issue in our Kubernetes cluster managed by Kube-OVN where a security group (SG) rule is configured to allow egress traffic from a specific pod to the DNS service at the Cluster IP <IP_ADDRESS>. According to our configuration, this rule should permit all traffic to the DNS service. However, we are observing unexpected behavior with different protocols:

When accessing the DNS service using UDP (e.g., with a standard DNS query), the traffic passes without any issues, which is the expected behavior.
Conversely, when we attempt to access the DNS service using TCP (e.g., using dig +tcp), the traffic is blocked, which contradicts our SG rule configuration.

Our sg looks like:
apiVersion: kubeovn.io/v1
kind: SecurityGroup
metadata:
  creationTimestamp: "2024-05-07T09:01:09Z"
  generation: 30
  name: user-8281-sg
  resourceVersion: "645915870"
  uid: cfeb4eea-18fb-4d65-9b89-8befd946dd3e
spec:
  allowSameGroupTraffic: true
  egressRules:
  - ipVersion: ipv4
    policy: allow
    priority: 30
    protocol: all
    remoteAddress: <IP_ADDRESS>
    remoteType: address
  - ipVersion: ipv4
    policy: deny
    priority: 31
    protocol: all
    remoteAddress: <IP_ADDRESS>/8
    remoteType: address
  - ipVersion: ipv4
    policy: allow
    priority: 200
    protocol: all
    remoteAddress: <IP_ADDRESS>/0
    remoteType: address

And if we add one more rule for the pod IP () behind dns service (<IP_ADDRESS>)
  - ipVersion: ipv4
    policy: allow
    priority: 30
    protocol: all
    remoteAddress: <IP_ADDRESS>
    remoteType: address

The dns will work again.
I think the real problem is not related to dns. If there are other pod ip behind service ip, you set allow rules only for service ip. It seems simply not working. You have to set allow rules for pod ip too.
Steps To Reproduce
Create sg like following:
apiVersion: kubeovn.io/v1
kind: SecurityGroup
metadata:
  creationTimestamp: "2024-05-07T09:01:09Z"
  generation: 30
  name: user-8281-sg
  resourceVersion: "645915870"
  uid: cfeb4eea-18fb-4d65-9b89-8befd946dd3e
spec:
  allowSameGroupTraffic: true
  egressRules:
  - ipVersion: ipv4
    policy: allow
    priority: 30
    protocol: all
    remoteAddress: <IP_ADDRESS> (dns service cluster ip)
    remoteType: address
  - ipVersion: ipv4
    policy: deny
    priority: 31
    protocol: all
    remoteAddress: <IP_ADDRESS>/8
    remoteType: address
  - ipVersion: ipv4
    policy: allow
    priority: 200
    protocol: all
    remoteAddress: <IP_ADDRESS>/0
    remoteType: address

bind it to some pod.

It's very intereting that you can ping and even dig rds-3r4ybkarqxwg-pxc.user-1993.svc.cluster.local srv successfuly.
Current Behavior
Cannot access dns without adding pod ip to sg.
Expected Behavior
Can access dns with only service ip in sg.

This is the logs for acl rules :
```
from-lport  2270 (inport == @ovn.sg.user.8281.sg && ip4 && ip4.dst == <IP_ADDRESS>) allow-related log(severity=info)
from-lport  2270 (inport == @ovn.sg.user.8281.sg && ip4 && ip4.dst == <IP_ADDRESS>) allow-related log(severity=info)
```
And the command I run is:
curl <IP_ADDRESS>

You can see, from ACL's perspective, only the SYNC TCP packet's target ip is <IP_ADDRESS>, which is the cluster ip. All the following TCP packet's target ip is somehow converted to <IP_ADDRESS> which is the pod ip.

Any update on this issue?

Sorry,  too busy to fix this.

you are using default vpc ovn-cluster ?
how about setting enable_lb false ?

you are using default vpc ovn-cluster ?
how about setting ENABLE_LB false ?
Yep. Default vpc.

We have find another way to work around. Haha. I just comment to remind you there is a issue, maybe you can check it out when you have time. It seems github will automatically close this issue if I don't.

when enable lb, the vip could nat as its backend IP. so the traffic blocked.
if you disable lb, the traffic to the VIP will go through the node, nated by ipvs


Allow phone number to propogate in both directions

Now the value property can be set on the component and it will update the phone number in the input field.
Also made a few tweaks around getting the phone number out of the component

@patw0929 If there is anything you would like changed let me know

Merged. Thank you for your contribution!

@patw0929 Awesome thanks


Loading loaders

I'm trying to chain Yarn's PnP loader and the esbuild loader, but the problem is that the esbuild loader should be loaded by PnP.
IMHO it would make sense that each loader is hooked up in order, and gets called to load the next loader.
Currently this doesn't work:
$ node -v
v18.3.0
$ node --loader ./.pnp.loader.mjs --loader @esbuild-kit/esm-loader
(node:209010) ExperimentalWarning: Custom ESM Loaders is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
node:internal/errors:466
    ErrorCaptureStackTrace(err);
    ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@esbuild-kit/esm-loader' imported from /home/wmertens/Projects/agent/

Ok since this is indeed what I'm looking for I'll keep my fingers crossed for ambient loaders and close this issue.


Hello,summer vector is averaging node embedding or edge embedding.

averaging node embedding in this case

平均节点嵌入在这种情况下

Thank you.

Hello,about best_dgi.pkl,where are you find?


Losses rise

Hello, due to equipment problems, I need to modify sample_per_gpu, for example, 8 in the ./configs/adabins/adabins_efnetb5ap_kitti_24e.py file is modified to 1, but during training, the loss will rise around 20k, how should I set the parameters to improve the accuracy, looking forward to your reply.

Turn down the learning rate?

Thank you for your guidance, I modified the learning rate, the loss did not increase during training, but the indicator can not reach the indicator in your log file, I think my learning rate should be increased, because this time the learning rate is probably small ten times.


Transliteration

For latin letters the following transliteration rules should be
implemented:
j=дж
q=ку
w=в
x=кс

Implemented in https://github.com/poretsky/multispeech/commit/39476c9252ffb2b289b686140bc004acfb31ba8e

It is great that this was implemented in multispeech but ru_tts is used more widely than multispeech on other platforms, so i think it is reasonable to fix that in the core rather than reinventing the wheel for each product which includes ru_tts.

But personally I treat it mainly as a backend for the other
applications, such as Multispeech or SmartVoice that take care of text
preparation itself. Thus, I do not plan to implement it here.


Operator Connect?

This is also applicable for Operator Connect?
thanks

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

ID: 8ed4beab-bb0d-fba4-814e-147d22fd97e5
Version Independent ID: 8ed4beab-bb0d-fba4-814e-147d22fd97e5
Content: Routing calls to unassigned numbers - Microsoft Teams
Content Source: Teams/routing-calls-to-unassigned-numbers.md
Service: msteams
GitHub Login: @CarolynRowe
Microsoft Alias: crowe

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.

FYI on this one:  I am checking with the PM and will update the doc accordingly.


basic devcontainer tutorial

This tutorial isn't meant to be perfect, but it is supposed to give us a centralized place to write stuff that one obviously needs to know when using the devcontainer, instead of everyone (including me) asking @sjawhar the same questions again and again.
I also do believe in the devcontainer being the future of our dev environment.
This is also based on what I had to do myself, setting up a new computer (starting from the docker compose setup and moving to the devcontainer).
I don't think my experience is extremely reliable because I did jump back and forth, and did have bugs that we meanwhile solved, but at least we'll have something to improve on, and I do think this is good enough to send someone else to try (after which this will become, I hope, pretty good)
I didn't yet split this up into CONTRIBUTING.md but I can if it seems important to someone
Sami needs to approve this too, as he is the de-facto owner of devcontainers (he also knows them better than me, and it's important for me not to do anything against his vision here)

@sjawhar , do you approve this change?

@tbroadley
Wanna approve this?
Next thing will be, I think, splitting up into CONTRIBUTING.md

Moved to CONTRIBUTING.md here:
https://github.com/METR/vivaria/pull/560


Remove instances of first person "I"

fixes #563
Not sure if the Jenkins Master contributing guide (CI-Server-Setup.rst) still makes sense (Was it supposed to be a record of what one person did or a set of steps meant to be reproduced? Using "I" in any of this documentation is bizarre, this isn't a blog)
Signed-off-by: maryaB-osr<EMAIL_ADDRESS>

I'll merge this then open a new PR to delete that file if @nuclearsandwich thinks it's a good idea

Just to provide some color here: this document was originally written as an internal OSRF document for setting up/maintaining the buildfarm. At some point we thought it would be a good idea to make it public, so we more-or-less copied it here. That's why the tone and style are so different from everything else.

Yeah I think the "I" on this page was @gerkey. The page itself predates me and the information is pretty stale however I don't have a publishable guide for setting up something matching our current infrastructure at the moment.
I'd vote for leaving it be with this wording change (and perhaps adding a warning about its datedness) until I have time to rework and open the provisioning scripts for CI along with docs for how to use them. I don't have an ETA for that work which is why the option of removing this entirely until I get to it is a distant second in my mind.

That sounds good to me @nuclearsandwich, thanks


[Bug]: 502 BAD Gateway is shown when running NGINX with Appsmith's staging server hosted at https://release.app.appsmith.com

Is there an existing issue for this?

[X] I have searched the existing issues

Description
I am trying to set up Appsmith locally. I followed the steps provided in the Clientsetup.md, and the application works fine when running with the local frontend and backend setup. However, an issue occurs when I run sudo ./start-https.sh https://release.app.appsmith.com followed by the yarn start command. After the page loads, it stops and returns a 502 Bad Gateway error.
Can you please assist in resolving this issue?
Steps To Reproduce
1.Move to the app/client directory
2.Run yarn install command
3.Run sudo ./start-https.sh https://release.app.appsmith.com [should show that NGINX STARTED]
4.Run 'yarn start and when we redirect to thehttp://dev.appsmith.com` we could see that 502 bad gateway at the top or in the Network tab in the dev tools .
Public Sample App
No response
Environment
Production
Severity
Medium (Frustrating UX)
Issue video log
No response
Version
Release v1.26

This one is intermittent issue, it is existing for some users and not for others, we are not able to figure out the cause of the issue
@Nikhil-Nandagopal

Facing the same issue. Recorded a video for the same by following  steps mentioned in description.
https://github.com/appsmithorg/appsmith/assets/51366428/e67719d0-dec5-4786-aa5d-34e81eeb1c99

@AnkitaGupta111 @Harshithazemoso @Nikhil-Nandagopal
I noticed logs mentioned nginx being used from docker.
so I installed nginx as a service using ubuntu's apt package manager. using steps in this link https://phoenixnap.com/kb/nginx-reverse-proxy#ftoc-heading-3
and was able to start the frontend with release backend.
I was facing 502 bad gateway also with local backend setup with using nginx from docker, now that is also running properly by using system nginx service.
sudo apt update
sudo apt install nginx
sudo systemctl start nginx
sudo systemctl enable nginx

started frontend client using yarn start inside app/client folder
started nginx with following command sudo ./start-https.sh https://release.app.appsmith.com
killed other process on port 80 , when asked in the prompt by start-https.sh

I had already logged in appsmith on app.appsmith.com with my email credentials,
when I entered those using my local frontend, it mentioned that credentials were wrong
when i went to reset password page, it showed screen, that I need to setup email service
so I logged in using google oauth, but then I am not able to logout
Screencast from 09-06-24 11:01:31 AM IST.webm

As I was able to start with local nginx service, that means

we have to update the nginx conf, so that it works for docker 's nginx
we have to update the readme to mention that installing nginx service is pre-requisite


use @aws-sdk/client-s3

Пытался заюзать деплой. Но yandex cloud возвращал content-type: application/octet-stream, для любого файла запрошенного с бакета.

Подебажил и понял, что проблема с либой. Заменил на другую - поновей. Проблема ушла.

С аналогичной проблемой столкнулся.

@PushoN @gewisser merged and fixed in v0.1.2

@gewisser yeah... pointless update, feels like you tries v0.1.0 that has this bug and was fixed in 0.1.1

@sergeevpasha  I tried using version 0.1.1 and it should work as it should, but unfortunately it didn't. I had to fork the project and debug it. It was clear that despite the correctly specified content-type, a request was sent to the server without specifying the content-type. I didn't study the issue further. Just changed the dependency.
Now everything works as it should. Thank you!


REQUEST:  Limit the depth of sunken wrecks to no deeper than 300-400 meters

Forum Post from Bit Fiddler

the crush depth of most (if not all) parts is 400m they just get destroyed, killing any Kerbals still onboard, and removing the ability to recover the salvage.

Issue not present if Part Pressure Limits are unchecked in Advanced Options

Neutral buoyancy testing with small wreck a success. Need to modify medium and large wrecks

closed with v2.0.0 release


chore: fix reading aws credentials

Description
Fixes reading the array of aws accounts

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


feat: add leader election on dra-controller

The original controller does not contain leader election, which may cause uncertainty or abnormal behavior in case the DRA controller Pod crashes.
The new function run wraps the main logic, and only the leader can execute function StartController. Therefore, the reliability of controller seems to be improved.

PR on original Nvidia DRA
https://github.com/NVIDIA/k8s-dra-driver/pull/132


Polish parallel execution of candidate solutions + save factorization cache

Need better linear system solver that can be pickled for parallel execution (coming...)

Scikit-umfpack exposes LU factors that can be pickled. AN example is in their tests.


A formal type parameter declared by a generic function cannot be passed as a value

(This issue was derived from #28517; @bwilkerson: This should be suitable for your needs, such that you can finish what you had started doing there.)
The following program is accepted by the analyzer (1.22.0-dev.2.0) in spec (i.e., non-strong) mode:
void test<T>() {
  print(T);
}

void main() {
  test<double>();
}

However, print(T) should be a compile-time error according to the informal spec: 'It is a compile-time error if X is used as a type literal (e.g., foo(X)), or in an expression on the form e is X or e is! X', where X is a formal type parameter of an enclosing generic method.
Update (July 2017): on T in a try/catch is also a compile-time error.

I think this is all legal syntax now.


parent incorrectly set for fieldGroup childs when using buildForm()

[x ] bug report

Current behavior
When adding/changing fields dynamically the parent is incorrectly set to the field.fieldgroup  instead of field when calling buildForm() .
Expected behavior
Correctly set parent, by adding the field to buildForm() and using it as the parent for fieldGroup childs.
Minimal reproduction of the problem with instructions
https://stackblitz.com/edit/dynamic-field-v5-iimssr
Run
select a new Type
inspect console log, 'before':
field.fieldGroup[0].parent.id == formly_1_select-requester-field_requester_0: CORRECT
In the source "Enable the following 2 statements"
Run
select a new Type
inspect console log, 'after':
field.fieldGroup[0].parent.id == missing WRONG
field.fieldGroup[0].parent is a link to field.fieldGroup WRONG
Reference
[SUPPORT] Dynamic field add #1352

@aitboudad the above example https://stackblitz.com/edit/dynamic-field-v5-yzw9mz, its NOT updating the model when you change/enter the input for type2. Is that a bug or working as expected

@pjobs the example use an old version,  here is an updated one https://stackblitz.com/edit/dynamic-field-v5-ft2wkz

@aitboudad you are awesome man. thank you very much for all the hard work.


doesn't work on a fresh install without manually installing dependencies

On a machine with none of the dependencies from the root of the repo:
$ make hashing
# github.com/kellabyte/go-benchmarks/hashing
hashing/benchmark_test.go:11:2: cannot find package "github.com/OneOfOne/xxhash" in any of:
	/usr/local/Cellar/go/1.10/libexec/src/github.com/OneOfOne/xxhash (from $GOROOT)
	/Users/willie/src/github.com/OneOfOne/xxhash (from $GOPATH)
FAIL	github.com/kellabyte/go-benchmarks/hashing [setup failed]
make: Rscript: No such file or directory
make: *** [hashing] Error 1

If I do:
$ go get ./...
# github.com/kellabyte/go-benchmarks/http
http/evio.go:24:16: cannot use func literal (type func(int, evio.Info) ([]byte, evio.Options, interface {}, evio.Action)) as type func(int, evio.Info) ([]byte, evio.Options, evio.Action) in assignment
http/evio.go:29:14: cannot use func literal (type func(int, interface {}, []byte) ([]byte, evio.Action)) as type func(int, []byte) ([]byte, evio.Action) in assignment
http/evio.go:37:8: events.NumLoops undefined (type evio.Events has no field or method NumLoops)

This solves the problem for the hashing error: go get -t ./..., but it doesn't solve the evio part. Maybe you are testing against a different branch?
I'll submit a small PR to add the dependency getting to the makefile.

https://github.com/kellabyte/go-benchmarks/pull/5
That PR doesn't solve the evio problem, though.

I updated the README because I was missing a documented step but doesn't this install all the required dependencies?
My mistake that I forgot to add it to the README.

Your documentation fix solves it!
Aside: I hadn't looked for the deps step in the makefile (because I'm not super great with make) and I wouldn't have recognized the glide commands (because I don't use glide for package management).


typo in the lecture "contingency table"

Is there a missing $\frac{1}{M}$ factor in the monte carlo simulation formula at the end of the note?

Good catch! Fixed in https://github.com/slinderman/stats305b/commit/21987a28e8ea21da005bcdd87b570914acf7ad38


Ways to prioritize HTML emmet over Laravel Blade Snippets?

I have a QOL issue that's really irking me where if I were to press the keys (a key => tab key) or (p key => tab key) and even (li => tab) I don't get the a, p or li HTML tags that want in .blade.php files. The emmet still exists, but the blade snippets are being prioritized which is not what I want. So I'm wondering if there is a way to flip these and have HTML first and the blade ones second.
I've tried jamming a bunch of settings in the settings.json file:
"emmet.includeLanguages": {   "blade": "html",   "blade.php": "html",   "php": "html", }, "emmet.syntaxProfiles": {   "blade": "html",   "blade.php": "html",   "php": "html", }, "emmet.showExpandedAbbreviation": "always"
edit: I tried asking this on SO, but didn't get an answer :x

Figured it out.. I had "editor.snippetSuggestions":"top" . I changed it to bottom and it's much better now


OneDrive Business Shared Folders: Unable to sync shared folders, shared from outside organisation

Category

[ ] Question
[ ] Documentation issue
[X] Bug

Expected or Desired Behavior
The response of https://graph.microsoft.com/v1.0/me/drive/sharedWithMe should provide all resources shared with me, not just objects from my organisation.
Observed Behavior
Shared folders, shared with you from people outside of your 'organisation' are unable to be synced. This is due to the Microsoft Graph API not presenting these folders.
Shared folders that match this scenario, when you view 'Shared' via OneDrive online, will have a 'world' symbol as per below:

Observed API Response:
Listing available OneDrive Business Shared Folders:
[DEBUG] Request URL = https://graph.microsoft.com/v1.0/me/drive/sharedWithMe
[DEBUG] onedrive.getSharedWithMe API Response: {"@odata.context":"https:\/\/graph.microsoft.com\/v1.0\/$metadata#Collection(driveItem)","value":[{"@odata.type":"#microsoft.graph.driveItem","createdBy":{"user":{"displayName":"test user"}},"createdDateTime":"2020-06-17T20:38:11Z","fileSystemInfo":{"createdDateTime":"2020-06-17T20:38:11Z","lastModifiedDateTime":"2020-06-22T01:50:20Z"},"folder":{"childCount":4},"id":"01JRXHEZMREEB3EJVHNVHKNN454Q7DFXPR","lastModifiedBy":{"user":{"displayName":"test user","email":"testuser@mynasau3.onmicrosoft.com"}},"lastModifiedDateTime":"2020-06-22T01:50:20Z","name":"Child Shared Folder","remoteItem":{"createdBy":{"user":{"displayName":"test user"}},"createdDateTime":"2020-06-17T20:38:11Z","fileSystemInfo":{"createdDateTime":"2020-06-17T20:38:11Z","lastModifiedDateTime":"2020-06-22T01:50:20Z"},"folder":{"childCount":4},"id":"01JRXHEZMREEB3EJVHNVHKNN454Q7DFXPR","lastModifiedBy":{"user":{"displayName":"test user","email":"testuser@mynasau3.onmicrosoft.com"}},"lastModifiedDateTime":"2020-06-22T01:50:20Z","name":"Child Shared Folder","parentReference":{"driveId":"b!rAVn2to7zUWZfbrVIUU3zSFB59F6TnZLjNUAn9SlWRDj709L0heSSoWi6mMSxrOO","driveType":"business","id":"01JRXHEZN6Y2GOVW7725BZO354PWSELRRZ"},"shared":{"scope":"users","sharedBy":{"user":{"displayName":"test user"}},"sharedDateTime":"2020-06-17T20:40:03Z"},"sharepointIds":{"listId":"4b4fefe3-17d2-4a92-85a2-ea6312c6b38e","listItemId":"5","listItemUniqueId":"b2032191-a726-4e6d-a6b7-9de43e32ddf1","siteId":"da6705ac-3bda-45cd-997d-bad5214537cd","siteUrl":"https:\/\/mynasau3-my.sharepoint.com\/personal\/testuser_mynasau3_onmicrosoft_com","tenantId":"1d5330af-a875-45cf-9e56-434333157def","webId":"d1e74121-4e7a-4b76-8cd5-009fd4a55910"},"size":0,"webDavUrl":"https:\/\/mynasau3-my.sharepoint.com\/personal\/testuser_mynasau3_onmicrosoft_com\/Documents\/Level%201\/Level%202\/Level%203\/Child%20Shared%20Folder","webUrl":"https:\/\/mynasau3-my.sharepoint.com\/personal\/testuser_mynasau3_onmicrosoft_com\/Documents\/Level%201\/Level%202\/Level%203\/Child%20Shared%20Folder"},"size":0,"webUrl":"https:\/\/mynasau3-my.sharepoint.com\/personal\/testuser_mynasau3_onmicrosoft_com\/Documents\/Level%201\/Level%202\/Level%203\/Child%20Shared%20Folder"},{"@odata.type":"#microsoft.graph.driveItem","createdBy":{"user":{"displayName":"test user","email":"testuser@mynasau3.onmicrosoft.com"}},"createdDateTime":"2020-06-17T20:37:24Z","fileSystemInfo":{"createdDateTime":"2020-06-17T20:37:24Z","lastModifiedDateTime":"2020-06-21T20:05:53Z"},"folder":{"childCount":4},"id":"01JRXHEZLRMXHKBYZNOBF3TQOPBXS3VZMA","lastModifiedBy":{"user":{"displayName":"test user","email":"testuser@mynasau3.onmicrosoft.com"}},"lastModifiedDateTime":"2020-06-21T20:05:53Z","name":"Top Level to Share","remoteItem":{"createdBy":{"user":{"displayName":"test user","email":"testuser@mynasau3.onmicrosoft.com"}},"createdDateTime":"2020-06-17T20:37:24Z","fileSystemInfo":{"createdDateTime":"2020-06-17T20:37:24Z","lastModifiedDateTime":"2020-06-21T20:05:53Z"},"folder":{"childCount":4},"id":"01JRXHEZLRMXHKBYZNOBF3TQOPBXS3VZMA","lastModifiedBy":{"user":{"displayName":"test user","email":"testuser@mynasau3.onmicrosoft.com"}},"lastModifiedDateTime":"2020-06-21T20:05:53Z","name":"Top Level to Share","parentReference":{"driveId":"b!rAVn2to7zUWZfbrVIUU3zSFB59F6TnZLjNUAn9SlWRDj709L0heSSoWi6mMSxrOO","driveType":"business","id":"01JRXHEZN6Y2GOVW7725BZO354PWSELRRZ"},"shared":{"scope":"users","sharedBy":{"user":{"displayName":"test user","email":"testuser@mynasau3.onmicrosoft.com"}},"sharedDateTime":"2020-06-19T02:55:32Z"},"sharepointIds":{"listId":"4b4fefe3-17d2-4a92-85a2-ea6312c6b38e","listItemId":"1","listItemUniqueId":"a0ce6571-2de3-4b70-b9c1-cf0de5bae580","siteId":"da6705ac-3bda-45cd-997d-bad5214537cd","siteUrl":"https:\/\/mynasau3-my.sharepoint.com\/personal\/testuser_mynasau3_onmicrosoft_com","tenantId":"1d5330af-a875-45cf-9e56-434333157def","webId":"d1e74121-4e7a-4b76-8cd5-009fd4a55910"},"size":0,"webDavUrl":"https:\/\/mynasau3-my.sharepoint.com\/personal\/testuser_mynasau3_onmicrosoft_com\/Documents\/Top%20Level%20to%20Share","webUrl":"https:\/\/mynasau3-my.sharepoint.com\/personal\/testuser_mynasau3_onmicrosoft_com\/Documents\/Top%20Level%20to%20Share"},"size":0,"webUrl":"https:\/\/mynasau3-my.sharepoint.com\/personal\/testuser_mynasau3_onmicrosoft_com\/Documents\/Top%20Level%20to%20Share"}]}

Steps to Reproduce

Have a folder shared with you from outside your organisation
Verify that this folder is visible via OneDrive web interface
Call https://graph.microsoft.com/v1.0/me/drive/sharedWithMe and the external shared resource is not available.

Associated issue here: https://github.com/microsoftgraph/microsoft-graph-docs/issues/2581

Thanks for your feedback.
A couple of points:

To include external shared folders add a query parameter/value allowexternal=true
This isn't documented. We'll tag this as a documentation issue; you are welcome to create a PR to add this information consistent with our other places where we document query parameters.
To access the external shared folders you need a token scoped to the other tenant that "owns" the external folder.  Specifying the target tenant is explained in AAD docs somewhere, but another contributor provided a quick synopsis on how to do this: https://github.com/OneDrive/onedrive-api-docs/issues/1296

@chackman
Thanks for the pointers. I can confirm that allowexternal=true presents the data, will have to work on point 2 to ensure that they can be synced correctly.

@chackman
In following the details in https://github.com/OneDrive/onedrive-api-docs/issues/1296#issuecomment-646489874 I am able to get a new access token for the tenant, however when using that new access token, I still get a 403 (Access denied) response.
To get the tenant, I had to utilise /v1.0/organization which would also generate a 403 (Access denied) response until I added the scope User.Read - once that was added, /v1.0/organization was successful.
I was wondering, to fully query an external tenant + using external auth token in the manner above, with the following query:
https://graph.microsoft.com/v1.0/drives/{driveId}/items/{itemId}?select=id,name,eTag,cTag,deleted,file,folder,root,fileSystemInfo,remoteItem,parentReference,size

Is there any additional auth scopes required which I may be missing?
Current auth scopes in use are:

User.Read
Files.ReadWrite
Files.ReadWrite.all
Sites.Read.All
Sites.ReadWrite.All
offline_access

That same query, for OneDrive Business Shared Folders inside an organisation (same tenant) generates zero issue - query / response is successful.

@chackman . @ificator
Following the details here (https://github.com/OneDrive/onedrive-api-docs/issues/1296#issuecomment-646489874) these are the responses I get:

Authenticate User A in Tenant A using https://login.microsoftonline.com/common/oauth2/v2.0/token

{
	"access_token": "eyJ0eXAiOiJK...0K5A",
	"expires_in": 3599,
	"ext_expires_in": 3599,
	"refresh_token": "OAQABAAAAAAA...PIAA",
	"scope": "Files.ReadWrite Files.ReadWrite.All Sites.Read.All Sites.ReadWrite.All User.Read profile openid email",
	"token_type": "Bearer"
}

User B in Tenant B, shares folder with User A in Tenant A
User A to obtain access token from Tenant B using https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token using the 'refresh_token' obtained in Step 1:

{
	"access_token": "eyJ0eXAiOiJK...KM1HtA",
	"expires_in": 3597,
	"ext_expires_in": 3597,
	"refresh_token": "OAQABAAAAAAA...yi-SAA",
	"scope": "profile openid email",
	"token_type": "Bearer"
}

So the 'scopes' are being dropped, thus, this is why I am getting the 403 'Access Denied' when I try and use the token obtained from Tenant B using the 'refresh_token'
Are these steps 'correct' as per https://github.com/OneDrive/onedrive-api-docs/issues/1296 ... or is something missing here?

@chackman . @ificator
Any comment or suggestion here as to why, when using the process, the 'scopes' are being removed?

Please ask your question about auth scopes to the AAD team:

If you have a question about Azure Active Directory, outside of issues with the documentation provided in the OneDrive Developer Center, please ask it here: https://stackoverflow.com/questions/tagged/azure-active-directory


Style references should be a variable scope, not entity

(and definitely not entity.name.function)
Also, please use lower-cased names for your scopes, especially entity.name.section, which is a commonly used scope name.

Closed by https://github.com/jfcherng/Sublime-ASS/pull/4

Oh wow, it's been almost 2 years. I nearly forgot I already complained about this.