Github API rate limiting could be handled more explicitly

Description
Currently, when being rate limited by the Github API, mise displays a fairly generic error message.
As a user, I have to manually debug it to figure out what happened.
It would be good if mise would show a more detailed error message.
Either a custom error message like API request has been rate limited by Github, or display the information from the API response.
That would make it easier and faster to understand why the command failed.
The documentation says:

If you exceed your primary rate limit, you will receive a 403 or 429 response, and the x-ratelimit-remaining header will be 0.

https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28#exceeding-the-rate-limit
So I believe that should make it clear how to implement this, in order to handle this error.
Details
When doing self-update, I get the following result:
λ export RUST_BACKTRACE=full

λ mise version --verbose
[DEBUG] ARGS: /home/username/.local/bin/mise version --verbose
2024.5.14 linux-x64 (c2858ef 2024-05-14)
[WARN] mise version 2024.6.1 available
[WARN] To update, run mise self-update

λ mise self-update --verbose
[DEBUG] ARGS: /home/username/.local/bin/mise self-update --verbose
[DEBUG] starting new connection: https://api.github.com/
Error:
   0: NetworkError: api request failed with status: 403 - for: "https://api.github.com/repos/jdx/mise/releases"

Location:
   src/cli/self_update.rs:59

Version:
   2024.5.14 linux-x64 (c2858ef 2024-05-14)

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                ⋮ 2 frames hidden ⋮
   3: mise::cli::self_update::SelfUpdate::run::h457406eb12fd1b04
      at <unknown source file>:<unknown line>
   4: mise::cli::Commands::run::h949a1c0de65cf2ae
      at <unknown source file>:<unknown line>
   5: mise::cli::Cli::run::h2275f2ccbe59a947
      at <unknown source file>:<unknown line>
   6: mise::main::ha27c9dc0b3d34305
      at <unknown source file>:<unknown line>
   7: std::sys_common::backtrace::__rust_begin_short_backtrace::h128a9093386c5f2a
      at <unknown source file>:<unknown line>
   8: main<unknown>
      at <unknown source file>:<unknown line>
   9: __libc_start_call_main<unknown>
      at ./csu/../sysdeps/nptl/libc_start_call_main.h:58
  10: __libc_start_main_impl<unknown>
      at ./csu/../csu/libc-start.c:392
  11: _start<unknown>
      at <unknown source file>:<unknown line>

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.

Apparently, this is because the API request has been rate limited.
When calling this URL manually, it gives this response:
Headers:
HTTP/2 403
date: Fri, 07 Jun 2024 09:29:04 GMT
server: Varnish
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-content-type-options: nosniff
x-frame-options: deny
x-xss-protection: 1; mode=block
content-security-policy: default-src 'none'; style-src 'unsafe-inline'
access-control-allow-origin: *
access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-RateLimit-Used, X-RateLimit-Resource, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset
content-type: application/json; charset=utf-8
referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin
x-github-media-type: github.v3; format=json
x-ratelimit-limit: 60
x-ratelimit-remaining: 0
x-ratelimit-reset:<PHONE_NUMBER>
x-ratelimit-resource: core
x-ratelimit-used: 60
content-length: 278
x-github-request-id: B84B:2B4C97:1385B665:13A3C54B:6662D2DF
X-Firefox-Spdy: h2

Body:
{"message":"API rate limit exceeded for z.x.c.v. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)","documentation_url":"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"}

(Where z.x.c.v is my numeric IP address).

mise supports GITHUB_API_KEY however I don't think this is mentioned in the docs, I would love it if someone would add a PR for that


Morris

How can I fully delete Spector and reinstall it.

http://kodicommunity.com/how-to-uninstall-a-kodi-add-on/


Updating Code Headers

FYI I also try to update the header information on the code examples whenever I have a chance to! cc @DenisovichDev @kfahn22

Ah! Good I'll keep that in mind


Audit performance of KEVM proofs

After #2438, we should re-evaluate the performance of the KEVM proofs, specifically those in evm-semantics/tests/specs/benchmark, but excluding the ones marked "failing". The goal should be only to generate profiles and check for hot-spots, not in-depth investigation. We can post the profiles in this thread.

I have collected the profiterole reports from the benchmark specs that are passing. The reports indicate that #2454 is the leading cost center. We should prioritize that issue over other performance issues.


Adding method that allows to modify default error messages

Great addition, thanks!
Two points:

I would like to rename extendMessages() to setDefaultMessages(). What do you think?
Can you make jQuery.validator.format() part of the $validatorProvider ($validatorProvider.format())?

Yes, good points!

Thanks!


Updated Molpro to cover version 2021.2

... and added a small example on performance
https://csc-guide-preview.rahtiapp.fi/origin/molpro_update/apps/molpro/

Is this just bugfix update, or a point release that we should mention in whats new?

Version bumped from 2019.2 to 2021.2. I guess it's a major update. Unless instructed otherwise, I'd go for whatsnew. BTW, there's a cp2k update appearing there, too. Better to keep these separate or combine?


Basic USB fuzzing support

Requires not-yet-published kernel patches.

If vusb_ids.txt was auto-generated we need some script/instructions to re-generate it.

sys/linux/vusb_ids.txt needs some special support as it causes compiler OOMs on CI.

We also need some tests for the new syz_* syscalls in sys/linux/test.
These tests can be run with syz-runtest -config manager.cfg

PTAL

PTAL


enable signed distances for correct nearest points calculation for intersecting objects

I tried to use the fcl-python bindings for collision avoidance in a gradient based optimization algorithm, but was not able to calculate the nearest points for intersecting objects correctly. I think after exposing the enable_signed_distances parameter to python this should work now.

I have added a small example where the enable_signed_distance parameter is used. Is that what you where looking for?
Ah yeah, building the wheels and installing the library from there was the only way I could think of to include the changes I made. Probably not the smartest way!


Python: Update notebooks to run with dotenv settings.

Motivation and Context
We've received feedback that the Python notebooks may difficult to run for folks as they get started.

Description
To be explicit, we're now requiring that the Python notebooks reference a valid .env file with the required settings.
All notebooks are running with the valid .env file for both AzureOpen and OpenAI config settings.

Contribution Checklist

[X] The code builds clean without any errors or warnings
[X] The PR follows the SK Contribution Guidelines and the pre-submission formatting script raises no violations
[X] All unit tests pass, and I have added new tests where possible
[X] I didn't break anyone :smile:

Python 3.10 Test Coverage Report • FileStmtsMissCoverMissingTOTAL636571889% report-only-changed-files is enabled. No files were changed during this commit :)
Python 3.10 Unit Test Overview

Tests
Skipped
Failures
Errors
Time

1511
1 :zzz:
0 :x:
0 :fire:
19.851s :stopwatch:


Swarm overlay networks leave stray virtual network interfaces after removal

The issue
I'm using Swarm with 3 Swarm agents and one separate master and etcd for cluster discovery.
I frequently create new overlay networks, run containers in the network, and remove the network after the containers were destroyed. Sometimes, I observe stray network interfaces that should have been removed, such as this one:
10: veth2401f79: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN mode DEFAULT group default
    link/ether 46:ce:b7:56:55:f6 brd ff:ff:ff:ff:ff:ff

How to reproduce
I can reproduce the issue with the following script swarm-nettest.sh:
#!/bin/bash
run_unit () {
  docker network create test_$1
  c1=$(docker run -d --net=test_$1 ubuntu:14.04 sleep 5)
  c2=$(docker run -d --net=test_$1 ubuntu:14.04 sleep 5)
  docker wait $c1
  docker rm $c1
  docker wait $c2
  docker rm $c2
  docker network rm test_$1
}

create_network () {
  docker network create test_$1
  docker network rm test_$1
}

for i in $(seq 1 $1); do
  run_unit $i &
  #create_network $i &
done
wait

Before running the script, I had the following network interfaces on the Swarm agents:
$ ansible -i cluster.list ad-sim -a 'ip link'
ad-sim01 | SUCCESS | rc=0 >>
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:50:56:a0:4c:30 brd ff:ff:ff:ff:ff:ff
3: docker_gwbridge: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
    link/ether 02:42:e7:22:c0:5a brd ff:ff:ff:ff:ff:ff
4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
    link/ether 02:42:ca:f5:b0:8f brd ff:ff:ff:ff:ff:ff
6: veth84940a6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
    link/ether 0a:96:51:a4:06:ea brd ff:ff:ff:ff:ff:ff
ad-sim02 | SUCCESS | rc=0 >>
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:50:56:a0:3f:cc brd ff:ff:ff:ff:ff:ff
3: docker_gwbridge: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
    link/ether 02:42:20:80:c3:0b brd ff:ff:ff:ff:ff:ff
4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
    link/ether 02:42:ee:9f:1f:a4 brd ff:ff:ff:ff:ff:ff
6: veth2296a98: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
    link/ether 5e:97:19:2a:64:8b brd ff:ff:ff:ff:ff:ff
ad-sim03 | SUCCESS | rc=0 >>
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:50:56:a0:4c:91 brd ff:ff:ff:ff:ff:ff
3: docker_gwbridge: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
    link/ether 02:42:f9:36:95:83 brd ff:ff:ff:ff:ff:ff
4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
    link/ether 02:42:0c:2c:bb:15 brd ff:ff:ff:ff:ff:ff
6: veth9fc6eaf: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
    link/ether 4a:0a:86:1c:06:de brd ff:ff:ff:ff:ff:ff

After running ./swarm-nettest.sh 10, I have the following network interfaces on the Swarm agents:
$ ansible -i cluster.list ad-sim -a 'ip link'
ad-sim01 | SUCCESS | rc=0 >>
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:50:56:a0:4c:30 brd ff:ff:ff:ff:ff:ff
3: docker_gwbridge: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
    link/ether 02:42:e7:22:c0:5a brd ff:ff:ff:ff:ff:ff
4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
    link/ether 02:42:ca:f5:b0:8f brd ff:ff:ff:ff:ff:ff
6: veth84940a6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
    link/ether 0a:96:51:a4:06:ea brd ff:ff:ff:ff:ff:ff

ad-sim02 | SUCCESS | rc=0 >>
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:50:56:a0:3f:cc brd ff:ff:ff:ff:ff:ff
3: docker_gwbridge: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
    link/ether 02:42:20:80:c3:0b brd ff:ff:ff:ff:ff:ff
4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
    link/ether 02:42:ee:9f:1f:a4 brd ff:ff:ff:ff:ff:ff
6: veth2296a98: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
    link/ether 5e:97:19:2a:64:8b brd ff:ff:ff:ff:ff:ff
9: vethef60919: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN mode DEFAULT group default
    link/ether 02:42:0a:00:02:02 brd ff:ff:ff:ff:ff:ff
10: veth2401f79: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN mode DEFAULT group default
    link/ether 46:ce:b7:56:55:f6 brd ff:ff:ff:ff:ff:ff

