operator-sdk run bundle with an image from the registry

Type of question
Best practices
Open question
Question
How can I run a bundle from the OpenShift internal registry?
What did you do?
I created an operator for a private application.
The application, the operator and the bundle images are being built by my OKD instance and stored in the internal registry.
I ran:
export VERSION=0.0.1
export BUNDLE_IMG="image-registry.openshift-image-registry.svc:5000/my-operator/my-operator-bundle:$VERSION"
operator-sdk run bundle $BUNDLE_IMG

What did you expect to see?
My operator being created and installed in the list of "Installed Operators"
What did you see instead? Under which circumstances?
$ operator-sdk run bundle $BUNDLE_IMG
FATA[0001] Failed to run bundle: pull bundle image: error pulling image image-registry.openshift-image-registry.svc:5000/my-operator/my-operator-bundle:0.0.1: error resolving name : failed to do request: Head "https://image-registry.openshift-image-registry.svc:5000/v2/my-operator/my-operator-bundle/manifests/0.0.1": dial tcp: lookup image-registry.openshift-image-registry.svc on <IP_ADDRESS>:53: no such host

Environment
Operator type:
/language ansible
Kubernetes cluster type:
OKD 4.7.0-0.okd-2021-04-11-124433
$ operator-sdk version
operator-sdk version: "v1.5.0", commit: "98f30d59ade2d911a7a8c76f0169a7de0dec37a0", kubernetes version: "1.19.4", go version: "go1.15.5", GOOS: "linux", GOARCH: "amd64"

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.1-5-g76a04fc", GitCommit:"2513fdbb36e2ddf13bc0b17460151c03eb3a3547", GitTreeState:"clean", BuildDate:"2021-04-09T04:34:48Z", GoVersion:"go1.15.7", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"20+", GitVersion:"v1.20.0-1056+c8905da1d144e4-dirty", GitCommit:"c8905da1d144e4625c8355643d8c034692accdcd", GitTreeState:"dirty", BuildDate:"2021-04-07T09:21:03Z", GoVersion:"go1.15.7", Compiler:"gc", Platform:"linux/amd64"}

I see same issue and operator-sdk isn't pulling image from docker hub. Even though the docs say:

By default, projects are configured to push to and pull from a docker.io registry ...

it appears this is not the case and I see this failure:
% operator-sdk run bundle vhosakot/nginx-operator-bundle:v0.0.1
INFO[0000] trying next host                              error="failed to do request: Head \"https://vhosakot/v2/nginx-operator-bundle/manifests/v0.0.1\\": dial tcp: lookup vhosakot: no such host" host=vhosakot
FATA[0000] Failed to run bundle: pull bundle image: error pulling image vhosakot/nginx-operator-bundle:v0.0.1: error resolving name for image ref vhosakot/nginx-operator-bundle:v0.0.1: failed to do request: Head "https://vhosakot/v2/nginx-operator-bundle/manifests/v0.0.1": dial tcp: lookup vhosakot: no such host

But, the above image vhosakot/nginx-operator-bundle:v0.0.1 can be pulled successfully from docker hub without operator-sdk and without logging in:
% docker logout

% docker pull vhosakot/nginx-operator-bundle:v0.0.1
v0.0.1: Pulling from vhosakot/nginx-operator-bundle
cb0203051ca7: Pull complete
e9003718854e: Pull complete
e74c3b37fda4: Pull complete
Digest: sha256:51446129be61b46744279df3b1f0d7643fe165e54de9013cee94292734ec081d
Status: Downloaded newer image for vhosakot/nginx-operator-bundle:v0.0.1
docker.io/vhosakot/nginx-operator-bundle:v0.0.1

% docker images
REPOSITORY                       TAG       IMAGE ID       CREATED             SIZE
vhosakot/nginx-operator-bundle   v0.0.1    9dd77c503ae3   About an hour ago   13.3kB

I referred https://sdk.operatorframework.io/docs/building-operators/helm/quickstart/ and did the following steps (used vhosakot instead of example.com):
mkdir nginx-operator
cd nginx-operator
operator-sdk init --domain vhosakot --plugins helm
operator-sdk create api --group demo --version v1alpha1 --kind Nginx
make docker-build docker-push IMG="vhosakot/nginx-operator:v0.0.1"

operator-sdk olm install failed and I installed it using the steps in this comment.
% operator-sdk olm install
INFO[0004] Fetching CRDs for version "latest"
INFO[0004] Fetching resources for resolved version "latest"
FATA[0007] Failed to install OLM version "latest": detected existing OLM resources: OLM must be completely uninstalled before installation

kubectl create -f https://raw.githubusercontent.com/operator-framework/operator-lifecycle-manager/master/deploy/upstream/quickstart/crds.yaml
kubectl create -f https://raw.githubusercontent.com/operator-framework/operator-lifecycle-manager/master/deploy/upstream/quickstart/olm.yaml

make bundle IMG="vhosakot/nginx-operator:v0.0.1"
make bundle-build bundle-push IMG="vhosakot/nginx-operator:v0.0.1"

Below is the error when pulling the vhosakot/nginx-operator-bundle:v0.0.1 image from docker hub:
% operator-sdk run bundle vhosakot/nginx-operator-bundle:v0.0.1
INFO[0000] trying next host                              error="failed to do request: Head \"https://vhosakot/v2/nginx-operator-bundle/manifests/v0.0.1\\": dial tcp: lookup vhosakot: no such host" host=vhosakot
FATA[0000] Failed to run bundle: pull bundle image: error pulling image vhosakot/nginx-operator-bundle:v0.0.1: error resolving name for image ref vhosakot/nginx-operator-bundle:v0.0.1: failed to do request: Head "https://vhosakot/v2/nginx-operator-bundle/manifests/v0.0.1": dial tcp: lookup vhosakot: no such host

Is there any solution / workaround for this issue?

update for previous comment https://github.com/operator-framework/operator-sdk/issues/4830#issuecomment-1487003198:
I'm able to run the operator-sdk bundle by prefixing docker.io like operator-sdk run bundle docker.io/vhosakot/nginx-operator-bundle:v0.0.1.
% operator-sdk run bundle --help
...
If using a docker.io image, you must specify docker.io(/<namespace>)?/<bundle-image-name>:<tag>.
...

But I see many such pods failing and restarting:
% kubectl get pods | grep 20ed3bdb54db8de8b2a12 | wc -l
    1232

I see this error in the above pods like:
% kubectl logs 20ed3bdb54db8de8b2a12deaafa934b3aca92f140692f73cd07a18ccdfvt6ks
Error: error loading manifests from directory: ConfigMap "20ed3bdb54db8de8b2a12deaafa934b3aca92f140692f73cd07a18ccdf3af79" is invalid: [data[demo.vhosakot_nginxes.yaml]: Invalid value: "demo.vhosakot_nginxes.yaml": duplicate of key present in binaryData, data[nginx-operator-controller-manager-metrics-service_v1_service.yaml]: Invalid value: "nginx-operator-controller-manager-metrics-service_v1_service.yaml": duplicate of key present in binaryData, data[nginx-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml]: Invalid value: "nginx-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml": duplicate of key present in binaryData, data[nginx-operator.clusterserviceversion.yaml]: Invalid value: "nginx-operator.clusterserviceversion.yaml": duplicate of key present in binaryData]


Notification Permission on Android 12 and below

First of all, I would like to thank you for your efforts in putting together this library.
After I implemented notification permission, I tested it on Emulator on Android 14. Moreover, everything worked as expected, but when I tested it on a physical device running Android 12, the permission state acted like the device didn't grant permission and denied it.
Here's a screenshot of the permission status if it helps:

Thanks for reporting this, I will check it.


UTF-8 and read_csv: addressing data frame columns gives KeyError

When reading a csv, generated by Microsoft SQL Server management studio in UTF-8 encoding by following line of code:
df = pd.read_csv(file.csv)

gives problems when specific data frame columns are addressed.
Reading the csv itself doesn't give any problem or warning. And it is possible to view the data frame (showing the proper header names). But when you want to address a specific column by its header name, the following error occurs:
KeyError: 'no item named header name'
When opening the file with a text editor and saving it in ANSI format, the issue isn't there anymore. This workflow helped to overcome this issue by accident, since I was not aware of any encoding issues at all.
It would be a big time saver for a user when he is made aware of possible encoding issues at the moment of reading a file. If a column is shown properly and when you address this column by its name resulting in a KeyError is confusing and not helpful.

closing as not a bug


DOC: more corrections to release notes and debugging

Description

A follow up edits for #1134.
Motivation and Context

See my comments at https://github.com/NSLS-II/bluesky/pull/1134/files.
How Has This Been Tested?

Codecov Report

Merging #1135 into master will increase coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1135      +/-   ##
==========================================
+ Coverage    89.3%   89.36%   +0.05%
==========================================
  Files          51       51
  Lines        8546     8546
==========================================
+ Hits         7632     7637       +5
+ Misses        914      909       -5

Impacted Files
Coverage Δ

