fix the error when cert-mgr-mode set to kubelet

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind bug
/kind documentation
/kind enhancement
/kind good-first-issue
/kind feature
/kind question
/kind design
/sig ai
/sig iot
/sig network
/sig storage
/sig storage

/kind bug
What this PR does / why we need it:

Fix the bug reported by #348
Decouple the GetRestConfig function from certManager

Which issue(s) this PR fixes:

Fixes #348
Special notes for your reviewer:

Does this PR introduce a user-facing change?

None

other Note

@qclc Would you upload the detail logs of yurthub startup that check the pr has worked correctly.

Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.9", GitCommit:"94f372e501c973a7fa9eb40ec9ebd2fe7ca69848", GitTreeState:"clean", BuildDate:"2020-09-16T13:56:40Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.9", GitCommit:"94f372e501c973a7fa9eb40ec9ebd2fe7ca69848", GitTreeState:"clean", BuildDate:"2020-09-16T13:47:43Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

OS (e.g: cat /etc/os-release):

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

Startup log:

This is the startup log when yurthub uses hubself mode:
I0705 12:54:01.805059       1 config.go:128] yurthub would connect remote servers: https://apiserver.demo:6443
I0705 12:54:01.806778       1 start.go:68] yurthub cfg: &config.YurtHubConfiguration{LBMode:"rr", RemoteServers:[]*url.URL{(*url.URL)(0xc0004ebf80)}, YurtHubServerAddr:"<IP_ADDRESS>:10267", YurtHubProxyServerAddr:"<IP_ADDRESS>:10261", YurtHubProxyServerDummyAddr:"<IP_ADDRESS>:10261", GCFrequency:120, CertMgrMode:"hubself", KubeletRootCAFilePath:"/etc/kubernetes/pki/ca.crt", KubeletPairFilePath:"/var/lib/kubelet/pki/kubelet-client-current.pem", NodeName:"n116", HeartbeatFailedRetry:3, HeartbeatHealthyThreshold:2, HeartbeatTimeoutSeconds:2, MaxRequestInFlight:250, JoinToken:"p8i95d.xkce3p8zum2h7bvh", RootDir:"/var/lib/yurthub", EnableProfiling:true, EnableDummyIf:true, EnableIptables:true, HubAgentDummyIfName:"yurthub-dummy0", StorageWrapper:(*cachemanager.storageWrapper)(0xc000220380), SerializerManager:(*serializer.SerializerManager)(0xc0002203c0)}
I0705 12:54:01.806899       1 start.go:83] 1. register cert managers
I0705 12:54:01.806944       1 certificate.go:60] Registered certificate manager kubelet
I0705 12:54:01.806967       1 certificate.go:60] Registered certificate manager hubself
I0705 12:54:01.806976       1 start.go:89] 2. create cert manager with hubself mode
I0705 12:54:01.807093       1 cert_mgr.go:214] /var/lib/yurthub/pki/ca.crt file already exists, so skip to create ca file
I0705 12:54:01.807154       1 cert_mgr.go:127] use /var/lib/yurthub/pki/ca.crt ca file to bootstrap yurthub
I0705 12:54:01.807383       1 cert_mgr.go:289] yurthub bootstrap conf file already exists, skip init bootstrap
I0705 12:54:01.807503       1 certificate_store.go:130] Loading cert/key pair from "/var/lib/yurthub/pki/yurthub-current.pem".
I0705 12:54:01.835765       1 certificate_manager.go:282] Certificate rotation is enabled.
I0705 12:54:01.835928       1 cert_mgr.go:412] yurthub config file already exists, skip init config file
I0705 12:54:01.835956       1 start.go:97] 3. new transport manager
I0705 12:54:01.836010       1 transport.go:57] use /var/lib/yurthub/pki/ca.crt ca cert file to access remote server
I0705 12:54:01.836237       1 certificate_manager.go:553] Certificate expiration is 2022-07-03 14:34:57 +0000 UTC, rotation deadline is 2022-05-11 05:51:45.924920369 +0000 UTC
I0705 12:54:01.836312       1 certificate_manager.go:288] Waiting 7432h57m44.08861986s for next certificate rotation
I0705 12:54:01.836320       1 start.go:105] 4. create health checker for remote servers
I0705 12:54:01.839374       1 connrotation.go:145] create a connection from <IP_ADDRESS>:43000 to apiserver.demo:6443, total 1 connections in transport manager dialer
I0705 12:54:01.867103       1 start.go:114] 5. new restConfig manager for hubself mode
I0705 12:54:01.867198       1 start.go:122] 6. new cache manager with storage wrapper and serializer manager
I0705 12:54:01.867412       1 cache_agent.go:68] reset cache agents to [kubelet kube-proxy flanneld coredns yurttunnel-agent]
I0705 12:54:01.868544       1 start.go:130] 7. new gc manager for node n116, and gc frequency is a random time between 120 min and 360 min
I0705 12:54:01.868830       1 gc.go:97] list pod keys from storage, total: 4
I0705 12:54:01.873664       1 config.go:107] re-fix hub rest config host successfully with server https://apiserver.demo:6443
I0705 12:54:01.922436       1 gc.go:125] list all of pod that on the node: total: 4
I0705 12:54:01.922710       1 gc.go:143] gc pod kubelet/pods/kube-system/yurtctl-servant-revert-n116-ssd4x successfully
I0705 12:54:01.922759       1 start.go:139] 8. new reverse proxy handler for remote servers
I0705 12:54:01.922821       1 start.go:148] 9. create dummy network interface yurthub-dummy0 and init iptables manager
I0705 12:54:01.922912       1 gc.go:74] start gc events after waiting 156.23µs from previous gc
I0705 12:54:01.924346       1 config.go:107] re-fix hub rest config host successfully with server https://apiserver.demo:6443
I0705 12:54:01.927500       1 gc.go:163] list kubelet event keys from storage, total: 11
I0705 12:54:01.968879       1 start.go:156] 10. new yurthub server and begin to serve, dummy proxy server: <IP_ADDRESS>:10261
I0705 12:54:01.968915       1 start.go:159] 10. new yurthub server and begin to serve, proxy server: <IP_ADDRESS>:10261, hub server: <IP_ADDRESS>:10267
I0705 12:54:02.132305       1 gc.go:186] gc events kubelet/events/default/n116.168ee1f536cda333 successfully
I0705 12:54:02.132463       1 gc.go:186] gc events kubelet/events/default/n116.168ee1f543020049 successfully
I0705 12:54:02.132580       1 gc.go:186] gc events kubelet/events/default/n116.168ee1f543022fd3 successfully
I0705 12:54:02.132677       1 gc.go:186] gc events kubelet/events/default/n116.168ee1f543024d3d successfully
I0705 12:54:02.132779       1 gc.go:186] gc events kubelet/events/default/n116.168ee1f5495bb60a successfully
I0705 12:54:02.132869       1 gc.go:186] gc events kubelet/events/default/n116.168ee1f54adf9214 successfully
I0705 12:54:02.132987       1 gc.go:186] gc events kubelet/events/default/n116.168ee1f55379cdd2 successfully
I0705 12:54:02.133160       1 gc.go:186] gc events kubelet/events/kube-system/yurtctl-servant-revert-n116-ssd4x.168ee21ee2a28ceb successfully
I0705 12:54:02.133282       1 gc.go:186] gc events kubelet/events/kube-system/yurtctl-servant-revert-n116-ssd4x.168ee21ef6c6d7cc successfully
I0705 12:54:02.133380       1 gc.go:186] gc events kubelet/events/kube-system/yurtctl-servant-revert-n116-ssd4x.168ee21efa8f349b successfully
I0705 12:54:02.133518       1 gc.go:186] gc events kubelet/events/kube-system/yurtctl-servant-revert-n116-ssd4x.168ee21f0746ab87 successfully
I0705 12:54:02.133544       1 gc.go:160] no kube-proxy events in local storage, skip kube-proxy events gc
I0705 12:54:11.647864       1 util.go:232] start proxying: get /api/v1/pods?fieldSelector=spec.nodeName%3Dn116&limit=500&resourceVersion=0, in flight requests: 1
I0705 12:54:11.651170       1 util.go:232] start proxying: get /api/v1/services?limit=500&resourceVersion=0, in flight requests: 2

This is the startup log when yurthub uses kubelet mode:
I0705 12:57:12.614968       1 config.go:128] yurthub would connect remote servers: https://apiserver.demo:6443
I0705 12:57:12.616192       1 start.go:68] yurthub cfg: &config.YurtHubConfiguration{LBMode:"rr", RemoteServers:[]*url.URL{(*url.URL)(0xc00035eb00)}, YurtHubServerAddr:"<IP_ADDRESS>:10267", YurtHubProxyServerAddr:"<IP_ADDRESS>:10261", YurtHubProxyServerDummyAddr:"<IP_ADDRESS>:10261", GCFrequency:120, CertMgrMode:"kubelet", KubeletRootCAFilePath:"/etc/kubernetes/pki/ca.crt", KubeletPairFilePath:"/var/lib/kubelet/pki/kubelet-client-current.pem", NodeName:"n116", HeartbeatFailedRetry:3, HeartbeatHealthyThreshold:2, HeartbeatTimeoutSeconds:2, MaxRequestInFlight:250, JoinToken:"p8i95d.xkce3p8zum2h7bvh", RootDir:"/var/lib/yurthub", EnableProfiling:true, EnableDummyIf:true, EnableIptables:true, HubAgentDummyIfName:"yurthub-dummy0", StorageWrapper:(*cachemanager.storageWrapper)(0xc000690380), SerializerManager:(*serializer.SerializerManager)(0xc0006903c0)}
I0705 12:57:12.616288       1 start.go:83] 1. register cert managers
I0705 12:57:12.616321       1 certificate.go:60] Registered certificate manager kubelet
I0705 12:57:12.616335       1 certificate.go:60] Registered certificate manager hubself
I0705 12:57:12.616344       1 start.go:89] 2. create cert manager with kubelet mode
I0705 12:57:12.617195       1 cert_mgr.go:73] Loading cert/key pair from "/var/lib/kubelet/pki/kubelet-client-current.pem".
I0705 12:57:12.642719       1 start.go:97] 3. new transport manager
I0705 12:57:12.642765       1 transport.go:57] use /etc/kubernetes/pki/ca.crt ca cert file to access remote server
I0705 12:57:12.643677       1 start.go:105] 4. create health checker for remote servers
I0705 12:57:12.646951       1 connrotation.go:145] create a connection from <IP_ADDRESS>:43104 to apiserver.demo:6443, total 1 connections in transport manager dialer
I0705 12:57:12.673190       1 start.go:114] 5. new restConfig manager for kubelet mode
I0705 12:57:12.673219       1 start.go:122] 6. new cache manager with storage wrapper and serializer manager
I0705 12:57:12.673345       1 cache_agent.go:68] reset cache agents to [kubelet kube-proxy flanneld coredns yurttunnel-agent]
I0705 12:57:12.675219       1 start.go:130] 7. new gc manager for node n116, and gc frequency is a random time between 120 min and 360 min
I0705 12:57:12.675393       1 gc.go:97] list pod keys from storage, total: 3
I0705 12:57:12.715593       1 gc.go:125] list all of pod that on the node: total: 3
I0705 12:57:12.715669       1 start.go:139] 8. new reverse proxy handler for remote servers
I0705 12:57:12.715731       1 start.go:148] 9. create dummy network interface yurthub-dummy0 and init iptables manager
I0705 12:57:12.716027       1 gc.go:74] start gc events after waiting 359.45µs from previous gc
I0705 12:57:12.720930       1 gc.go:163] list kubelet event keys from storage, total: 8
I0705 12:57:12.751626       1 gc.go:160] no kube-proxy events in local storage, skip kube-proxy events gc
I0705 12:57:12.760800       1 start.go:156] 10. new yurthub server and begin to serve, dummy proxy server: <IP_ADDRESS>:10261
I0705 12:57:12.760837       1 start.go:159] 10. new yurthub server and begin to serve, proxy server: <IP_ADDRESS>:10261, hub server: <IP_ADDRESS>:10267
I0705 12:57:13.482092       1 util.go:232] start proxying: get /api/v1/nodes?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dn116&resourceVersion=10529909&timeoutSeconds=480&watch=true, in flight requests: 1
I0705 12:57:13.483044       1 util.go:232] start proxying: get /apis/storage.k8s.io/v1/csidrivers?allowWatchBookmarks=true&resourceVersion=1&timeout=9m7s&timeoutSeconds=547&watch=true, in flight requests: 2
I0705 12:57:13.485057       1 util.go:232] start proxying: get /api/v1/namespaces/kube-system/configmaps?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dkube-flannel-cfg&resourceVersion=10529801&timeout=6m25s&timeoutSeconds=385&watch=true, in flight requests: 3