ad-sim03 | SUCCESS | rc=0 >>
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:50:56:a0:4c:91 brd ff:ff:ff:ff:ff:ff
3: docker_gwbridge: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
    link/ether 02:42:f9:36:95:83 brd ff:ff:ff:ff:ff:ff
4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
    link/ether 02:42:0c:2c:bb:15 brd ff:ff:ff:ff:ff:ff
6: veth9fc6eaf: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
    link/ether 4a:0a:86:1c:06:de brd ff:ff:ff:ff:ff:ff
9: veth71b9c51: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN mode DEFAULT group default
    link/ether 02:42:0a:00:03:02 brd ff:ff:ff:ff:ff:ff
10: vethaf86582: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN mode DEFAULT group default
    link/ether 9e:97:6b:cb:71:f8 brd ff:ff:ff:ff:ff:ff

As you can see, there are some additional veth* interfaces that are DOWN.
All containers and all overlay networks have been removed:
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
cacea96e9632        swarm               "/swarm join --addr=5"   About an hour ago   Up About an hour    2375/tcp            ad-sim03/swarm
41e0cb36a871        swarm               "/swarm join --addr=5"   About an hour ago   Up About an hour    2375/tcp            ad-sim02/swarm
3e43affbeda1        swarm               "/swarm join --addr=5"   About an hour ago   Up About an hour    2375/tcp            ad-sim01/swarm

$ docker network ls
NETWORK ID          NAME                       DRIVER
7a6cc1bfb574        ad-sim02/none              null
cc4063de5fe6        ad-sim02/host              host
a0d4c009773d        ad-sim03/bridge            bridge
4e13f2513e0c        ad-sim03/none              null
bd7469ecff2d        ad-sim03/host              host
76bdb767f678        ad-sim03/docker_gwbridge   bridge
608e07808654        ad-sim02/bridge            bridge
1540b7162de8        ad-sim02/docker_gwbridge   bridge
d2e7ea54885a        ad-sim01/docker_gwbridge   bridge
8920890377ec        ad-sim01/none              null
a17c8b04a5a3        ad-sim01/host              host
1ac2ce472b9a        ad-sim01/bridge            bridge

Interestingly, if I call create_network instead of run_unit in the script, the additional interfaces are all removed properly. This suggests that this is somehow related to attaching/detaching containers to the network.
If I repeat calling the script, I end up with hundreds of virtual network interfaces. At that point, it takes 10-20 seconds to create a new overlay network.
Additional information
$ ansible -i cluster.list all -a 'uname -a'
ad-sim01 | SUCCESS | rc=0 >>
Linux ad-sim01 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

ci | SUCCESS | rc=0 >>
Linux ci 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:43:14 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

ad-sim02 | SUCCESS | rc=0 >>
Linux ad-sim02 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

ad-sim03 | SUCCESS | rc=0 >>
Linux ad-sim03 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

ci is the Swarm master.
$ ansible -i cluster.list all -a 'docker -v'
ad-sim01 | SUCCESS | rc=0 >>
Docker version 1.10.3, build 20f81dd

ci | SUCCESS | rc=0 >>
Docker version 1.10.3, build 20f81dd

ad-sim02 | SUCCESS | rc=0 >>
Docker version 1.10.3, build 20f81dd

ad-sim03 | SUCCESS | rc=0 >>
Docker version 1.10.3, build 20f81dd

All nodes run swarm:latest (291cbe419fe6).
All nodes run with the following /etc/default/docker:
DOCKER_OPTS="
  -H tcp://<IP_ADDRESS>:2375
  -H unix:///var/run/docker.sock
  --insecure-registry=ci:5000
  --cluster-store=etcd://<ci_ip>:2379/
  --cluster-advertise=eth0:2375
  --dns <dns_ip>"

# If you need Docker to use an HTTP proxy, it can also be specified here.
export http_proxy="http://<IP_ADDRESS>:3128/"
export https_proxy="http://<IP_ADDRESS>:3128/"
export HTTP_PROXY="http://<IP_ADDRESS>:3128/"
export HTTPS_PROXY="http://<IP_ADDRESS>:3128/"

etcd also runs on ci with version 2.2.5 and the following config:
export ETCD_INITIAL_CLUSTER="etcd0=http://<ci_ip>:2380"
export ETCD_INITIAL_CLUSTER_STATE="new"
export ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-1"
export ETCD_INITIAL_ADVERTISE_PEER_URLS="http://<ci_ip>:2380"
export ETCD_DATA_DIR="/var/etcd"
export ETCD_LISTEN_PEER_URLS="http://<IP_ADDRESS>:2380"
export ETCD_LISTEN_CLIENT_URLS="http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001"
export ETCD_ADVERTISE_CLIENT_URLS="http://<ci_ip>:2379,http://<ci_ip>:4001"
export ETCD_NAME="etcd0"

This is a dupe of https://github.com/docker/libnetwork/issues/984. Will be resolved in 1.11.

Closing due to lack of activity. Please reopen if you wish to continue discussing it.


Navbar items alignment

Fixes: #1270
navbar items are now properly aligned.

@smaranjitghose @anushbhatia kindly review this PR

I have updated it @anushbhatia let me know if this is alright or I need to update the mobile hook file.


4434 message text change for accessing content files

Pull Request Checklist:

[x] Positive Test Case Written by Dev

[ ] Automated Testing

[ ] Sufficient User and Developer Documentation

[ ] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

Create a resource. Upload a file to the resource.
Add needed metadata to make the resource discoverable
Make the resource discoverable
Logout. Then try to access the resource. On the resource landing page check that you see the following message under the "Content' section:

You do not have permission to see these content files. Please contact an Owner if you wish to obtain access.

METRIC
VALUE

NEW DUPLICATED LINES DENSITY
0.0

NEW CODE SMELLS
0

NEW VULNERABILITIES
0

NEW BUGS
0

NEW SECURITY HOTSPOTS
0

https://sonarqube.cuahsi-workstation.com:9000/dashboard?id=hydroshare-4435

METRIC
VALUE

NEW BUGS
0

NEW VULNERABILITIES
0

NEW CODE SMELLS
0

NEW SECURITY HOTSPOTS
0

https://sonarqube.cuahsi-workstation.com:9000/dashboard?id=hydroshare-4435


Update README.md

From:

Why doesn't join lines or other Sublime Text commands work?

To:

Why don't all Sublime Text commands work?

Reasoning: Join Lines works now, making the heading a little obsolete. Also removed the link to the join lines extension because it is deprecated and not needed.

Excellent.


Subject: Performance Issues with Virtual Screening Algorithm

Dear Xujun,
I wanted to express my gratitude for the significant contributions your team has made to the development of virtual screening algorithms. Congratulations on the achievements you have earned in this field.
I am writing to seek your assistance with a performance issue I have encountered while attempting to use the program. It appears that the program is running at a relatively slow pace, with Demo2 taking approximately 20 minutes to complete. Notably, I have observed low CPU, GPU, and RAM utilization during the execution, with occasional SSD write activities being the primary bottleneck.
Here are the details of my system configuration:
CPU: Intel Core i7-13700K
GPU: NVIDIA GeForce RTX 4070
Operating System: Windows Subsystem for Linux 2 (WSL2)
I am curious whether there might be any software configurations or settings that could be causing this performance problem. I have explored various avenues to optimize the execution but have yet to find a satisfactory solution.
Your expertise in this field would be greatly appreciated, and any insights or guidance you could provide to help address this performance issue would be invaluable.
Thank you for your time and consideration. I look forward to your response.
Sincerely,
Xinci Shang

Dear Xinci,
Thank you for reaching out with your concerns about KarmaDock's performance. Your feedback is invaluable to us. To address your concerns:

KarmaDock offers two operational workflows for virtual screening. The Demo2 on GitHub is scripted for users' convenience. It generates graphs online and performs molecular docking based on these graphs. While this approach minimizes the time required for reading and writing graphs, it encompasses the time taken for graph generation (CPU-intensive) and molecular docking (GPU-intensive). Depending on your specific system configuration, it might be necessary to adjust parameters to ensure a balanced workload across reading/writing operations, CPU, and GPU.

A more practical approach is to initially use the CPU to generate molecular graphs (excluding proteins). This step is relatively quick. Once the graph generation is complete, the GPU can be used for model inference (molecular docking). This method enhances both CPU and GPU utilization, significantly reducing overall processing time.

I will update the code to provide a workflow for this second method. Please keep an eye out for these updates in the coming days.
Thank you for your patience and understanding.
Warm regards,
Xujun

Dear Xujun,
I hope this message finds you well. I would like to express my sincere gratitude for your continued support and your patient responses.
Since my previous inquiry, I have conducted further experiments and made some interesting observations. On Ubuntu 22.04, the docking speed surpasses that on WSL, with each molecule taking approximately 0.09 seconds to process. Upon examining resource utilization, I noticed that one CPU process consistently occupies 100% of the CPU, while other processes remain idle. Furthermore, the GPU is utilized for less than half of the time.
To address this, I created a Python script for task distribution using multiple threads. Running four docking programs in parallel has resulted in a GPU usage close to 100%. Consequently, the docking speed now stands at approximately 0.02 seconds per molecule, which closely aligns with the results reported in your paper. It appears that optimizing the multi-threaded processing capabilities during the generation of molecular graphs on the CPU is the key to further enhancement.
Additionally, during large-scale screening, the program consistently outputs all generated pose files, leading to unnecessary disk space consumption and wear. Is it possible to configure the program to save only the top percentage of results to the hard drive? If so, it would make large-scale and reliable docking screenings much easier.
I have also encountered occasional error messages during runtime, such as "Molecule does not have explicit Hs. Consider calling AddHs()." These errors seem to originate from RDKit. Does this error affect the docking process?
Once again, I want to express my sincere appreciation for your valuable work and your patient responses. Your contributions to the field are truly remarkable.
Best regards,
Xinci

Dear Xujun,
I hope this message finds you well. I would like to express my sincere gratitude for your continued support and your patient responses.
Since my previous inquiry, I have conducted further experiments and made some interesting observations. On Ubuntu 22.04, the docking speed surpasses that on WSL, with each molecule taking approximately 0.09 seconds to process. Upon examining resource utilization, I noticed that one CPU process consistently occupies 100% of the CPU, while other processes remain idle. Furthermore, the GPU is utilized for less than half of the time.
To address this, I created a Python script for task distribution using multiple threads. Running four docking programs in parallel has resulted in a GPU usage close to 100%. Consequently, the docking speed now stands at approximately 0.02 seconds per molecule, which closely aligns with the results reported in your paper. It appears that optimizing the multi-threaded processing capabilities during the generation of molecular graphs on the CPU is the key to further enhancement.
Additionally, during large-scale screening, the program consistently outputs all generated pose files, leading to unnecessary disk space consumption and wear. Is it possible to configure the program to save only the top percentage of results to the hard drive? If so, it would make large-scale and reliable docking screenings much easier.
I have also encountered occasional error messages during runtime, such as "Molecule does not have explicit Hs. Consider calling AddHs()." These errors seem to originate from RDKit. Does this error affect the docking process?
Once again, I want to express my sincere appreciation for your valuable work and your patient responses. Your contributions to the field are truly remarkable.
Best regards, Xinci