bluesky/log.py
75% <0%> (+6.57%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3f8596a...e4b78f8. Read the comment docs.

Thanks for merging, @danielballan!


Push to "higlass" repo on Docker Hub

We are currently pushing to "higlass-server", but since the Docker container is a lot more than that, we should push to "higlass" (I created the Docker Hub repo already): https://hub.docker.com/r/gehlenborglab/higlass/
@pkerpedjiev: do you agree?

I don't disagree :)

Now pushing to higlass, and higlass-server is gone.


Update HIP-869 dynamic address book transaction fees

The fees table needs to be updated with the fees for the following transaction types:

NodeCreate
NodeUpdate
NodeDelete

The transaction fee for these transaction types are $0.001.

resolved 508755c


.local/bin in the PATH

We're prepending .local/bin to the PATH env var, what could have unexpected effects if the user has executables in his repo under .local/bin.
AFAIK we add .local/bin to PATH because of how we use pip with the --user flag that will put.
Quoting @mfojtik:

we should do absolute but not using HOME var

This is somehow related to #18 (maybe can be fixed together), but specific to sti-python.
@bparees @soltysh FYI

@rhcarvalho this is related:
https://github.com/sclorg/rhscl2dockerfile/issues/29
@bparees are we going to change this path for 3.0? (i think we should as moving to another directory in post-3.0 images might be migration pain)

@mfojtik builds we do are always clean builds, in that case I don't think we need to worry about migration problems. I'm voting to have it done post-3.0 together with #18 @rhcarvalho mentioned.

@soltysh @rhcarvalho trello this then and close this

would you feel better if we moved it to the end of the path instead of the beginning?

Trelloed, please close.

What was the reason for not wanting to use HOME variable in creating the absolute path?
This issue has come as problem again in concrete way on #57 and #58.


refactoring Schema to expose functions for database updates

This PR aims to expose functionality already available within a Schema to make it easier to update databases after changes.
Changes

Schema now has get_column_def() to make the creation of TableAlterStatement easier in migrations

Good to have

Hey @mohs8421, thanks for contributing!! Seems this PR is still in progress and there are more internal functions to be extracted and made public? Let me know when it's ready :)

Hey @mohs8421, thanks for contributing!! Seems this PR is still in progress and there are more internal functions to be extracted and made public? Let me know when it's ready :)

yes, I want to extract the part about foreign keys as well, it should be almost straight forward too, although the confusion about TableForeignKey and ForeignKeyCreateStatement is a little bit anoying, since the later is missing a From<> implementation, I have to implement the creation of that one to get to the first one. Currently working on some other code, so it unfortunately has to wait a little bit.


tor-browser-bundle-bin: Clean up tor-browser wrapper test

Description of changes

Clean-up of variables set to empty string.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

#171820


关于手机上运行时间的求教

下面的时间是我llm的部分替换为tinyLlama之后，在骁龙gen1上运行的时间log, 其他部分仍然是LLava的结构：
encode_image_with_clip: image encoded in 18963.98 ms by CLIP (   32.92 ms per image patch)
The image on your post is a woman in a hat and a blue frill with feathers.
llama_print_timings:        load time =   19968.38 ms
llama_print_timings:      sample time =       4.61 ms /    21 runs   (    0.22 ms per token,  4554.33 tokens per second)
llama_print_timings: prompt eval time =   29440.51 ms /   616 tokens (   47.79 ms per token,    20.92 tokens per second)
llama_print_timings:        eval time =    1051.03 ms /    21 runs   (   50.05 ms per token,    19.98 tokens per second)
llama_print_timings:       total time =   49528.13 ms
实际体验起来， 由于Vit部分 最少也要576（336/14）token，因此第一次运行等待时间体感过于长，对照MobileVLM中的1.4B，34.93token/s 处理576也需要17s左右，请问这里是否有空间再处理？
另外，mobileVLM 论文中的Vision处理部分是6~8ms/patch，而我用llama.cpp的encode是32.92ms/patch,请问这里是做了后端并行优化吗？请多多指教

While measuring the latency of LLaVA-v1.5-TinyLLaMA-1.1B, all of the settings of llama.cpp are default, which means no additional args those will influence performance are set. No specific optimization to this.
The device is Realme GT with 8GB RAM and Snapdragon 888 chip.
I first install termux into the phone and than deploy the inference according to here. Maybe you can set -t to modify the multi-thread setting, but we did no set it.
Maybe you can provide more information, but first try our MobileVLM with its deployment on Android device!

你用的是哪款手机，需要 Root 么

你用的是哪款手机，需要 Root 么

三星S22 ultra，不需要 用的termux 运行的

While measuring the latency of LLaVA-v1.5-TinyLLaMA-1.1B, all of the settings of llama.cpp are default, which means no additional args those will influence performance are set. No specific optimization to this. The device is Realme GT with 8GB RAM and Snapdragon 888 chip. I first install termux into the phone and than deploy the inference according to here. Maybe you can set -t to modify the multi-thread setting, but we did no set it.
Maybe you can provide more information, but first try our MobileVLM with its deployment on Android device! https://github.com/Meituan-AutoML/MobileVLM#-deployment-on-mobile-devices-

这个是我在骁龙8gen1上运行 mobileVLM的时间Log，仍然出入较大的是clip的patch的平均时间；
clip_model_load: model name:   openai/clip-vit-large-patch14-336
clip_model_load: description:  image encoder for LLaVA
clip_model_load: GGUF version: 3
clip_model_load: alignment:    32
clip_model_load: n_tensors:    397
clip_model_load: n_kv:         19
clip_model_load: ftype:        f16
clip_model_load: loaded meta data with 19 key-value pairs and 397 tensors from models/mmproj-model-f16.gguf
clip_model_load: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
clip_model_load: - kv   0:                       general.architecture str              = clip
clip_model_load: - kv   1:                      clip.has_text_encoder bool             = false
clip_model_load: - kv   2:                    clip.has_vision_encoder bool             = true
clip_model_load: - kv   3:                   clip.has_llava_projector bool             = true
clip_model_load: - kv   4:                          general.file_type u32              = 1
clip_model_load: - kv   5:                               general.name str              = openai/clip-vit-large-patch14-336
clip_model_load: - kv   6:                        general.description str              = image encoder for LLaVA
clip_model_load: - kv   7:                        clip.projector_type str              = ldp
clip_model_load: - kv   8:                     clip.vision.image_size u32              = 336
clip_model_load: - kv   9:                     clip.vision.patch_size u32              = 14
clip_model_load: - kv  10:               clip.vision.embedding_length u32              = 1024
clip_model_load: - kv  11:            clip.vision.feed_forward_length u32              = 4096
clip_model_load: - kv  12:                 clip.vision.projection_dim u32              = 768
clip_model_load: - kv  13:           clip.vision.attention.head_count u32              = 16
clip_model_load: - kv  14:   clip.vision.attention.layer_norm_epsilon f32              = 0.000010
clip_model_load: - kv  15:                    clip.vision.block_count u32              = 23
clip_model_load: - kv  16:                     clip.vision.image_mean arr[f32,3]       = [0.481455, 0.457828, 0.408211]
clip_model_load: - kv  17:                      clip.vision.image_std arr[f32,3]       = [0.268630, 0.261303, 0.275777]
clip_model_load: - kv  18:                              clip.use_gelu bool             = false
clip_model_load: - type  f32:  247 tensors
clip_model_load: - type  f16:  150 tensors
clip_model_load: CLIP using CPU backend
clip_model_load: text_encoder:   0
clip_model_load: vision_encoder: 1
clip_model_load: llava_projector:  1
clip_model_load: model size:     591.67 MB
clip_model_load: metadata size:  0.15 MB
clip_model_load: params backend buffer size =  591.67 MB (397 tensors)
clip_model_load: compute allocated memory: 32.89 MB
llama_model_loader: loaded meta data with 22 key-value pairs and 219 tensors from models/ggml-model-q4_k.gguf (version GGUF V3 (latest))
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
llama_model_loader: - kv   0:                       general.architecture str              = llama
llama_model_loader: - kv   1:                               general.name str              = VLM
llama_model_loader: - kv   2:                       llama.context_length u32              = 2048
llama_model_loader: - kv   3:                     llama.embedding_length u32              = 2048
llama_model_loader: - kv   4:                          llama.block_count u32              = 24
llama_model_loader: - kv   5:                  llama.feed_forward_length u32              = 5632
llama_model_loader: - kv   6:                 llama.rope.dimension_count u32              = 128
llama_model_loader: - kv   7:                 llama.attention.head_count u32              = 16
llama_model_loader: - kv   8:              llama.attention.head_count_kv u32              = 16
llama_model_loader: - kv   9:     llama.attention.layer_norm_rms_epsilon f32              = 0.000001
llama_model_loader: - kv  10:                       llama.rope.freq_base f32              = 10000.000000
llama_model_loader: - kv  11:                          general.file_type u32              = 14
llama_model_loader: - kv  12:                       tokenizer.ggml.model str              = llama
llama_model_loader: - kv  13:                      tokenizer.ggml.tokens arr[str,32000]   = ["", "", "", "<0x00>", "<...
llama_model_loader: - kv  14:                      tokenizer.ggml.scores arr[f32,32000]   = [0.000000, 0.000000, 0.000000, 0.0000...
llama_model_loader: - kv  15:                  tokenizer.ggml.token_type arr[i32,32000]   = [2, 3, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, ...
llama_model_loader: - kv  16:                tokenizer.ggml.bos_token_id u32              = 1
llama_model_loader: - kv  17:                tokenizer.ggml.eos_token_id u32              = 2
llama_model_loader: - kv  18:            tokenizer.ggml.padding_token_id u32              = 0
llama_model_loader: - kv  19:               tokenizer.ggml.add_bos_token bool             = true
llama_model_loader: - kv  20:               tokenizer.ggml.add_eos_token bool             = false
llama_model_loader: - kv  21:               general.quantization_version u32              = 2
llama_model_loader: - type  f32:   49 tensors
llama_model_loader: - type q4_K:  162 tensors
llama_model_loader: - type q5_K:    7 tensors
llama_model_loader: - type q6_K:    1 tensors
llm_load_vocab: special tokens definition check successful ( 259/32000 ).
llm_load_print_meta: format           = GGUF V3 (latest)
llm_load_print_meta: arch             = llama
llm_load_print_meta: vocab type       = SPM
llm_load_print_meta: n_vocab          = 32000
llm_load_print_meta: n_merges         = 0
llm_load_print_meta: n_ctx_train      = 2048
llm_load_print_meta: n_embd           = 2048
llm_load_print_meta: n_head           = 16
llm_load_print_meta: n_head_kv        = 16
llm_load_print_meta: n_layer          = 24
llm_load_print_meta: n_rot            = 128
llm_load_print_meta: n_embd_head_k    = 128
llm_load_print_meta: n_embd_head_v    = 128
llm_load_print_meta: n_gqa            = 1
llm_load_print_meta: n_embd_k_gqa     = 2048
llm_load_print_meta: n_embd_v_gqa     = 2048
llm_load_print_meta: f_norm_eps       = 0.0e+00
llm_load_print_meta: f_norm_rms_eps   = 1.0e-06
llm_load_print_meta: f_clamp_kqv      = 0.0e+00
llm_load_print_meta: f_max_alibi_bias = 0.0e+00
llm_load_print_meta: n_ff             = 5632
llm_load_print_meta: n_expert         = 0
llm_load_print_meta: n_expert_used    = 0
llm_load_print_meta: rope scaling     = linear
llm_load_print_meta: freq_base_train  = 10000.0
llm_load_print_meta: freq_scale_train = 1
llm_load_print_meta: n_yarn_orig_ctx  = 2048
llm_load_print_meta: rope_finetuned   = unknown
llm_load_print_meta: model type       = ?B
llm_load_print_meta: model ftype      = Q4_K - Small
llm_load_print_meta: model params     = 1.36 B
llm_load_print_meta: model size       = 754.43 MiB (4.64 BPW)
llm_load_print_meta: general.name     = VLM
llm_load_print_meta: BOS token        = 1 ''
llm_load_print_meta: EOS token        = 2 ''
llm_load_print_meta: UNK token        = 0 ''
llm_load_print_meta: PAD token        = 0 ''
llm_load_print_meta: LF token         = 13 '<0x0A>'
llm_load_tensors: ggml ctx size =    0.08 MiB
llm_load_tensors: offloading 0 repeating layers to GPU
llm_load_tensors: offloaded 0/25 layers to GPU
llm_load_tensors:        CPU buffer size =   754.43 MiB
...........................................................................................
llama_new_context_with_model: n_ctx      = 2048
llama_new_context_with_model: freq_base  = 10000.0
llama_new_context_with_model: freq_scale = 1
llama_kv_cache_init:        CPU KV buffer size =   384.00 MiB
llama_new_context_with_model: KV self size  =  384.00 MiB, K (f16):  192.00 MiB, V (f16):  192.00 MiB
llama_new_context_with_model: graph splits (measure): 1
llama_new_context_with_model:        CPU compute buffer size =    80.00 MiB
encode_image_with_clip: image encoded in 24572.82 ms by CLIP (  170.64 ms per image patch)
The image features a woman posing in front of the camera with her hair down. She is wearing an elegant hat, and she has blue feathers on one side while holding up another brunette headband to add more detail or emphasize contrast between them for photo effect purposes (either black-and white photography style). The woman appears confidently ready to pose in front of the camera.
llama_print_timings:        load time =   27973.21 ms
llama_print_timings:      sample time =      23.32 ms /    83 runs   (    0.28 ms per token,  3559.79 tokens per second)
llama_print_timings: prompt eval time =   17841.08 ms /   232 tokens (   76.90 ms per token,    13.00 tokens per second)
llama_print_timings:        eval time =    6257.37 ms /    83 runs   (   75.39 ms per token,    13.26 tokens per second)
llama_print_timings:       total time =   48983.91 ms /   315 tokens

The latency of CLIP here should /4 due to the limit of customized llama.cpp, which almost equals to your previous result of official llama.cpp. I was wondering whether the time was consumed by loading the weights of CLIP or the indeed encoding process. Maybe you could set some timer in the code to check the specific time cost. It is weird. Maybe there are some limitation on hardwares...

The latency of CLIP here should /4 due to the limit of customized llama.cpp, which almost equals to your previous result of official llama.cpp. I was wondering whether the time was consumed by loading the weights of CLIP or the indeed encoding process. Maybe you could set some timer in the code to check the specific time cost. It is weird. Maybe there are some limitation on hardwares...

经过验证，encode_image_with_clip: image encoded in 20666.23 ms by CLIP ( 143.52 ms per image patch) 这里的确是mobileVLM 在骁龙gen1上的image encode时间，并且这个时间与https://github.com/ggerganov/llama.cpp/blob/master/examples/llava/MobileVLM-README.md#some-result-on-android-with-snapdragon-888-chip 是一致的；但是与论文中的6-8ms/patches不一致；

The latency of CLIP here should /4 due to the limit of customized llama.cpp, which almost equals to your previous result of official llama.cpp. I was wondering whether the time was consumed by loading the weights of CLIP or the indeed encoding process. Maybe you could set some timer in the code to check the specific time cost. It is weird. Maybe there are some limitation on hardwares...

并且为了方便测试，我在相同的Linux环境进行了clip时间阶段的对比，
如果采用mobileVLM, encode_image_with_clip: image encoded in  1319.52 ms by CLIP (    9.16 ms per image patch)
如果采用tinyLLama,encode_image_with_clip: image encoded in  1225.62 ms by CLIP (    2.13 ms per image patch)

The latency of CLIP here should /4 due to the limit of customized llama.cpp, which almost equals to your previous result of official llama.cpp. I was wondering whether the time was consumed by loading the weights of CLIP or the indeed encoding process. Maybe you could set some timer in the code to check the specific time cost. It is weird. Maybe there are some limitation on hardwares...

是否跟转换的LDP大小有关？ 按照论文中所有LDP的参数两是20M，但是我按照说明转换出来的llava.projector 为73M；请问实际llava.projector 的大小应该是20M吗？

This issue has been answered in another issue #23 , please refer to it for more details.

@JennieGao-njust 我跑mobilevlm 1
8gen3
encode_image_with_clip: image embedding created: 144 tokens
encode_image_with_clip: image encoded in  7298.78 ms by CLIP (   50.69 ms per image patch)
888
encode_image_with_clip: image embedding created: 144 tokens
encode_image_with_clip: image encoded in  9322.85 ms by CLIP (   64.74 ms per image patch)

9322.85 ms by CLIP ( 64.74 ms per image patch)
这里我当时还是没有弄明白我的差异在那里，并且采用tinyllama虽然token多，但是平均平均batch时间更快；现在没有在继续做了。


EMQ + Letsencrypt

Best regards
I can not configure EMQ with letsencrypt.
I'm using Development: emqttd-v2.0-rc.3 released on 2016/11/03
Letsencrypt gives me the following files:
cert.pem
chain.pem
fullchain.pem
privkey.pem
I have tried several ways in emq.conf:
Attempt 1:
Cacertfile = etc / certs / chain.pem
Certfile = etc / certs / cert.pem
Keyfile = etc / certs / privkey.pem
Attempt 2:
Cacertfile = etc / certs / fullchain.pem
Certfile = etc / certs / cert.pem
Keyfile = etc / certs / privkey.pem
Attempt 3:
Concatenating chain.pem + Root CA = chainca.pem
https://mosquitto.org/2015/12/using-lets-encrypt-certificates-with-mosquitto/
Cacertfile = etc / certs / chainca.pem
Certfile = etc / certs / cert.pem
Keyfile = etc / certs / privkey.pem
Attempt 4
Concatenating privkey.pem + fullchain.pem = keyfile.pem
Cacertfile = etc / certs / chain.pem
Certfile = etc / certs / cert.pem
Keyfile = etc / certs / keyfile.pem
Thanks for everything.

What can not be configured? Is there an error log?
Do you want to configure one-way authentication or two-way authentication?

@turtleDeng
hi i encouter the same problem, how to config two-way authentication, thanks.

Attempt 3
Concatenating chain.pem + Root CA = chainca.pem
https://mosquitto.org/2015/12/using-lets-encrypt-certificates-with-mosquitto/
## SSL Options
mqtt.listener.ssl.handshake_timeout = 15
mqtt.listener.ssl.keyfile = etc/certs/keyfile.pem
mqtt.listener.ssl.certfile = etc/certs/cert.pem
mqtt.listener.ssl.cacertfile = etc/certs/chainca.pem
mqtt.listener.ssl.verify = verify_peer
mqtt.listener.ssl.fail_if_no_peer_cert = true

2016-11-15 1:22 GMT-04:30 turtleDeng<EMAIL_ADDRESS>
Attempt 3
Concatenating chain.pem + Root CA = chainca.pem
https://mosquitto.org/2015/12/using-lets-encrypt-
certificates-with-mosquitto/
SSL Options
mqtt.listener.ssl.handshake_timeout = 15
mqtt.listener.ssl.keyfile = etc/certs/keyfile.pem
mqtt.listener.ssl.certfile = etc/certs/cert.pem
mqtt.listener.ssl.cacertfile = etc/certs/chainca.pem
mqtt.listener.ssl.verify = verify_peer
mqtt.listener.ssl.fail_if_no_peer_cert = true
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/emqtt/emqttd/issues/765#issuecomment-260554024, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ASe11_vsLvmYWsDeo6qFN96SE80ehswyks5q-Ui1gaJpZM4KwsDt
.

Friend turtleDeng, Sorry for the delay.
You are explaining to me that the correct way to configure it is:
Attempt 3
Concatenating chain.pem + Root CA = chainca.pem
SSL Options
Mqtt.listener.ssl.handshake_timeout = 15
Mqtt.listener.ssl.keyfile = etc / certs / keyfile.pem
Mqtt.listener.ssl.certfile = etc / certs / cert.pem
Mqtt.listener.ssl.cacertfile = etc / certs / chainca.pem
Mqtt.listener.ssl.verify = verify_peer
Mqtt.listener.ssl.fail_if_no_peer_cert = true
So I probed the configuration from port 8883, and it worked!
The problem is that I've always tried the websocket protocol.
Which was configured like this:
Mqtt.listener.https.handshake_timeout = 15
Mqtt.listener.https.certfile = etc / certs / cert.pem
Mqtt.listener.https.keyfile = etc / certs / keyfile.pem
Mqtt.listener.https.cacertfile = etc / certs / chainca.pem
Mqtt.listener.https.verify = verify_peer
Mqtt.listener.https.fail_if_no_peer_cert = true
And it still fails!
But this time, knowing that I have well configured certificates (Thanks for
that!)
I decide to try other configurations, and I realize that if I comment the
line, mqtt.listener.https.verify = verify_peer, works the connection
through websocket.
Leaving the connection as follows:
Mqtt.listener.https.handshake_timeout = 15
Mqtt.listener.https.certfile = etc / certs / cert.pem
Mqtt.listener.https.keyfile = etc / certs / keyfile.pem
Mqtt.listener.https.cacertfile = etc / certs / chainca.pem
Mqtt.listener.https.verify = verify_peer
Mqtt.listener.https.fail_if_no_peer_cert = true
I would like to know the reason why it is failing, is it normal ?, What do
these parameters mean? (Mqtt.listener.https.verify = verify_peer,
mqtt.listener.https.fail_if_no_peer_cert = true)
Does it have to do with what you asked me in your first response? (Do you
want to configure one-way authentication or two-way authentication?)
2016-11-15 9:49 GMT-04:30 serenity luna<EMAIL_ADDRESS>
2016-11-15 1:22 GMT-04:30 turtleDeng<EMAIL_ADDRESS>
Attempt 3
Concatenating chain.pem + Root CA = chainca.pem
https://mosquitto.org/2015/12/using-lets-encrypt-certificate
s-with-mosquitto/
SSL Options
mqtt.listener.ssl.handshake_timeout = 15
mqtt.listener.ssl.keyfile = etc/certs/keyfile.pem
mqtt.listener.ssl.certfile = etc/certs/cert.pem
mqtt.listener.ssl.cacertfile = etc/certs/chainca.pem
mqtt.listener.ssl.verify = verify_peer
mqtt.listener.ssl.fail_if_no_peer_cert = true
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/emqtt/emqttd/issues/765#issuecomment-260554024, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ASe11_vsLvmYWsDeo6qFN96SE80ehswyks5q-Ui1gaJpZM4KwsDt
.

{verify, verify_type()}
A server only does x509-path validation in mode verify_peer, as it then sends a certificate request to the client (this message is not sent if the verify option is verify_none). You can then also want to specify option fail_if_no_peer_cert.
{fail_if_no_peer_cert, boolean()}
Used together with {verify, verify_peer} by an SSL server. If set to true, the server fails if the client does not have a certificate to send, that is, sends an empty certificate. If set to false, it fails only if the client sends an invalid certificate (an empty certificate is considered valid). Defaults to false.
See the ssl documentation for details！

As you recommended I read the ssl documentation. And I found the following:
In mode verify_none the default behavior is to allow all x509-path
validation errors.
Please explain me:
Why can not I use verify_peer with websockets (8084), but can I use it with
tls over tcp (8883)?
2016-11-15 10:09 GMT-04:30 turtleDeng<EMAIL_ADDRESS>
{verify, verify_type()}
A server only does x509-path validation in mode verify_peer, as it then
sends a certificate request to the client (this message is not sent if the
verify option is verify_none). You can then also want to specify option
fail_if_no_peer_cert.
{fail_if_no_peer_cert, boolean()}
Used together with {verify, verify_peer} by an SSL server. If set to true,
the server fails if the client does not have a certificate to send, that
is, sends an empty certificate. If set to false, it fails only if the
client sends an invalid certificate (an empty certificate is considered
valid). Defaults to false.
See the ssl documentation for details！
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/emqtt/emqttd/issues/765#issuecomment-260658175, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ASe11_nBIfcYx5x_sVfCUhX4yUle6mMgks5q-cQtgaJpZM4KwsDt
.

Best regards.
It still does not work verify_peer on websockets with TLS (HTTPS / WSS
Listener - 8084)
I have tried downloading emqttd-ubuntu64-v2.0-rc.3-20161103.zip again and
running on clean, and I still get the same error.
Also try other certificates issued by COMODO. I did it just out of
curiosity for the checks made with openssl s_client told me that both
Let's Encrypt and COMODO certificates are well installed.
This is the error when I use (mqtt.listener.https.verify = verify_peer)
Erlang MQTT Broker 2.0 is running now
Eshell V7.3  (abort with ^G)
(emqttd@<IP_ADDRESS>)1> 05:37:02.582 [error] Error in process <0.1139.0> on
node<EMAIL_ADDRESS>with exit value:
{{ssl_error,closed},[{esockd_connection,upgrade,1,[{file,"src/esockd_connection.erl"},{line,113}]},{mochiweb_http,init,2,[{file,"src/mochiweb_http.erl"},{line,30}]}]}
05:37:02.583 [error] Supervisor 'esockd_connection_sup - <0.1094.0>' had
child connection started with
mochiweb_http:start_link({emqttd_http,handle_request,[]}) at <0.1139.0>
exit with reason {ssl_error,closed} in esockd_connection:upgrade/1 line 113
in context connection_crashed
05:37:02.889 [error] Error in process <0.1141.0> on node<EMAIL_ADDRESS>with exit value:
{{ssl_error,closed},[{esockd_connection,upgrade,1,[{file,"src/esockd_connection.erl"},{line,113}]},{mochiweb_http,init,2,[{file,"src/mochiweb_http.erl"},{line,30}]}]}
05:37:02.890 [error] Supervisor 'esockd_connection_sup - <0.1094.0>' had
child connection started with
mochiweb_http:start_link({emqttd_http,handle_request,[]}) at <0.1141.0>
exit with reason {ssl_error,closed} in esockd_connection:upgrade/1 line 113
in context connection_crashed
COMODO:
HTTP (SSL) Listener
Mqtt.listener.https = 8084
Mqtt.listener.https.acceptors = 4
Mqtt.listener.https.max_clients = 64
Mqtt.listener.https.handshake_timeout = 2000
Mqtt.listener.https.keyfile = /opt/emqttd/etc/certs/private.key
Mqtt.listener.https.certfile = /opt/emqttd/etc/certs/cert.crt
Mqtt.listener.https.cacertfile = /opt/emqttd/etc/certs/ca-bundle.crt
Mqtt.listener.https.verify = verify_peer
Mqtt.listener.https.fail_if_no_peer_cert = true
Note: Same configuration in SSL Listener - 8883 works fine!

I have the same error. How to deal with that? I already tried to set Mqtt.listener.https.fail_if_no_peer_cert to false and/or Mqtt.listener.https.verify to verify_none. But neither one worked. Help appreciated!
Btw: I think concatenating is not needed as fullchain.pem already includes Root CA, isn't it?

Please give steps on how to Generate a certificate using letsencrypt and use it sucessfully over wss.

Same problem.. cant understand how to setup ssl for websockets using letsencrypt.
I think documentation lags the clear definition and use of different parameters in configuration..

Letsencrypt generates certificate for server. That means we should use one-way TLS authentication.
Suppose we are utilizing websocket over TLS.
The emq.conf should look like below:
listener.wss.external.keyfile = etc/certs/privkey.pem
listener.wss.external.certfile = etc/certs/cert.pem
## listener.wss.external.cacertfile = etc/certs/cacert.pem
listener.wss.external.verify = verify_none
listener.wss.external.fail_if_no_peer_cert = false

And the paho python code should look like below:
import paho.mqtt.publish as publish

tls_param = {'ca_certs':"fullchain.pem"}
publish.single("test/topic", payload="abc", qos=1, retain=False, hostname="www.example.com",
           port=8084, client_id="923975342346", keepalive=60, will=None, auth=None,
           tls=tls_param, protocol=4, transport="websockets")

Did this but still getting this error -
File "/Users/iamnostar/miniconda3/lib/python3.6/ssl.py", line 1068, in do_handshake
    self._sslobj.do_handshake()
  File "/Users/iamnostar/miniconda3/lib/python3.6/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)

Do we not have to tell domain name anywhere in the emq.conf ? As my certificates are bound to a specific domain name, right ?
This is my code -
import paho.mqtt.publish as publish

tls_param = {'ca_certs':"fullchain.pem"}
publish.single("test/topic", payload="abc", qos=1, retain=False, hostname="mydomain.com",
           port=8084, client_id="923975342346", keepalive=60, will=None, auth=None,
           tls=tls_param, protocol=4, transport="websockets")

@arihantdaga  Yes, you have to keep fullchain.pem in the directory where your python script resides.
Domain name is included in server certification. So you do not specify your domain name in emq.conf.
Following command will be helpful to debug certification issue:
openssl s_client -connect mydomain.com:8084 -CAfile fullchain.pem -state

@grutabow Thank you very much. Solved Now..
Although i had to add chain.pem as well for get it working with mqtt.js in browser. I uncommented this line as well -
listener.wss.external.cacertfile = etc/certs/chain.pem


g++: internal compiler error: Killed (program cc1plus)

bnc@landslyde:~/znc-1.7.1$ ./configure
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=c++11... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for grep that handles long lines and -e... /bin/grep
checking for a sed that does not truncate output... /bin/sed
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking whether the -Werror option is usable... yes
checking for simple visibility declarations... yes
checking for git... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking whether compiler predefines _FORTIFY_SOURCE... no
checking for getopt_long in -lgnugetopt... no
checking for lstat... yes
checking for getopt_long... yes
checking for getpassphrase... no
checking for clock_gettime... yes
checking for tcsetattr... yes
checking for library containing dlopen... -ldl
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking whether getaddrinfo() supports AI_ADDRCONFIG... yes
checking for openssl... yes
checking whether openssl is usable... yes
checking whether zlib is usable... yes
checking for icu-uc... yes
checking for Qt5Network >= 5.4... no
checking for GNU make... /usr/bin/make
configure: creating ./config.status
config.status: creating Makefile
config.status: creating znc-buildmod
config.status: creating man/Makefile
config.status: creating znc.pc
config.status: creating znc-uninstalled.pc
config.status: creating modules/Makefile
config.status: creating include/znc/zncconfig.h
ZNC 1.7.1 configured
prefix:       /usr/local
debug:        no
ipv6:         yes
openssl:      yes
dns:          threads
perl:         no
python:       no
swig:         not needed
cyrus:        no
tcl:          no
charset:      yes
zlib:         yes
run from src: no
Now you can run "make" to compile ZNC
bnc@landslyde:~/znc-1.7.1$ make
Packing man page znc.1.gz...
Packing man page znc-buildmod.1.gz...
Building module admindebug...
Linking  module admindebug...
Building module adminlog...
Linking  module adminlog...
Building module alias...
Linking  module alias...
Building module autoattach...
Linking  module autoattach...
Building module autocycle...
Linking  module autocycle...
Building module autoop...
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.9/README.Bugs> for instructions.
Makefile:131: recipe for target 'autoop.o' failed
make[1]: *** [autoop.o] Error 4
Makefile:121: recipe for target 'modules' failed
make: *** [modules] Error 2
bnc@landslyde:~/znc-1.7.1$
===============================================================
That's all I have.
I'm on Debian 8 (ramnode.com VPS). This is a fresh install of the OS.
I added these files, found listed here:   https://wiki.znc.in/Installation
build-essential
libssl-dev
libperl-dev
pkg-config
libicu-dev
And then it locked down on me @ make.

Not sure why your editor crossed out the text in my post. It wldnt let me fix it either.

Reposting your code bits in code format, because those strikethroughs are horrendous (it's the ~ characters in line turning into strikethroughs):
bnc@landslyde:~/znc-1.7.1$ ./configure
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=c++11... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for grep that handles long lines and -e... /bin/grep
checking for a sed that does not truncate output... /bin/sed
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking whether the -Werror option is usable... yes
checking for simple visibility declarations... yes
checking for git... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking whether compiler predefines _FORTIFY_SOURCE... no
checking for getopt_long in -lgnugetopt... no
checking for lstat... yes
checking for getopt_long... yes
checking for getpassphrase... no
checking for clock_gettime... yes
checking for tcsetattr... yes
checking for library containing dlopen... -ldl
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking whether getaddrinfo() supports AI_ADDRCONFIG... yes
checking for openssl... yes
checking whether openssl is usable... yes
checking whether zlib is usable... yes
checking for icu-uc... yes
checking for Qt5Network >= 5.4... no
checking for GNU make... /usr/bin/make
configure: creating ./config.status
config.status: creating Makefile
config.status: creating znc-buildmod
config.status: creating man/Makefile
config.status: creating znc.pc
config.status: creating znc-uninstalled.pc
config.status: creating modules/Makefile
config.status: creating include/znc/zncconfig.h

ZNC 1.7.1 configured

prefix: /usr/local
debug: no
ipv6: yes
openssl: yes
dns: threads
perl: no
python: no
swig: not needed
cyrus: no
tcl: no
charset: yes
zlib: yes
run from src: no

Now you can run "make" to compile ZNC
bnc@landslyde:~/znc-1.7.1$ make
Packing man page znc.1.gz...
Packing man page znc-buildmod.1.gz...
Building module admindebug...
Linking module admindebug...
Building module adminlog...
Linking module adminlog...
Building module alias...
Linking module alias...
Building module autoattach...
Linking module autoattach...
Building module autocycle...
Linking module autocycle...
Building module autoop...
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-4.9/README.Bugs for instructions.
Makefile:131: recipe for target 'autoop.o' failed
make[1]: *** [autoop.o] Error 4
Makefile:121: recipe for target 'modules' failed
make: *** [modules] Error 2
bnc@landslyde:~/znc-1.7.1$

This is a classic Out Of Memory error; your system ran out of available RAM and the offending process was terminated.  How much RAM does that VPS have?

RAM / VSwap
128 / 64 MB

RamNode 128MB OpenVZ VPSes are not powerful enough to do a ZNC compilation.
A long time ago, you could utilize a Debian repository I used to run for this.  Unfortunately, at this point, you're stuck using whatever's in the Debian repositories for your release (unless someone else puts up a Debian repository with newer ZNC)

I have znc running on one of those vpses (I have 3 of them).  I remember (now) there was something special you had to do to get it to install. But it can be done. I'll find that and post back here.

This worked on the 1.6.x versions:
./configure --disable-optimization CXXFLAGS="--param ggc-min-expand=2 --param ggc-min-heapsize=20000"
But not on the 1.7.x

Except on RamNode OpenVZ 128s, @DarthGandalf, theres something that prohibits putting local swap file space on those.  Tried it myself and it still doesnt work (I have a few 128s as DNS NameServers)

teward: That is because you cannot mount anything when using an OpenVZ VPS, from any provider, including additional swap.  This limitation translates further into being unable to utilize things like sshfs .. quite annoying, but a known limitation of OpenVZ.  KVM wouldn't have this problem.

@magnum7385 yes, I know this.  I was making a statement in follow up to DarthGandalf that an OpenVZ RamNode VPS as in use in this initial bug cant have additional swap mounted is all.


准确率和召回率的计算有接口吗

Hi, thanks for your interest.  The used coco-style evaluation has the APIs for recall and precision, as shown in pycocotools.
You can use the generated json prediction file and GT json to evaluate with pycocotools. Besides, you can also modify the coco_eval.py here, which may be a little bit complicated.
https://github.com/CityU-AIM-Group/SIGMA/blob/d8265ac8ec0e74ef84298f25cae532d4fe67302e/fcos_core/data/datasets/evaluation/coco/coco_eval.py#L52


Implement block data storage and optimize ClickHouse queries

#37  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @iuwqyir and the rest of your teammates on  Graphite


add wait limit

add wait or sleep flag
fcat -p 1000-2000 -w 2
waits 2 seconds before spinning up next port

added to v 0.1.3


Add possibility to add custom certificates

Sometimes it may be useful to have custom certificates imported into the system cert store.
Ideally, this should happen at image startup.

Added to the current development branch. Will be part of release 6.6.0-b3


Rename DataFrame Sort methods to OrderBy

This matches more closely with Linq methods that .NET developers are used to.
https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.orderby
https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.orderbydescending

@eerhardt Just curious, is anything else needed for this? I can work on any updates if they are needed.

I don't think anything else is needed for this. #2814 resolved this. Closing.


Generic book description

Needs a lil' refactoring. Also image carousel/image not done for book.

Branch may need to be nuked. Probably best to create a new branch off of master and copy paste all relevant changes.

Branch may need to be nuked. Probably best to create a new branch off of master and copy paste all relevant changes.

@LukeSlev any objections?


⚠ XRAY 🇸🇬 Singapore SGD 1 has degraded performance

In 38f3d59, XRAY 🇸🇬 Singapore SGD 1 (https://sgx-3.openv2ray.com/) experienced degraded performance:

HTTP code: 200
Response time: 6962 ms

Resolved: XRAY 🇸🇬 Singapore SGD 1 performance has improved in 3758a41.


Final group capstone: set up your Kanban board

4 members
GitHub project

Hi @Somdotta07, @od-c0d3r, @Kingstalux, @mckent05,
In my opinion, your project is complete!
Good luck! 🎉
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.


Enable dependabot

@thomaseizinger made you admin on the repo. Would you mind configuring this how you see fit? Probably faster than me doing it!


Decision Trees

Alright thank you. When I'm free I'll review and get back to you

I just checked this out, its good, but you missed the naming convention. The search space / ranges are supposed to have a '_space' suffix attached to it. For example, splitter: Iterable[str] = ("best", "random") ought to be splitter_space: Iterable[str] = ("best", "random")

I just checked this out, its good, but you missed the naming convention. The search space / ranges are supposed to have a '_space' suffix attached to it. For example, splitter: Iterable[str] = ("best", "random") ought to be splitter_space: Iterable[str] = ("best", "random")

I have corrected this now.


classRegex not working with PHP files.

Thank you for making this package.
I have the following classRegex I use with the tailwind extension:
"tailwindCSS.experimental.classRegex": [
    "class\\(([^)]*)\\)",
],

This works great in my Laravel blade PHP files.
However, I tried using the headwind class regex and it doesn't work:
"headwind.classRegex": {
    "php": "class\\(([^)]*)\\)",
},

The tailwind classes are never sorted. Any tips on how I can make this work?

Nevermind it works, I just had to reload VS Code for it to kick in.


Running Detect and Feed Task on the same core

Can you set these two tasks to run on the same core?    I have tried either both are on core 0 or core 1, but to no avail.
xTaskCreatePinnedToCore(&feed_Task, "feed", 8 * 1024, (void*)afe_data, 5, NULL, 0);
xTaskCreatePinnedToCore(&detect_Task, "detect", 8 * 1024, (void*)afe_data, 5, NULL, 1);

I've tried it, set them on the same core, it ok.

You are right.  I got it to work!


Updated the curl link

the link has changed to -> https://dl.bintray.com/rexray/rexray/install

@VinayKumarKnol Thanks.
It would be nice if this could be merged ;)


Cleaned up duplicate i18n code

Changes proposed in this pull request:

Move duplicate code to initialize the i18n system to i18n.js so it can be used by the index.vt, preferences.vt, and project.vt templates.
Updated controller.js to include i18n.js in the script bundles for each template.
Added check to compare the browser's language to the one returned by the load-language command, and print a warning if they are different.  Requested in Issue #5118.

For main/webapp/modules/core/scripts/util/i18n.js
The older navigator.userLanguage only applies (AFAICT) to the deprecated Internet Explorer (IE), so we should probably remove.
The newer navigator.languages (plural) exists so we should likely add it and use the first (primary?) language.
Example:
// Get document language code...
//    navigator.userLanguage  removed, IE Only
var lang = (navigator.language || navigator.languages[0]).split('-')[0];
...

The older navigator.userLanguage only applies (AFAICT) to the deprecated Internet Explorer (IE), so we should probably remove.

@AtesComp,  I wasn't sure if OpenRefine still supported IE, but I just checked the documentation, and it says IE is not supported. (Ref: https://docs.openrefine.org/manual/installing#compatible-browser )
So I will remove the navigator.userLanguage check.
For navigator.languages ,  if the browser has navigator.languages, wouldn't they have set navigator.language? That seems like an unnecessary fallback.

@wetneb, I removed the duplicate code in extensions as well.


Rotorz Conflicting if already in project

https://www.reddit.com/r/Unity3D/comments/4oifbv/custom_icons_for_folders_in_project_view_easy/d4eqdbr

This is awesome! One request, please move Rotorz's Reorderable List into a subfolder of your main folder, as well as change the namespace so it doesn't conflict with any existing installs of Rotorz's plugins.

Hey that's me!
To add to this, I have Rotorz Tile System installed which includes a copy of Reorderable List in Rotorz/Common/, which uses the space Rotorz.Common.ReorderableList, but the newer versions use only Rotorz.ReorderableList. Having both in one project breaks compilation.
For now, I've just worked around it by editing your source to use the Rotorz.Common.ReorderableList namespace. Not sure what the best permanent fix would be.

Changed namespace for Rotorz reorderable list, to avoid conflicts with existing installs of Rotorz plugins.
b3e3a718f5c7af422dd4740d67052bb4867d414a


Development option box swap

Okay, so I wanted to do these in separate commits, but then I had four commits up and it is maybe easier to view these all at the same time.

Login Links Functionality
Ephemeral Key Functionality
The API Fix
The Option and Box Swap

4 pull request, not commits.  Anyway, just check this out when you can and it'll fix your api breakage this weekend when it gets run.

Thanks for this, will merge. Managed to catch covid over the holidays so haven't made any progress on the experiments I was working on. Thanks again for your work on this!

@erichCompSci out of curiosity, what was the motivation for Switched Box and Option around?

@imalsogreg Some of the fields recursively reference each other.  I think I remember APIError being one.  If you remove the Option<Box<>> to Option<> you will see this problem come back and can easily identify them.
The problem with this in Rust is that the compiler then builds an infinitely sized object.  This is a well understood problem and you can find better descriptions in Rust Linked List tutorials.
Why did I change the Box<Option<>> to Option<Box<>>?  Mostly for some ergonomics reasons.  Namely, there are some types (like CreateAccountCapabilities) which don't have defaults or new implementations.  This means you have to write out each inner type.  This is annoying but it's even more annoying when each empty type is a Box::new(None) rather than None.
On top of that matching is also a little weird.  Done Box<Option<>> it looks like:
if let Some(thing) = *var {
}
as opposed to:
if let Some(thing) = var {
}
The second seems to me more natural, but that's a personal preference thing and a little more in line with what I'm seeing in other crates.  Hence the switch.

Thanks very much for the explanation :) after bumping our version of async-stripe to HEAD at work I saw I needed to add a ton of Boxs. If you have to break circular references, yep, makes sense, not much other way around it.


Pods with error status after deploying testkube with kustomize

Describe the bug
After deploying helm chart with kustomize, multiple pods fail. This does not seem to impact functionality of testkube, but seem to be including tests which failing is irritating. This might not be limited to deploying with kustomize.
To Reproduce
Steps to reproduce the behavior:

Create yaml.file:

---
kind: Kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
namespace: default

helmCharts:
- name: testkube
  namespace: default
  releaseName: testkube
  repo: https://kubeshop.github.io/helm-charts
  version: 1.11.220

In directory of yaml file, run kustomize build --enable-helm . | kubectl apply -f -
Multiple pods throw error:

testkube-api-server-test-connection: wget: can't connect to remote host (xx.xx.xxx.xx): Connection refused
testkube-operator-test-connection: wget: bad address 'testkube-operator:80'
webhook-cert-patch: Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work. Error: no secret with 'webhook-server-cert' in 'default' {"err":"secrets \"webhook-server-cert\" not found","level":"info","msg":"secret default/webhook-server-cert does not exist","source":"k8s/k8s.go:348","time":"2023-05-26T08:44:22Z"}

Expected behavior
No failing pods on first install
Version / Cluster

Which testkube version? 1.11.220
What Kubernetes cluster? colima
What Kubernetes version? v1.27.1+k3s1

To add to this, after deployment the pods of completed jobs are not deleted, e.g. webhook-cert-create and path, mongodb-upgrade etc. Might it be reasonable to add a ttl to the jobs?

hi @f-helm!
Apologies for a late response.
We have added TTL setting for our k8s jobs which you can also update to the value you need. Please upgrade to 1.12.2 version of the helm chart and check ttlSecondsAfterFinished in the values.yaml file.
As for testConnection pods you may disable them in the values.yaml file, except for the testkube-nats-test-request-reply pod which we cannot switch off as we rely on a third-party NATS helm chart that do not provide this option.
Please try and let us know in case of any question or issues.

hi @f-helm!
Have you tried adding TTL and disabling testConncetion pods?

Closing for now. Please let us know in case of any issues.


Capture rsync output to display in Action Summary / PR Comments

Idea for enhancement:
I haven't found a way to capture the value of $RSYNC_OUTPUT beyond the context of the command. I want to display the rsync output when a PR is opened; I run it using the --dry-run option to understand which files are going to be synchronized, so [me thinks] it could be a good idea to be able to expose the result to the greater GitHub env.

Example https://github.com/easingthemes/ssh-deploy/blob/main/README.md#usage

Thanks. It seems this is a no-issue. Haven't had the time to make it work, but I trust this 😄

Thanks. It seems this is a no-issue. Haven't had the time to make it work, but I trust this 😄

Hey @juanramollino. Did you ever work out how to do this? I’m also trying to pass $RSYNC_STDOUT to a subsequent action (Slack), but I can’t work out how. All the examples I’ve seen for capturing the output from an action use run in conjunction with $GITHUB_ENV, but I can’t see how to do that with this action.

Thanks. It seems this is a no-issue. Haven't had the time to make it work, but I trust this 😄

Hey @juanramollino. Did you ever work out how to do this? I’m also trying to pass $RSYNC_STDOUT to a subsequent action (Slack), but I can’t work out how. All the examples I’ve seen for capturing the output from an action use run in conjunction with $GITHUB_ENV, but I can’t see how to do that with this action.

Sadly, not. I had to move on to other things, and no one else (but me) complains about the lack of good report in GitHub 😛


ArrayVariable Not Accepting 2+ Dimensions

from gpkit import Variable, VectorVariable, ArrayVariable, units, SP, enable_signomials
import numpy as np
enable_signomials()

Np = 5
N = Np-1

y             =    VectorVariable( N,        "y",          "m",      "Spanwise Coordinate"                        )
z             =    VectorVariable( N,        "z",          "m",      "Vertical Coordinate"                        )
y2            =    VectorVariable( Np,       "y2",         "m",      "Spanwise Coordinate"                        )
z2            =    VectorVariable( Np,       "z2",         "m",      "Vertical Coordinate"                        )
grad_phi      =     ArrayVariable( [N,Np,2], "grad_phi",   "m/s",    "Phi Gradient caused by CW Vorticies"        )
Di            =          Variable(           "Di",         "N",      "Total Wing Induced Drag"                    )

Wing = SP(Di,[[ ((y[i]-y2[j])**2 + (z[i]-z2[j])**2)*grad_phi[i,j,1] >=  (z[i] - z2[j]) for j in range(1,Np)] for i in range(1,N)])

is returning:

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-2-83c67c89116d> in <module>()
     14
     15
---> 16 Wing = SP(Di,[[ ((y[i]-y2[j])**2 + (z[i]-z2[j])**2)*grad_phi[i,j,1] >=  (z[i] - z2[j]) for j in range(1,Np)] for i in range(1,N)])

IndexError: too many indices for array

@bqpd is this what you meant by ArrayVariable is the same as VectorVariable?

Nope. I'll take a look.

I like it this way because I can go up my list and quickly ascertain which of my quantities are what based on the whitespace.  Cool tip though, thanks.

This works now:
from gpkit import *
import numpy as np
enable_signomials()
disable_units()

Np = 5
N = Np-1

y             =    VectorVariable( N,        "y",          "m",      "Spanwise Coordinate"                        )
z             =    VectorVariable( N,        "z",          "m",      "Vertical Coordinate"                        )
y2            =    VectorVariable( Np,       "y2",         "m",      "Spanwise Coordinate"                        )
z2            =    VectorVariable( Np,       "z2",         "m",      "Vertical Coordinate"                        )
grad_phi      =     ArrayVariable( [N,Np,2], "grad_phi",   "m/s",    "Phi Gradient caused by CW Vorticies"        )
Di            =          Variable(           "Di",         "N",      "Total Wing Induced Drag"                    )

Wing = SP(Di,[[ ((y[i]-y2[j])**2 + (z[i]-z2[j])**2)*grad_phi[i,j,1] >=  (z[i] - z2[j]) for j in range(1,Np)] for i in range(1,N)])

I think there's a units error in what you posted, though.

Yea, I see that.  I'm tracking that down.  Problem is that very few of these have meaningful physical units so I'm deriving them mathematically...

@bqpd, wow, you blindly passed all but one of my aspirational tests for this in 90090e118bd0d7ca50c5c3f415cc04e9633a92de.
There's a remaining failure on test_sum -- should I open a new ticket for that? (same issue will likely apply to prod and possibly other functions not currently being tested)

Sounds good!


pip with GPU option installs to .local instead of conda environment path

How you are using LightGBM?

LightGBM component:  Python package
Environment info

Operating System: Ubuntu 20.04.1
CPU/GPU model: HPC cluster with AMD Zen-2 CPUs and NVIDIA Pascal GPUs
CMake version: 3.14.0
Python version: Anaconda 3.8

LightGBM version or commit hash: 3.0.0

Steps to reproduce

pip install lightgbm
--install-option=--gpu
--install-option="--opencl-include-dir=/usr/local/cuda/include/"
--install-option="--opencl-library=/usr/local/cuda/lib64/libOpenCL.so"
--install-option="--boost-include-dir=/usr/include/boost/"
--install-option="--boost-librarydir=/usr/lib/x86_64-linux-gnu/"
lib_lightgbm.so will be under ~/.local/lib/python3.8/site-packages/lightgbm/ instead of the actual conda environment path.

We do not manipulate installation paths. It is definitely pip or/and conda issue. I believe your default pip comes from system folder instead of conda's one. Please run commands and see
which python
which pip

BTW, why do you need a separate Python 3.8 installation along with conda on your machine?


Fix naming for RStudio Server on rhel flavor

This Pull Request attends to change the name of R Studio to R Studio Server in all possible changes where applicable.
Note: It doesn't include changes on the rest files since will flow in downstream through the upstream PR https://github.com/opendatahub-io/notebooks/pull/407

/cherrypick release-2023b


sort order of threads from debug adapter is not maintained

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

VS Code Version: 1.58.0

From #5830 it seems that the sort order of the threads in the call stack view are determined by the debug adapter. However, if there is a new thread that is added, it is simply added to the end of the list of threads, no matter where it was put in the results list.
Example:

New thread added, 3rd in the list:
2021-07-13T11:31:44-04:00 debug layer=dap [-> to client]{
"seq":0,
"type":"response",
"request_seq":25,
"success":true,
"command":"threads",
"body":{
"threads":[
{"id":1,"name":"* [Go 1] main.deadlock (Thread 28692229)"},
{"id":17,"name":"[Go 17] runtime.gopark"},
{"id":18,"name":"[Go 18] main.deadlock.func1"},
{"id":2,"name":"[Go 2] runtime.gopark"},
{"id":3,"name":"[Go 3] runtime.gopark"},
{"id":4,"name":"[Go 4] runtime.gopark"}
]
}}
It is added to the end of the list of threads:

Sorry for the slow response, I was on vacation.
Thanks for reporting this issue and for creating a PR that tackles it.
The PR also looks good, however this week we are in the endgame thus we are not accepting new code, and I will probably merge this in start of next week. Thanks!


navigator.epubReadingSystem is not available for the publication

globals.js states:

This is default implementation of reading system object that will be available for the publication's javascript to analyze at runtime.

However, I can't access the epubReadingSystem object from my publication, unless I do something like this in the web inspector:
<iframe>.contentWindow.navigator.epubReadingSystem = navigator.epubReadingSystem;

Is that with one of Readium's own native application launchers (iOS, OSX, Android), or with Readium's own Chrome extension, or cloud / web reader?
Or is that with your own application?
I ask because the navigator.epubReadingSystem injection method is highly-dependent on the target platform (due to web view / web browser restrictions).

@danielweck It was in our host app. I just checked with the SDKLauncher-iOS and it seems to inject the epubReadingSystem through RDPackageResourceConnection.
Unfortunately when I integrated Readium, RDPackageResourceConnection was part of the launcher and I kept my own copy until today.
Thank you for you help, closing the issue!


Fix broken links in homepage

@gautierronan the links are a bit random no? (either broken or unrelated)


Use GetResultDirectory in Revision

Also:

Use Revision constructor for _add_revision in Results
Fix errors in ComputeChannelSeparation.py and ComputeProtectionLevels.py
Add some logging output to EMIT API import

@maxcapodi78 @MaxJPRey I'm not sure who to ask about this, but the unit tests are timing out. It seems to be happening on non-EMIT tests, somewhere near the end, but that's all I can tell from the limited output shown. Is this a known, pre-existing issue with the unit tests?

@PipKat - thank you for the feedback. Do you want to review the updates and approve before this is merged?

@maxcapodi78 @MaxJPRey I'm not sure who to ask about this, but the unit tests are timing out. It seems to be happening on non-EMIT tests, somewhere near the end, but that's all I can tell from the limited output shown. Is this a known, pre-existing issue with the unit tests?
I had two timeout in a row and I've just started a 3rd run.

@myoung301 solved. It was due to an other modifications from an other PR.


how to disable all keymaps?

Added the ability to skip setting keybinds in https://github.com/EvWilson/spelunk.nvim/pull/28, setting the bind value to 'NONE' will skip binding the key entirely.
Docs updated in https://github.com/EvWilson/spelunk.nvim?tab=readme-ov-file#installationconfiguration.
Thank you for the feedback! Let me know if there's anything else I can do to help here.


Update MST

:tada: This PR is included in version 0.2.4 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


fixes for reset issue

Couple of issues

Pouchdb  promises were native promises instead of bluebird based. This is due to the fact we initialize window.Promise after requiring pouchdb. Reordered initialization to generate the right promise
Unload event would trigger saving the scripts again. Guard against the reload.

Fixes https://github.com/Microsoft/pxt/issues/804

May have effected reset functionality https://github.com/Microsoft/pxt/issues/902


Generate content of the knowledge base index page

The PR is about making it easier for a contributor to add a new item to the knowledge base documentation. The motivation is also to make it easier to review the PRs.
What has been done

I added meta-data in the tutorials, demos, and tips pages with:

A title,
a short description,
a category among tutorials, demos, or tips
a type: among code, video, or article
some data-keywords made of keywords used to filter the lists
a short-description ideally made of less than 80 characters
an img with a relative path to the main image

I created a new step to generate the knowledge base index page from a template. It populates the
three lists of tutorials, demos, and tips. Each item in the lists is generated from the meta-data.
The step also generates each index page for tutorials, demos, and tips.
The step checks if there are some missing meta data.
I removed the index pages generated from git and added them to git ignore.

What could be done in the future

Generate the filter lists.
Automatically populate the mkdocs.yml file to populate the navigation panel.
Add a ranking capability to sort the list.
Add checkers on each item content to verify some basic rules like titles, links, etc.
Automatically enforce a common structure for items.

We are thinking of letting contributors add demos to our documentation by itself. This PR would be great to achieve this


5.1.3p1+ & Samsung Note 4: Eyes are misscrossed in build

Hi.
What the problem?
All setting are default as in CardboardMain prefab
Case 1 If i'm using Editor + Unity Remote with Note 4 everything is ok, picture is nicely focused in any Cardboard (2014 & 2015)

Case 2 But after build for Note 4 (android 5.1.1) picture is deformatted (looks like eyes focus is wrong or like left eye picture is on right half of the screen and right eye picture on left side of the screen). Other devices are ok.
How it's looks like?
You can see that in build pictures are fullscreen, but via Unity Remote pictures are scaled down.
Build
Editor via Unity Remote
How to reproduce it?
All setting are default as in CardboardMain prefab
Here is example project sources and build apk file
https://drive.google.com/folderview?id=0BzKVA--Bto53ZUhFTmd6UHF4OUE&usp=sharing

We have been getting reports that Unity 5.2 is returning different DPI values than Unity 5.1 does.  Can you try with Unity 5.1 to see if this is the same problem?

Same situation at Unity 5.1.3p3. Pictures are the same as in my first post. Is this bug successfully reproduced on your devices?

Checked Screen.dpi value.

Unity 504f1 =527.
Unity 521f1 =640
Unity 513f1 =640

https://unity3d.com/unity/whats-new/unity-5.2.1 (IMPROVEMENTS section)
"Android: On some devices Screen.dpi returns more accurate values."

Ah, so the change in how DPI is reported started before 5.2, then.  This is going to be fixed in an upcoming SDK release:  we're going to get the DPI directly from Android (or iOS).  Unity's DPI value probably makes sense from a UI layout perspective, but we need the real DPI because we use it to figure out the actual physical screen size.

Looks like this, yep. So current latests compatible version with Cardboard plugin is 5.1.3p1. Any ETA about upcoming SDK release?

To answer your earlier question, yes we have started seeing this on devices here, after upgrading to recent versions of Unity.
No, I'm not allowed to give dates on releases.

Got it. Sad situation for developers who are using something like Unity Networking (new in 5.2) and Cardboard :)

Pull request with temporary fix https://github.com/googlesamples/cardboard-unity/pull/94

This should be fixed in the 0.6.0 SDK.

I am still getting this "crossed eyes" problem with some devices:
Motorola Moto X running Android 5.1
Sony Xperia Z3 Compact running Android 5.1.1
Seemed to work ok on:
Nexus 6P running Android 6.0
Anyone else still having problems with left and right images seeming to be crossed?

Also, even using the unity emulator, with screen size set to "nexus 5",  images look crossed to me, but ok when emulated screen size set to "nexus 6"


jit new or jit log for a post without a explicit title

We can use this for 'just another' log entry for a project.
It can maybe get a auto generated title ${project-code}-${log-sequence-number} that is not rendered in the project timeline view.

Implemented


Finish OSK 2002 P13

Added Lemma digits_sum_ten_mul with proof.
Added proof of Lemma digits_sum_ten_pow_mul.

Advisable to include .DS_Store in .gitignore as well


[AKS]: Remove support for az aks mesh egress gateway commands

This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
az aks mesh enable-egress-gateway -n cluster-name -g rg-name
az aks mesh disable-egress-gateway -n cluster-name -g rg-name
General Guidelines

[x] Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
[x] Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)
[x] My extension version conforms to the Extension version schema

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

AKS


Track each gateway request & report via grafana with a timestamp

Tracking is covered in https://github.com/n0-computer/iroh/pull/85, need to wrap up the dashboard. Waiting on next release of grafana.

Done, lives in grafana


help!!!Oscillations around global path while using teb local planner?the same in simulation and the real robot!

I believe many people have the same problem with me when using teb,I use the diff drive robot ,the phenomenon in the real robot is worse than in simulation .However, the robot seems to oscillate around the global path. if the robot starts off to the right of the path, then goes to the left, tries to come back and again goes to the right.If anyone can solve it,please help me,thank you very much!

@croesmann

closing this in favor of #92

@liwei0007 Were you able to resolve this ?


Search

Patch (& description) search functionality
NEEDS WORK - UISearchBar sizing

Looks good on first look, @marcussatellite are you gonna test this locally?

Looks good on first look, @marcussatellite are you gonna test this locally?

@sieren My problem is that it doesn’t look good - the UISearchBar is extending where it shouldn’t. Need a bit of advice on that.
Sent with GitHawk


z-index of menu in cards

I tried to change the z-index value of menu__container and mdl-card, but can't fixed it. Did I miss anything?

If you're modifying the components and having problems, that is up to you to find support for. We can only address problems with the core implementation. Try asking for help on StackOverflow and use the material-design-lite tag along with any other appropriate tags.

Don't you think the menu should be on top of other components by default?

Please share a codepen or jsfiddle that reproduces the problem then.
Sorry, from the way your post was worded it sounded like you were just changing the z-index for some reason and it was then not working.

@shenzhuxi I can only guess what’s going wrong here, but the highest z-index won’t help if the container has overflow: hidden, which is the case for cards. Take a look at our text-only template, where we have menus inside cards.

@Garbee Sorry for my description.
@surma Thanks. What's the reason for using overflow: hidden with cards?

Overflow is hidden with cards since if anything expands beyond the containers boundaries we don't want it overflowing and causing glitchy layouts/bad looking UX. The content of a card should fit within the view of the cards and this keeps scrolling within a card from happening (or overflow being visible which is worse.)
So this is a case where the menu should go upwards into the card. Looks like using one of the top modifiers would fix the problem. Assuming the menu isn't large enough to overflow the top of the container.

@shenzhuxi Also, rounded corners. The container has the obligatory border-radius: 2px so the layers inside get cropped appropriately.
However, I totally acknowledge the issue you are running into. For now, I’d say have the menu open up to the top rather then to the bottom (have the card be self-contained).

Looking at the menu spec there is no clear guidance as to how menus in this case should be handled.
I'd suspect that MD would not like the menu overflowing the containers contents in any direction. However I could be wrong. All the examples show menus being used as a part of the primary application's container which means it has all the space it could need.
Marking as something we need some guidance on to understand if this is a core issue or not.

Why not implement the menu as a separate element on the page (direct child of the body tag) and not as a sibling of the element that triggered the menu (button)? It would require removing and appending the dom somewhere else upon opening but that is a simple operation in JS. I have been using qTip2 in my projects for quite some time and I find its way of handling overflowing and overlapping content quite well implemented.

In lieu of getting MD Guidance beforehand, with V2 we will remove the hidden overflow. I'm not seeing any cases where content causes a direct problem here. So if developers are experiencing an issue they can add the overflow themselves.
However, we still urge that menus shouldn't overflow. If it is on the bottom of the container, have the menu open upwards so it has space in the container to operate.

Cards will be reimplemented in #4472 and menus in #4508. Not feasible to fix until then.

For this people, like me, that have the same problem, you can solve this issue using some CSS code:
.mdl-card, .mdl-card__supporting-text {
    overflow: inherit;
}


Implement getAsFileSystemHandle

Regarding getAsFileSystemHandle, I found this issue https://github.com/GoogleChromeLabs/browser-fs-access/issues/22#issuecomment-791636231.
Is there any plan to support this (with types)?
I would use native-file-system-adapter were it not for its lack of typescript types.

I fear this can't be implemented, since there is no polyfill for the legacy approach. Here's a code snippet from an actual project of mine where I deal with this:
import { supported } from 'browser-fs-access';

document.addEventListener('drop', async (event) => {
  event.preventDefault();
  event.stopPropagation();
  const item = event.dataTransfer.items[0];
  if (item.kind === 'file') {
    let blobURL;
    if (supported) {
      const handle = await item.getAsFileSystemHandle();
      if (handle.kind !== 'file') {
        return;
      }
      const file = await handle.getFile();
      blobURL = URL.createObjectURL(file);
      // Do something with `handle`, for example, store it.
      // [Snip]
    } else {
      const file = item.getAsFile();
      blobURL = URL.createObjectURL(file);
       // [Snip]
    }
  }
});

Thanks for the quick response! Just for more context, I'm really just trying to recreate a directory structure found from files, which I believe this library does under the hood by splitting the path and recursively entering directories to find more files. I guess I kinda just have to do that myself, eh?
Can you expound a bit on "no polyfill for legacy, therefore cannot implement"?
From the other library, I see this:
if (globalThis.DataTransferItem && !DataTransferItem.prototype.getAsFileSystemHandle) {
  DataTransferItem.prototype.getAsFileSystemHandle = async function () {
    const entry = this.webkitGetAsEntry()
    const [
      { FileHandle, FolderHandle },
      { FileSystemDirectoryHandle },
      { FileSystemFileHandle }
    ] = await Promise.all([
      import('./adapters/sandbox.js'),
      import('./FileSystemDirectoryHandle.js'),
      import('./FileSystemFileHandle.js')
    ])

    return entry.isFile
      ? new FileSystemFileHandle(new FileHandle(entry, false))
      : new FileSystemDirectoryHandle(new FolderHandle(entry, false))
  }
}

it just uses webkitGetAsEntry for drag drop data transfer to determine whether it should be a file or directory handle.
Is there a reason something like this wouldn't work for browser-fs-access?
Is it because of the reliance on webkitGetAsEntry and the fact that browser-fs-access doesn't provide any underlying implementations for any of the following?
FileSystemHandle.js
FileSystemFileHandle.js
FileSystemDirectoryHandle.js
I'm just trying to future proof my project and improve our folder picker to behave like file drop.
It seems like these two features just need to have two different implementations? One that uses the webkitGetAsEntry for "file drop" and... i guess one that uses getAsFileSystemHandle for "pick directory"?
is there like high level guidance for what to do to support those two? is it just that these two use cases for handling file uploads aren't yet supported as a unified "FileSystemHandle"?

@jimmywarting's library implements the interface of the File System Access (FSA) API as closely as possible, whereas my library provides a higher-level abstraction on top of either the legacy or the FSA implementation. If you want to stay as close to the metal as possible, then I recommend  going with Jimmy's drag & drop solution. As noted in Jimmy's README, storing a fake file handle in IndexedDB or sharing it with postMessage isn't currently possible.


rename README

For your consideration....I want to recommend changing Readme.md to README.md. That's a convention followed by a lot of projects

sure, i made so many dumb conflicts LOL

I just rebased and it looking fine to me! I didn't hit any issues

@Chronocook I think this is good to merge whenever you want


set synology path?

ist it possible to set a synology folder path?

Hey @MeisterTR ,
currently not.
Current version of PhotoStation is the last release.
With DSM 7 there will be a complete version, probably with a different API.
So I will not make futher developments for the current release.
When DSM 7 is released as final version, I will take a look. I hope that Synology will document the API. The current version is undocumented. I've found an independent website with a self-made documentation which I used.
But there is a simple workaround already working:
Create a specialized user in DSM and give this user access only to the albums/folders in PhotoStation which should be shown.
Regards, Ralf


Adding a "Confirm" or "Close" button to the highest bid screen

To exit screen you have to click "Cancel" in the upper left-hand corner. You can't click out by tapping outside the screen. Makes bidders think they're canceling their high bid.

Huh – missed that typo until now:

You are are the ...

The TODO right above it makes it even better :)
https://github.com/artsy/eidolon/blob/0077f8f7457eb57625fb4aefbafad0885cb3b65f/Kiosk/Bid Fulfillment/LoadingViewController.swift#L153-L154


PHPUnit tests failing

Summary
Moving from October to Winter using composer.
138 out of 154 PHPUnit tests failing, all around Pivot.php:
ArgumentCountError: Too few arguments to function Winter\Storm\Database\Pivot::__construct(), 0 passed in /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasEvents.php on line 351 and at least 3 expected
/var/www/html/vendor/winter/storm/src/Database/Pivot.php:45
/var/www/html/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasEvents.php:351
/var/www/html/vendor/winter/storm/src/Database/Model.php:208
/var/www/html/tests/PluginTestCase.php:217
/var/www/html/tests/PluginTestCase.php:110
/var/www/html/plugins/HS/shop/tests/unit/BaseTestCase.php:36
/var/www/html/plugins/HS/shop/tests/unit/ProductAvailabilityTest.php:69
Installed build
Winter 1.1.3
Plugins
Drivers 1.1.3 - October
Currency 1.0.6 Responsiv Internet
Mix Helper 1.0.3 - Ompmega
Twig Extensions 1.2.7 - Vojta Svoboda
User 1.5.4 - Alexey Bobkov, Samuel Georges
Pages 1.4.5 Alexey Bobkov, Samuel Georges
Social Login 1.0.30 - Flynsarmy
Richeditor Snippets 2.1.5 - Tough Developer & inetis
Uploader 1.0.5 - Responsiv Internet
Contact Form 1.52.1 - Jan Vince
Blog 1.5.1 - Alexey Bobkov, Samuel Georges
Wysiwyg Editors 1.2.9 - Anand Patel
Debugbar 2.0.1 - Bedard
Shop 1.5.57 - HS
Resizer 1.2.0 - Aspen Digital
Small GDPR 1.12.1 - Jan Vince
Steps

Follow steps to upgrade with composer from October to Winter at: https://wintercms.com/blog/post/how-start-using-winter-cms
Run phpunit

Try copying the tests folder from the github repo

That's solved it, thanks so much for the quick reply!


Create a "start new question" route

What problem does this pull request solve?
Currently, we hard code a specific page in the add/edit question journey.
Issues with current implementation which this PR addresses:

It will give us problems in the future when the add/edit journey is changed and there is a new page that the user should start from. Lots of different places to update and potential to have missed a redirect/link.

It also doesn't allow us to setup the draft question for a new question (eg. if I were adding or editing a question and decided to "start" again by going to type of answer page, the draft_question would still have all the data for my previous attempt at adding/editing instead of starting fresh. This issue was discovered while working on https://trello.com/c/BV55CFc9/1229-update-save-question-notification-banner-with-calls-to-action-ctas and trying to "Add a new question" from existing "Edit question" page.

Trello card: https://trello.com/c/BV55CFc9/1229-update-save-question-notification-banner-with-calls-to-action-ctas

Things to consider when reviewing

Ensure that you consider the wider context.
Does it work when run on your machine?
Is it clear what the code is doing?
Do the commit messages explain why the changes were made?
Are there all the unit tests needed?
Has all relevant documentation been updated?

The code you've written looks good and it works locally, but I think there's another link to the type-of-answer route that needs changing.
When the user has a draft form with no questions, and they click 'Add and edit your questions', they're taken directly to the new page wizard, starting at the type of answer question. The logic for this is in the form task list service: https://github.com/alphagov/forms-admin/blob/main/app/service/form_task_list_service.rb#L45

@DavidBiddle  good catch.....this is exactly why we need a "start new question" path and proof that we should have done it sooner.


field.Time("updated_at").Default(time.Now)  time.now timezone

my time.now is eg: 2021-08-06 11:12:56.274314815 +0800 CST m=+0.570271470
bu insert to sql time is: 2021-08-06 03:12:56, i want to set 2021-08-06 11:12:56
how to set timezone ?

  field.Time("updated_at").Default(func() time.Time {
      l, _ := time.LoadLocation("America/Adak")
      return time.Now().In(l)
  })

Hey @febelery!
I think it can be done with MySQL driver configuration. Can you please try the suggestion mentioned in https://github.com/ent/ent/issues/1567#issuecomment-842952403 and report if it solves the issue? Thanks

I think this is a MySQL driver configuration issue. Did you try using https://github.com/go-sql-driver/mysql#loc?

thank you, problem solved


concat() very slow when inserting NaN into Dask arrays

What is your issue?
Given the following situation:

a small Dataset with a few variables and a single dimension dim1 , backed by Dask
a large Dataset with a single variable and a single dimension dim1, backed by Dask

When I concat() them along dim1, xarray extends the variables that appear in the first Dataset but not in the second Dataset with NaN. I would expect this to be lazy and to execute almost instantly, but it turns out to be very slow on my machine.
Example code:
import xarray as xr
import dask.array as da
import numpy as np

ds1 = xr.Dataset(
    data_vars=dict(
        var1=('dim1', da.arange(10, dtype=np.float64, chunks=-1)),
        var2=('dim1', da.arange(10, dtype=np.float64, chunks=-1)),
        var3=('dim1', da.arange(10, dtype=np.float64, chunks=-1)),
        var4=('dim1', da.arange(10, dtype=np.float64, chunks=-1)),
        var5=('dim1', da.arange(10, dtype=np.float64, chunks=-1)),
        var6=('dim1', da.arange(10, dtype=np.float64, chunks=-1)),
        var7=('dim1', da.arange(10, dtype=np.float64, chunks=-1))
    ),
)

ds2 = xr.Dataset(
    data_vars=dict(
        var1=('dim1', da.arange(100_000, dtype=np.float64, chunks=20_000)),
    ),
)

print(ds1)
print('var1 chunks:', ds1['var1'].chunksizes)

print()
print(ds2)
print('var1 chunks:', ds2['var1'].chunksizes)

print()
concat = xr.concat([ds1, ds2], dim='dim1')
print(concat)
print('var1 chunks:', concat['var1'].chunksizes)
print('var2 chunks:', concat['var2'].chunksizes)

Output:
<xarray.Dataset> Size: 560B
Dimensions:  (dim1: 10)
Dimensions without coordinates: dim1
Data variables:
    var1     (dim1) float64 80B dask.array<chunksize=(10,), meta=np.ndarray>
    var2     (dim1) float64 80B dask.array<chunksize=(10,), meta=np.ndarray>
    var3     (dim1) float64 80B dask.array<chunksize=(10,), meta=np.ndarray>
    var4     (dim1) float64 80B dask.array<chunksize=(10,), meta=np.ndarray>
    var5     (dim1) float64 80B dask.array<chunksize=(10,), meta=np.ndarray>
    var6     (dim1) float64 80B dask.array<chunksize=(10,), meta=np.ndarray>
    var7     (dim1) float64 80B dask.array<chunksize=(10,), meta=np.ndarray>
var1 chunks: Frozen({'dim1': (10,)})

<xarray.Dataset> Size: 800kB
Dimensions:  (dim1: 100000)
Dimensions without coordinates: dim1
Data variables:
    var1     (dim1) float64 800kB dask.array<chunksize=(20000,), meta=np.ndarray>
var1 chunks: Frozen({'dim1': (20000, 20000, 20000, 20000, 20000)})

<xarray.Dataset> Size: 6MB
Dimensions:  (dim1: 100010)
Dimensions without coordinates: dim1
Data variables:
    var1     (dim1) float64 800kB dask.array<chunksize=(10,), meta=np.ndarray>
    var2     (dim1) float64 800kB dask.array<chunksize=(10,), meta=np.ndarray>
    var3     (dim1) float64 800kB dask.array<chunksize=(10,), meta=np.ndarray>
    var4     (dim1) float64 800kB dask.array<chunksize=(10,), meta=np.ndarray>
    var5     (dim1) float64 800kB dask.array<chunksize=(10,), meta=np.ndarray>
    var6     (dim1) float64 800kB dask.array<chunksize=(10,), meta=np.ndarray>
    var7     (dim1) float64 800kB dask.array<chunksize=(10,), meta=np.ndarray>
var1 chunks: Frozen({'dim1': (10, 20000, 20000, 20000, 20000, 20000)})
var2 chunks: Frozen({'dim1': (10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, ...

The last output line is followed by many more 10s.
This takes about 10-20 seconds to run on my machine. Is there any reason for this being so slow? I would've expected the code to execute almost instantly, such that the NaN chunks are being added lazily, e.g. upon calling compute().
 If run with an earlier version the example gives a single 100,010 chunk for the expanded variables, but now gives size 10 chunking over the whole array. Ideally we want chunks=((10, 20000, 20000, ...),) right?

Looks like this was introduced by dask==2024.8 and the new shuffle algorithm. If run with an earlier version the example gives a single 100,010 chunk for the expanded variables, but now gives size 10 chunking over the whole array. Ideally we want chunks=((10, 20000, 20000, ...),) right?

This does indeed seem more reasonable. I also tested this with an earlier version but found it to be very slow as well. I guess that shuffling is required for the more general concat() case, but in the mentioned case, it should be easy to compute, no? I wrote the following function to circumvent this in my project:
def xr_prefill_concat(datasets: Collection[xr.Dataset], dim: str, *args, **kwargs):
    """Concatenate Dask Datasets by first ensuring they all have the same data_vars"""
    datasets = [ds.copy() for ds in datasets]

    def fill_vars(ds: xr.Dataset, vars):
        missing_vars = vars - set(ds.data_vars)
        if not missing_vars:
            return

        # use chunk size of any data variable
        dataarr_chunksizes = next(iter(ds.data_vars.values())).chunksizes
        if not dataarr_chunksizes:
            raise ValueError("Dataset must be backed by Dask")
        chunk_size = dataarr_chunksizes[dim][0]

        for var in missing_vars:
            ds[var] = (dim, da_wrap.full((ds.sizes[dim],), np.nan, chunks=chunk_size))

    all_vars = set().union(*(ds.data_vars for ds in datasets))
    for ds in datasets:
        fill_vars(ds, all_vars)

    return xr.concat(datasets, dim=dim, *args, **kwargs)

cc @phofl

Thanks for the ping, will take a look

Looking at this again, I'm not sure we can do much to choose the "right" chunksizes here. Each variable is treated independently, so when concatenating var2 we don't have any context to do any different.
Also I can't reproduce, the example takes 1.5s on my machine.

Would something like a chunk size hint on the dask side help here? (Note: this might not be a viable suggestion, haven’t had the chance to look yet)


The workflow does not change to amazon.se with my location set to Sweden

The workflow says "To change Amazon store, set your location in Alfred's General preferences." but it seems the workflow does not recognize Swedish Amazon yet, so I see suggestions from amazon.com instead.

Thank you for the report. This has to be changed in Alfred itself and not the workflow. Keep an eye out on the next release!

Coincidentally, the old API stopped working so it’s been updated. You now pick the store in the workflow itself.

Thanks for fixing it so quickly. Much appreciated!


[FEA] Faster morphology operations via footprint decomposition

Is your feature request related to a problem? Please describe.
I recently proposed a PR upstream in scikit-image that decomposes a binary footprint into a series of smaller footprints: https://github.com/scikit-image/scikit-image/pull/5482. On the CPU this gives large performance improvements when working with larger footprints.
Describe the solution you'd like
This would be good to adapt here as morphology operations on the GPU are currently much faster on small sized elements than large ones, likely due in part to much more favorable memory access patterns.
Describe alternatives you've considered
There are a number of alternative ways to do the decomposition, but this one is straightforward to implement and wouldn't require any changes upstream to CuPy itself.
Additional context
I have not yet benchmarked this approach on the GPU, but am confident it will generally be faster here as well.

scikit-image/scikit-image#5482 was merged upstream, so I think we can proceed with implementing this for cuCIM now. This will provide a substantial improvement in performance for larger footprint sizes.
A followup in scikit-image/scikit-image#6151 adds decompositions for ball, disk and ellipse as well. It is only pending a second review before being merged.


FeatureJob tasks support the choice of persistence or storage in memory

abstract
Jobs of the MTMV category do not require persistence, so we store them in memory
update

Job tasks support the choice of persistence or storage in memory

Show Jobs persisted to memory are only allowed on the master node.

Fix some task deletion logic.

test on my local env

run buildall

run buildall

run buildall

run buildall


duplicate tab: working directory not duplicated

Environment
Windows build number: Microsoft Windows [Version 10.0.19041.450]
Windows Terminal version (if applicable): 1.2.2381.0

Any other software? no

Steps to reproduce

Add a keybinding for duplicate tab to your settings.json
{ "command": "duplicateTab", "keys": "ctrl+shift+d" }
open a new tab in windows terminal and cd to appdata for example
press ctrl+shift+d

Expected behavior

location of duplicate tab is simmilar to other tab (appdata)
Actual behavior

new tab is opened in the starting directory

/dup #3158

Sorry i searched for an existing one but did not find that issue :/