@qclc Would you upload the detail logs of yurthub startup that check the pr has worked correctly.

The detailed log of yurthub startup has been uploaded to the comments.

/lgtm

/approve

/approve


Implement v3.6 of the Bot API

A new version came out yesterday:
https://core.telegram.org/bots/api#february-13-2018
Implement the changes in v2 and v3.

All changes are implemented in v2 and v3.


Warning about Postgres ports being exposed

There should be some documentation or warning about the Postgres ports being exposed (and maybe suggest changing password the postgres password).
I brought the docker compose up to test and got caught out by this issue https://github.com/docker-library/postgres/issues/664. Docker opens up the ports within iptables and combine this with the weak default password. I'm sure others might make the same configuration mistake.
The ports don't actually need to be exposed in the compose file as the other containers use the docker network?

Thanks for reporting the issue. I actually ran into this issue myself over the weekend: https://twitter.com/ukutaht/status/1315280850922156033
How can we fix the Dockerfile so the containers can talk to each other over the local network but the only port exposed to the outside world is 80 or whatever you configure as the webserver's exposed port?

Based on quick look online it seems like we should change port mappings to include localhost <IP_ADDRESS>:5432 and define the exposed port on <IP_ADDRESS>:80

Yeah, that would work; we could change it to bind to loopback ip instead.
However, plausible_db and plausible_events_db don't actually need the ports exposed. Docker compose will create isolated network for the file, and you're using internal network/hostname in the config.
If you wanted to access postgres directly you could run:
docker-compose exec plausible_db psql -Upostgres

I've removed the port exposure from our default docker-compose.yml file in https://github.com/plausible/hosting/commit/891914e9a110e26b198f0764635b373be571468f
Thanks for reporting!


I want to gather a remote docker server metrics，but there is a error？

Error in plugin [inputs.docker]: Error response from daemon

@littlebeer2100 I think this might be a Telegraf issue. Kapacitor does not have an input.docker plugin.


Unexpected colors when converting a Sonic sprite to PNG

The Sonic sprite located in group = 0 and number = 0 (Sonic.sff attached in the zip) has unexpected colors when converting to a PNG using the same convertSpriteDecodedBufferToPng function you use. I expected the same outcome portrayed in the Fight Factory software but got a different one.
The palette data I got is:
{
	index: 2,
	group: 1,
	number: 1,
	colorCount: 65792,
	dataOffset: 2048,
	dataLength: 0,
	buffer: <Buffer 1e 5b 5b 00 00 00 00 ff f6 f6 f6 ff 8f 8f 9e ff ff 00 more bytes>,
	table: [
		[ 30, 91, 91, 0 ],      [ 0, 0, 0, 255 ],       [ 246, 246, 246, 255 ],
		[ 143, 143, 158, 255 ], [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 177, 228, 255, 255 ], [ 98, 202, 255, 255 ],  [ 0, 153, 230, 255 ],
		[ 0, 73, 110, 255 ],    [ 255, 242, 255, 255 ], [ 172, 149, 162, 255 ],
		[ 103, 90, 105, 255 ],  [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 23, 23, 255 ],
		[ 164, 13, 13, 255 ],   [ 85, 7, 7, 255 ],      [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 111, 54, 251, 255 ],  [ 59, 26, 139, 255 ],   [ 27, 7, 76, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 221, 214, 163, 255 ], [ 10, 148, 0, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 249, 216, 200, 255 ],
		[ 235, 153, 115, 255 ], [ 165, 85, 45, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],   [ 255, 0, 255, 255 ],
		[ 75, 77, 99, 255 ],    [ 31, 31, 40, 255 ],    [ 255, 0, 255, 255 ],
		[ 255, 0, 255, 255 ],
		... more items
	]
}

The table data does seem to have the same values as in Fighter Factory, so I am unsure why the end result is different.

Both examples are also attached to the issue.
Before the 1.0.3 update it produced an empty image.
Sonic.zip

Hmmm ok 🤔, picking the first palette when the palette is empty is ont right here.
The previous palette looks ok. I have to guess a logic. Thanks to you, I created a unit test for your previous issue. And I will create another one for Sonic 😅

Hmmm, it sounds like there is different logic between different characters, always tricky.
I have the same issue finding the correct sprite location. While there are some standards, finding the location of the whole body of the in-game character is quite different for some of the characters.
I've included two extra samples that show the difference between Fight Factory and converting the sprite to a PNG. I am not sure if that is the same issue as Sonic, but it might be helpfull.