Dear Xinci,
Thank you for reaching out and for your detailed observations and feedback regarding the karmadock's performance.

Your exploration and work to optimize karmadock's docking speed are highly appreciated. It's through contributions and feedback like yours that we can make continuous improvements to the system.

As you highlighted the importance of optimizing multi-threaded processing capabilities, I'd like to mention that we have introduced a second workflow for virtual screening. This workflow first generates molecular graphs on the CPU and subsequently performs docking and scoring on the GPU, which should streamline the process further.

Addressing your concern about disk space consumption, we have rectified the issue of always generating all pose files. Users can now control which molecules get saved to the disk by providing a score_threshold. Only those molecules with a karma_score above this threshold will be saved, minimizing unnecessary disk wear.

Regarding the error messages you encountered, such as "Molecule does not have explicit Hs. Consider calling AddHs()", these can indeed cause conformations not to be saved. It's a good practice to add hydrogen atoms to conformations before saving them. We have fixed this issue in our latest update, and you shouldn't encounter it moving forward.

Best regards,
Xujun


Data Management Reports removed

Hi, please can you confirm where the 3 dots that were available for data management reports have been moved to? The reports are no longer available when I access my demo tenant and they were previously. Thank you. Antonio.

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

ID: ba61c236-e64a-2835-8fbd-4ff975e78d27
Version Independent ID: d4394353-4330-05a2-c30b-b2b4bd7b7c2f
Content: Generate reports - Microsoft Cloud App Security
Content Source: CloudAppSecurityDocs/built-in-reports.md
Service: cloud-app-security
GitHub Login: @rkarlin
Microsoft Alias: rkarlin

@antraett Thanks for reaching out to us. Let me know if this answers all the questions you have: https://docs.microsoft.com/cloud-app-security/built-in-report-redirect


talloc: 2.1.13 -> 2.1.14

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/talloc/versions.
meta.description for talloc is: '"Hierarchical pool based memory allocator with destructors"'.

Checks done (click to expand)

built on NixOS

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 2.1.14 with grep in /nix/store/bxcf196bgif8p9y37p5126mbkzfp8ag8-talloc-2.1.14

directory tree listing: https://gist.github.com/50403a3d7760cb4d9b1e52724ce7f9d0

du listing: https://gist.github.com/580bd3d4636002011ee1d8dda732895a

Test this build with Cachix (click to expand)

One time setup in nixpkgs Git checkout:
cachix use r-ryantm
git remote add r-ryantm https://github.com/r-ryantm/nixpkgs.git

Test this build:
git fetch r-ryantm && git checkout f23c17e0df2ad8e3a9419305ee57a772eb6f7808 && nix-shell --pure -I nixpkgs=. -p talloc

cc @wkennington for testing.

Success on x86_64-darwin (full log)
Attempted: talloc
Partial log (click to expand)
* installing pytalloc.h as /nix/store/drdzijmcaa0rk8j6cmwh03llc5ny7d9x-talloc-2.1.14/include/pytalloc.h
Waf: Leaving directory `/private/tmp/nix-build-talloc-2.1.14.drv-0/talloc-2.1.14/bin'
'install' finished successfully (0.377s)
ar: creating archive /nix/store/drdzijmcaa0rk8j6cmwh03llc5ny7d9x-talloc-2.1.14/lib/libtalloc.a
post-installation fixup
gzipping man pages under /nix/store/drdzijmcaa0rk8j6cmwh03llc5ny7d9x-talloc-2.1.14/share/man/
strip is /nix/store/7ddbq63v97nk8gkbf7gcsfmby37h6gbl-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/drdzijmcaa0rk8j6cmwh03llc5ny7d9x-talloc-2.1.14/lib
patching script interpreter paths in /nix/store/drdzijmcaa0rk8j6cmwh03llc5ny7d9x-talloc-2.1.14
/nix/store/drdzijmcaa0rk8j6cmwh03llc5ny7d9x-talloc-2.1.14

Success on x86_64-linux (full log)
Attempted: talloc
Partial log (click to expand)
shrinking /nix/store/bxcf196bgif8p9y37p5126mbkzfp8ag8-talloc-2.1.14/lib/libpytalloc-util.so.2.1.14
shrinking /nix/store/bxcf196bgif8p9y37p5126mbkzfp8ag8-talloc-2.1.14/lib/python2.7/site-packages/talloc.so
shrinking /nix/store/bxcf196bgif8p9y37p5126mbkzfp8ag8-talloc-2.1.14/lib/libtalloc-compat1-2.1.14.so
shrinking /nix/store/bxcf196bgif8p9y37p5126mbkzfp8ag8-talloc-2.1.14/lib/libtalloc.so.2.1.14
gzipping man pages under /nix/store/bxcf196bgif8p9y37p5126mbkzfp8ag8-talloc-2.1.14/share/man/
strip is /nix/store/4qvrxzxa535y8304mk195x50b6p9607d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/bxcf196bgif8p9y37p5126mbkzfp8ag8-talloc-2.1.14/lib
patching script interpreter paths in /nix/store/bxcf196bgif8p9y37p5126mbkzfp8ag8-talloc-2.1.14
checking for references to /build in /nix/store/bxcf196bgif8p9y37p5126mbkzfp8ag8-talloc-2.1.14...
/nix/store/bxcf196bgif8p9y37p5126mbkzfp8ag8-talloc-2.1.14

Success on aarch64-linux (full log)
Attempted: talloc
Partial log (click to expand)
shrinking /nix/store/xs4061vzgx3vf8gy07c5di6g1wr7gfk0-talloc-2.1.14/lib/python2.7/site-packages/talloc.so
shrinking /nix/store/xs4061vzgx3vf8gy07c5di6g1wr7gfk0-talloc-2.1.14/lib/libpytalloc-util.so.2.1.14
shrinking /nix/store/xs4061vzgx3vf8gy07c5di6g1wr7gfk0-talloc-2.1.14/lib/libtalloc.so.2.1.14
shrinking /nix/store/xs4061vzgx3vf8gy07c5di6g1wr7gfk0-talloc-2.1.14/lib/libtalloc-compat1-2.1.14.so
gzipping man pages under /nix/store/xs4061vzgx3vf8gy07c5di6g1wr7gfk0-talloc-2.1.14/share/man/
strip is /nix/store/0pjsgkxz0rp5baycq5sp2s72lrr5q9sg-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/xs4061vzgx3vf8gy07c5di6g1wr7gfk0-talloc-2.1.14/lib
patching script interpreter paths in /nix/store/xs4061vzgx3vf8gy07c5di6g1wr7gfk0-talloc-2.1.14
checking for references to /build in /nix/store/xs4061vzgx3vf8gy07c5di6g1wr7gfk0-talloc-2.1.14...
/nix/store/xs4061vzgx3vf8gy07c5di6g1wr7gfk0-talloc-2.1.14

@GrahamcOfBorg build atom samba kodi neomutt vlc afew

Failure on aarch64-linux (full log)
Attempted: samba, neomutt, vlc, afew
The following builds were skipped because they don't evaluate on aarch64-linux: atom, kodi
Partial log (click to expand)
stripping (with command strip and flags -S) in /nix/store/3b594zd1qd37xfm7jx7y7xhxassv8hgl-samba-4.7.6-dev/lib
patching script interpreter paths in /nix/store/3b594zd1qd37xfm7jx7y7xhxassv8hgl-samba-4.7.6-dev
checking for references to /build in /nix/store/3b594zd1qd37xfm7jx7y7xhxassv8hgl-samba-4.7.6-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/hk872r2d2nzrnmmvyhbjynf0a1q8a4cw-samba-4.7.6-man
gzipping man pages under /nix/store/hk872r2d2nzrnmmvyhbjynf0a1q8a4cw-samba-4.7.6-man/share/man/
strip is /nix/store/0pjsgkxz0rp5baycq5sp2s72lrr5q9sg-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/hk872r2d2nzrnmmvyhbjynf0a1q8a4cw-samba-4.7.6-man
checking for references to /build in /nix/store/hk872r2d2nzrnmmvyhbjynf0a1q8a4cw-samba-4.7.6-man...
cannot build derivation '/nix/store/61pmwzb8q1n5j27dvp4pyvg1vgaynv0d-vlc-3.0.3.drv': 1 dependencies couldn't be built
error: build of '/nix/store/61pmwzb8q1n5j27dvp4pyvg1vgaynv0d-vlc-3.0.3.drv' failed

Built the above packages (plus some more) locally. LGTM.


Make #pop threadsafe

Fixes #7

Two of the tests failed with lock acquisition timeout. I reran those tests but that result worries me a bit.

released as 1.0.0. thanks for the improvement.

make that 1.0.3. i had a couple of problems with the release script. 😄


Docs on import/ignore either incorrect or unclear

In practice, this means rules other than no-unresolved will not report on any imports with (absolute filesystem) paths matching this pattern.

In my eslint config I am attempting to ignore two aliases created by SvelteKit: $lib and $app. However, no-relative-parent-imports is still tripping on those in Svelte files which reference them. Am I misunderstanding the documentation?
I think a change like this could work, although it seems like having it somewhere more central might be better so that each rule did not have to do this:
diff --git a/src/rules/no-relative-parent-imports.js b/src/rules/no-relative-parent-imports.js
index 8e36962..b4da147 100644
--- a/src/rules/no-relative-parent-imports.js
+++ b/src/rules/no-relative-parent-imports.js
@@ -2,6 +2,7 @@ import moduleVisitor, { makeOptionsSchema } from 'eslint-module-utils/moduleVisi
 import docsUrl from '../docsUrl';
 import { basename, dirname, relative } from 'path';
 import resolve from 'eslint-module-utils/resolve';
+import isIgnored from '../../utils/ignore';

 import importType from '../core/importType';

@@ -21,6 +22,10 @@ module.exports = {
     function checkSourceValue(sourceNode) {
       const depPath = sourceNode.value;

+      if (isIgnored(depPath)) {
+        return;
+      }
+
       if (importType(depPath, context) === 'external') { // ignore packages
         return;
       }

I will be happy to submit a PR once we have good direction for a proper solution.

Your change seems reasonable; want to make a PR?
I'm not sure the rules are currently architected in a way that makes it centrally achievable, but feel free to fix as many rules as necessary in your PR.

I had this going fairly well but hit a snag. There are some tests referencing lodash.isarray, and that trips the hasValidExtension whitelist shortcut in utils/ignore.js. Can we simply avoid checking the extension whitelist for paths which do not contain a path separator? That may have to be combined with a check for @<scope>/<package> and then a separator.

I'm not 100% clear on the best solution there - want to make a draft PR with that test still failing?


new readme/documentation upgrade

added the new logo and a few screenshots.
my main annoyance right now is that this is a very chunky and long readme. i think i would rather do something similar to what i did with tourguide and create a /documentation/ folder with various .md files to handle certain tasks. my initial inclination is:

main readme with a file tree of useful install & runtime info (ie how to install, how to call, note on adding it to breakfast/logout)
setup guide file, with all the options to set once
actions and options overview tab, with all actions and an example for each

what do you think rev

I think that is a sound plan. The script is complex despite its short nature. My whole goal was to have management script that you could build rules for over time, rather than something you have to decide at once. Letting the complexity be reflected in a wider spread Readme is a good idea


needed shim, IE8 support

I love then/promise and wants to use it in a JavaScript REST API client I am working on.
I need to support IE8 and was wondering what parts of es5-shim were really needed for then/promise?
Do you think we could make it old-browsers compatible with IE8 with little changes? Thanks

@ForbesLindesay updated the issue to be more specific

It depends on exactly what you need require('promise/lib/core') just requires Function.prototype.bind to be polyfilled.  If you want to use Promise.race from require('promise/lib/es6-extensions') you need to polyfill Array.prototype.forEach.  I believe thats everything.  This list may change slightly over time though.

Thanks, I ended up using https://github.com/jakearchibald/es6-promise/ which is IE8 compatible.


Organizer Fragment: Announcement button

Announcement functionality and hookup to this button

Done, but UI does not some improvement tho.


Collapsing same blocks and parcels into one row

@jpapagelis24 and I thought it may be useful to collapse block and parcels into one row when they have multiple rows.  For now this doesn't seem like a top priority, but at some point this could be something useful to work on.

The example here is for blocks and parcels with more than one info page (e.g.,

)
In the interim, can you create a variable that indicates whether this is an "info_1" page?

@nicholasjhorton added an indicator variable for "info_1" page: d74bff034028ab51eeb94e59f4deb50d1835e041

My plan is to elide the multiple rows for a building from the spreadsheet: I'll take things from here.

I also fixed this in the spreadsheet; thanks again for the guidance about what was needed.


fix responsiveness

Adding the youtube player broke the responsiveness of the website, and Grimoire fails consistently to fix it 🤣

fixed via #4


AddressAssignments:  InstanceAddress element has to go before ReservedIPs element

The Visual Studio 2017 would complain otherwise. This order is not documented anywhere and the XSD is not available.

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

ID: 9afca8a5-2a72-2370-6520-42c519fb8def
Version Independent ID: d7aef2ab-55ed-bdf6-428b-d6afe1ba47d1
Content: Azure Cloud Services NetworkConfiguration Schema
Content Source: articles/cloud-services/schema-cscfg-networkconfiguration.md
Service: cloud-services
GitHub Login: @jpconnock
Microsoft Alias: jeconnoc

@matkoliptak thanks for pointing this out. I am sure that the schema would differ in ways depending on what you are using to deploy.
I will assign to the content author to see if it makes sense to just note this or rework the example.

@matkoliptak I looked through the doc and it appears the AddressAssignments is before the ReservedIP

I plugged into VS and it did not complain as well. Possibly an update has been pushed. Will close for now. If you still see an issue just let me know.


How to make it work on top of activity's content, but still allow to click both?

On Google Maps, when you search for a place, a bottom-sheet appears, yet both it and the content above it are touchable.
How do I have this behavior?

OK, I've made a fork for this:
https://github.com/AndroidDeveloperLB/bottomsheet
And it works...

Wish I knew how to suggest to push the changes.

This is configurable via setInterceptContentTouch

@hzsweers Oops. Didn't notice that. Why is it named this way ? Why not something with the word "persistent" ?
Also, other issues:

dimming should be disabled when using this, using setShouldDimContentView .
it's impossible to import directly from Android Studio. Need to clone first.
Not sure though why I don't see shadows. Is it possible to add it to all Android versions?

I suggest to put a sample for the persistent bottom sheet, including to put a shadow.
Say, do you also know how to do it like on Google maps , where it has 3 steps of scrolling:

bottom sheet
almost full content+ large photo at the top
no photo at the top, being replaced by a toolbar

?
Something like that:

Why is it named this way ? Why not something with the word "persistent" ?

Because that is the most accurate name. "Persistent" is ambiguous, as it could also mean the sheet is not dismissible at all. This name is exactly what behavior it controls.

dimming should be disabled when using this, using setShouldDimContentView .

Most users probably want that, but setters should only be atomic changes and not make perhaps unexpected changes to other states of the sheet. This is normal, and disabling dim is just as easy.

it's impossible to import directly from Android Studio. Need to clone first.

Import what directly? This has been present since version 1.4. Make sure you're using jCenter()

Not sure though why I don't see shadows. Is it possible to add it to all Android versions?

Shadows won't show up pre-5.0, and don't stand out much on 5.0+. The "light source" is effectively "above" the screen, so the shadows are most obvious beneath views. Since the sheet's edge is only at the top, the shadow (16dp) is barely visible. It's much more obvious on tablets where it's not full width my default.

I suggest to put a sample for the persistent bottom sheet, including to put a shadow.

We're open to PRs, that would be a cool example to have. It won't be called a "persistent" sheet though :)

Say, do you also know how to do it like on Google maps , where it has 3 steps of scrolling:

I do not off the top of my head. That UI's sheet has 4 states though. Collapsed - Peeked - Expanded. You would need to do some magic with View Transformer, and probably forfeit use of the collapsed bar at the bottom unless you want to fork and add a 4th state.

Well "persistent" is the term used by Google:
https://www.google.com/design/spec/components/bottom-sheets.html#bottom-sheets-persistent-bottom-sheets
Or maybe I don't understand it well, and they mean it doesn't even scroll, working like a static snackbar ?
About dimming, ok.
About import, I meant import the project of course: open Android-Studio. click on VCS->checkout from version control->git , and then put : "https://github.com/Flipboard/bottomsheet.git" inside, and try to import this way.
About shadows, can you please consider adding it on pre-Lollipop ?
About the sample, ok.
About the Google-maps, that's right. This is what I've noticed. How do I work with the View-Transformer?

I'm pretty sure they mean that it's always partially visible. However, that's not what setInterceptContentTouch is controlling, hence why "persistent" is not the right name.
Importing the project works fine for me, you'll have to troubleshoot it yourself.
We use the framework's elevation settings for shadows, and that was not added until 5.0+. Unless Google magically backports elevation to pre-5.0, we will not be adding shadows to pre-lollipop.
ViewTransformer documentation can be found here, and an example can be found in the wiki here.

I mean: do they also mean it's still scrollable?
About importing, no, because Android-Studio can import other projects just fine, on 2 PCs I've tested (at home and at the office), and not this one. There is no setting I can change for this. I've even re-installed the IDE and all of the SDK components just to make sure it's not it.
About elevation, Google has a shadow (not one used by elevation, but still) for the toolbar and for CardView, so this one should also have it. Not only that, but it's shown on the guidelines.
I'm also pretty sure that all bottom sheets that Google is using have shadows even on pre-Lollipop.
About ViewTransformer , thank you . I'll check it out.

do they also mean it's still scrollable?

Unrelated. I'm telling you that persistent just means it's always at least partially visible.
Regarding android studio: like I said, you're on your own. You've provided no information as to what is going wrong other than that you just can't. That is unrelated to this project. Please seek help in a more appropriate place, such as stackoverflow.
Regarding the shadows: if it is so trivial, everyone would do it. There are plenty of other things in the material design guidelines that don't have platform support pre-lollipop, such as ripples and shared element transitions. Cards and actionbars (not toolbars) have custom implementations designed specifically for them, it's not a trivial job. We are not going to simply "backport" elevation.

So if it's always partially visible, I guess the back button won't close
them, but instead close the activity.
About Android Studio, it is related to the project, because you can't
import it in the normal way.
StackOverflow isn't for importing projects. It's not even a programming
question.
The solution about shadows is already described in Google's videos: they
use 9-patch images.
About ripples, this was also being talked about, and Google said it won't
be added because all of their attempts were not satisfying (bad
performance).
I'm not saying to backport elevation, but only for the shadow, in case the
bottom sheet is straight at the top.
On Tue, Dec 8, 2015 at 8:58 AM, Zac Sweers<EMAIL_ADDRESS>wrote:

do they also mean it's still scrollable?
Unrelated. I'm telling you that persistent just means it's always at least
partially visible.
Regarding android studio: like I said, you're on your own. You've provided
no information as to what is going wrong other than that you just can't.
That is unrelated to this project. Please seek help in a more appropriate
place, such as stackoverflow.
Regarding the shadows: if it is so trivial, everyone would do it. There
are plenty of other things in the material design guidelines that don't
have platform support pre-lollipop, such as ripples and shared element
transitions. Cards and actionbars (not toolbars) have custom
implementations designed specifically for them, it's not a trivial job. We
are not going to simply "backport" elevation.
—
Reply to this email directly or view it on GitHub
https://github.com/Flipboard/bottomsheet/issues/93#issuecomment-162794800
.

You're welcome to make these custom 9 patches for yourself if you think it would be that simple. Alternatively you can make a sheet view that has a cardview at its root.
As for your IDE issues: Then maybe ask on the android developers group on G+. The project clones fine and we've accepted multiple PRs from other users with no complaints. I think it is a problem on your end. you can't import it in the normal way really isn't enough information for anyone to help you though.
I'm locking this thread now, good luck.


fix incorrect first Tid during index scan which using bitmap index

Change logs
the _bitmap_findnexttids function has issues. It incorrectly skips data in some cases
The BMIterateResultstructure can store a maximum of 16 * 1024 = 16,384 TIDs, and in each iteration, we can return at most 16,384 TIDs. However, the BMBatchWordsstructure can store 3,968 words, each of which can be compressed (as specifiedby BMBatchWords hwords; see details in src/backend/access/bitmap/README). The maximum number of TIDs that can be stored in one word is equal to BM_MAX_TUPLES_PER_PAGE, which is an integer multiple of 64 and greater than 16,384.
This PR aims to fix the bug in this case. If words->cwords[0] is compressed and its length exceeds 16,384, the TIDs greater than 16,384 in cwords[0] will be skipped during access.
the first call:
param words:
{
firstTid = 1;
cwords[0] = 0x80000200
hwords[0] = 0xc0000000
}
result:
{
nextTid = 1;
lastScanWordNo = 0;
nextTids = (0, repeat 16384 times);
numOfTids = 0;
nextTidLoc 1;
}
After the first call:
word:
{
firstTid = 1;
cwords[0] = 0x80000100
hwords[0] = 0xc0000000
}
result:
{
nextTid = 16385;
lastScanWordNo = 0;
nextTids = (1, 2, 3,..., 16384);
numOfTids = 16384;
nextTidLoc = 1;
}
the second call:
word:
{
firstTid = 1;
cwords[0] = 0x80000100
hwords[0] = 0xc0000000
}
result:
{
nextTid = 16385;
lastScanWordNo = 0;
nextTids = (1, 2, 3,..., 16384);
numOfTids = 16384;
nextTidLoc = 16385;
}
words->firstTid is still equal to 1, but cwords[0] has already decremented the number of TIDs returned during the first call (0x100 * 64 = 16,384). At this point, firstTid does not match the actual data in cwords, and it is less than result->NextTid. The _bitmap_catchup_to_next_tid function will adjust firstTid, and simultaneously decrement cwords[0] by 16,384, resulting in TIDs 16,385 to 32,768 being skipped.
We need to ensure that firstTid is in the correct position. Therefore, every time we modify cwords, whether iterating by bit within a single word or skipping an entire word, we must synchronize the update of firstTid.
Why are the changes needed?
Describe why the changes are necessary.
Does this PR introduce any user-facing change?
If yes, please clarify the previous behavior and the change this PR proposes.
How was this patch tested?
Please detail how the changes were tested, including manual tests and any relevant unit or integration tests.
Contributor's Checklist
Here are some reminders and checklists before/when submitting your pull request, please check them:

[ ] Make sure your Pull Request has a clear title and commit message. You can take git-commit template as a reference.
[ ] Sign the Contributor License Agreement as prompted for your first-time contribution(One-time setup).
[ ] Learn the coding contribution guide, including our code conventions, workflow and more.
[ ] List your communication in the GitHub Issues or Discussions (if has or needed).
[ ] Document changes.
[ ] Add tests for the change
[ ] Pass make installcheck
[ ] Pass make -C src/test installcheck-cbdb-parallel
[ ] Feel free to request cloudberrydb/dev team for review and approval when your PR is ready🥳

Can we produce some cases that hit this issue?

Please fix CI failures？


AppleSignIn is not validating

Problem with AppleSignIn Apple.
Description
I downloaded the kastri fonts, using the demo itself I always get the login failure message, I already enabled the Apple login option in the app ID, the certificate shows that it is enabled, it opens the app all right, it shows the login button but when clicking on login failure.
** Error messages **
Login failed.
** Please indicate **
Delphi 10.4.1 with patch for ios 14.
Iphone XS Max IOS 14.2
MacOS Catalina.
Xocode 12
Added the authentication framework to the SDK.
** Steps to reproduce **
When installing the demo on the phone and trying to login already gives the error message.

Very odd. Just tested it again myself and it works fine, here.
Delphi 10.4.1, iOS 14.2 SDK, Xcode 12.2
Steps:

Compile/run
Tap "Sign in with Apple" button
Tap "Continue"
Allow device to use Face ID to verify
Authorization succeeds

Really strange, here I am using the demo that is in the project folder.
I did the following procedure:
In the apple developer I went to identifiers, I have 2, in the 2 I enabled the option Sign In with Apple, when editing this selected Enable as a primary App ID and in server I put a link to my site.
I compiled the demo in delphi 10.4.1 already with the patch of the shipper, on an iphone XS Max IOS 14.2, the SDK in delphi and the 14, xcode 12.
It opens correctly, shows the button but always falls in the option login failure, what can it be to always fall in this validation?

Is this still an issue for you, or are you able to provide any further info? Perhaps use the macOS Console app to check for messages in the log that might give a clue


Make the "Torret Module" engraving file

Generating the engraving

[ ] Generate SVG
[ ] Generate PDF with vectorized text


mvn build of command line OWL tools on OSX fails at OWLTools-Annotation

From<EMAIL_ADDRESS>on December 19, 2013 16:12:05
<b>What steps will reproduce the problem?

mvn clean package
<b>2.
<b>3.

<b>What is the expected output? What do you see instead?

<b>What version of the product are you using? On what operating system?

OSX 10.8.5

<b>Please provide any additional information below.

Results :

Tests in error:
testM3(owltools.gaf.lego.MolecularModelManagerTest): Cannot run program "/opt/local/bin/dot": error=2, No such file or directory

Tests run: 39, Failures: 0, Errors: 1, Skipped: 2

Original issue: http://code.google.com/p/owltools/issues/detail?id=87

From<EMAIL_ADDRESS>on December 19, 2013 16:18:47
This issue was closed by revision r1835 .
Status: Fixed


[minibuffer] Fix "Invalid preview key" message in minibuffer

The consult-customize function will now report a message when using (kbd ...) as a value for the :preview-key.
See https://github.com/doomemacs/doomemacs/issues/7064.

Great, thank you — I saw this error but hadn't had time to investigate yet.


kumarSaurav123 Attempt#4

Check List:

[x] Tests pass (./test.sh <username> shows no differences between expected and actual outputs)
[x] All formatting changes by the build are committed
[x] Your launch script is named calculate_average_<username>.sh (make sure to match casing of your GH user name) and is executable
[x] Output matches that of calculate_average_baseline.sh
[x] For new entries, or after substantial changes: When implementing custom hash structures, please point to where you deal with hash collisions (line number)

Execution time:
Execution time of reference implementation:

00:24.986 now.


Added Longest Remaining Time First

🛠 Issue (Number)

Issue no #1478
👨💻 Changes proposed
Added Longest Remaining Time First
✔ Check List (Check all the applicable boxes)

[ ✔ ] My code follows the code style of this project.
[ ✔ ] This PR does not contain plagiarized content.
[ ✔ ] The title of my pull request is a short description of the requested changes.

📷 Screenshots
C

Java

C++

Python

@Kumar-laxmi Could you please merge this PR as it has been approved.
Thank you!


Create service directory in common layer

Summary:

Create service directory in common layer

Move host/ipmb/ipmi/sensor/usb services to service folder
Move main.c to service folder

Fix warning messages

Test Plan:

Build Code: pass

Or move them to services?


Add validator BonyNode.json

Validator Details

Validator Name: BonyNode💚
Fiamma Address: fiamma13nwzm5dfd26ue74jr6sc39gyn3qze0rjgkp6w8
Fiamma Validator Address: fiammavaloper13nwzm5dfd26ue74jr6sc39gyn3qze0rj8g3faq
BTC Address: tb1p2qkg98nk38q5zqzafej68xajdpw6hv5vd0jr8ldqr53ygykec3rqjdhurh
Website: https://bonynode.online/
Description:  Trusted Validator Cosmos Ecosystem Blockchains. Explore our services where you can find tools that will be useful for node operators and developers. Safety and reliability are a priority. 24/7 management and monitoring!.
Contact Email<EMAIL_ADDRESS>
Checklist

[x] I have read and understood all instructions in the README.md
[x] I have created a new .json file in the validators directory
[x] My file is named BonyNode.json
[x] I have filled in all required information completely
[x] I have the required amount of SBTC(signet) for the committee program
[x] I understand and agree to the rules and terms of the Fiamma network

Declaration
I confirm that all information I have provided is accurate and truthful. I understand that providing false information may result in the disqualification of my validator status.

all Checklist +


fix(ui): show wallet once balances are loaded

Description:
Due to a recent change in the way that we handle numeric data from gRPC we need to be explicit when checking for unset/null values.
Motivation and Context:
Wallet GUI missing for new wallets with a zero balance.
How Has This Been Tested?
Create and sync new wallet and verify that the UI shows correctly.
Types of changes:
Bug fix
Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[ ] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage remained the same at 15.752% when pulling a63bbacd404b9202c9f09640246c733605ff937a on mrfelton:fix/missing-wallet-gui into 58a9ed325eb75080b225716d65e3d869b7d78e2e on LN-Zap:master.

utACK a63bbac


I am interested in using your game on my website. Could you add a license file like the MIT one in this pull request so I know how you want your software used?

Hey, that would be great. May i know how you found out about my game and why you would like to use it?

Done, go ahead

Thanks!
On Fri, Feb 10, 2017 at 9:44 AM, Abizer Lokhandwala <
<EMAIL_ADDRESS>wrote:

Done, go ahead
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/abizerlokhandwala/hwcentral-game/pull/1#issuecomment-279012758,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGrFE2SozAECq5VkVu8ZPW0lmz9ZJfnks5rbKIEgaJpZM4L3bLN
.


node's Buffer can be added to a string

'hello ' + new Buffer('world')

works perfectly fine in node. But Flow complaints that Buffer is incompatible with string. It doesn't do that for other types that have to be coerced via toString() (e.g. number), so why does it not allow this for Buffer? AFAIK,
'hello ' + obj

and
'hello ' + obj.toString()

are equivalent in JS (in fact, the latter is what's implied by the former). For Flow to explicitly require
'hello ' + new Buffer('world').toString()

seems tedious.

this is intentional, though only briefly mentioned in the docs so we should at least use this issue to remember to update the docs.
number is actually the only thing flow allows to be implicitly converted to a string, and that's a shaky argument (for example, perhaps flow should require an explicit cast like String(number) + '%'). since all objects can be coerced via toString() and it's usually not correct (e.g. 'hello[object Object]'), flow requires you to explicitly cast.

this is intentional, though only briefly mentioned in the docs so we should at least use this issue to remember to update the docs.

Thanks for the clarification. Yeah, I think the docs could be a lot more explicit here :)

number is actually the only thing flow allows to be implicitly converted to a string, and that's a shaky argument (for example, perhaps flow should require an explicit cast like String(number) + '%'). since all objects can be coerced via toString() and it's usually not correct (e.g. 'hello[object Object]'), flow requires you to explicitly cast.

Fair enough. I can definitely see how Flow's strictness could help prevent the "hello [object Object]" type of bug. Btw, is there a preference for String(obj) vs obj.toString()?


Add temporary datetime literal printing (TODO add some testing)

TODO:

Some add tests to each of the dialects

Issue #, if available:

Issue in partiql-lang-kotlin -- https://github.com/partiql/partiql-lang-kotlin/issues/1491

Description of changes:

Copies the PartiQLValueTextWriter from https://github.com/partiql/partiql-lang-kotlin/pull/1492

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

From testing some observations:

Redshift TIME + TIMESTAMP with an offset but not using WITH TIME ZONE removes the offset in the output
Trino TIME + TIMESTAMP with an offset but not using WITH TIME ZONE keeps the offset in the output
Trino does not support WITH TIME ZONE syntax
Spark does not have a TIME literal -> think we'll need to use timestamp instead


prefers-reduced-motion does not work on Switch

Description of the bug
When the user has set their settings to reduce motion our animation on the switch component should be removed. Making it go instantly when the user clicks it off and on.
prefers-reduced-motion works on our Spinner and Accordion, but something is wrong with the switch.
Steps To Reproduce

Set your computer preference to reduce motion. (MAC OS: Setting/accessibility/reduce motion)
Go to https://storybook.designsystemet.no/?path=/docs/felles-switch--docs
See that the animation is still there. (You can check if the setting is applied by going to the spinner and see that the animation is a lot slower then normal

Additional Information
No response

Other methods for turning on the preference in other operating systems is listed at Mozilla


Use of shared_ptr in io_service_pool changed to unique_ptr

IIRC,this will only work on gcc >= 4.8 as stdlibc++ does not have emplace_back, etc. Unfortunately, we might have to leave the old code in place for #if defined(HPX_GCC_VERSION) && HPX_GCC_VERSION < 408000.

@hkaiser I"m not sure, but I suppose there was only a problem with map<>::emplace function in older versions of gcc (we saw it in some of polymorphic_factory headers), not with vector<>::emplace_back

@AntonBikineev You're right. However, the buildbot is failing for the gcc 4.6 builders (see for instance:  http://hermione.cct.lsu.edu/builders/hpx_gcc_4_6_boost_1_49_debian_x86_64_debug/builds/470/steps/build_core/logs/stdio). Intel13 fails as well: http://hermione.cct.lsu.edu/builders/hpx_intel_13_gcc44_boost_1_54_debian_x86_64_debug/builds/128/steps/build_core/logs/stdio.

@AntonBikineev ping?

@hkaiser from what I can see, those version of libstdc++ (<= 4.6) require type to be assignable in order for it to be emplace_backable and push_backable, but asio::work has explicitly declared private operator=. We can either wrap problematical sections into macros and use old version of the code for them or just refuse PR.

@AntonBikineev By no means I'm suggesting to reject your PR, I really think we should try to integrate it. I can't answer the question whether just to wrap the critical pieces into macros or have both versions. This entirely depends on how much code would have to wrapped into macros. if it's almost all of it we can go with both versions, if it's just a small section I'd prefer to have those wrapped instead. In any case we should try to use compiler feature-based macros (as detected during configuration) instead of compiler versions, if possible.

@hkaiser the problem is that there is no feature-macro which would be able to know whether push_back/emplace_back requires operator= underneath. Which macro do we use to specify version of libstdc++?

it turns out there may be problems related to non-noexcept move-ctor of boost::thread, which seems to be non-noexcept up until boost-1.56...

All tests looks fine now.

it turns out there may be problems related to non-noexcept move-ctor of boost::thread, which seems to be non-noexcept up until boost-1.56...

What problems would you anticipate?

@hkaiser how do I run tests on hermione with, say, boost-1.49.0, g++-4.7 and debian?

@AntonBikineev:
cmake \
    -DCMAKE_BUILD_TYPE=Debug
    -DHPX_WITH_EXAMPLES=On \
    -DCMAKE_C_COMPILER=/usr/bin/gcc-4.7 \
    -DCMAKE_CXX_COMPILER=/usr/bin/g++-4.7 \
    -DBOOST_ROOT=/opt/boost/1.49.0-debug \
    -DCMAKE_INSTALL_PREFIX:PATH=<install_dir> \
    -DHPX_WITH_MALLOC=tcmalloc
    <hpx_source_dir>

@hkaiser: no, I meant some specific command, which I could run on IRC

I meant some specific command, which I could run on IRC

try HermioneBot: help
The available builders are listed here: http://hermione.cct.lsu.edu/builders

hkaiser: I have a compilation error when compiling with options mentioned above, let me try handling this please

Well, it's merged already, let's see what happens.


VFS-299 Add failing tests for missing filesystem listener removal in DefaultFileMonitor

I merged a slightly different version:

Use @Ignore to pass the build.
Renamed the class to match other test classes in the package.

Now we need a fix...

Yes, thank you @garydgregory!


Infer types when calling endpoints through fetch wrapper inside load functions

Describe the problem
It would increase ergonomics if the return type of fetch calls to custom endpoints (+server.js) was inferred inside load functions when using the provided fetch function.
I'm creating an application that needs to have a available APIs for integration purposes. I also have a database that can only be queried server side. Currently I can use my endpoints (+server.js) in my load functions using the provided fetch wrapper, and SvelteKit will automatically figure out if it should use HTTP to talk to the API, or just call the +server.js directly (which is awesome!):
// src/routes/api/books/+server.js

import { json } from "@sveltejs/kit";

export async function GET() {
  /** @type {{ title: string; author: string; }[]} */
  const books = await db.query(/* query */);
  return json(books);
}

// src/routes/books/+page.js

import { error } from "@sveltejs/kit";

export async function load({ fetch }) {
  /** @type {{ title: string; author: string; }[]} */
  const books = fetch("/api/books")
    .then(res => res.json())
    .catch(() => {
      throw error(500, "Failed to fetch books");
    });

  return { books };
}

However, as you can see, I have to type out the result of the fetch to my endpoint (+server.js). This is obviously not a huge deal, but it can get quite tedious and error prone when the application size grows.
Describe the proposed solution
Ideally I would like the provided fetch wrapper inside load function (in +page[.server].js) to infer the type when querying internal endpoints.
If I have this +server.js file inside src/routes/api/books/:
import { json } from "@sveltejs/kit";

export async function GET() {
  /** @type {{ title: string; author: string; }[]} */
  const books = await db.query(/* query */);
  return json(books);
}

Then I would have these results in a +page[.server].js file:
export async function load({ fetch }) {
  const books = await fetch("/api/books").then(res => res.json())
  //      ^ { title: string; author: string; }[]
}

This raises some questions however. What will happen if you do fetch("/api/books").then(res => res.formData())? Will it error? And what if you want to do more fancy things inside your endpoint. For example provide JSON response only if some specific headers are set?
Alternatives considered
It is possible to turn all +page.js files that uses the API into +page.server.js files, and query the database directly. However, the downside of that is that it's quite easy for your APIs and your internal usage of the database to shift. By dogfooding the API, it's easier to maintain it over time.
Another approach (which is how we are doing it currently) is to use tRPC as an abstraction layer:
// src/routes/api/books/+server.js

import { json } from "@sveltejs/kit";
import { trpc } from "$lib/trpc";

export async function GET({ fetch }) {
  const books = await trpc(fetch).books.all.query();
  return json(books);
}

// src/routes/books/+page.js

import { error } from "@sveltejs/kit";
import { trpc } from "$lib/trpc";

export async function load({ fetch }) {
  /** @type {{ title: string; author: string; }[]} */
  const books = await trpc(fetch).books.all.query()
    .catch(() => {
      throw error(500, "Failed to fetch books");
    });

  return { books };
}

// src/wherever/you/keep/trpc/routers/books.js

export const booksRouter = t.router({
  all: t.procedure.query(() => {
    const books = await db.query(/* query */);
    return books;
  }),
});

A downside to this approach is that you get yet another abstraction layer, and you have to set up tRPC.
Importance
would make my life easier
Additional Information
No response

I think it's hard and tricky to implement as typescript need to know where each endpoint type at compile time, so it's not possible to resolve types just from the provided url, but we would probably need to generate a type map something like:
interface EndpointMap {
  "/api/books": typeof import("routes/api/books/+server"),
}

And then we could patch the fetch function type in load to retrieve types for the corresponding url(and method). This works great for simple api urls but does not handle dynamic urls.
Also we should note that the Response interface used by fetch and svelte endpoints are not strictly typed but we could easily patch it:
interface TypedResponse<T = any> extends Response {
  json(): Promise<T>;
}

So in your endpoints you will use TypedResponse instead of Response
function typed_json<T>(x: T) {
  return json(x) as TypedResponse<T>;
}

type Book = { title: string; author: string };

export async function GET() {
  const data: Book[] = ...;
  return typed_json(data);
}

To extract types from TypedResponse you could use this helper types:
// TypedResponse<T> -> T
type GetResponseType<R> = Awaited<R> extends TypedResponse<infer T> ? T : never;

// infer type of endpoint function
type GetEndpointType<S extends RequestHandler> = GetResponseType<ReturnType<S>>

So now to get inferred types in load function you will simply cast the response of fetch:
export async function load({ fetch }: PageLoadEvent) {
	const books = (fetch('/api/books') as ReturnType<typeof import('../api/books/+server').GET>)
		.then((res) => res.json())
		.catch(() => {
			throw error(500, 'Failed to fetch books');
		});

	return { books };
}

To expand on @mhmd-22 ideas, here is how SvelteKit do typing for load functions:
https://svelte.dev/blog/zero-config-type-safety

Closed as duplicate of https://github.com/sveltejs/kit/issues/647

https://github.com/sveltejs/kit/issues/647#issuecomment-1822644311
@qurafi I came up with virtually the exact same idea independently, let me know what you think of my idea


Fix affected_versions of CVE-2016-6153

It seems to be a typo as the record also has fixed_versions.

This fix is in CPAN-Audit-20240718.001. Thanks,

Thank you.


hacktoberfest

Thank you for your suggestion! The site at the root of our repo is meant to launch the curriculum and lessons. Closing this PR as the web page does not connect to a lesson. Stay tuned for future ability for you to contribute additional lessons and sample websites created to share with the community.


add docs for uploading UUID as an assignment

Great work! Thanks a lot @RaduNichita for your contribution!


Do not create a bug report when user interrupts backend

The backend perceives the interrupt signal as an exception and generates a bug report. This is not the desired behavior.

The exception handler in withBugReport should detect the UserInterrupt exception and treat it differently from other exceptions.


Update deployment-jobs.md checkout step behaviour information

Remove the message about deployment jobs only supporting one checkout step.
This no longer appears to be the case, as the following pipeline template works with two checkout steps.
This appears to have been added after this issue #11188
- stage: Terraform_Apply
    displayName: "Terraform Apply"
    dependsOn: Terraform_Plan
    condition: and(succeeded('Terraform_Plan'), eq(dependencies.Terraform_Plan.outputs['TerraformPlanJob.terraformPlan.changesPresent'], 'true'))
    variables:
      - name: TF_IN_AUTOMATION
        value: true
    jobs:
      - deployment: TerraformApply
        displayName: "Terraform Apply"
        pool:
          vmimage: "ubuntu-latest"
        environment: "${{ parameters.azdoEnvironment }}"
        strategy:
          runOnce:
            deploy:
              steps:
                - checkout: self
                  displayName: Checkout Self Repo

                - checkout: git://DEMO/DEMO_Scripts
                  displayName: Checkout DEMO_Scripts

@juliakm

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Thanks @joshwright10!
#sign-off


Update init.py

fixed the bugs in the analyzeData function and modified the code to display only necessary rows

reviewed, everything is fine.


DH Section review

DataHarmonizer groups columns into sections. We should review:

Appearance (determined mostly by the Sections_order tab in Soil-NMDC-Template_Compiled)

Names of sections

What happens to the user experience when the section names are especially long
In the past, we had talked about including the contents of category columns into the section names when they add something. For example, biogeochemistry for the mixs_packages_x_slots tab.
Do we want to include all of these facets in section names?

MIxS vs MIxS modified
required, recommended, option?

Ordering of sections
Assignment of columns to sections
Ordering of columns within sections

Implementation

The section modelling should be injected into the LinkML schema, not created on the fly when the DH data.tsv is being created. Solution started in #123
Is it worth having a short name for each section and a more descriptive title? For now, I have just replaced all appearances of the names like 'biosample_id' with the titles like 'Biosample Identification' across the whole Google Sheet, with the exception of keeping a short_name column in the Sections_order tab, in case we want to revert.

I changed Biosample Identification to Sample ID because the longer form spills over the gray line on the left that indicated the column freeze

I don't believe any of this is relevant anymore. If there are problems with the way slots are grouped into sections please open an issue in the submission-schema repo if it specifically about NMDC's schema, specifically, or in the the main DataHarmonizer repo if it is about how DataHarmoinzer interprets a schema.


Create IAR.gitignore

gitignore for IAR Embedded Workbench
Fix for existing PR : https://github.com/github/gitignore/pull/2167

@wirecat This is the fix PR for the https://github.com/github/gitignore/pull/2167


New definition for xmax in create_axis

From max(data) to max(data)+((max(data)-min(data))/(bins-1)).
With a simple histogram:
h = make_hist([0]*3+[1]*4+[2]*5+[3]*6+[4]*7+[5]*8, bins=6)
Before:

UserWarning: Only 75.76% of data contained in the binning range [0.0, 5.0). Note that the upper edge is exclusive.
After:

No warnings

Now works like matplotib

Very useful PR, inclusive upper edge should make mistakes less likely. I will add a couple of pytest to this PR.

When PR is done, we can also push the 1.1.2 -> 1.1.3 or 1.2 change,


I need a bit of help with hxCodec error when compiling.

Describe your problem here.
This is the only error I currently get when compiling the 0.7 source code.
Error: Could not find include file "C:/HaxeToolkit/haxe/lib/hxCodec/2,5,1/project/Build.xml"
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No, I did not do any changes at all.

How did you fix this?


Use periodic messages on M10SPG

Periodic messages offer a number of benefits over regular polling

No time waiting for a response
Output of message as soon as they are available
Less busy reading
Easier to configure output of multiple message types

Also made a couple other changes

Added a context structure for the gps
Added a function for also sending a valset message to simplify using them
Removed the timeout for read, the sensor will attempt to read a message 10 times, evenly spaced, instead of checking the monotonic clock
Added a way to check if a message is of a certain type. The array of message headers will be useful for a polling interface in the future, if that's required.

Closes #45 - this is a good start on periodic message reception.


[textures] DrawTextureEx() is not sub-pixel precise

As you can see here: https://github.com/raysan5/raylib/blob/c51203ae7e7aefac5fa95097d424aefdbe9c759c/src/textures.c#L2023 the drawing of textures is not sub-pixel precise, It is just casted to an int. So a moving sprite "jumps" from pixel to pixel.
Some kind of sub-pixel rendering or anti-aliasing here would be good!

Antialiasing tends to produce blurry graphics and harm pixel art aesthetics, though. Maybe this feature should only be optional. IMO, jumping from one pixel to another is okay. For instance, check this for how in Towerfall, the characters move 1 pixel at a time. There's no sub-pixel movement.

You are right it depends on the use case. And maybe it isn't even needed. I compared the movement of a sprite to the movement of a circle (with DrawCircleV), both use float coordinates. The movement of the circle is smoother. Now the only difference is that DrawCircleV directly calls rlVertex2f which takes float values whereas DrawTexturePro (which is called by all DrawTexture functions) expects a rectangle (int values).
I think that the DrawTexture functions should skip rectangles in favor of Vector2s, so the float values are not touched before being passed to OpenGL.
And for the record. This is the kind of jumpy movement I mean:

It should be smooth. You can also observe similar problems in the core/camera2d example, especially when zooming out and moving the block continuously.

I think 1 is probably the best among these. Those (like me) who want integer-precision can just make sure all their floats are integers.

+1 for using floats in rectangle. Also add function Rectangle RectangleSnap(r Rectangle, snap int) (or some other name). This would make life easier with snapping to those who need it.
Getting pixel-art aesthetic right would need some better solution anyways. Currently with high-resolution displays you need to change the snapping amount and adjust them to match image scaling. More likely you will need to snap every 4px or more to make the "pixel-art" look right. Also, don't forget about the moving Camera2D.

I think the best way to support pixel art graphics is to have virtual canvases. That is, have a virtual screen of size (320, 180), where all the pixels are drawn. Then each pixel in this virtual buffer is drawn scaled up to draw on 16:9 screens. This way, the physics code does not need to deal with anything other than a (320, 180) screen, but the display can do any 16:9 screen or even 16:10 with letterboxing.
Currently, in raylib, I have to pass in a scale parameter to every DrawTexture call and multiply my position vectors as well, which imo is not very convenient. A virtual canvas would be a nice feature.

@sherjilozair @egonelbre thank you very much for your feedback! I think I'll go for 1.
@sherjilozair virtual canvas has already been available in raylib for some time, it can be accomplished with a RenderTarget2D. You can see create a 320x180 target to render to and then use that texture to draw to fullscreen. Some reference could be found here, despite using same size for target and screen. Mouse input could be scaled with SetMouseScale().
One usage example could be found on my tool rFXGen, it has a button to scale window to double size... while internal render size keeps being original size.

Implemented proposed solution 1. in commit https://github.com/raysan5/raylib/commit/6324697ffd7fd410274599457dd9f85119510898
This change is more critical than I expected, it could break some things... let's see...

Just note here that changing Rectangle parameters to float is breaking several raylib examples, including all based on RenderTexture2D, related to drawing...


Tips for training model on form with missing key fields

Do you have any tips for improving model scores (other than using more input samples) when manually training a custom model on a form that does not use label keys for certain fields?  (e.g. columns of a data in a table without column headers)  Thank you!

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

ID: 67f00138-7492-ba6e-6665-de0a6e0803f8
Version Independent ID: 3835780b-1ace-77e3-553e-a537b6084de9
Content: Quickstart: Label forms, train a model, and analyze a form using the sample labeling tool - Form Recognizer - Azure Cognitive Services
Content Source: articles/cognitive-services/form-recognizer/quickstarts/label-tool.md
Service: cognitive-services
Sub-service: forms-recognizer
GitHub Login: @PatrickFarley
Microsoft Alias: pafarley

@jjacks Thanks for the question. We are investigating the issue and will update you shortly.

@jjacks Thanks for the feedback. you can try and use the Form Recognizer train with labels feature and label these tables as key value pairs, labeling each cell of the table as a value. Please note you will need to label and train with 5 samples with the maximum number of rows in the tables.
We can train the model to be accurate in table structure recognition. But it seems the train with labeling is only associate with Key-value identification.
We will check with the product team and update you shortly.

@jjacks We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Incorporate curated AMR data

This task is part of the AMR Curation Options below:
AMR Curation (Option 1)
We will release an updated and curated list of genes and their gene products known or suspected to be involved in AMR, supported by subsystems and literature. Those genes will be accessible to users through the PATRIC specialty gene filters and other PATRIC comparative tools, such as the Protein Family Sorter, Compare Regions Viewer, etc. In addition, we will build a curated list of known genomic variations associated with AMR. Some of these variations are in known AMR genes, while others are associated with transcribed intergenic regions or regulatory sites. Those determinants will be made
accessible to users through the PATRIC specialty gene filters and other PATRIC comparative tools, such as alignments and heat maps.
AMR Annotation Modules (Option 2)
We will update the existing k-mer-based annotation software in PATRIC/RAST in order to propagate AMR-related annotations from ARDB, CARD, Resfams, and the manual annotations from AMR Curation (Option 1). We will build and deploy software that enables the direct propagation of AMR-related functions from a reference genome to a closely related strain. This will be deployed in the annotation application that is available on the PATRIC website. Propagation will be enabled for well-studied organisms at first (e.g., Escherichia coli and Mycobacterium tuberculosis), and will be expanded, as PATRIC annotations are reconciled with the reference genome annotations from the
community.

02/24:  The current plan is to use the Specialty Genes propagation mechanisms to associate the curated data to existing features in PATRIC.  Ultimately, the annotations will be propagated via the curated subsystems.

3/28: Ron ping Veronika & Sveta to get.

3/31: Information and curated data thus far now in PATRIC, via WordPress:
http://enews.patricbrc.org/4974/patric-antimicrobial-resistance-amr-gene-curation/


Cluster Dashboard navigation compromised

This is how I reproduced this, there are probably other ways. I think it just needs to involve a spaces cluster (not a local cluster) reproduced with local cluster (that is at least shared through spaces)

For a spaces cluster add kube-prometheus helm chart (via Apps -> Charts)
go to releases tab
click on other tabs/drawers (in the following video Cluster was clicked on, which brings up the cluster details, not the cluster metrics overview).
Clicking on Nodes does nothing, then clicking workload -> overview brings up the Remove Cluster dialog (second video)

https://user-images.githubusercontent.com/40840436/142698692-ed8815b1-0182-424c-866d-9c863231fdd9.mov
https://user-images.githubusercontent.com/40840436/142698699-c665b0b3-8db8-4137-8359-9a1bc2de5ecb.mov
Actually it may be that the cluster title dropdown menu is reacting to clicks (even though the dropdown menu is not visible)??
5.3.0-beta.2, tried on Windows and Linux

I have run into this on macOS as well.

Relates to https://github.com/lensapp/lens/issues/4075
When you quickly jump off the cluster iframe with opened menu, Animate component (which is wrapped around Menu) doesn't have time to close menu, because it waits for onTransitionEnd event which is never triggers.

Would it be better to do that with css instead of js?


Feature buffer color

Hey everyone, I added this new feature that allows you to change the color of the buffer if the command is recognized or not, obviously I have implemented it so that it is backwards compatible adding default values and customizable for those who have this need.
I will post here a little gif so you can understand better.

The PR is not ready yet, I would like also some suggestion on how to improve this functionality.

Logic update to consider command and sub-command

@mzanrosso - great! It's nice to start to see some syntax highlighting
Something I had in my notes for highlighting it to come up with some trait that a highlighter would implement. Something like:
trait Highlighter {
  fn highlight(&self, text: &str) -> Vec<(Span, Style)>
}

Where Style is something like what @fdncred mentioned with being able to do more than colours.
An alternative one is closer to what Rustyline uses:
trait Highlighter {
  fn highlight(&self, text: &str) -> String
}

Where the output is the ANSI styled version of the string you pass in.
Either way, it lets anyone using reedline implement that trait, and then nushell could call into the highlighter for doing the paint of the user's input.
Are you interested in adding that to this PR? We could also work on it as a follow-up PR (maybe on stream?) as well.

Hey @jonathandturner, thanks for your comment; yes I'm very interested in upgrade this functionality; let me see if I can work on it directly on this pr.

@jonathandturner, @fdncred
Try to have a look now, thanks.

Looks good!

@jonathandturner it wasn't really ready for merge since the last commit change a bit the paint logic, let me fix this with another PR

@mzanrosso - I noticed that after the merge. I've got a new PR up which I think fixes it

@jonathandturner no problem


docs for array functions and fields

Linked issue(s)
KOL-7426
What change does this PR introduce and why?
Please check if the PR fulfills these requirements

[ ] Include reference to internal ticket and/or GitHub issue "Fixes #NNNN" (if applicable)
[ ] Relevant tests for the changes have been added
[ ] Relevant docs have been added / updated

@yifanwu-kolena Adding you as a reviewer here as I feel like you're the authority on this.


Popover position is off in low screen resolutions

Hi
I noticed that the popover position is off in low screen resolutions if the highlighted area is not in the middle.

Duplicate issue (sorry!)


Merge develop with master

Hi. Are you planning to merge develop branch with master, so all new features will be available in the official boost release?

Hopefully with 1.67 or 1.68!

Great, thanks!


chore(typescript): migrate element file to typescript

#1203

Cleanup done! npm test passing. Waiting for Travis - @cnishina did you want to take another look?


allowJs:true + declaration:true

[x] There is an associated issue. Fixes #7546
[x] Code is up-to-date with the master branch
[x] You've successfully run jake runtests locally
[x] You've signed the CLA
[x] There are new or updated unit tests validating the change

** TODO **
From previous PR: #15911

[ ] Fix commented out tsserver test. Not sure what the correct fix is
[ ] ES5 prototype style function definitions

function f() {
}
f.prototype.method = function() {}   // should probably emit a class?

[ ] @typedef {Object} SpecialType -> Interfaces

/**
 * @typedef {object} SpecialType1 - creates a new type named 'SpecialType'
 * @property {string} prop1 - a string property of SpecialType
 * @property {number} prop2 - a number property of SpecialType
 * @property {number=} prop3 - an optional number property of SpecialType
 */
/** @type {SpecialType1} */
var specialTypeObject1;

[ ] Recognize @private/@readonly -> private X / readonly X

  /** @private */
  _render() {...}

  /** @readonly */
  static observedAttributes() {...}

This looks awesome! Is there an ETA to release?

Needs some work on emitting part for type interfaces described in jsdocs.
I’ve been using puppeteer project as a real world test case to solve.
Typescript doesn’t understand that module.exports should also export the
interfaces so need to solve that too.
I think a lot of these can be sped up if I could get a mentor from
Typescript team.
This isn’t as easy as I thought it would be.
Please help Typescript.

I did a quick test of this on a project I am developing for. It works great except that it automatically detects require("SOMETHING") as a module import even if the TypeScript module setting is set to none.
This is a weird quirk of the code I am dealing with but it would be nice to be able to disable module detection. Since in my case require is just another function.

Yeah there are lots of little quirks like that to work out.
But being able to auto-generate types for js projects is going to be amazing.

@nojvek Once #21930 is merged, I'd like to write a transformer for JS files that simply iterates over their exported symbols, gets their declared types, and uses a modified typeToTypeNode on them to generate declarations for all required symbols. It needs to be a very different process from our usual subtractive declaration emit.

ooo I like it. Do you have a guesstimate for the merge ?

What needs to be done to finish this effort?

I basically just need to re-focus and get back into it. TSC has moved some pieces around so need to re-base and figure out the merge conflicts + tests.
Hopefully we don't end up bikeshedding again. Been trying to land this for a couple of years now :/

You probably want to start fresh rather than attempt a rebase - the declaration emit pipeline has entirely changed since this PR was last updated.

@nojvek thanks for the work so far! I'm going to close this since it's going to require a substantial rebasing anyway. Looking forward to the next iteration.


Someone wrote css outside the tag

Please assign me for this so I can remove the css text written as normal text

@aditya-bhaumik


Ability to add sessionStorage in headless version

Steps to reproduce
Tell us about your environment:

Puppeteer version: 2.1.1
Platform / OS version: Windows 10 Pro
URLs (if applicable):
Node.js version: 12.6.1

What steps will reproduce the problem?
Please include code that reproduces the issue.
No way to add session Storage in pupetter API.
My site depends on authentication, and I was about to use pupetter for PDF export of page.
I can send sessionStorage info to server, but if pupetter can't expect it, code depending on sessionStorage will fail before I am done with my job
What is the expected result?
pupetter can have environment to set SessionStorage?
What happens instead?
Either expected result OR any other way by which I can set that.
Can the recommendation be to use head browser?

And printPDF won't work in without headless as well


Change Raxx.get/set_header calls to allow duplicate headers.

Needs some handling for cookie special case.
Might make more sense as a new function add_header because of the number of headers that exist that should only be added once. e.g. content-length content-type

Given the number of corner cases, I'm starting to feel like this patch just isn't worth it. Thoughts?

Tempted to agree, shall we close this PR? Can always add it later.


Add node code lists R17 and R20

This PR adds two new regional mappings for GUIDE project and YSSP'23 work related to it. The R17 regional mapping is for YSSP work and R20 for overall GUIDE project.
How to review

Read the diff and note that the CI checks all pass.
Confirm the new lists appear in the documentation.
More TBA.

PR checklist

[x] Continuous integration checks all ✅

[x] Add or expand tests; coverage checks both ✅

[x] Add, expand, or update documentation.

[x] Update doc/whatsnew.

Hi @khaeru
I opened a new #PR109 which superseded #PR108. The issue with licensing error from GAMS is now resolved, but the tests are fialing due to hardcoded list of "expected" node codelist within the/data/nodefolder. Especially this message_ix_models/tests/model/test_structure.py. Now the question is if I modify the test_structure.py file to include the new node code lists within this PR, will the test pass?

Hi @SiddharthJoshi-Git, it looks to me like you have to edit doc/pkg-data/node.rst manually, but (following the other files), including all data from your R17.yaml file shouldn't take more than a few lines.

The only thing left is to update the docs for node code list.

Please re-read above:

I would also ask that you update the test_nodes() function in the same file with cases that check that contents of the two new code lists.

Hi @SiddharthJoshi-Git, it looks to me like you have to edit doc/pkg-data/node.rst manually, but (following the other files), including all data from your R17.yaml file shouldn't take more than a few lines.

Thanks @glatterf42, I will update this today manually.

The only thing left is to update the docs for node code list.

Please re-read above:

I would also ask that you update the test_nodes() function in the same file with cases that check that contents of the two new code lists.

Many thanks @khaeru . I have now added a new commit https://github.com/iiasa/message-ix-models/pull/109/commits/6729d9faf467d841dfbb08d99ca7c4998f726ac4 which parametrises checks for test_node() function. I hope this concludes the PR checks.
Based on @glatterf42 comment
Hi @SiddharthJoshi-Git, it looks to me like you have to edit [doc/pkg-data/node.rst](https://github.com/iiasa/message-ix-models/blob/main/doc/pkg-data/node.rst) manually, but (following the other files), including all data from your R17.yaml file shouldn't take more than a few lines.
I will now proceed to add the node code lists to the .rst file

Dear @khaeru, @glatterf42
The PR is now ready for merging.
Many thanks for your time.
Best,
Sid

@SiddharthJoshi-Git thanks! At least a couple things remain:

Please see the code style that applies to all the packages in our message_ix stack, particularly the "7 rules of a great Git commit message".  Otherwise, the PR can eventually be merged by the "squash-and-merge" method, i.e. as a single commit.
Please check the boxes in the "PR checklist" in the template above if the things described are done. At a glance, it seems like you have not updated doc/whatsnew; see  iiasa/message-ix-models@b275f4d for a similar example.

@SiddharthJoshi-Git thanks! At least a couple things remain:

Please see the code style that applies to all the packages in our message_ix stack, particularly the "7 rules of a great Git commit message".  Otherwise, the PR can eventually be merged by the "squash-and-merge" method, i.e. as a single commit.
Please check the boxes in the "PR checklist" in the template above if the things described are done. At a glance, it seems like you have not updated doc/whatsnew; see  b275f4d for a similar example.

Many Thanks @khaeru,
For suggestion 1, I am ok with squash and merge strategy as the atomic commits on this PR are just for verification and not required after merge. Additionally, I must admit that I have not done rebase/reword before and hence I am afraid that I will mess-up something along the way. I have taken note of the resource "7 rules of a great Git commit message" and will apply the rules on next PR.
For suggestion 2, I have modified the whatsnew.rst via af04b2d


Modded Clothing Cannot Be Selected with Mouse Cursor Once Worn in the Clothing Menu

The Long Dark Version
v 2.3.1
Mod Version
v 2.0.0
Other Mods Installed
AlcoholMod v2.0.4
AmbientLights v2.8.1
AuroraMonitor v1.0.0
Candlelight v1.8.2
Clothing Expanded v1.0.3
ComplexLogger v1.0.5
CraftingRevisions v2.3.2
DeveloperConsole v1.7.0
DIY by Santana v2.2
ExtraGraphicsSettings v1.1.4
Food Pack by TKG v5.5
FoodsByCalorieWaltz v1.0.7
FullSwing v1.0.0
GearSpawner v2.3.2
Modders' Gear Toolbox v1.0.3
HouseLights v2.5.2
ImprovedLoadingScreens v1.2.1
KeyboardUtilities v2.0.0
LocalizationUtilities v2.0.0
MapManager v1.1.6
ModComponent v6.3.1
ModData v1.5.3
ModSettings v2.0.0
PlacingAnywhere v2.6.0
QoL v1.6.3
RandomMainMenu v2.2.0
RetroFood v1.3
RunInBackground v1.2.0
SkipIntroRedux v3.1.1
TimeAccelerator v3.0.0
TinyTweaks-FixDroppedOrientation v1.1.0
TinyTweaks-MapTextOuline v1.1.0
Universal Tweaks v1.4.2
UseTheWorstFirstAndDropStone v1.0.0
Describe the Issue
Modded clothing once worn, cannot be selected in the clothing menu with the mouse cursor. Left clicking the worn modded clothing in the clothing grid will not do anything. Thankfully, the clothing can still be selected via WASD keys (QoL mod) or removed by choosing drop in the inventory menu.
Notice that issue #11 also occur here (see screenshot, no grid colour on selection).
Steps to Reproduce
Use any clothing mod (such as Clothing Expanded), go to clothing menu, wear a clothing from the clothing mod, select any other vanilla clothing in the current menu, and said issue will show up.
Log Output
Screenshots

Oh and sorry, forgot to attach the log output.
Latest.log

Unlike the previous two issue, I haven't actually come across this one myself - and that's probably due to the fact that I don't play with modded clothing, so I really appreciate this report. I added it to the trello board, and I'll do some investigating when I get the time. So thank you for this report :)

That's great! But, I tried to access the trello board, and it says that the board itself is private - I can't access it, even with an account.

Are you able to access it now?

Yes. No problem accessing it now.

This issue should now be fixed in 2.0.1.