![Gray_Start](https://github.com/user-attachments/assets/54ba8c46-fc82-47a0-abf2-6d46542943ad)
[Gray_Start[0,0].sff.zip](https://github.com/user-attachments/files/16570614/Gray_Start.0.0.sff.zip)

![Lucilfer](https://github.com/user-attachments/assets/3b3fa48d-d859-42e3-a5a5-d3d149d7b720)
[Lucilfer[0,0].sff.zip](https://github.com/user-attachments/files/16570617/Lucilfer.0.0.sff.zip)

It's not random.
I can also try to understand the source code of IkemenGo, it's not easy (weird variable names, functions and logic).
Thanks for the files, I will try to figure it out.

note: Gray and Lucifer files are v1 SFF, it's another fix

Can you try the version 1.0.4?
For Gray and Lucifer, I will create another version

Version 1.0.4 did not fix Gray and Lucifer for me.
This is how I use the library:
const buffer = readFileSync(path.join(__dirname, `../../test/_chars/Lucilfer.sff`))
const { sprites } = extract(buffer, {
	palettes: true,
	paletteTable: true,
	paletteBuffer: true,
	spriteBuffer: false,
	decodeSpriteBuffer: true,
})

Yes I know. I will create another version

Can you try the version 1.0.5?

Can confirm that 1.0.5 fixes all three characters!


Investigate mismatch output from Triton server and TensorRT-LLM

Hi folk,
Recently, I carried out a test that I'd like to share with all of you.
Hypothesis:
Llama2 int4 weight (weight only) should work all across architecture (SM70, SM75, SM80, SM86, SM89 ,SM90)
Result.
T4 (SM75) int4 TRT-LLM backend produces incorrect output.
T4 (SM75) fp16 TRT-LLM backend produces correct output.
V100 (SM70) int4 TRT-LLM backend produces correct output.
V100 (SM70) fp16 TRT-LLM backend produces correct output.
A10G (SM86) int4 TRT-LLM backend produces correct output.
A10G (SM86) fp16 TRT-LLM backend produces correct output.
A100 (SM80) int4 TRT-LLM backend produces correct output.
A100 (SM80) fp16 TRT-LLM backend produces correct output.
Why is important.
Cloud Service Providers (CSPs) own a large number of T4 GPUs and sell them at a good price. Plus, based on my tests with Llama2-7b int4, it showed a speed of 50-60 tokens each second with a batch size of 1. So, considering the performance and cost, T4 is the best in terms of performance to cost ratio in its category.
My setup step.
T4
For the T4 model, I noticed a weird result when I compared the Triton output and TensorRT-LLM output. In the beginning, my plan was to use the Nvidia T4 to deploy Llama2-7b 4bit with Triton server. To achieve this, I used a particular script to create my model.
make -C docker release_build CUDA_ARCHS="70-real;75-real"

python build.py --model_dir model_weights/models--meta-llama--Llama-2-7b-hf/snapshots/8cca527612d856d7d32bd94f8103728d614eb852 \
               --dtype float16 \
               --remove_input_padding \
               --use_gpt_attention_plugin float16 \
               --use_gemm_plugin float16 \
               --max_output_len 1024 \
               --use_weight_only \
               --weight_only_precision 'int4'\
               --output_dir ./tmp_64/llama/7B/trt_engines/weight_only/1-gpu/

verify output script.
python3 run.py --engine_dir=/code/tensorrt_llm/examples/llama/tmp_64/llama/7B/trt_engines/weight_only/1-gpu/ --max_output_len 100 --tokenizer_dir model_weights/models--meta-llama--Llama-2-7b-hf/snapshots/8cca527612d856d7d32bd94f8103728d614eb852 --input_text "Hello how are you?"

Running the float16 engine ...
Input: "Hello how are you?"
Output: "
 nobody is perfect, but I think I'm pretty close.
I'm a 20 year old guy from the Netherlands. I'm a very open minded person, I like to have fun and I like to make people happy. I'm a very outgoing person, I like to go out and have fun. I'm a very romantic person, I like to give gifts and I like to make people happy. I'm a very car"

Triton input and output.
curl -X POST localhost:8000/v2/models/ensemble/generate -d \
'{
"text_input": "Hello how are you?",
"parameters": {
"max_tokens": 100,
"bad_words":[""],
"stop_words":[""],
"stream": false,
"temperature": 1
}
}'

{"model_name":"ensemble",
"model_version":"1",
"sequence_end":false,
"sequence_id":0,
"sequence_start":false,
"text_output":
"<s> Hello how are you?reso Vid пу пуlitlitlitlitouteouteouterouterouterouterelslitlitouterouterouterouterouterouteribaibaibaibaibaibaasionasion ga gaalandalandaland列列列列列列ovokö roman roman roman roman roman roman roman roman roman roman Roman roman roman Heinrich Roman Roman Heinrich Roman Roman Roman Apple Apple Warner Warner Warner Warner decengoengo bat roman Alc AlcVD->{->{->{->{->{->{->{->{->{->{->{RuntimeRuntimeaml->{amlaml Alc angularjs angularjsanjeVD"}

Report with love ❤ by Mati

Currently, I haven't found any other inconsistencies.
If I have new information, I will let you know.
Mati

I have the same problem.
and I solve by this
https://github.com/triton-inference-server/tensorrtllm_backend/issues/234#issuecomment-1863851491

@yuanphoenix Helpful solution. let's me try.

@yuanphoenix Sadly. It's not work for me.

@matichon-vultureprime
Sorry for replying late.
Have you tried with the latest main branch to see whether the issue still exist?
June

@juney-nvidia Let's my try.

@juney-nvidia
CPU architecture : x_86_64 (G4dn.8xlarge)
CPU/Host memory : size Memory 128GB, Swap 16GB
GPU properties.
GPU name : T4
GPU memory size 16GB
Libraries.
TensorRT-LLM backend hash f51f50ce77f1634e8bdea93f247f39f92313d110
Container used (Option 3) DOCKER_BUILDKIT=1 docker build -t triton_trt_llm -f dockerfile/Dockerfile.trt_llm_backend .
NVIDIA driver version 535.104.12
OS Ubuntu 20.04 IAM ami-0531914ef1f93b99e
LLM Model Llama-2-7b-chat-hf
Reproduction Steps

Build the TensorRT-LLM engine.

python build.py --model_dir model_weights/models--meta-llama--Llama-2-7b-chat-hf/snapshots/c1b0db933684edbfe29a06fa47eb19cc48025e93 \
                --dtype float16 \
                --remove_input_padding \
                --use_gpt_attention_plugin float16 \
                --enable_context_fmha \
                --use_gemm_plugin float16 \
                --use_weight_only \
                --max_batch_size 4 \
                --use_inflight_batching \
                --paged_kv_cache \
                --weight_only_precision 'int4'\
                --output_dir ./tmp_64/llama/7B/trt_engines/weight_only/1-gpu/

Run test without Triton.

python3 ../run.py --engine_dir=/code/tensorrt_llm/examples/llama/tmp_64/llama/7B/trt_engines/weight_only/1-gpu/ --max_output_len 100 --tokenizer_dir model_weights/models--meta-llama--Llama-2-7b-chat-hf/snapshots/c1b0db933684edbfe29a06fa47eb19cc48025e93 --input_text "[INST]Hello how are you?[/INST] "

The response.

/usr/local/lib/python3.10/dist-packages/tensorrt_llm/runtime/generation.py:869: UserWarning: The PyTorch API of nested tensors is in prototype stage and will change in the near future. (Triggered internally at /opt/pytorch/pytorch/aten/src/ATen/NestedTensorImpl.cpp:178.)
  torch.nested.nested_tensor(split_ids_list,
Input [Text 0]: "<s> [INST]Hello how are you?[/INST] "
Output [Text 0 Beam 0]: "Hello! I'm just an AI, I don't have feelings or emotions like humans do, so I can't say that I'm feeling any particular way. However, I'm here to help you with any questions or tasks you may have, so feel free to ask me anything!"

During the inference. I saw VRAM consumption about 7.8GB.
4.
python /opt/scripts/launch_triton_server.py --model_repo /all_models/inflight_batcher_llm --world_size 1

Expected Behavior
Triton should return response like the step 3.
Actual Behavior
[TensorRT-LLM][ERROR] CUDA runtime error in cublasGemmStridedBatchedEx(getCublasHandle(), transa, transb, m, n, k, alpha, A, AType, lda, strideA, B, BType, ldb, strideB, beta, C, CType, ldc, strideC, batchCount, computeType, mAType == CUDA_R_32F ? CUBLAS_GEMM_DEFAULT : CUBLAS_GEMM_DEFAULT_TENSOR_OP): CUBLAS_STATUS_NOT_SUPPORTED


Split parts with FoundationNetworking dependency into its own library

Resolves #76

FoundationEssentials is a concept in SwiftFoundation, not the compiler built-in Foundation. Not sure if it requires bringing in another package.

I can't merge this PR due to several checks failing, but I think these are expected to fail

Yeah, they're expected to fail. Can you update the readme to clarify that we want users to depend on a range? You want to say something like this:

Swift HTTP Types 2.0.0 was released in December 2024. The only breaking change between Swift HTTP Types 2.0.0 and 1.0.0 was moving a small number of values from HTTPTypesFoundation into a new module, HTTPTypesFoundationNetworking. For any users not affected by this change, it's safe to depend on either the 1.0.0 or 2.0.0 series of releases.

To do so, please use the following dependency in your Package.swift:
.package(url: "https://github.com/apple/swift-http-types.git", "1.0.0" ..< "3.0.0"),


Fix “Ok” → “OK” typo

Something that’s been bothering me for months 😉
Thank you for graphiql-workspace! 👍

thx!


Exception messages from a failed REST request are not properly displayed in the response

Describe the bug
The response of a failed REST request with status 422 won't include the description of the actual problem in the response. It only displays the generic status 422, and if you have the stacktrace enabled, the full stacktrace.
This doesn't allow the UI to inform the user what's conceptually wrong with their request
To Reproduce
Steps to reproduce the behavior:

Create an EPerson
Assign them as the only person in a workflow group
Create an item, and assign it to the workflow group
Try to delete the EPerson
You will get a status 422, but don't get the details why the request is not ok unless you enable the stack traces and retrieve the details from the stack traces

Expected behavior
A clear and concise description of the problem should be presented by REST, also when stack traces are disabled.
This problem can be included in the message property of the REST Exception Response.
Related work
This replaces https://github.com/DSpace/DSpace/issues/3045

Keep in mind the feedback listed in this comment.  This should likely be fixed via custom Exception class(es) which return translatable messages.


UDF not removed from Excel Function Wizard after unchecking xll from Addins

First off - this is amazing and a huge milestone for tB. Thanks for this and all you have done thus far.
Tested in Windows 11 Excel 365. After installing and using, then uninstalling, the xll and UDF still shows in the Function Wizard but is not operable - wonder if there is more cleanup that has to be done? I don't have any experience to say this is expected behavior or not. The Function Wizard does clean up after exiting Excel and then reopening. Here is what the Function Wizard shows after uninstalling (unchecking) the xll in Excel Addin dialog:
PS: Those two UDF's you wrote look very useful! On your next go around, can you please add an example of a UDF with more than one input argument? Thx!

Do you have any other XLL addins that do successfully remove their UDFs?
Otherwise I'll just post again in case anyone can help...
		Excel12f(xlfSetName, 0, 1, TempStr12(rgFuncs[i][2]));

is what the SDK examples do, and I don't see anything wrong:
        Dim operFunc1(0) As XLOPER12
        operFunc1(0) = GetXLString12(FuncName2)
        Excel12v(xlfSetName, vbNullPtr, 1, operFunc1)

NOTE: There's bugs specifying the wrong names in the current version but fixing that didn't help.

No I don't - that is why I asked on Discord hoping someone else had experience they could share...

Tested this and it seems to work:
[DllExport]
Public Function xlAutoRemove() As Long
    'Notes:
    'See https://learn.microsoft.com/en-us/office/client-developer/excel/known-issues-in-excel-xll-development#unregistering-xll-commands-and-functions
    'See https://stackoverflow.com/questions/15343282/how-to-remove-an-excel-udf-programmatically
    'See https://learn.microsoft.com/en-us/office/client-developer/excel/xlfregister-form-1
    'See @GromRGB on tB Discord for link to old Excel developer's book
    'From links above, there is a bug in Excel where unregistered UDF's are not removed from Function Wizard
    'The workaround appears to be unregister UDF, re-register UDF as hidden (macro_type = 2), then unregister hidden UDF
    '@GromRGB's link implies unregistering b4 re-registering as hidden is not necessary but stackoverflow link does unregister b4 re-registering

    'First unregister the UDF's
    'Unregister code provided by fafalone:
    Dim xOpers(1) As XLOPER12 'xDll, xFunc
    Dim xRegId(0) As XLOPER12

    Excel12v(xlGetName, xOpers(0), 0)

    xOpers(1) = GetXLString12(FuncName0)

    Excel12v(xlfRegisterId, xRegId(0), 2, xOpers)
    Excel12v(xlfUnregister, vbNullPtr, 1, xRegId)

    xOpers(1) = GetXLString12(FuncRoman0)

    Excel12v(xlfRegisterId, xRegId(0), 2, xOpers)
    Excel12v(xlfUnregister, vbNullPtr, 1, xRegId)

    'Now re-register udf's as hidden (macro_type=2)
    Dim xDLL(0) As XLOPER12
    Dim dummy(0) As XLOPER12

    Excel12v(xlGetName, xDLL(0), 0, dummy)

    Dim func1def(10) As XLOPER12

    func1def(0) = xDLL(0)
    func1def(1) = GetXLString12(FuncName0)
    func1def(2) = GetXLString12(FuncName1)
    func1def(3) = GetXLString12(FuncName2)
    func1def(4) = GetXLString12(FuncName3)
    func1def(5) = GetXLString12("2")
    func1def(6) = GetXLString12(FuncName5)
    func1def(7) = GetXLString12(FuncName6)
    func1def(8) = GetXLString12(FuncName7)
    func1def(9) = GetXLString12(FuncName8)
    func1def(10) = GetXLString12(FuncName9)

    Excel12v(xlfRegister, vbNullPtr, 11, func1def)

    Dim func2def(10) As XLOPER12
    func2def(0) = xDLL(0)
    func2def(1) = GetXLString12(FuncRoman0)
    func2def(2) = GetXLString12(FuncRoman1)
    func2def(3) = GetXLString12(FuncRoman2)
    func2def(4) = GetXLString12(FuncRoman3)
    func2def(5) = GetXLString12("2")
    func2def(6) = GetXLString12(FuncRoman5)
    func2def(7) = GetXLString12(FuncRoman6)
    func2def(8) = GetXLString12(FuncRoman7)
    func2def(9) = GetXLString12(FuncRoman8)
    func2def(10) = GetXLString12(FuncRoman9)

    Excel12v(xlfRegister, vbNullPtr, 11, func2def)

    'Unregister the new hidden functions...

    Excel12v(xlGetName, xOpers(0), 0)

    xOpers(1) = GetXLString12(FuncName0)

    Excel12v(xlfRegisterId, xRegId(0), 2, xOpers)
    Excel12v(xlfUnregister, vbNullPtr, 1, xRegId)

    xOpers(1) = GetXLString12(FuncRoman0)

    Excel12v(xlfRegisterId, xRegId(0), 2, xOpers)
    Excel12v(xlfUnregister, vbNullPtr, 1, xRegId)

    'send alert and clean up

    xOpers(0) = GetXLString12("Bye bye to the tB XLL UDF Demo!")
    xOpers(1) = GetXLInt12(2)

    Excel12v(xlcAlert, vbNullPtr, 2, xOpers)

    Excel12v(xlFree, vbNullPtr, 1, xOpers)

    Return 1
End Function


Write a guide on deploying to CloudFoundry

I've already had success deploying my app to a CF instance. Just thought those working with this type of platform would like a guide on how to do it also.

I've been meaning to do this, but are you volunteering, now?  :)

@combsco you down for writing a guide?! Would be shweeet 😁

@ekryski I can't wait for the Heroku and Digital Ocean guides 😄

@combsco @marshallswain anyone still working on this? If not then I'm going to close as the rest of the core team is unlikely to do this in the near term. Happy to re-open if it comes up again or someone from the community wants to contribute but we're more focused on Heroku.

okay... I'm going to close this. If someone wants to take a stab. Happy to re-open.


POLY_CSS_LINK maybe unused

It seems POLY_CSS_LINK hasn't a purpose. Was this intended for removal from matchers.js?

No, this style is only deprecated in Polymer, so it stays until Polymer finally removes it.


Broken syntax highlighting when splitting constructs over multilpe lines

The bug
When splitting some F# code over multiple lines in a way that the F# compiler permits, Ionide syntax highlighting stops working correctly. It is particularly noticeable because syntax highlighting breaks throughout the entire file.
In particular, I'm facing issues when:

Splitting a qualified function reference over two lines:
Module
    .f

rather than
Module.f

Splitting a record pattern-match in a function parameter over two lines:
let f ({ X = x
         Y = y }) =

rather than
let f ({ X = x; Y = y }) =

Reproduction steps

Clone https://github.com/mattgallagher92/fsharp-syntax-highlighting-bugs.git: git clone https://github.com/mattgallagher92/fsharp-syntax-highlighting-bugs.git
Open the repo: cd fsharp-syntax-highlighting-bugs/
Check out the initial commit: git checkout 44ee9c4f8aaf07cb5facc035581052b32c99e6fc
Open the repo in VS Code: code .
Open MultilinePatternMatch.fs and SplitModuleAndFunctionName.fs and inspect the contents
Notice the syntax highlighting is broken as described in the comments
Close VS Code
Remove generated files: git clean -d -f
Check out the next commit: git checkout e074b183a43513f434ee3f652a711d0ed06d9821
Open the repo in VS Code: code .
Open MultilinePatternMatch.fs and SplitModuleAndFunctionName.fs and inspect the contents
Notice the syntax highlighting works correctly

Expected behaviour
I expected syntax highlighting in the entire file to work when these constructs are split across multiple lines, in the same way that it works when the constructs are on one line.
Screenshots
Qualified function over two lines

Qualified function on one line

Pattern match over two lines

Pattern match on one line

Environment

OS: Windows 10 Pro version 2004
Ionide version: 4.17.0
VSCode version: 1.49.1
dotnet SDK version: 3.1.201
mono / .Net Framework version: n/a

It didn't fit into the nice concise bug report template you gave, but I just want to take the chance to note how awesome this VS Code extension is! The reason I'm raising the bug report is that writing F# without Ionide's lovely syntax highlighting is not a


Data attribute

How I can add data attribute to the button?

@densolomon can you ellaborate? Which button? From which widget? There are two on this package... Let me know and I'll try to help.


RuntimeError: There is not enough GPU video memory available!

I can generate images normally, but when I animate them with animetediff this error appears, I have an RX 6600 8GB, My COMMANDLINE_ARGS= --opt-sub-quad-attention --disable-nan-check --upcast-sampling --no-gradio-queue --precision full --no-half --medvram

Try to reduce the frame number to generate in sd-webui-animatediff extension. Set 8, 8, 8 apply to three main.
If still OOM. Use 12-24GB GPU.


General Suggestions

Hi, this library is very very good, thanks!
I have few suggestions to improve it, cause i see very good potentials on automating scripts and understanding of the app Component Structure.

Public api
You should create a public api of the plugin instead of just command line. This will allow developer todo cool things with the Hierarchy object tree.
Example:
import rch from 'react-component-hierarchy';

const componentPath = path.resolve('mycomponentpath');
rch.tree(componentPath); // @returns components tree Object

Scenario:
I'm working on internationalisation in my application, with react-intl.
Their babel plugin allow me to extract automatically all the translations from the code into a json file. We have a lots translations going on, and file is very big,
I need a way to identify translations for each page within it children components.
rch identify the Component structure just fine but only on command line which doesn't let me consume the object tree to extract the necessary translations from my top level component.

Don't Limit to only redux connected components
In my app i use few library which wrap the React component, ex: redux-form.
The plugin is actually not displaying the children of my redux-form connected component.
Is there a way to let rch to let return the children on any wrapped component?

I'm open to contribute, just guide me on what you would like me to help with.
Thanks again for the great job.

Interesting ideas. I don't think an API would be too hard to expose and could indeed be useful. It could build up the component tree and then the CLI tool could be responsible for showing it in the console.
As far as your second point, thanks for the heads up! It wasn't intentional to limit rch to redux connected components. If you have some example code to work with that would help. rch tries to scan through your source code's AST and find any children of the current component. It does that by either looking through any JSX or by seeing if an import is being used as an argument in a function being applied to the default export. It's possible there might be something avoiding that detection, and an example would help track it down. Thanks for your comments!

Thanks, for considering this,
I worked on the problem number 1, to create a public api. You can see it here: https://github.com/fenos/react-component-hierarchy. If you are happy with it i can make a PR.
Regarding the issue number 2, i'll provide you concrete examples sometime today/tomorrow. Thanks :)

@Surreal9
Project looks great and really simple to use!
One question though:
Why the reliance on default exports? Is it possible/easy to work around this?
(We don't use any default exports, since tooling is better with named exports.)

@redbar0n thanks for the nice comment!
As far as the default export requirement, we just published version 1.1.0 which should allow named exports as well.

@Surreal9
First impressions are always helpful. So here's mine:
I tried it out on our project, and got this:
› rch app/src/App.js
App
├── @expo/react-native-action-sheet/ActionSheetProvider
├── @modules/auth/AuthContext
├── @modules/auth/AuthProvider
├── @modules/onboarding/OnboardingProvider
├── @modules/profile/ProfileProvider
├── app/src/RootNavigator/RootNavigator
├─┬ app/src/RootQuery/RootQuery
│ ├── @modules/auth/LogOutLink
│ ├── @shared/DebugData
│ ├── @shared/ErrorMessage
│ ├── @shared/Loader
│ ├── react-apollo/Query
│ ├── react-native/Button
│ ├── react-native/ScrollView
│ └── react-native/View
├─┬ app/src/VehicleProvider/VehicleProvider
│ ├── @shared/Loader
│ ├── @shared/VehicleContext
│ └── react-apollo/Mutation
├── react-apollo/ApolloProvider
├── react-native/StatusBar
└── react-native/View

(I.e. a small slice of the top of our fairly large component hierarchy).
I'm a little confused on how the output is sorted. It seems to go through the render method from bottom-up, listing out the custom components it comes across. It then seems to list out components from other libraries (react-native, react-apollo etc.), in some predefined order? Maybe just continuing upwards in the file throughout the render method and then the imports?
What I expected initially was that it would do a top-down traversal of the render method.
Speaking of which: Since we're using react-navigation and a StackNavigator in our RootNavigator component, it seems we're out of luck, since RCH only seems to list what it can reach recursively through the render methods. It's be awesome if it would also interpret the StackNavigator definition, which is like:
export const RootNavigator = createStackNavigator(
  {
    Dashboard: {
      screen: Dashboard
    },
    CenterBooking: {
      screen: CenterBookingScreen
    },
    CenterProductInfo: {
      screen: CenterProductInfoScreen
    },
  },
  {
    navigationOptions: { /* ... */ },
    transitionConfig: // ...
  }
);

Ah interesting, yeah so how rch works is by scanning a file for imports and then looking for a JSX tag that uses one of these imports. That import is then considered a 'child' of the scanned file and gets added to the list of next files to be parsed (as well as being added to the output). A recent PR added alphabetical sorting to the output (per depth). We've got some additional logic to attempt to account for HoC's that render their wrapped components by passing them to a function call; which is a bit kludgy.
While this works well for some architectures (ie how we were building apps 2 years ago when this tool was built), the drawback is it doesn't really understand which components are rendered as children of which other components, it basically just assumes a child is one file that is referred by another. I've seen the output for a more recent project, for example, which uses styled-components and it highlights some limitations of this approach as our styled components may be defined in another file but used in the first file, making what should be the child of the styled-component instead a child of the container.
Your case for react-navigation's createStackNavigator would require another custom bit of logic to look for that particular case, similar to what was done to account for react-router's Route component.

Hey John,
Will you or someone else at Black Pixel remove me from the bpxl-labs? I don’t work there anymore.
Thanks,
Rebekah
From: John Arnold
Sent: Wednesday, September 12, 2018 8:02 AM
To: bpxl-labs/react-component-hierarchy
Cc: Subscribed
Subject: Re: [bpxl-labs/react-component-hierarchy] General Suggestions (#5)
Ah interesting, yeah so how rch works is by scanning a file for imports and then looking for a JSX tag that uses one of these imports. That import is then considered a 'child' of the scanned file and gets added to the list of next files to be parsed (as well as being added to the output). A recent PR added alphabetical sorting to the output (per depth). We've got some additional logic to attempt to account for HoC's that render their wrapped components by passing them to a function call; which is a bit kludgy.
While this works well for some architectures (ie how we were building apps 2 years ago when this tool was built), the drawback is it doesn't really understand which components are rendered as children of which other components, it basically just assumes a child is one file that is referred by another. I've seen the output for a more recent project, for example, which uses styled-components and it highlights some limitations of this approach as our styled components may be defined in another file but used in the first file, making what should be the child of the styled-component instead a child of the container.
Your case for react-navigation's createStackNavigator would require another custom bit of logic to look for that particular case, similar to what was done to account for react-router's Route component.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Hey @RebekahWolf ! It looks like you have the repo on "watch", click the "Unwatch" button near the top bar to stop receiving notifications.


Added information about deploying Django projects on AWS and added new file structure for Development_Process for submissions

Added information about deploying Django projects on AWS, Railway, and Vercel
Added a new file structure named ./Topics/Development_Process for submission files
Linked to new information in ./Topics/Development_Process.md
Added title of submission to README.md

Overall an excellent looking submission. It's more than an overview of the topic and more like an actual complete report/article on how the deployment of a Django project on these platforms works.
The table section discussing the pros and cons of each of the 3 deployment options you have chosen is great and easy to understand. However, I have to point out that in the section of the table on security, you seem to have duplicated the Vercel information for both Vercel and Railway (I include a screenshot of it here and a comment on the table section):

All video links seem to be working (they take you to the correct resource) and I appreciate the inline links you have included for basically every section that contain information on the setup and requirements for the specific action you are talking about. It makes the contribution feel very complete and like a one-stop-shop for everything you need on the topic of deployment through Vercel, AWS, and Railway.
Having such a long article, I also appreciate how you included links to each at the top of the file, and how you have made it its own file within a broader directory, which helps keep the structure organized. You have also appropriately updated the readme.
Also, I need you to resolve the conflicts that you now have with main. A PR got merged that changed the structure of Development_Process.md and now you just have to shift your contribution someplace else in the file.
Apart from that, its a very complete and extremely helpful contribution that is very valuable to any team working with Django. Review what I have mentioned here, and I'll merge it.

Fixed the mistake within the Security row of the Advantages vs. Disadvantages table and resolved merge conflicts. Thanks for the detailed feedback Michele!


win10 pear runtime installation error - Export-ModuleMember cmdlet can only be called from inside a module

OS: windows 10
Terminal: windows terminal running in administrator mode
Steps to reproduce:

run npm i -g pear
run pear
run pear run pear://runtime

At this point the pear system status window opens with the "Complete Pear Setup" button.
I click the button, but nothing happens.
I then manually added the %userprofile%\AppData\Roaming\pear\bin path to my system PATH environment variables (after watching the tutorial and understanding that is what the "Complete Pear Setup" button is intended to do.
I then return to the terminal and run pear and receive the error message:
Export-ModuleMember : The Export-ModuleMember cmdlet can only be called from inside a module.
I look at the file the stack trace points to: %userprofile%\AppData\Roaming\pear\bin\pear.ps1 - the contents of said script file:
function pear { & "..\current\by-arch\win32-x64\bin\pear-runtime" }; Export-ModuleMember -Function pear

Any guidance is much appreciated. Thank you.

Thanks, yea windows setup needs some work still. Sorry about that.

fixed


feat(gh): fetch yeoman types from jsdoc

We have added yeoman types to the jsdoc typedef in the ecosystem showcase, i've updated the script
to handle these types

hey @uxkjaer
i have run the script and the only change is to the ui5-middleware-onelogin package,
on the right is the new file.
Is that ok?

i ran the update task quiet a few times today, so maybe already updated?
is this ok?

@uxkjaer ran crawl after merge
newest data is available now


Use ovsdb

This PR changes the way the ovs-cni interact with the ovs.
With the PR we communicate directly via the ovsdb socket file.
This PR will the problem we have when we copy the binaries into the host.

/cc @alonsadan

@phoracek can you please take another look?


[Feature Request] Lock View / Elements

Description
Summary:
Introduce a locking mechanism in Archi to safeguard views and elements, especially in collaborative environments such as CoArchi. This feature aims to prevent accidental modifications or deletions of stable and finalized model components.
Details:
Locking Views:
When a view is locked, it becomes immutable. Users cannot modify or delete the view or any elements contained within it.
Locked views can be unlocked by any user when necessary.
Locking Elements:
A locked element cannot be deleted or modified. However, it can still be moved to another location within the model.
Folder Locking:
Locking a folder applies the lock to all elements and sub-elements within that folder.
Locked folders prevent the movement or modification of their contents unless explicitly unlocked.
Use Case:
This feature helps maintain the integrity of finalized model components, ensuring that no accidental changes or deletions occur. It is particularly beneficial in collaborative modeling environments where multiple users may have access to the same model.
Simplified User Interaction:
Locking and unlocking should be straightforward and accessible through the UI.
Any user with access to the model should be able to lock or unlock views, elements, and folders as needed.
Benefits:
Enhances model stability and consistency by preventing unintended modifications.
Reduces the risk of accidental deletions or changes in shared models, making collaboration smoother and more reliable.

Hi,
That's a feature Phil and I discussed some years ago. I do think it really makes sense for the use-cases you've described.
So I guess we could work on it someday, but we have lot's of things already in the backlog and Phil has been the only one to code for the past years as I have almost no free time (unfortunately), so don't expect it anytime soon.


one_hot not implemented or not working properly

one_hot fails with error RuntimeError: DirectML scatter doesn't allow partially modified dimensions. Please update the dimension so that the indices and input only differ in the provided dimension.
One_hot is used by the popular YOLO algorithms during training
To reproduce:
import torch
import torch_directml
import torch.nn.functional as F

a_tensor = torch.tensor([[ 4,  3, 17,  0,  0],
                         [ 1,  0, 13, 13,  0],
                         [ 0,  0,  0,  0,  0],
                         [ 0,  0,  0,  0,  0]], device='privateuseone:0')

one_hot_codified = F.one_hot(a_tensor, 22)

If it is ran on 'cpu' device, it works as expected as in the following example:
import torch
import torch_directml
import torch.nn.functional as F

a_tensor = torch.tensor([[ 4,  3, 17,  0,  0],
                         [ 1,  0, 13, 13,  0],
                         [ 0,  0,  0,  0,  0],
                         [ 0,  0,  0,  0,  0]], device='cpu')

one_hot_codified = F.one_hot(a_tensor, 22)

print(one_hot_codified_2)

Hi @dlema65, thank you for submitting this issue. While I can't provide a timeline for resolution as the moment, please know that your feedback is valuable to us. We will follow up once we can review this issue.


latest mac os x app shows blank upon startup

as stated, the app shows nothing before/after starting the server

Hi there,
You have to execute the "setup" script before you launch MCS Lite on Mac machine for the 1st time.
"setup" is at the same directory as "mcs-lite-app".
For more detailed instruction, please refer to our user manual.

Chinese version: https://mcs-lite-introduction.netlify.com/zh-tw/mcs_lite_intro/mcs_lite_intro.html#安裝指南
Englinsh version: https://mcs-lite-introduction.netlify.com/en/mcs_lite_intro/mcs_lite_intro.html#installation-guide

Let us know whether this works for you. Thanks!

yes I did
fyi, here's some messages from the terminal
"""
/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleGVA/AppleGVA-11.3.7/Sources/Slices/Driver/AVD_loader.cpp: failed to get a service for display 3
"""
and,
"""
nwjs[37570:10403533] *** WARNING: Textured window <AppNSWindow: 0x7fc473fcd2a0> is getting an implicitly transparent titlebar. This will break when linking against newer SDKs. Use NSWindow's -titlebarAppearsTransparent=YES instead.
module.js:496
throw err;
^
Error: Cannot find module './mcs-lite-app/adminServer'
at Function.Module._resolveFilename (module.js:494:15)
at Function.Module._load (module.js:437:25)
at Module.require (module.js:522:17)
at require (internal/module.js:20:19)
at self.require (:11:26)
"""


[5.3] Handle begin_apply in TempRVO

This is cherry-pick of  (#31063)

Handle begin_apply in TempRVO

A tempobj passed to begin_apply instruction and cannot be modified by it
(is guaranteed and doesn't alias with other inout args) can be optimzed
away.

@swift-ci please test


Pin napalm-base driver

See details in the parent issue napalm-automation/napalm-base#107

Closing via https://github.com/napalm-automation/napalm-junos/pull/55


fedimint client rpc ng

A json only protocol, no objects like in previous rpc.
This will help for new react native and stdio transports.
extracted a new crate that is independent of wasm.
moves more multi federation handling into the rpc backend.

discussion from call: disallow joining same federation multiple times


Transpile to ES5 before publishing npm module by calling build script.

Closes datavis-tech/json-templates#24

@BrerBear Released as https://github.com/datavis-tech/json-templates/releases/tag/v2.3.0
Can you please verify that it works in your desired build environment? Thanks!

react-scripts build system works fine with this update. Thank you!

Excellent! Thanks for your contribution.


Can't test with it/describe.each and fakeAsync

Please provide the environment you discovered this bug in.
https://stackblitz.com/~/github.com/jahusa02/analog-vitest
Which area/package is the issue in?
vitest-angular
Description
When a testfile contains it/describe.each and fakeAsync the tests errors out.
I described the error in this Issue https://github.com/analogjs/analog/issues/841#issuecomment-2110296265|
When I use the patched function (e.g. not importing it via import { it } from 'vitest'), the it.each tests will fail.
TypeError: Cannot read properties of undefined (reading 'withContext')
 ❯ ../../../packages/vite-plugin-angular/setup-vitest.ts:247:31
 ❯ src/lib/+state/effects/add-pending-contract/add-pending-contract.effects.spec.ts:98:6
     96|       { formStateValid: false, contractId: 'foo', satznummer: null },
     97|       { formStateValid: false, contractId: null, satznummer: 'bar' },
     98|     ])(
       |      ^
     99|       'should not post form values if ContractIds are %j',
    100|       ({ formStateValid, contractId, satznummer }) => {
 ❯ _ZoneDelegate.invoke ../../../node_modules/zone.js/fesm2015/zone.js:365:28
 ❯ ZoneImpl.run ../../../node_modules/zone.js/fesm2015/zone.js:111:43
 ❯ ../../../packages/vite-plugin-angular/setup-vitest.ts:41:21

When I importing it, the fakeAsync tests will fail with the mentioned Error: Expected to be running in 'ProxyZone', but it was not found., but the it.each will pass.
Please provide the exception or error you saw
Either

TypeError: Cannot read properties of undefined (reading 'withContext')

or

Error: Expected to be running in 'ProxyZone', but it was not found.

Other information
No response
I would be willing to submit a PR to fix this issue

[ ] Yes
[ ] No

I found a fix for it. Working on PR

In the meantime you could try a dirty patching of the node_modules in postinstall. The change is simple. I don't know how long it will take for the fix to appear in the release. Also, you could find potential missed cases.

1.6.0 contains the fixes

I assume it's the second case where you have the imports of utils?
RN, it's not patched and only globals should be used to work properly.

Well. It works on my repo. However, describe.each is broken. By the same reason 🙃
Will need to make on more PR

Also, I cannot run Vitest freely. Only on a single thread. Otherwise I get segmentation fault on my macbook. @brandonroberts any ideas what it could be or how to fix? 🤔

Could you elaborate on why those were chosen as default? The docs say that they are very prone to memory leaks. And even in my 500 tests project a 32 Gb RAM MacBook couldn't handle. Also, it left eventually a number of unclosed node processes.

Could you elaborate on why those were chosen as default? The docs say that they are very prone to memory leaks. And even in my 500 tests project a 32 Gb RAM MacBook couldn't handle. Also, it left eventually a number of unclosed node processes.

vmThreads was chosen as the default to mimic the behavior with jsdom
Here's some additional context from an issue I filed in the Vitest repo https://github.com/vitest-dev/vitest/issues/4685

Great!


feat: add ws_protocol option

Checklist

[X] Updated CHANGELOG.md describing pertinent changes.
[ ] Updated README.md with pertinent info (may not always apply).
[ ] Updated site content with pertinent info (may not always apply).
[X] Squash down commits to one or two logical commits which clearly describe the work you've done. If you don't, then Dodd will 🤓.

Sometimes it is necessary to use ws: instead of wss:, this was encountered while working on a project for tauri (on android) where using wss: wasn't possible.

I added all required changes except this:

Let's update the website to document this new configuration option.

The website doesn't contain all configuration options and I am not sure where to include this one, isn't it enough to include it in the example configuration file?

Is there anything left to do before this PR can get merged?

@amrbashir unfortunately I can't easily cherry-pick this into trunk-ng due to recent changes. If you want to rebase and raise a PR with trunk-ng, I could merge it.

IIRC, this was already merged into trunk-ng.

This was brought back to trunk with PR https://github.com/trunk-rs/trunk/pull/623 and it should be part of the next release of trunk too.

nice, I guess I can close this now


[Segmenter-core] json workflow support

Goal:

Each workflow can be defined and implemented as a json file
A workflow defined by a json file can be easily applied on an image to generate segmentation
Automatically pull all available workflows
Provide a comprehensive definition of all functions needed for json workflows, including module name, parameter definition (data type, widget type, data range, etc..)

NOTE:
JSON is not the only way to define a workflow. Advanced users still have the power to implement any workflow in python and used inside Segmenter. To make a workflow available in the plugin as a JSON config file, all functions used in this workflow have to be "streamlinable", which may require implementation of new wrappers. Here, our goal is to make all current workflows in look-up-table available as JSON file, which will require new wrappers or adjusting current wrappers.

Pending full final verification of all workflows / parameters


Play a specific scene

My game is growing exponentially.
I'd like the ability to jump to a specific scene that i've developed to test it's logic, rather than jump back to the start of the game.
My workaround so far is to change the pointer after the startup to the scene I'm debugging, but it'd be easier if there was a right-click "test scene" that load the emulator appropriately.
Cheers
Rochey

Version: 1.0.0
Platform: Windows

Hi @Audio-Rochey did you know that you can hover over any scene and press "P" on your keyboard to reset the player start to just under your cursor. I tend to just use that to quickly set the player start position then "Ctrl+B" to run (so should just be hover then two keypresses). I guess the problem with with a test scene function is you'd need to set where you want the player to start anyway so it probably be as many key presses.
Did you know about that feature and if you didn't do you think that solves your issue?

solved. thank you.
apologies for wasting your time on that one.


[cfe] Make on edges from mixins count with respect to exhaustiveness

This issue is a request for implementation of the breaking change described in https://github.com/dart-lang/sdk/issues/53325. This issue is the CFE specific part of https://github.com/dart-lang/sdk/issues/53390.
For the CFE, the requested behavior seems to be implemented already, which means that this issue could be a no-op.

... but we should add tests to verify this.

Indeed: https://github.com/dart-lang/co19/issues/2253.

CFE is not perfect. There is a missed exhaustivness error in the following case
sealed class S {}

mixin M on S {}

class C extends S {}

class F implements M {}

void main() {
  S s = F();

  int i1 = switch (s) { C _ => 1 }; // CFE Error: The type 'S' is not exhaustively matched by the switch cases since it doesn't match 'M()'.

  int i2 = switch (s) { C _ => 1, F _ => 2 }; // No error
}

In case of i2 we should expect an error
It's funny that if to switch the switches then the error is reported
sealed class S {}

mixin M on S {}

class C extends S {}

class F implements M {}

void main() {
  S s = F();

  int i2 = switch (s) { C _ => 1, F _ => 2 }; // CFE Error: The type 'S' is not exhaustively matched by the switch cases since it doesn't match 'M()'.

  int i1 = switch (s) { C _ => 1 }; // CFE Error: The type 'S' is not exhaustively matched by the switch cases since it doesn't match 'M()'.
}

Tested on Dart SDK version: 3.2.0-edge.9394b30b779296c07971d3692db703c023b2b2a0 (be) (Mon Sep 18 06:44:08 2023 +0000) on "macos_arm64"
cc @eernstg  to confirm that it is the related issue

Yes it is, thanks!

The following tests fail in CFE
https://github.com/dart-lang/co19/blob/master/LanguageFeatures/Patterns/Exhaustiveness/exhaustiveness_sealed_A02_t04.dart
https://github.com/dart-lang/co19/blob/master/LanguageFeatures/Patterns/Exhaustiveness/exhaustiveness_sealed_A02_t05.dart

This is nearly working. However, there is still one surprising behavior:
sealed class S {}
base mixin M on S {}
class C extends S {}
base class F extends S with M {}

void main() {
  S s = F();
  // int i1 = switch (s) { C() => 1 };
  // int i2 = switch (s) { F() => 1 };
  var i4 = switch (s) { C() => 1, F() => 2 };
}

This example causes the front end to report a compile-time error at the declaration of i4 because the initializing expression is non-exhaustive (it doesn't cover M), which is fine.
However, if the line declaring i1 or the line declaring i2 is commented in (or both) then the error about i4 disappears.
@johnniwinther, WDYT, is this a bug?

I think it looks correct. M is not sealed, so its one subclass F cannot be assumed to exhaust it.
And M cannot be sealed because we don't allow mixins to be sealed.
That makes mixins on sealed classes pretty useless, since you can never exhaust the sealed type.
That is why I wanted mixins on sealed types to not count as a direct subtype for exhaustion, and that we should instead prevent you from implementing them or mixing in on the sealed class itself, so that the only concrete subtypes of the mixin is a mixin application. Those would necessarily be on a subtype of one of the exhausting subclasses of the sealed class, and would therefore be included normally in the exhaustiveness.
Allowing you to have a mixin on a sealed class, and having it count as a direct subtype, including towards exhaustiveness, is pretty much the worst combination we can choose.
I'd rather just not allow mixins on sealed classes.

The point is that the error reported for the line where i4 is declared disappears if the line where i1 or i2 is declared (or both) is commented in (that is, included). It looks like a bug that this error should no longer exist in the i4 line just because those other lines are present.

Both of those earlier declarations should themselves be errors. It makes sense to possibly not have a later related error downstream from an existing error.
If those earlier errors are reported, obliviously. Then it's a design decision whether one error silenced another.

Both of those earlier declarations should themselves be errors.

Yes, indeed.

Then it's a design decision whether one error silenced another.

I would expect some errors to remain unreported because they are derived from existing ones:
class C extends int {} // Bogus declaration of a class. An error is reported.

void main() {
  1 as C; // Bogus class, can't generate code for this, but no error is reported.
}

This is desirable behavior: It has no value to know that 1 as C can't be right because C is wrong. It is associated with declarations and/or expressions that depend on each other.
However, in the example I listed the declarations are independent. So it's more like the following:
void main() {
  String s1 = 1;
  String s2 = 2;
}

In this case we do report a compile-time error for multiple locations because each of them is wrong, independently.
The behavior that I'm calling out amounts to being silent about the error in the declaration of s2 in the case where the declaration of s1 is present, but reporting the error with s2 when the declaration of s1 is commented out.

@sgrekhov, @johnniwinther and others weighed in on this. The conclusion is that the apparently missing compile-time errors should be considered to be secondary errors (that is, we shouldn't test them).
The problem arises because one faulty switch expression gives rise to results during flow analysis that justify extra assumptions about the scrutinee, and then we don't get some error messages from later switch statements on the same scrutinee because flow analysis thinks things like "s cannot possibly have any other type than C because the previous switch expression would have thrown if s did not have that type".
(This implies that when a switch expression is non-exhaustive, we do get the compile-time error for that, but then the flow analysis assumes that the switch is actually compiled with an extra _ => throw "something" clause. We do not have an obviously better way to deal with the fact that the code at some point has an error, and flow analysis must do something, so there are no plans to change this approach.)
This means that in order to avoid having a bunch of tests that are (potentially, and in a couple of cases actually) testing secondary compile-time errors, we should make sure that the flow analysis doesn't have a long history to work with for each scrutinee.
This could be done by changing the affected tests as follows:
// -------------------- Before

void main() {
  S s = F();
  int i1 = switch (s) { C _ => 1 };
//         ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

  int i2 = switch (s) { F _ => 1 };
//         ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
  ...
}

// -------------------- After

void main() {
  {
    S s = F();
    int i1 = switch (s) { C _ => 1 };
//           ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
  }
  {
    S s = F();
    int i2 = switch (s) { F _ => 1 };
//           ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
  }
  ...
}

We should then be able to close this issue when (1) the failing tests are adjusted to avoid this flow analysis based surprise, and (2) the updated tests run successfully.


1.125.0

just making sure it runs on 702...

702:

Looks like I never ran UTs on 702... #6474.
Anyway, still good to merge for new release 😃


Support single port

In many cases, better ip addless than ip range.
When want to use HTTP, we open only port number 80.

Thank you! :+1:

v0.2.9.beta3 has been released! Please try it out! :smiley:


Support replication via a proxy

The repl-mon now uses the Python request module which has support for proxy environment variables. This should be tested at some point.


Redundant files in Vortex-AUV

These files are redundant or inaccurate
Add further files in the comments.

MANTA-AUV/control/vortex_allocator
Reason: using yaml-files written for Terrapin and ROV-Manta

MANTA-AUV/control/vortex_controler/test/controller_test.test
Reason: using yaml-files for maelstrom

MANTA-AUV/install-prereq.sh
Reason: using kinetic and not melodic

Addressed in #91, so this issue can be closed.


Fix TTL example for Python

Thank you for helping make the Dapr documentation better!
Please follow this checklist before submitting:

[ ] Commits are signed with Developer Certificate of Origin (DCO - learn more)
[ ] Read the contribution guide
[ ] Commands include options for Linux, MacOS, and Windows within codetabs
[ ] New file and folder names are globally unique
[ ] Page references use shortcodes instead of markdown or URL links
[ ] Images use HTML style and have alternative text
[ ] Places where multiple code/command options are given have codetabs

In addition, please fill out the following to help reviewers understand this pull request:
Description

Issue reference

Thanks a lot @berndverst  :pray:


Prevent very long-running instances

We have TPI instances that have been up for a month+ -- way too long. We need to prevent this from happening.
Some possible solutions:

Alerting after 24 hours of uptime (also see Cloud Custodian)
Auto-terminating TPI instances after the executor finishes/fails
Giving users a list view of all TPI jobs/instances

Accidental long-running instances are one potential cause of iterative/cml#675.

🔔 @iterative/cml, #237 introduces task timeouts. Feel free to reopen if you believe that this issue can be solved in a better way.


[Question] How to append to the left of original when using add_column?

it only appends to the end of existing data structure, what if I wanted to append to the front as well?

hi @miriam-z, see my comment https://github.com/pandera-dev/pandera/issues/603#issuecomment-915288403, let me know if the workaround solution works for you


Revoke express-graphql dependency since is deprecated module

Hi!
As it's declared here https://github.com/graphql/express-graphql#this-library-is-deprecated express-graphql is not recommended for use anymore. It's using outdated approach.
I'd recommend to switch to https://github.com/graphql/graphql-http
Here is the example how it should be used with express.
https://github.com/graphql/graphql-http#with-express
Also may be it makes sense to think of even starting a separate graphql server, for example by use of Yoga:
https://github.com/graphql/graphql-http#servers
What do you think?
Thanks!

Here is the example how to use Yoga with express:
https://the-guild.dev/graphql/yoga-server/docs/integrations/integration-with-express#example

Hi @ThePlenkov,
thanks for the info! We are aware that express-graphql has been deprecated and are in the process of finding a suitable replacement. The decision has not yet been made and we are including the options you mentioned above in our evaluation.
Best regards,
Marcel

Hi @ThePlenkov,
We have replaced express-graphql with graphql-http as the underlying GraphQL HTTP server. Since graphql-http does not include GraphiQL, we have included this ourselves in HTML that we serve. express-graphql included GraphiQL 1 and we have now upgraded to GraphiQL 2.
Best regards,
Marcel

@schwma I have tried 0.3.0 and now I have this message:
Error: ENOENT: no such file or directory, stat<EMAIL_ADDRESS>

registered here #49

That's amazing - now we can finally use headers. Thansk!


create plugin for network information from cordova

#2
Looking for a feedback if the implementation is towards what you are looking for.

Looking for a feedback if the implementation is towards what you are looking for.

Looks great! I would just change the way the constants are defined (see example below), to make them read-only. They are still accessable the same way e.g. console.log(Constants.MY_CONSTANT)) outputs 1
class Constants {
public static get MY_CONSTANT(): number    { return 1; }
}

Thanks for the comments! I updated it as requested

I have a question though.
I followed your approach but when not do an enum of strings?
Then we can type it back to the return value from connection type.
export enum Connection {
UNKNOWN = 'unknown'
}

 connectionType(): Observable<Connection> {
    return Cordova.deviceready.mergeMap(() =>
      ZoneObservable.of(this.zone, (<any>window).navigator.connection.type)
    );
  }

Syntax is the same. Same rules applies,  readonly but gives you typing info for one of the methods

Yes I like this. we could replace all constants with enum

Updated Let me know if which others you will update


update api of services/selectservices - [closed]

In GitLab by @sokril on Oct 22, 2018, 07:46
Merges weisvclist -> dev

In GitLab by @wknet123 on Nov 13, 2019, 11:29
The test coverage for backend is 21.5%  39.43%  , check  console log

In GitLab by @wknet123 on Nov 13, 2019, 11:29
closed


⚖ Register Validator: Blockpower Capital

Network Choice
nemeton-1
Who are you?
We are web 3.0 trusted validators and discerning investors focused on secure staking, enterprise grade infrastructures and high quality applications.
gentx
{"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Blockpower Capital","identity":"DF1CDD6E03CCF372","website":"https://blockpower.capital","security_contact":"tiger@blockpower.capital","details":"We are web 3.0 trusted validators and discerning investors focused on secure staking, enterprise grade infrastructures and high quality applications."},"commission":{"rate":"0.050000000000000000","max_rate":"1.000000000000000000","max_change_rate":"1.000000000000000000"},"min_self_delegation":"1","delegator_address":"okp417p34n43esw23vshnjfuqkjpf6vjyma9q5705e5","validator_address":"okp4valoper17p34n43esw23vshnjfuqkjpf6vjyma9qpela84","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"LdbjboMqXYvLEmcYCJDLHXNQp2H4rLnTAdfNBqMqh/0="},"value":{"denom":"uknow","amount":"10000000000"}}],"memo":"643988550263605405a7968c38fd11653bf75cd0@<IP_ADDRESS>:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AykZTseiKljZNMtysglcPtxaMsbVM68Kegwq/OeyQ1Sg"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""},"tip":null},"signatures":["ShfClEZWbjyLQCA/IpQUWtf2osFxb6RqLBWoIZuTSC170fbO00TChTxJmVvIj6MtRpFOdt4/sZvney2Ied3nkA=="]}

😉 Here is the corresponding PR: https://github.com/okp4/networks/pull/287


Cache responses from the A+ API

Description of the PR
This adds caching for A+ responses. It also uses the caching by downloading all submission results now from the API end point of an individual submission, which fixes the issue of incorrect statuses in submissions. The cache file can get relatively large, so there's some logic for doing IO in a background thread and combining multiple file writes when there's a burst of insertions into the cache.
Beware in testing:
Loading the exercises initially will take some time, since it's doing quite many requests when no cache exists yet. There is no indication of progress, so it might appear as if the exercises are simply broken. As such, I would also consider this blocked by #609.
Testing

unit
integration
e2e
manual

- [x] new unit tests created
- [x] all unit tests pass

- [ ] new integration tests created
- [x] all integration tests pass

- [ ] new e2e tests created
- [x] all e2e tests pass

- [x] manual testing went well

Have you updated the TESTING.md or other relevant documentation on your branch?

[x] Yes.
[x] Not yet. I will do it next.
[x] Not relevant.

Do you think it would be possible to show the assignment tree first with "stupid" proxy objects constructed from the data got from the "get all exercises" API call, and then "realize" them with the actual data when it's there?

Do you think it would be possible to show the assignment tree first with "stupid" proxy objects constructed from the data got from the "get all exercises" API call, and then "realize" them with the actual data when it's there?

Good idea! Will do

Just a minor issue, but crossed my mind. There's .gitignore file in each project's .idea folder. Should a-plus-cache.json be added there?

Just a minor issue, but crossed my mind. There's .gitignore file in each project's .idea folder. Should a-plus-cache.json be added there?

Yeah that would be good. It will work fine when switching machines, but it will generate some pointless diffs though. Is there some IntelliJ API for that or shall I just append a line to it?

Just a minor issue, but crossed my mind. There's .gitignore file in each project's .idea folder. Should a-plus-cache.json be added there?

Yeah that would be good. It will work fine when switching machines, but it will generate some pointless diffs though. Is there some IntelliJ API for that or shall I just append a line to it?

I don't know, but...
Actually, could or should that file being stored somewhere else like where IntelliJ itself stores caches/settings? For example, it seems there's a folder named sonarlint in %APPDATA%\JetBrains\IdeaIC2021.1 folder (so called system directory of IntelliJ IDEA), and there are data used by SonarLint plugin.
Even though cached server responses are kind of related to a certain project, on the other hand, they are not, if you got what I mean.

Just a minor issue, but crossed my mind. There's .gitignore file in each project's .idea folder. Should a-plus-cache.json be added there?

Yeah that would be good. It will work fine when switching machines, but it will generate some pointless diffs though. Is there some IntelliJ API for that or shall I just append a line to it?

I don't know, but...
Actually, could or should that file being stored somewhere else like where IntelliJ itself stores caches/settings? For example, it seems there's a folder named sonarlint in %APPDATA%\JetBrains\IdeaIC2021.1 folder (so called system directory of IntelliJ IDEA), and there are data used by SonarLint plugin.
Even though cached server responses are kind of related to a certain project, on the other hand, they are not, if you got what I mean.

That's definitely a possibility assuming there are no permission issues with writing there (which there shouldn't be).
It's true that it's kinda not project related. After all, the same URL should yield the same result regardless of which course a project is using. If that approach is taken, should the code also then have a singleton class available from every project to reflect that?

Just a minor issue, but crossed my mind. There's .gitignore file in each project's .idea folder. Should a-plus-cache.json be added there?

Yeah that would be good. It will work fine when switching machines, but it will generate some pointless diffs though. Is there some IntelliJ API for that or shall I just append a line to it?

I don't know, but...
Actually, could or should that file being stored somewhere else like where IntelliJ itself stores caches/settings? For example, it seems there's a folder named sonarlint in %APPDATA%\JetBrains\IdeaIC2021.1 folder (so called system directory of IntelliJ IDEA), and there are data used by SonarLint plugin.
Even though cached server responses are kind of related to a certain project, on the other hand, they are not, if you got what I mean.

That's definitely a possibility assuming there are no permission issues with writing there (which there shouldn't be).
It's true that it's kinda not project related. After all, the same URL should yield the same result regardless of which course a project is using. If that approach is taken, should the code also then have a singleton class available from every project to reflect that?

Possibly... I'll consider that when reviewing your code. 👍


Breadcrumbs support ?

I think it could be interesting to have a breadcrumbs support.
Basically this would capture the X log entries from before the exceptions and send them associated with the error
https://docs.sentry.io/learn/breadcrumbs/

ref: https://github.com/getsentry/raven-go/issues/118


detect wireless forms

Hello, I would like to ask if it can detect wireless forms

Yes, the model can detect tables without borders.


Changed the constraint on DialogService.Show() from ComponentBase to IComponent

Description

How Has This Been Tested?

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[ ] I've added relevant tests.

Given this doesn't build and it currently touches 178 files I am closing this for house keeping.
If you want you can open a new PR but please make the changes requested and please explain the reason for this PR and the problems it solves in the description.


Add Qwant

Just found this app on F-Droid and went peeking into the surprisingly simple source code. I never coded in Kotlin, but looks pretty interesting and not too hard; this app inspired me to learn some of it.
Peeking into open issues I found a really trivial one (issue #9 ) and decided to quickly fix it. Hope this is welcome, I'm looking forward to contribute more!
(I didn't add the square background mask to the drawable... is it necessary?)

Thanks for the request! Ideally it wouldd follow the same style as bing/google/yandex - it's actually a rounded square. I think it'd be easy enough to copy one of these, cut out the logo part, and overlay the drawable you created!
Happy to hear it introduced you to Kotlin! The app was remedying a personal frustration (especially after DDG's last update) and I thought I'd start simple and go from there - no point complicating an app this small :)

Quickly added the background to it.
Problem is, is it worth it to add Qwant if you are working on custom search provider?

And I agree, the newest DDG upgrade sucked a bit... The old DDG app was better, the new one is just a lame WebView browser.

Thanks for updating! I merged it anyway - I guess there's no harm in adding it since it seems popular :)

Pro-tip: work on features on new git branches. Also, bring up new code to an outdated branch using git rebase (instead of git merge): this way the git history will be a lot more cleaner.

Agreed, I'm only working on master as it's simple enough atm (plus the custom provider is disabled). But I prefer squashing merges, it's even cleaner that way.

It's ok :)


Make it easy to change JDK version for languages.clojure

For languages.java and languages.scala it seems to be quite simple to change the JDK version.
However, there's no way to do that for Clojure, and using languages.java.jdk.package does not appear to affect the jdk version used in Clojure:
$ java -version
openjdk version "22" 2024-03-19
OpenJDK Runtime Environment (build 22+36-nixos)
OpenJDK 64-Bit Server VM (build 22+36-nixos, mixed mode, sharing)
$ clojure --version
Clojure CLI version <IP_ADDRESS>3
$ clj
Clojure 1.11.1
user=> (System/getProperty "java.version")
"21"

cc @k3yss


testing the jenkinsfile

Goal
The goal of this PR is
Closes
Discussion

Checklist

[ ] Chain spec updated
[ ] Updated the js/api-augment code if a custom RPC added/changed
[ ] Design doc(s) updated
[ ] Tests added
[ ] Benchmarks added
[ ] Weights updated

/run-benchmark

/run-benchmark

run-benchmark

run-benchmark

run-benchmark


Convenience request for the Processing API

the old functions for building Processing API request body are now static method of the SentinelHubRequest and have more detailed argument parsing/evaluation
they can still be used independently just to build the request body, without instantiating the SentinelHubRequest object

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop-3.0@5770cca). Click here to learn what that means.
The diff coverage is 94.47%.

@@              Coverage Diff              @@
##             develop-3.0    #107   +/-   ##
=============================================
  Coverage               ?   90.2%
=============================================
  Files                  ?      29
  Lines                  ?    2880
  Branches               ?       0
=============================================
  Hits                   ?    2598
  Misses                 ?     282
  Partials               ?       0

Impacted Files
Coverage Δ

sentinelhub/geometry.py
88.95% <ø> (ø)

sentinelhub/download/__init__.py
100% <ø> (ø)

sentinelhub/geo_utils.py
74.19% <ø> (ø)

sentinelhub/sentinelhub_rate_limit.py
98.18% <100%> (ø)

sentinelhub/io_utils.py
77.45% <100%> (ø)

sentinelhub/_version.py
100% <100%> (ø)

sentinelhub/time_utils.py
93.44% <100%> (ø)

sentinelhub/config.py
85.43% <100%> (ø)

sentinelhub/decoding.py
85.33% <100%> (ø)

sentinelhub/download/sentinelhub_client.py
88.46% <100%> (ø)

... and 9 more

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 5770cca...fb83e0f. Read the comment docs.


Could not resolve<EMAIL_ADDRESS>

not sure what happened but since https://github.com/vuejs/vue-apollo/commit/f4e2a14bba632855ca49a59ee50b8e75eeec6df4
in a vue 3 project I get:
dashboard_1         |  > node_modules/vue-demi/lib/index.mjs:2:30: error: Could not resolve<EMAIL_ADDRESS>(mark it as external to exclude it from the bundle)
dashboard_1         |     2 │ ...sitionAPI from<EMAIL_ADDRESS>dashboard_1         |       ╵                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dashboard_1         |
dashboard_1         | error when starting dev server:
dashboard_1         | Error: Build failed with 1 error:
dashboard_1         | node_modules/vue-demi/lib/index.mjs:2:30: error: Could not resolve<EMAIL_ADDRESS>(mark it as external to exclude it from the bundle)
dashboard_1         |     at failureErrorWithLog (/usr/src/app/node_modules/esbuild/lib/main.js:1478:15)
dashboard_1         |     at /usr/src/app/node_modules/esbuild/lib/main.js:1136:28
dashboard_1         |     at runOnEndCallbacks (/usr/src/app/node_modules/esbuild/lib/main.js:926:63)
dashboard_1         |     at buildResponseToResult (/usr/src/app/node_modules/esbuild/lib/main.js:1134:7)
dashboard_1         |     at /usr/src/app/node_modules/esbuild/lib/main.js:1243:14
dashboard_1         |     at /usr/src/app/node_modules/esbuild/lib/main.js:614:9
dashboard_1         |     at handleIncomingPacket (/usr/src/app/node_modules/esbuild/lib/main.js:711:9)
dashboard_1         |     at Socket.readFromStdout (/usr/src/app/node_modules/esbuild/lib/main.js:581:7)
dashboard_1         |     at Socket.emit (node:events:394:28)
dashboard_1         |     at Socket.emit (node:domain:475:12)
dashboard_1         | error Command failed with exit code 1.

"@apollo/client": "^3.4.13",
"@vue/apollo-composable": "^4.0.0-alpha.14",
"@vue/apollo-util": "^4.0.0-alpha.14",
"vue": "^3.2.13",

"<EMAIL_ADDRESS>  version "4.0.0-alpha.15"
  resolved<EMAIL_ADDRESS>  integrity sha512-c/xk/po4nTcAnwIG+ZK0XFwY84BiKJquGnK2T+qolp0Saeb5amoTtHu6CEZ6Xd635otqUTY8SODOoFraoAttNQ==
  dependencies:
    throttle-debounce "^3.0.1"
    ts-essentials "^8.1.0"
    vue-demi "^0.11.4"

https://github.com/vueuse/vue-demi/commit/98185abe64ed3301721db90e711f8bafb7529b57

maybe we need to add peerDependencies in package.json as per vue-demi readme?
{
  "dependencies": {
    "vue-demi": "latest"
  },
  "peerDependencies": {
    "@vue/composition-api": "^1.0.0-rc.1",
    "vue": "^2.0.0 || >=3.0.0"
  },
  "peerDependenciesMeta": {
    "@vue/composition-api": {
      "optional": true
    }
  },
  "devDependencies": {
    "vue": "^3.0.0" // or "^2.6.0" base on your preferred working environment
  },
}

https://github.com/vueuse/vue-demi/issues/79#issuecomment-922249136


Where Filtering

Where filtering for custom resolvers doesn't handle the args.where, would need to split/convert (parseWhere) to {name: { contains: "rai" } }
{
    "operation": "custom",
    "model": "paginateUsers",
    "args": {
        "select": {
            "name": true,
            "id": true
        },
        "where": {
            "name_contains": "rai"
        },
        "skip": 0,
        "take": 10
    }
}

Alternatively, if the where Inputs types that are generated  were converted to follow a similar structure it would become more closer to how prisma and nexus handles filtering.
extend type Query {
  paginateUsers(
    where: PaginateUserWhereInput
    orderBy: UserOrderByInput
    skip: Int
    take: Int
  ): [User]
}

input PaginateUserWhereInput {
  AND: [UserWhereInput!]
  OR: [UserWhereInput!]

Custom resolvers are intentionally excluded from the automatic parsing/transformations done on all the CRUD operations. Though it would be possible to expose some of the internal utility functions as part of the CustomResolverProps to help with such a scenario.
Now I like your alternative suggestion better, as it would help simplify both usage and implementation. I’ll do some experiment with this as soon as I have some time and keep you posted.
Pagination is already part of the roadmap https://github.com/maoosi/prisma-appsync/issues/6

Pagination and new filtering system available in 1.0.0-beta.56.


min-lines and max-lines not working

I want the editor to grow as many lines up to 8 or infinity but both doesn't work.
This example code doesn't display anything as the editor has no height set, but as far i've seen it should work.
Example:
<v-ace-editor  placeholder="'code here'"
    v-model:value="code"
    min-lines="3"
    max-lines="8"
    lang="javascript"
    theme="chrome" :wrap='true'
    />

We didn't provide such properties before, you may specify it with :options="{ minLines: 3, maxLines: 5 }"
I agree that min-lines and max-lines are useful and can be better then specifying height. I'll provide these properties as shortcuts.

@CarterLi thanks!!


[WFLY-18915] Upgrade HAL to 3.6.17.Final

https://issues.redhat.com/browse/WFLY-18915

Thanks @hpehl


swipe body to close

Hello,
How can i close backdrop by swipe to top?

Hi @farokhze, this package doesn't support swipe gestures out of the box as it is not recommended according to material design guidelines:

If you still need to do it, I suggest you try with using GestureDetector, maybe by wrapping your frontLayer with it (I haven't tried if it works...)

Closing this issue, since out of scope of this package.
However, as @WieFel suggested you can do it wrapping your frontLayer with GestureDetector and calling Backdrop.of(context).concealBackLayer (make sure the context passed is of the widget below BackdropScaffold). Something like the following:
BackdropScaffold(
  ...
  frontLayer: LayoutBuilder(
    builder: (context, _) => GestureDetector(
      onPressed: (){
        BackdropScaffold.of(context).concealBackLayer();
      },
      child: ...
    ),
  ),
)

Closing this issue, since out of scope of this package.
However, as @WieFel suggested you can do it wrapping your frontLayer with GestureDetector and calling Backdrop.of(context).concealBackLayer (make sure the context passed is of the widget below BackdropScaffold). Something like the following:
BackdropScaffold(
  ...
  frontLayer: LayoutBuilder(
    builder: (context, _) => GestureDetector(
      onPressed: (){
        BackdropScaffold.of(context).concealBackLayer();
      },
      child: ...
    ),
  ),
)

Closing this issue, since out of scope of this package.
However, as @WieFel suggested you can do it wrapping your frontLayer with GestureDetector and calling Backdrop.of(context).concealBackLayer (make sure the context passed is of the widget below BackdropScaffold). Something like the following:
BackdropScaffold(
  ...
  frontLayer: LayoutBuilder(
    builder: (context, _) => GestureDetector(
      onPressed: (){
        BackdropScaffold.of(context).concealBackLayer();
      },
      child: ...
    ),
  ),
)

BackdropScaffold.of method is not working now.
It says .of is not defined.

@yagizdo It is Backdrop.of(context) not BackdropScaffold.of

Oh okey. Seeing it like that in the example, I tried it. The example is old then.

Oh okey. Seeing it like that in the example, I tried it. The example is old then.

Which example exactly?

This

Closing this issue, since out of scope of this package.
However, as @WieFel suggested you can do it wrapping your frontLayer with GestureDetector and calling Backdrop.of(context).concealBackLayer (make sure the context passed is of the widget below BackdropScaffold). Something like the following:
BackdropScaffold(
  ...
  frontLayer: LayoutBuilder(
    builder: (context, _) => GestureDetector(
      onPressed: (){
        BackdropScaffold.of(context).concealBackLayer();
      },
      child: ...
    ),
  ),
)

Oops! correcting it.


merge: stage to master

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


Namespace refactor work

Overview
Need to align folder name and namespace names to new branding.
Also fix/add things that are missing.
Suggestions:

Rename HoloToolkit folders -> MixedRealityToolkit verbiage.
Rename namespaces like HoloToolkit.Unity to:
MixedRealityToolkit.Input.
MixedRealityToolkit.Common
MixedRealityToolkit.SpatialMapping etc.

@DDReaper - Hey Simon, here is the issue I talked to you about.  If you have any questions, feel free to tag myself or @NeerajW for guidance.
Thanks!

Great stuff, will refresh the latest dev branch and start digging in to this.

[ ] Rename Core HT -> MRTK folder
[ ] Rename Examples HT -> Examples MRTK folder
[ ] Rename Unit Tests HT -> Unit Tests MRTK folder
[ ] Initial global NS rename
[ ] Review Input namespace
[ ] Review Spacial Mapping namespace
[ ] Review boundary namespace
[ ] Review Sharing namespace
[ ] Review Spacial mapping namespace
[ ] Review Spacial Sound namespace
[ ] Review Spacial Understanding namespace
[ ] Review Utilities / UX code
[ ] Review Build code

Assuming we are keeping the .Unity suffix..

I think we agreed to remove the .Unity suffixes in the last Shiproom Meeting

@NeerajW who's doing the namespace updates for the core toolkit libraries, like Sharing Service, plane finding, and spatial understanding libraries?

Love to hear what was agreed.  Considering there is another framework behind this one, it's important to distinguish the two.
Although I can see the advantages of dropping .Unity.
Just so I know when doing the updates.

I also agree with @StephenHodgson that we agreed to drop the .Unity.  I think we agreed that it's not common practice in other libraries, the user should already know they are in the unity version of the project, etc.

What's the view on the Sharing & SharingWithUnet fandango?
Should the SharingWithUnet really be Sharing.UNET ?  And move the files / scripts under Sharing

SpatialUnderstanding needs a review, as by adding the nameSpace it's created horrible cod for accessing the Singleton.
Utilities currently doesn't use a NameSpace.  With all the scripts in there, is it worth updating them?

UX is a mess and needs discussion

I'm going to go ahead and close this. It was completed in the dev branch, and a decision has been made to not include it in any master branch releases. The vNext namespaces and folder structure and such will better thought out.


Frenzy

text: Still playable after an effect has set the range
link: https://groups.google.com/g/rec.games.trading-cards.jyhad/c/Cy4WRjoCp98/m/6jofw7-v5LQJ

Already a listed ruling on all range setting cards


added initial setup script

Signed-off-by: Yonatan Schachter<EMAIL_ADDRESS>

It works on the real thing, install-as-service.sh already enables pigpiod @osherdp @Avatichi


Replace uthash with Dmf_HashTable

Since we already make excessive use of DMF we could get rid of uthash as a 3rd party dependency by switching to Dmf_HashTable instead. Low priority topic.

Just noticed that uthash doesn't build in ARM64 configuration, one more reason to replace it.

Merged in #247 🥳


Wrong example link for dog|cat in search page

Description

The example links for dog+cat and dog|cat in the search-help page both point to the same query which is dog+cat
Reproduction

Go to the search help page
Navigate to the example links for dog+cat and dog|cat
Check the query string and results
See error.

Expectation

The example for dog|cat should point to the search query for dog|cat
Environment

Device: Laptop
OS: Windows 10
Browser: Chrome
Version: 83.0.4103.106
Other info:

Resolution

[ ] I would be interested in resolving this bug.

I see this too (on Firefox on a Mac). Thanks for reporting this!


[5.9]  Modify release methods of the cache lock

I modify release methods of the DynamoDBLock and MemcachedLock. They could return boolean value now. And I update the release method of the lock interface.

@ChanJuiHuang thanks!


[Go] Add retriever plugin for firestore vector store

Looks like it was added in the Firestore Go SDK
https://github.com/googleapis/google-cloud-go/releases/tag/firestore%2Fv1.16.0

Not 100% sure whether firestore vector store retriever should be part of firebase plugin (doesn't currently exist)... or google cloud plugin... or a standalone plugin. Perhaps worth a discussion on discord.

https://github.com/firebase/genkit/pull/1079
rebased that PR on main and added docs, sample.

https://github.com/firebase/genkit/pull/1079 PR into main

rebased:
https://github.com/firebase/genkit/pull/1165
onto next

rebased against main
https://github.com/firebase/genkit/pull/1470


need to undoredo when adding point, maybe text

I think point is working, but text has some underlying problems.  can't access scene after editing.


Error when search type is playlist

When I try to search with a particular word and the type is set to "playlist" then I'm facing the following Issue.
TypeError: this.thumbnail.toJSON is not a function at Playlist.toJSON (node_modules\youtube-sr\dist\mod.js:266:33)
Here is my Code...
let searchData = await YouTube.search(searchParam, { limit: 10, type: "playlist" })

https://github.com/DevAndromeda/youtube-sr/commit/79e0dd15d02024ca530c86bb98d8ffd63cf5882f should fix the issue related to TypeError: this.thumbnail.toJSON is not a function at Playlist.toJSON (node_modules\youtube-sr\dist\mod.js:266:33)


support python 3.7

also fix new pep8 stype
also fix an issue with migrations introduced with #3772

I merge this. There is nothing harmful in here. But i can not continue coding with archlinux on python 3.7 without it.


Create Deployment Package for UWP Checkin App

Create Deployment Package for UWP Checkin App. This will eliminate need for users to have VS2015/2017 on their machines

@maniSbindra I thought this got completed