[BUG] Instance manager not restarting after closing connection

Describe the bug
Instance manager pod shuts down but the pod still remains in running state, any connections made from longhorn-manager fails to connect to instance-manager as it is not running.
Below is the logs for instance-manager pod.
time="2024-10-15T01:14:53Z" level=info msg="Listening on gRPC Controller server: <IP_ADDRESS>:10000" func="controller.(*Controller).StartGRPCServer.func1" file="control.go:126"
[longhorn-instance-manager] time="2024-10-15T01:14:54Z" level=info msg="Wait for gRPC service of process pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0 to start at localhost:10000" func="process.(*GRPCHealthChecker).WaitForRunning" file="healthchecker.go:36"
[longhorn-instance-manager] time="2024-10-15T01:14:54Z" level=info msg="Process pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0 has started at localhost:10000" func="process.(*GRPCHealthChecker).WaitForRunning" file="healthchecker.go:33"
[longhorn-instance-manager] time="2024-10-16T11:28:03Z" level=error msg="Failed to handle notify" func="instance.(*Server).InstanceWatch.func2" file="instance.go:522" error="failed to send instance response: rpc error: code = Unavailable desc = transport is closing"
[longhorn-instance-manager] time="2024-10-16T11:28:03Z" level=info msg="Stopped clients for watching instances" func="instance.(*Server).InstanceWatch.func1" file="instance.go:474"
[longhorn-instance-manager] time="2024-10-16T11:28:03Z" level=warning msg="Process watch is canceled" func="instance.(*Server).watchProcess" file="instance.go:647" error="rpc error: code = Canceled desc = grpc: the client connection is closing"
[longhorn-instance-manager] time="2024-10-16T11:28:03Z" level=error msg="Failed to watch instances" func="instance.(*Server).InstanceWatch" file="instance.go:542" error="failed to send instance response: rpc error: code = Unavailable desc = transport is closing"
[longhorn-instance-manager] time="2024-10-16T11:28:13Z" level=error msg="Process manager update watch errored out" func="process.(*Manager).ProcessWatch.func1" file="process_manager.go:374" error="rpc error: code = Unavailable desc = transport is closing"
[longhorn-instance-manager] time="2024-10-16T11:29:53Z" level=info msg="Start watching instances" func="instance.(*Server).InstanceWatch" file="instance.go:466"
[longhorn-instance-manager] time="2024-10-16T11:29:53Z" level=info msg="Start watching processes" func="instance.(*Server).watchProcess" file="instance.go:624"
[longhorn-instance-manager] time="2024-10-16T11:29:53Z" level=info msg="Start handling notify" func="instance.(*Server).handleNotify" file="instance.go:450"
[longhorn-instance-manager] time="2024-10-16T11:29:53Z" level=info msg="Started new process manager update watch" func="process.(*Manager).ProcessWatch" file="process_manager.go:379"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Instance Manager received terminated to exit" func=cmd.start.func3 file="start.go:266"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Stopped disk gRPC server" func=cmd.start.func4 file="start.go:301"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Instance Manager sent terminated to exit" func=cmd.start.func4.1 file="start.go:282"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Stopped instance gRPC server" func=cmd.start.func4 file="start.go:301"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Instance Manager already sent terminated to exit" func=cmd.start.func4.1 file="start.go:284"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Stopped proxy gRPC server" func=cmd.start.func4 file="start.go:301"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Instance Manager already sent terminated to exit" func=cmd.start.func4.1 file="start.go:284"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Trying to gracefully shut down process-manager gRPC server" func=cmd.cleanup file="start.go:82"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Process Manager: prepare to delete process pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0" func="process.(*Manager).ProcessDelete" file="process_manager.go:229"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Process Manager: deleted process pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0" func="process.(*Manager).ProcessDelete" file="process_manager.go:243"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=debug msg="Process Manager: wait for process pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0 to shutdown before unregistering process" func="process.(*Manager).unregisterProcess.func1" file="process_manager.go:280"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=error msg="Process manager update watch errored out" func="process.(*Manager).ProcessWatch.func1" file="process_manager.go:374" error="rpc error: code = Unavailable desc = transport is closing"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Process Manager: trying to stop process pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0" func="process.(*Process).StopWithSignal.func1" file="process.go:186"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Wait for process pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0 to shutdown" func="process.(*Process).StopWithSignal.func1" file="process.go:192"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=error msg="Failed to receive next item in process watch" func="instance.(*Server).watchProcess" file="instance.go:650" error="rpc error: code = Unavailable desc = error reading from server: EOF"
[pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0] time="2024-10-16T17:01:55Z" level=warning msg="Received signal interrupt to shutdown" func=cmd.registerShutdown.func1 file="shutdown.go:31"
[pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0] time="2024-10-16T17:01:55Z" level=warning msg="Starting to execute registered shutdown func github.com/longhorn/longhorn-engine/app/cmd.startController.func1" func=cmd.registerShutdown.func1 file="shutdown.go:34"
[pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0] time="2024-10-16T17:01:55Z" level=info msg="Shutting down iSCSI device for target iqn.2019-10.io.longhorn:pvc-294a7c91-6cf4-47a7-af63-a016434d94f4" func=iscsidev.LogoutTarget file="iscsi.go:266"
[pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0] time="2024-10-16T17:01:55Z" level=info msg="Shutting down iSCSI target iqn.2019-10.io.longhorn:pvc-294a7c91-6cf4-47a7-af63-a016434d94f4" func="iscsidev.(*Device).DeleteTarget" file="iscsi.go:336"
[pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0] time="2024-10-16T17:01:55Z" level=warning msg="Socket server connection closed" func="socket.(*Socket).handleServerConnection" file="frontend.go:137"
lh_client_close_conn: Closing connection
lh_client_close_conn: Connection close complete
[pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0] time="2024-10-16T17:01:55Z" level=info msg="device pvc-294a7c91-6cf4-47a7-af63-a016434d94f4: iSCSI device /dev/longhorn/pvc-294a7c91-6cf4-47a7-af63-a016434d94f4 shutdown" func="longhorndev.(*LonghornDevice).shutdownFrontend" file="dev.go:209"
[pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0] time="2024-10-16T17:01:55Z" level=info msg="Closing: <IP_ADDRESS>:10130" func="remote.(*Remote).Close" file="remote.go:49"
time="2024-10-16T17:01:55Z" level=info msg="Monitoring stopped tcp://<IP_ADDRESS>:10130" func="controller.(*Controller).monitoring" file="control.go:1214"
[pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0] time="2024-10-16T17:01:55Z" level=info msg="Closing: <IP_ADDRESS>:10170" func="remote.(*Remote).Close" file="remote.go:49"
[pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0] time="2024-10-16T17:01:55Z" level=info msg="Monitoring stopped tcp://<IP_ADDRESS>:10170" func="controller.(*Controller).monitoring" file="control.go:1214"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Wait for process pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0 to shutdown" func="process.(*Process).StopWithSignal.func1" file="process.go:192"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=debug msg="Process Manager: wait for process pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0 to shutdown before unregistering process" func="process.(*Manager).unregisterProcess.func1" file="process_manager.go:280"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Process Manager: process pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0 stopped" func="process.(*Process).Start.func1" file="process.go:79"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Process Manager: successfully unregistered process pvc-294a7c91-6cf4-47a7-af63-a016434d94f4-e-0" func="process.(*Manager).unregisterProcess.func1" file="process_manager.go:300"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Shut down all processes successfully" func=cmd.cleanup file="start.go:104"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Stopped process-manager gRPC server" func=cmd.start.func4 file="start.go:301"
[longhorn-instance-manager] time="2024-10-16T17:01:55Z" level=info msg="Instance Manager already sent terminated to exit" func=cmd.start.func4.1 file="start.go:284"

Here you can see that the pod is still running
instance-manager-639b52360c4d5a42a576d05bcce07134        1/1     Running   0               25d     <IP_ADDRESS>   kafka3       <none>           <none>

And the error in longhorn-manager pod trying to connect to instance-manager
time="2024-10-22T19:49:52Z" level=error msg="Dropping Longhorn engine out of the queue" func=controller.handleReconcileErrorLogging file="utils.go:74" controller=longhorn-engine engine=longhorn-system/pvc-2e08c16a-b904-4092-905e-6672762ff164-e-0 error="failed to sync engine for longhorn-system/pvc-2e08c16a-b904-4092-905e-6672762ff164-e-0: Failed to get instance process pvc-2e08c16a-b904-4092-905e-6672762ff164-e-0: failed to check Instance Manager Instance Service Client connection for instance-manager-639b52360c4d5a42a576d05bcce07134 IP <IP_ADDRESS>: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing: dial tcp <IP_ADDRESS>:8503: connect: connection refused\"" node=kafka3

Expected behavior
If the instance-manager shuts down, it should be restarted automatically
Environment

Longhorn version:  1.7.1
Impacted volume (PV): pvc-2e08c16a-b904-4092-905e-6672762ff164
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): Helm
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: Kudeadm

Number of control plane nodes in the cluster: 3
Number of worker nodes in the cluster: 51

Node config

OS type and version: Rocky 8.9
Kernel version: 5.4.212-1.el8.elrepo.x86_64
CPU per node: 4
Memory per node: 16
Disk type (e.g. SSD/NVMe/HDD): SSD
Network bandwidth between the nodes (Gbps):

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): VMWare
Number of Longhorn volumes in the cluster: 48

Workaround and Mitigation
Deleting instance-manager works, it starts the pod again and longhorn-manager is able to connect to it again.

Hi @mzameer777 , what is the reason for the the instance-manager shut down? Just to understand what is the source of the terminating signal.

I'm not entirely sure. It has happened a couple of times, but I haven't been able to determine why the instance manager shuts down. I believe that, for whatever reason the instance manager stops, the process should terminate itself and restart the pod, rather than leaving the pod in a hanging state. I'm attempting to generate the support bundle, but it’s taking a long time. Please let me know if I'm missing anything or if there are additional details I can provide.


Pre-processed exports from the app are not currently being saved

The original pre-processed exports from the DigiApp and the post-processed ones (the ones which have been processed via Open refine and imported into Specify) should be retained and archived. Currently, only the post-processed ones are. We need a procedure to ensure this and a way to distinguish between these.
At the moment it is not possible to trace any issues, as we can't compare the two versions and therefore identify what happened.
In teh short-term, I've just added a folder to N:\SCI-SNM-DigitalCollections\DaSSCo\Digi App\Data for the original files until we come up with a better protocol.
N:\SCI-SNM-DigitalCollections\DaSSCo\Digi App\Data\Archive copies of original preprocessed export files

A new interim solution has been proposed and so am closing this issue.
New process for spreadsheet files #456


[DOC] How to use ClearML

Preliminary Checks

[X] This issue is not a question, feature request, RFC, or anything other than a bug report. Please post those things in GitHub Discussions: https://github.com/nebari-dev/nebari/discussions

Summary
How to setup/use ClearML
Steps to Resolve this Issue
.

We no longer have this integration


MAG L1A CDF

Change Summary
Add the rest of L1A MAG files, including first draft of CDF and a refactor of the code I just put up for review (should have thought a little harder about that code)
Overview

Besides the CDF changes, I reworked the way the MAG L1A data looks, by making sure there is a 1:1 relationship between MAG L1A objects and CDF files (each containing 24 hours of data). Also removed the Vector class because nparrays are way more efficient here.
Testing

Most of the tests are the same, with some minor changes due to format updates.

I did get an email from MAG with some pretty specific and in some cases somewhat extensive changes, but I'll put those in a different review to keep it small (er) here.


Access Soft Serve On Remote Server

Hi there,
I installed Soft Serve on a remote server. It works great in local, but I have trouble accessing it from the outside.
I would like to setup something like your git.charm.sh to access it from my local computer. But so far I failed.
Could you share the parts of your Nginx config that makes ssh git.charm.sh possible?
Thank you very much!

I don't think they have nginx set up. Running a nmap scan shows only port 22 open with OpenSSH on the other side.
What issue are you running into?

Maybe the firewall or the security team rules stopped you. For example, Alibaba Cloud does not allow external access to the server by default. You must open the port (default 23231) manually.

Hi there,
I installed Soft Serve on a remote server. It works great in local, but I have trouble accessing it from the outside.
I would like to setup something like your git.charm.sh to access it from my local computer. But so far I failed.
Could you share the parts of your Nginx config that makes ssh git.charm.sh possible?
Thank you very much!

Maybe the firewall or the security team rules stopped you. For example, Alibaba Cloud does not allow external access to the server by default. You must open the port (default 23231) manually.

Hi there, thanks to you both for your answers!
So I enabled my firewall and added the port 23231. My configuration looks like this:
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
23231/tcp                  ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)
23231/tcp (v6)             ALLOW       Anywhere (v6)

Also, I added a service to automatically launch Soft Serve on boot. While connected to my server, I can access it with the command ssh localhost -p 23231 as shown in the documentation:

But when I try to access it directly from my local computer with a command such as ssh<EMAIL_ADDRESS>-p 23231 or ssh ssh://rildev@<IP_ADDRESS>:23231, I still get the message: ssh: connect to host <IP_ADDRESS> port 23231: Connection refused.
I'm quite new to all this server configuration stuff. Maybe I'm missing something obvious. Do you know what it might be?

Hi there, thanks to you both for your answers!
So I enabled my firewall and added the port 23231. My configuration looks like this:
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
23231/tcp                  ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)
23231/tcp (v6)             ALLOW       Anywhere (v6)

Also, I added a service to automatically launch Soft Serve on boot. While connected to my server, I can access it with the command ssh localhost -p 23231 as shown in the documentation:

But when I try to access it directly from my local computer with a command such as ssh<EMAIL_ADDRESS>-p 23231 or ssh ssh://rildev@<IP_ADDRESS>:23231, I still get the message: ssh: connect to host <IP_ADDRESS> port 23231: Connection refused.
I'm quite new to all this server configuration stuff. Maybe I'm missing something obvious. Do you know what it might be?

Hi my friend.
When soft-serve started, the service are bound to the address "<IP_ADDRESS>:23231".  That ipv4 address  "<IP_ADDRESS>"  is an invalid destination address.  It may only be used as a source address when your host has no assigned address, e.g. DHCP request.  And in this circumstances, this ipv4 address represents all ipv4 address of your server, such as local loopback address (<IP_ADDRESS>) and Intranet address like <IP_ADDRESS>.
So you cannot connect to your server by using <IP_ADDRESS>. Because this is not your server's address on the Internet.
You should use the Internet public ipv4 address instead of <IP_ADDRESS> ...
I hope my answer can help you.

Hi there, thanks to you both for your answers!
So I enabled my firewall and added the port 23231. My configuration looks like this:
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
23231/tcp                  ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)
23231/tcp (v6)             ALLOW       Anywhere (v6)

Also, I added a service to automatically launch Soft Serve on boot. While connected to my server, I can access it with the command ssh localhost -p 23231 as shown in the documentation:

But when I try to access it directly from my local computer with a command such as ssh<EMAIL_ADDRESS>-p 23231 or ssh ssh://rildev@<IP_ADDRESS>:23231, I still get the message: ssh: connect to host <IP_ADDRESS> port 23231: Connection refused.
I'm quite new to all this server configuration stuff. Maybe I'm missing something obvious. Do you know what it might be?

Firstly, check the IP <IP_ADDRESS>  and make sure you can use this undestination ip to locate your server on the Internet?
Secondly, does your local computer have a private key that corresponds to the public key in soft-serve configuration?
check ~/.ssh/<private key file>.

You're running the server on localhost, which will only allow connection from your local network. You need to set your environment variable for SOFT_SERVE_HOST to <IP_ADDRESS>.

So I finally got some time to focus on this. Thank you both for your help. But I still can't get it to work.
@xuwhao I didn't know the address <IP_ADDRESS> was reserved, thanks for telling me. I was using it as an example ip.
The way Soft Serve is configured right now includes the public key of my remote server "DO Admin" and the public key of my local computer "RilDev". I pushed the modifications and restarted the service. The one my server works well, but it is still not working when I try to connect with ssh<EMAIL_ADDRESS>-p 23231

@zQueal I set the my environement variable SOFT_SERVE_HOST to <IP_ADDRESS>. Now I don't get access denied it just looks like it is not loading.
ssh -t<EMAIL_ADDRESS>-p 23231
ssh: connect to host <IP_ADDRESS> port 23231: Connection timed out

I tried to setup a reverse ssh proxy by following this guide https://www.howtoforge.com/community/threads/a-guide-to-using-nginx-as-a-reverse-proxy-for-http-s-and-ssh.82918/. But this time it blocked my soft-server.service telling me the port is already in use.
My config looks something like this:
upstream ssh.rildev.tk {
        server <IP_ADDRESS>:22;
}

server {
        listen 23231;
        proxy_pass ssh.rildev.tk;
}

Any idea how to make this work?
How do you access your Soft Server on a remote host?

Maybe you already solved the issue, but stumbled upon this post setting up my own git server with soft-serve I'll share my configuration and the steps to setup soft-serve as a service.
First, let's assume you only want to access soft-serve with ssh: You don't need nginx. soft-serve has a builtin ssh-server. You just need a service running on your host, which shall start soft-serve on boot.
Assumed setup:

Linux Ubuntu (should work on any debian-based distribution with systemd)
Separate user (git) for running soft-serve as a service
Repository directory in git's home directory: /home/git/repos
systemd service running as user git which starts on boot
remote access: git.yourdomain.com

Needed steps:

Create user git
Create systemd configuration
Enable linger to allow user git running services on boot

Example:
# login to your host with user having sudo access rights
ssh<EMAIL_ADDRESS>
# install soft-serve according to https://github.com/charmbracelet/soft-serve#installation

# allow port 23231
sudo ufw allow 23231
sudo ufw reload

# create user git
sudo adduser git

# change to user git
sudo su - git

# initially run soft serve according to https://github.com/charmbracelet/soft-serve#configuration

SOFT_SERVE_INITIAL_ADMIN_KEY="ssh-..." SOFT_SERVE_REPO_PATH=/home/git/repos soft serve

# clone the config repository from your local machine
# john@localbox:~$ git clone ssh://git.yourdomain.com:23231/config

# exit soft serve by ctrl+c

# create a service to run soft on boot
mkdir -p /home/git/.config/systemd/user/
# see file below
vi /home/git/.config/systemd/user/soft-serve.service

# logout (switch back to user sysadmin)
# enable linger for user git, see below (1) for an explanation
sudo loginctl enable-linger git

# IMPORTANT: this part has to be executed with a real login session,
#   not with `sudo su - git` (reason: systemd needs a real login session

ssh<EMAIL_ADDRESS>
# start the service
systemctl --user start soft-serve.service
# enable on boot
systemctl --user enable soft-serve.service

# if all goes well, you should see soft running under systemd as user git:
ps xuf | grep -1 soft
# git          857  0.0  1.7  18172  8404 ?        Ss   Nov28   0:00 /lib/systemd/systemd --user
# git          860  0.0  0.1 169388   744 ?        S    Nov28   0:00  \_ (sd-pam)
# git        33374  0.0  3.9<PHONE_NUMBER>4 ?        Ssl  07:38   0:00  \_ /usr/bin/soft serve

systemd user service:
# /home/git/.config/systemd/user/soft-serve.service
[Unit]
Description=git soft-serve
After=network.target

[Service]
Type=simple
Restart=always
RestartSec=1
Environment=SOFT_SERVE_PORT="23231"
Environment=SOFT_SERVE_BIND_ADDRESS="<IP_ADDRESS>"
Environment=SOFT_SERVE_KEY_PATH="/home/git/.ssh/soft_serve_server_ed25519"
Environment=SOFT_SERVE_REPO_PATH="/home/git/repos"
Environment=SOFT_SERVE_HOST="git.yourdomain.com"
ExecStart=/usr/bin/soft serve

[Install]
WantedBy=default.target

I hope this helps or supports others stumbling upon this post.
Notes:

loginctl enable-linger git enables the user git to run services on boot or without being logged in:

man loginctl

If enabled for a specific user, a user manager is spawned for the user at boot and kept around after logouts. This allows users who are not logged in to run long-running services.


Including tenon_post.js on every page.

I note in your readme it suggests to include /tenon/javascript/tenon_post.js on every public page.
Quick question is tenon designed to be used on a production server or is it more for a UAT or local development environment?
You could perhaps use the SilverStripe requirements configuration to automatically include this javascript in each page which is one less step for the developer.
I may have a tinker with this and raise a pull request unless you have some reservation about this javascript being included by default?

The design intention was to include the javascript on every page, and that's what we're doing in our installations. So yes, it would be a good step to include this using configuration rather than the developer having to add it manually.

Closed in error.

I had a go at working out how to do this over the weekend using the SilverStripe Requirements class. However I found that you had to do it different ways depending on your theme development or whether you are using the CWP basic recipe vs. vanilla SilverStripe. Depending how coupled you want to make this module to the CWP it might be possible to add the tenon js by overloading the getBaseStyles method in the CWP BasePage (using a DataExtension). Then of course it would be less usable in other non-CWP projects. Perhaps instead we can put together some good documentation which covers both use cases?

Thanks Cam; providing documentation for the options seems a good approach.

For adding the js to the CWP basic recipe you could also reference this documentation https://www.cwp.govt.nz/guides/core-technical-documentation/common-web-platform-core/en/customising-the-default-theme#adding-js-and-css-files
And for more generic documentation: http://docs.silverstripe.org/en/developer_guides/templates/requirements/
Probably a section with both options documented would make sense - Do generic first then CWP section :+1:
Happy to peer review your document if you do this update via a pull request process.


how to eidt file idea.properties  or  disable "Fetching android sdk component information"

I need proxy to access google adk , otherwise a error " WARN - ateSettings.impl.UpdateChecker - Connection failed. Please check your network connection and try again."
for android studio without docker, set proxy like this

Go to the install location, open bin directory, edit the idea.properties, add below line to the file's end:

    disable.android.first.run=true

Then open android studio, set the proxy in configuration and close again.

Remove the line disable.android.first.run=true from idea.properties and open android studio again.

After this, you can work behind a proxy.

how i set proxy for android studio within docker?
I override 'ENTRYPOINT studio.sh ‘ in  'android-studio' dockerfile  using 'docker run    --entrypoint=/bin/bash ', then edit idea.properties, but  permission denied.
How could i edit file idea.properties  ?

edit android-studio/Dockfile , add :
RUN echo disable.android.first.run=true >> ${ANDROID_STUDIO_HOME}/bin/idea.properties

then sudo docker build ...


Use tRPC properly

Start using tRPC properly.

Caches GitHub requests as to not get ratelimited
Merge pull request procedure into the data procedure, returns information for forks, issues, pulls, and general information

Current dependencies on/for this PR:

main

PR #9   👈

This comment was auto-generated by Graphite.


Docs: added Faster RCNN model

I added a new Navigation item called Models, and the Faster-RCNN model as sub-item that gives:

an overview of the model
some illustration
a code snippet
some references

Codecov Report

Merging #261 into master will decrease coverage by 0.18%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #261      +/-   ##
==========================================
- Coverage   80.17%   79.98%   -0.19%
==========================================
  Files         101      101
  Lines        1897     1879      -18
==========================================
- Hits         1521     1503      -18
  Misses        376      376

Flag
Coverage Δ

#unittests
79.98% <ø> (-0.19%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

mantisshrimp/core/bbox.py
64.70% <0.00%> (-4.79%)
:arrow_down:

mantisshrimp/metrics/metric.py
90.90% <0.00%> (-0.76%)
:arrow_down:

mantisshrimp/core/mask.py
84.29% <0.00%> (-0.63%)
:arrow_down:

mantisshrimp/parsers/splits.py
95.65% <0.00%> (-0.19%)
:arrow_down:

mantisshrimp/parsers/parser.py
95.00% <0.00%> (-0.13%)
:arrow_down:

mantisshrimp/models/rcnn/fastai/callbacks.py
100.00% <0.00%> (ø)

...antisshrimp/models/rcnn/lightning/model_adapter.py
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


glyphs: Remove glyphs that are now in SDK

Linked to https://github.com/LedgerHQ/ledger-secure-sdk/pull/262
Will need cherry-picks on all active SDK before it can be merged.

included in https://github.com/LedgerHQ/app-boilerplate/pull/44


README: Fix name of docker image

Hello,
I think name of docker image should be replicated/dockerfilelint instead of dockerfilelint.
Thanks
Peter

Coverage remained the same at 99.101% when pulling d6b6a1e8d8008f45c2a059cd7160ceb1da80e858 on o5:fix/readme into c9c6f0dd97009022b742f85aac3a1948c9e08f17 on replicatedhq:master.

Coverage remained the same at 99.101% when pulling d6b6a1e8d8008f45c2a059cd7160ceb1da80e858 on o5:fix/readme into c9c6f0dd97009022b742f85aac3a1948c9e08f17 on replicatedhq:master.


fix typo in comment: "yeild"

Coverage remained the same at 97.197% when pulling 6d4560cffe87cdd2fc5d0515d99a9009c4f70870 on rutsky:patch-1 into f4be605e17ae1d9f0ab673b280cd3fa13b4748ca on aio-libs:master.

Thanks


Hide the border when not a sidebar

Just a small tweak: the border seems unnecessary when not serving as a dividing line between the sidebar and content.

@nevanscott Ha! Well spotted. Thank you.


Add integration testing

So far there is only a test for the transform module.
It would probably make sense to at least test if weh runs the plugin without errors, but I'm not 100% sure how to best do that.

i've been thinking about this as well - what we could do is implement a sort of dry-run-ish option in core, which would still perform the transforms, but not actually write anything to disk. as for reading, maybe there could be a way to somehow make weh accept a manually constructed files object? perhaps you could even build some test helpers around that and publish it as a module


Added function compound_poisson_process()

Added to spike_train_generation module the function to simulated correlated parallel poisson process according to the compound Poisson model (CPP) and relative tests

Coverage decreased (-0.2%) to 96.949% when pulling b87bc7ef3072c751b26948b304065e65dfc783d2 on pietroquaglio:cpp into 1ce1e98ff29032d5c12bb72ad5423add023a4970 on NeuralEnsemble:master.


cloud_sql_proxy: update to 1.10

This includes a fix for domain-scoped project IDs.

/cc @Carrotman42

LGTM, but I don't have ACLs to this repo.
(the newest proxy version says:
Cloud SQL Proxy: version 1.10; sha 571947b0f240c8b2fa4d163065e5b155920ddfa9 built Mon Jun 26 21:19:01 UTC 2017
)

Has this been tested E2E with a Flex app?

Yes.
In my app.yaml:
beta_settings:
  cloud_sql_instances: "example.com:projectid:us-central1:instance"

DB connection string:
mysql+pymysql://user:password@/database?charset=utf8mb4&unix_socket=/cloudsql/example.com:projectid:us-central1:instance'

SSH into my flex instance:
$ sudo -i
# docker ps --filter="ancestor=gcr.io/google_appengine/cloud-sql-proxy"
CONTAINER ID        IMAGE                                     COMMAND
7e0d7b6293d3        gcr.io/google_appengine/cloud-sql-proxy   "/cloud_sql_proxy -di"

# docker logs 7e0d7b6293d3
2017/07/19 07:11:22 Ready for new connections
2017/07/19 07:11:22 errors parsing config:
        googleapi: Error 403: The client is not authorized to make this request., notAuthorized

# wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
# chmod +x cloud_sql_proxy
# docker cp cloud_sql_proxy 7e0d7b6293d3:/cloud_sql_proxy
# docker restart 7e0d7b6293d3
7e0d7b6293d3

# docker logs 7e0d7b6293d3
2017/07/19 07:11:22 Ready for new connections
2017/07/19 07:11:22 errors parsing config:
        googleapi: Error 403: The client is not authorized to make this request., notAuthorized
2017/07/19 08:24:10 Ready for new connections
2017/07/19 08:24:10 Listening on /cloudsql/example.com:projectid:us-central1:instance for example.com:projectid:us-central1:instance

Database reads and writes are verified working.
I'll be happy to provide more details in private.


create a "scrapbook working copy" implementation of the IFileWorkingCopy

required for https://github.com/microsoft/vscode/issues/172974
We would like a IFileWorkingCopy implementation that is related to UntitledFileWorkingCopy as in, there is no file on disk backing the model so it wouldn't auto-save and would be recovered from a hot exit, but can more easily be discarded without prompting to save.

If a user closes a window without onExitAndWindowClose hot exit enabled, the user would not be prompted to save
The dirty indicator would not show for that file type

@amunger I am trying to understand the requirements for such a change and maybe notebook team could help out. I see that backups are really tied to dirty state tracking, meaning that if a working copy does not report it is dirty, we do not create any backups.
So I am wondering if we can keep the dirty state of the working copy as it is today so that backups work, but see for certain UI locations where we show a dirty indicator today to hide it. We can expand on that strategy that to also hide any dialogs that would appear today when hot exit is off.
However, I miss a little bit the greater picture here for where else scrapbook working copies would have to alter its behaviour.
For my testing, I am running the command "New GitHub Issue Notebook" which normally opens an editor dirty, but with a few tweaks shows like a scrapbook:

Dirty State in Editor
Changing this line to return false should remove the dirty indicator in the editor tab:
https://github.com/microsoft/vscode/blob/815295b041a4a1d59dbe7c33a17168fef36e8138/src/vs/workbench/contrib/notebook/common/notebookEditorInput.ts#L120
Dirty State for Working Copies
Changing this method to do an early return should remove the global dirty indicator:
https://github.com/microsoft/vscode/blob/815295b041a4a1d59dbe7c33a17168fef36e8138/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.ts#L43

Ping

Sorry - I read through your comment too fast the first time and missed the ask.
Playing around with those two hacks seems to provide the behavior we're looking for except for the case of exiting with hotexit=off/onExit - Ideally we would not prompt to save the file in that case.

could probably verify with https://github.com/microsoft/vscode/pull/183310

I will not push those changes for May though, there are still some UX concerns.

I figured that was the case, but still probably the best way to verify - checking that out and running locally. Or you could mark verified if you're comfortable with that.

I think we can move this to June and have it verified then, either with notebooks or my work 👍


Closes #41: About endpoint

Closes #41
Changes:

Added json structure:

pub struct About {
    pub transaction_service_base_url: String, // base url defined in .env file
    pub name: String, // crate name
    pub version: String, // crate version
    pub transaction_service_version: Option<String>, // version returned by about endpoint of transaction service
    pub build_number: Option<String>, //commit count of master
}

Theoretically in the future we could use https://doc.rust-lang.org/std/macro.option_env.html to pull the BUILD_NUMBER and VERSION number from the service at compile time. (Similar to what we do on android)


feat: Support web-based LMS OAuth.

Description
This pull request makes it possible to use the LMS's web login rather than the app's login form. This is necessary in the case that the client institution is using a custom authentication provider, and must piggy-back off the LMS's authentication flow to avoid writing a whole new custom login interface for these providers.
Testing instructions
The best way to test this is to use the version of the app built for Yam education.

Register here: https://app.dev.yam-edu.com/
Then load up this PR and build it: https://github.com/yameducation/educationx-app-ios/pull/2
Load the app. You should immediately be brought to the login page.
Login, and verify the app's main interface loads.
Alternatively, hit Done to be brought back to a minimalist login page that will allow you to jump back into the authentication workflow.

Deadline
None
Author Concerns
One thing that's not working quite right in our client's application build is logout. This is because while the existing logout does, in fact, expire the LMS token, it doesn't log out the user from Auth0, the provider they're using. This means hitting the sign in button will log you right back in without prompting you for the password once more. It turns out that on the LMS, the logout button has a 'next' variable to a view that also logs the user out from Auth0. I've not yet determined if this is something we should also add as a tuneable variable-- having some custom logout URL. I'd have to see how that was implemented first.
My suspicion is that we should actually change what the LMS is doing rather than adding some additional logout action into the app code, but I'm not yet sure. cc @Cup0fCoffee
Reviewers

@bradenmacdonald
RaccoonGang reviewer TBD

@bradenmacdonald Unmarking as WIP because although it probably can't be merged as-is, it does need upstream feedback from RaccoonGang before it can be moved forward.
cc @IvanStepanok @volodymyr-chekyrta If either of you has some time :) Thanks!

Today I attempted to work on the tests, but it looks like I can't run them properly on non-Apple silicon. The tests rely on autogenerated mocks which need to be refreshed in order to update them and run, and the Podfile installs a dependency for generating these-- SwiftyMocky, which is prebuilt for Apple Silicon only.
I attempted to compile it for x86_64 and it did compile, but when it ran on the needed directory, it failed compiling on some dependency that it only pulls in and builds at runtime. Searching around for the cause didn't yield much useful info-- I'd have to spelunk way down the rabbit hole to fix it, so it might just be best to find someone else with Apple Silicon who can complete the test portion or ask RaccoonGang for help here.

@Kelketek if you have a non-Apple Silicon chip, try this
https://github.com/MakeAWishFoundation/SwiftyMocky#2-installing-swiftymocky-cli
Just run SwiftyMocky commands with Mint (tested on Intel i5)

@Kelketek  was a product ticket created for this work?  We're pushing to have all PRs tie back to a product ticket that is, ideally, prioritized before the development happens.

Thanks for the pull request, @Kelketek! Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.

@e0d No, no product ticket was created for this work. It was discovered as necessary for a client when preparing a copy of the app for them. We did get the build working for them with these customizations, but due to other snags there is no anticipation of continuing development on this at this time.
Still, this is likely to be a fairly important thing to have for any team which is using anything other than direct auth to the platform (so, pretty much all SSO users). It could be rolled into this existing ticket, which this fix would solve.
To whoever that person is, there's one other bug that showed up later: It doesn't look like this implementation actually lets you log out. Likely, what is needed is the ability to clear all Safari state for the app in order to perform the logout. However I'm unfamiliar with the ecosystem to know how to do this off-hand (this is my first foray into Swift.)
@xitij2000 worked on a similar fix for Android. I believe it has the same features and limitations.

@e0d Looks like we've got another client who needs this, so I'm continuing work on it. I've created an issue here: https://github.com/openedx/openedx-app-ios/issues/212
Let me know if you need anything else on that front.

Hi @volodymyr-chekyrta ! We're currently discussing internally how to handle the budget for finishing this PR. For context, we've now had two different clients who have needed this but haven't yet secured enough from either of them to get it across the finish line. We're trying to figure out what to do about it and how to get buy-in for the finishing work.
I'll update you as soon as I have a prediction on when we'll be able to rebase this and address your notes.

Hi @volodymyr-chekyrta ! We're currently discussing internally how to handle the budget for finishing this PR. For context, we've now had two different clients who have needed this but haven't yet secured enough from either of them to get it across the finish line. We're trying to figure out what to do about it and how to get buy-in for the finishing work.
I'll update you as soon as I have a prediction on when we'll be able to rebase this and address your notes.

Makes sense to me 👍
Please let us know if we can help you from the engineering or any other perspective.

Had a conversation with Zemeel Hassan from Blend-ed who is considering taking over this PR on behalf of one of their clients. Recording here, where we walk a little bit through the code and some of the issues that he's running into with the rebase (and which I'd previously run into on previous rebases)

Had a conversation with Zemeel Hassan from Blend-ed who is considering taking over this PR on behalf of one of their clients. Recording here, where we walk a little bit through the code and some of the issues that he's running into with the rebase (and which I'd previously run into on previous rebases)

Hey! I have started working on rebasing it to the develop branch. I have some doubts which I'll have to clear prior to drafting the PR. How should I proceed?
@Kelketek @volodymyr-chekyrta

How should I proceed?

@zameel7 Go ahead and ask them here! I'm sure @volodymyr-chekyrta will be able to answer your questions about creating the replacement PR and can likely answer some questions about the changes that have been made since this original version.

Hi @zameel7 @Kelketek, please let me know if you have any questions. I'll do my best to help you.
The only doubt I have is that we need to double-check that we do not duplicate the behavior introduced at https://github.com/openedx/openedx-app-ios/pull/447.
Perhaps we should extend the logic presented in https://github.com/openedx/openedx-app-ios/pull/447 rather than adding another SAML approach.

@zameel7 The merged PR that @volodymyr-chekyrta just linked might actually solve what this PR was attempting to do incidentally. Could you build that version of the app and check if it works for you? If it does, we could close this PR and be done here :)

@zameel7 The merged PR that @volodymyr-chekyrta just linked might actually solve what this PR was attempting to do incidentally. Could you build that version of the app and check if it works for you? If it does, we could close this PR and be done here :)

Sure, let me check that. I wonder how I missed the context of that PR😀

@zameel7 That's what I don't know. I would suspect it might, since I would think the SAML auth would turn into a more native grant on behalf of the platform once activated via web auth, but the only way to know would be to try it out. It might not.
But even if not, starting from that branch will already give you a leg up in setting up external auth.

I tested it and it works. For the SSO URL, I gave the URL that the OAuth swift used to build for authorise and for the SSO FINISHED URL, I gave the redirect callback url to the mobile app(I have a doubt here).


Hash value not hash in history mode

When passing a hash value as a property in a Location Object in the to attribute of a router-link, there is no hash in the generated url when vue-router is in history mode.
Version
3.0.6
Reproduction link
https://codesandbox.io/s/vuedynamiccomponents-4hdqp
The Home link shows the issue
<router-link :to="{ name: 'Home', hash: 'test' }">Home</router-link>

creates the url /test instead of /#test
Steps to reproduce

Setup app with routes
Create a link with router-link using an Object with a hash value for the :to attribute
Run app and try clicking on link

What is expected?
Link should be produced with a hash separating the hash, eg /link/to/route#hash
What is actually happening?
No hash separating hash, eg /link/to/routehash

Hash must contain the hash character

doh. Thanks.


Feature/updated dashboard

Closes: #1040, #1105, #1066.

@apinf/developers Please review.

Added suggested changes.

This looks good. @nnn would you like to review this PR, since it is related to your re-design work?

I have merged develop. Looks good. All other improvements I will add as a separate PR.

Merging this. There is going to a separate task to finalize this admin dashboard look.
@frenchbread, great work!


my discord account got banned

plz add new scarlettmparker

(didn't know where else to write this)


Handle Transfer-Encoding: chunked and Content-Encoding: gzip

What happens if the following http request headers are received?

Transfer-Encoding: chunked
Content-Encoding: gzip

Currently for chunked encoding, the body gets truncated to 0 bytes.

Return http status 411 Length Required with "Chunked encoding not supported"?


Reopen file in custom/notebook editor after installing a compatible custom* editor extension

Today when a user has a fresh install of VS Code and attempts to open an existing notebook or create a new one, they are recommended to install Jupyter. After they do so, nothing happens to the JSON file they see on their screen. Closing and opening the file is the only way to get the notebook to render, reloading window does not render notebook.

I think reloading the file to be the notebook editor ourselves is important since I'd assume most Notebook users don't know that a Notebook behind the scenes is a JSON object and they might think that we're broken.

@tanhakabir just to double check, this would also reload for the create new file scenario when a user creates on in the file explorer tab right?
Ex. They go to file explorer -> hit new file icon -> create file with .ipynb extension.
That today also leads to blank script (not a notebook view user is expecting)

Thoughts around the File -> New File -> Save as -> "x".ipynb flow as well?

Assigning to @lramos15 as it applies to all editors. Question is what should happen to existing text editors after users install a custom/notebook which support such file extension.

Question is what should happen to existing text editors after users install a custom/notebook which support such file extension.

Do you mean if a user has several .ipynb files opened and then installed the Jupyter extension?


File import via ctkDICOMIndexer seems to copy always

It should not copy by default, only if the user selected the copy option in the import dialog of ctkDICOMAppWidget (or something similar in an application)

@pieper @nolden @fedorov @lassoan  @nolden
Considering the issue is quite hold and the DICOM infrastructure in DCMTK, CTK and Slicer  went through a lot of improvements, I am closing this issue.
Please, if you think the issue is still current, consider opening a new issue (referencing this one if it is relevant)


Fixed Angular2 issue with XMLHttpRequest

This PR fixes the problems users are running into when using Angular 2 with Ripple, with Angular 2 complaining about not being able to set the XMLHttpRequest property.
The fix adds a setter to the definition of the XMLHttpRequest property through Object.defineProperty.

Overall change looks good. However, I'd prefer to keep the version change in package.json and the update to CHANGELOG.md as a separate commit (and PR) that will come in after this in (which also means we can link the commit in CHANGELOG.md).

Okay will split this into two PRs.


Can't control Roborock S7

Device model / 设备型号
roborock.vacuum.a15
Component version / 插件版本
0.7.4
HA core version / HA版本
2022.12.8
Integrated mode / 集成方式
Local (本地模式)
The problem / 问题详情
Hi,
I'm able to start the vacuum, but afterwards it became unavailable.
I see errors in the log:
Logger: custom_components.xiaomi_miot.vacuum
Source: custom_components/xiaomi_miot/init.py:1360
Xiaomi Miot(roborock.vacuum.a15): Got MiioException while fetching the state: Unable to discover the device 192.168.xxx.yyy mapping: {'vacuum.status': {'siid': 2, 'piid': 1}, 'vacuum.fault': {'siid': 2, 'piid': 2}, 'vacuum.mode': {'siid': 2, 'piid': 4}, 'vacuum.water_level': {'siid': 2, 'piid': 102}, 'vacuum.mop_mode': {'siid': 2, 'piid': 103}, 'filter.filter_life_level': {'siid': 11, 'piid': 1}, 'brush_life_level-10-2': {'siid': 10, 'piid': 2}, 'brush_cleaner.brush_life_level': {'siid': 9, 'piid': 2}, 'battery_level': {'siid': 3, 'piid': 1}}, max_properties: 10/9
Also warning:
Logger: custom_components.xiaomi_miot.vacuum
Source: custom_components/xiaomi_miot/init.py:1898
Xiaomi Miot(roborock.vacuum.a15): Call miot action {'did': 'action-2-2', 'siid': 2, 'aiid': 2, 'in': []} failed: Unable to discover the device 192.168.xx.yyy
Xiaomi Miot(roborock.vacuum.a15): Call miot action {'did': 'action-3-1', 'siid': 3, 'aiid': 1, 'in': []} failed: Unable to discover the device 192.168.xx.yyy
Entity attributes / 实体属性
fan_speed_list:
  - Silent
  - Basic
  - Strong
  - Full Speed
  - Mop Only
  - Custom
friendly_name: Vacuum cleaner Robot Cleaner
supported_features: 13052

Home Assistant Logs / 系统日志
Logger: custom_components.xiaomi_miot.vacuum
Source: custom_components/xiaomi_miot/init.py:1360
Xiaomi Miot(roborock.vacuum.a15): Got MiioException while fetching the state: Unable to discover the device 192.168.xxx.yyy mapping: {'vacuum.status': {'siid': 2, 'piid': 1}, 'vacuum.fault': {'siid': 2, 'piid': 2}, 'vacuum.mode': {'siid': 2, 'piid': 4}, 'vacuum.water_level': {'siid': 2, 'piid': 102}, 'vacuum.mop_mode': {'siid': 2, 'piid': 103}, 'filter.filter_life_level': {'siid': 11, 'piid': 1}, 'brush_life_level-10-2': {'siid': 10, 'piid': 2}, 'brush_cleaner.brush_life_level': {'siid': 9, 'piid': 2}, 'battery_level': {'siid': 3, 'piid': 1}}, max_properties: 10/9
Also warning:
Logger: custom_components.xiaomi_miot.vacuum
Source: custom_components/xiaomi_miot/init.py:1898
Xiaomi Miot(roborock.vacuum.a15): Call miot action {'did': 'action-2-2', 'siid': 2, 'aiid': 2, 'in': []} failed: Unable to discover the device 192.168.xx.yyy
Xiaomi Miot(roborock.vacuum.a15): Call miot action {'did': 'action-3-1', 'siid': 3, 'aiid': 1, 'in': []} failed: Unable to discover the device 192.168.xx.yyy

Check device IP
The device IP and the HA host must be in the same subnet
Try disconnecting the device from power
Try to rebind the device in MIHome APP

Device IP is as HA tries to connect to.
Same subnet
Did that, no change
Vacuum is denied from internet connection on router level for security purposes, only local control.

The device becomes unavailable and then becomes available again after some time...
Here is an extract from the logbook:
Vacuum cleaner Robot Cleaner water_level became unavailable
7:56:34 AM - 3 minutes ago
Vacuum cleaner Robot Cleaner Status became unavailable
7:56:34 AM - 3 minutes ago
Vacuum cleaner Robot Cleaner  became unavailable
7:56:14 AM - 4 minutes ago
Vacuum cleaner Robot Cleaner  changed to Cleaning
7:55:04 AM - 5 minutes ago
Vacuum cleaner Robot Cleaner Status changed to sweeping
7:55:04 AM - 5 minutes ago
Vacuum cleaner Robot Cleaner  changed to Docked
7:54:34 AM - 5 minutes ago
Vacuum cleaner Robot Cleaner mop_mode changed to Custom
7:54:34 AM - 5 minutes ago
Vacuum cleaner Robot Cleaner water_level changed to Level2
7:54:34 AM - 5 minutes ago
Vacuum cleaner Robot Cleaner Status changed to charging
7:54:34 AM - 5 minutes ago
Vacuum cleaner Robot Cleaner mop_mode became unavailable
7:54:04 AM - 6 minutes ago
Vacuum cleaner Robot Cleaner water_level became unavailable
7:54:04 AM - 6 minutes ago
Vacuum cleaner Robot Cleaner Status became unavailable
7:54:04 AM - 6 minutes ago
Vacuum cleaner Robot Cleaner  became unavailable
7:53:44 AM - 6 minutes ago
Vacuum cleaner Robot Cleaner  changed to Docked
7:52:04 AM - 8 minutes ago
Vacuum cleaner Robot Cleaner mop_mode changed to Custom
7:52:04 AM - 8 minutes ago
Vacuum cleaner Robot Cleaner water_level changed to Level2
7:52:04 AM - 8 minutes ago
Vacuum cleaner Robot Cleaner Status changed to charging
7:52:04 AM - 8 minutes ago
Vacuum cleaner Robot Cleaner mop_mode became unavailable
7:51:34 AM - 8 minutes ago

Check it use miiocli.

Проверьте его использование miiocli.

Can I fix it? Or maybe you can fix it in future updates.

Check it use miiocli.

Check what? If I can constantly control it?

I've tried to call several calls via miiocli, works like a charm:
$ miiocli vacuum --ip 192.168.xx.yyy --token ###################  info
Model: roborock.vacuum.a15
Hardware version: Linux
Firmware version: 4.3.5_1578
Network: {'localIp': '192.168.xx.yyy', 'mask': '<IP_ADDRESS>', 'gw': '192.168.xx.1'}
AP: {'ssid': #############, 'bssid': '##:##:##:##:##:##', 'rssi': '0', 'freq': 0}
Consumable status:
Running command consumable_status
<ConsumableStatus main: 9 days, 21:43:59, side: 3 days, 13:13:56, filter: 3 days, 13:13:56, sensor dirty: 1 day, 22:33:15>
Running command fan_speed
102
So the it's probably not a connectivity issue.
Maybe frequency of requests are too much for the vacuum, or any other issue.

You can change interval_seconds in integration options or yaml:
# configuration.yaml
xiaomi_miot:
  device_customizes:
    roborock.vacuum.a15:
      interval_seconds: 90

You can change interval_seconds in integration options or yaml:
# configuration.yaml
xiaomi_miot:
  device_customizes:
    roborock.vacuum.a15:
      interval_seconds: 90

Tried it, the error still appears in the log…
Xiaomi Miot(roborock.vacuum.a15): Got MiioException while fetching the state: Unable to discover the device 192.168.xx.yyy, mapping: {'vacuum.status': {'siid': 2, 'piid': 1}, 'vacuum.fault': {'siid': 2, 'piid': 2}, 'vacuum.mode': {'siid': 2, 'piid': 4}, 'vacuum.water_level': {'siid': 2, 'piid': 102}, 'vacuum.mop_mode': {'siid': 2, 'piid': 103}, 'filter.filter_life_level': {'siid': 11, 'piid': 1}, 'brush_life_level-10-2': {'siid': 10, 'piid': 2}, 'brush_cleaner.brush_life_level': {'siid': 9, 'piid': 2}, 'battery_level': {'siid': 3, 'piid': 1}}, max_properties: 10/9

@al-one any news? This behavior is still happening. Device becomes offline and online intermittently.

https://python-miio.readthedocs.io/en/latest/troubleshooting.html

Same problem with Xiaomi Vacuum Cleaner Gen1.
Sometime online sometime offline, but every time online on my router and i can use with Android Xiaomi Home app. The problem only on Home Assistant, on Xiaomi Miot.
Can you repair?

I moved to Valetudo, on the robot. Works like a charm.

I moved to Valetudo, on the robot. Works like a charm.

Can you help me? How to change original FW to Valetudo FW on Xiaomi Vacuum Cleaner Gen1?
And if dislike can i restore?
I use Windows 10/11, so no Linux.
And how to integrated to Home Assistant?
Can you share description/ video to the method?

There’s a good guide on their site.
Please verify that your robot is supported, as I understand it’s Xiaomi v1, but please verify.
Here’s the guide for xiaomi v1.
https://valetudo.cloud/pages/general/supported-robots.html#xiaomi_v1


Create first downloadable and executable binary

Create Workflow on Mac.
(due to lack of ESP32 - still in the mail - start with ESP8266). Changes documented here (need to be reverted to ESP32 when available).
To switch from ESP8266 to ESP32 perform the following steps:

in file "platformio.io" uncomment default_envs = esp32dev and comment out default_envs = d1_mini (according to WLED documentation the d1_mini environment is best for the ESP8266:

default_envs = esp32dev
; default_envs = d1_mini

Select appropriate environment in status bar of platformIO: env:d1_mini or env:esp32_dev

As of today - does compile for ESP32, and for D1_Mini only when environment is selected manually in status bar (footer) of platformIO.

D1_Mini environment is not correct, use ESP8266_m2 instead (changed information in original note)

Compiles and downloads also for ESP32 environment (after switching back from ESP8266).


Why sol2 is slower than LuaBridge3?

I've done some benchmarks. For some reason sol2 perform slower than LuaBridge3.
In sol2 repo I found benchmarks showing that sol2 have to outperform LuaBridge3, but for some reason on real use cases it's not.
Am I doing something wrong?
Sol2 benchmark:
Performing Sol3 Benchmark:
Time elapsed (Increment (Lua)): 225.012ms
Time elapsed (Increment (C++)): 210.341ms

Time elapsed (String Argument (Lua)): 400.203ms
Time elapsed (String Argument (C++)): 241.732ms

Time elapsed (String Const Argument (Lua)): 405.579ms
Time elapsed (String Const Argument (C++)): 267.502ms

Time elapsed (String View Argument (Lua)): 321.18ms
Time elapsed (String View Argument (C++)): 258.553ms

Time elapsed (String Char Argument (Lua)): 311.116ms
Time elapsed (String Char Argument (C++)): 244.752ms

Time elapsed (String Iterator (Lua)): 561.75ms
Time elapsed (String Iterator (C++)): 188.024ms

Time elapsed (String Const Iterator (Lua)): 555.881ms
Time elapsed (String Const Iterator (C++)): 215.2ms

Time elapsed (String View Iterator (Lua)): 462.316ms
Time elapsed (String View Iterator (C++)): 205.954ms

Time elapsed (String Char Iterator (Lua)): 456.837ms
Time elapsed (String Char Iterator (C++)): 197.267ms

Time elapsed (String Internal Iterator (Lua)): 28.6687ms

Time elapsed (Class passing (Lua)): 491.857ms
Time elapsed (Class Passing (C++)): 188.96ms

Time elapsed (Class Getting (Lua)): 444.842ms
Time elapsed (Class Getting (C++)): 87.885ms

Time elapsed (Class method call (Base Class)): 1018.63ms
Time elapsed (Class method call (Derived Overwritten Class)): 950.832ms
Time elapsed (Class method call (Derived Not Overwritten Class)): 1672.24ms

Time elapsed (Class field access (Base Class)): 837.028ms
Time elapsed (Class field access (Derived Class)): 1512.29ms

LuaBridge3 benchmark:
Performing LuaBridge3 Benchmark:
Time elapsed (Increment (Lua)): 85.4452ms
Time elapsed (Increment (C++)): 685.158ms

Time elapsed (String Argument (Lua)): 187.733ms
Time elapsed (String Argument (C++)): 711.398ms

Time elapsed (String Const Argument (Lua)): 191.785ms
Time elapsed (String Const Argument (C++)): 740.246ms

Time elapsed (String View Argument (Lua)): 149.068ms
Time elapsed (String View Argument (C++)): 725.589ms

Time elapsed (String Char Argument (Lua)): 118.564ms
Time elapsed (String Char Argument (C++)): 718.35ms

Time elapsed (String Iterator (Lua)): 255.276ms
Time elapsed (String Iterator (C++)): 728.269ms

Time elapsed (String Const Iterator (Lua)): 257.562ms
Time elapsed (String Const Iterator (C++)): 756.581ms

Time elapsed (String View Iterator (Lua)): 194.296ms
Time elapsed (String View Iterator (C++)): 738.581ms

Time elapsed (String Char Iterator (Lua)): 170.795ms
Time elapsed (String Char Iterator (C++)): 737.091ms

Time elapsed (String Internal Iterator (Lua)): 5.10969ms

Time elapsed (Class passing (Lua)): 141.677ms
Time elapsed (Class Passing (C++)): 489.28ms

Time elapsed (Class Getting (Lua)): 205.569ms
Time elapsed (Class Getting (C++)): 507.022ms

Time elapsed (Class method call (Base Class)): 154.02ms
Time elapsed (Class method call (Derived Overwritten Class)): 155.294ms
Time elapsed (Class method call (Derived Not Overwritten Class)): 248.309ms

Time elapsed (Class field access (Base Class)): 181.451ms
Time elapsed (Class field access (Derived Class)): 283.496ms

Suspicious that the lua benchmarks are also slower. I see that you have #define SOL_ALL_SAFETIES_ON 1
Have you tried to disable safeties? It is possible that sol does additional checks for numeric values compared to luabridge when safeties are on that then slow down.
As an example, for sol with all safeties on, passing 1.5 to a function that takes an int is an error, while that may not be an error for luabridge.
https://godbolt.org/z/r7ov397MP

Suspicious that the lua benchmarks are also slower. I see that you have #define SOL_ALL_SAFETIES_ON 1 Have you tried to disable safeties? It is possible that sol does additional checks for numeric values compared to luabridge when safeties are on that then slow down. I would guess that is where the overhead for Increment benchmark comes from.
As an example, for sol with all safeties on, passing 1.5 to a function that takes an int is an error, while that may not be an error for luabridge.
https://godbolt.org/z/r7ov397MP

BTW using GCC 11.1 fails to compile your example, does SOL2 not compile with it?

BTW using GCC 11.1 fails to compile your example, does SOL2 not compile with it?

There is a missing #include <limits>. This is true for the version godbolt is using (v3.2.1) and the latest v3.2.2 release. Adding the include before the sol header will fix the issue. The issue has been fixed in https://github.com/ThePhD/sol2/commit/e5e6466e09b632677d24a8f204d6a0ea0a8862b1 and is a part of v3.2.3 which tagged but not released like v3.2.2 is.


Accessing a transaction by it's TotalOrderID does not work

Now that links are using hashes, lets not do this.


adduser command Error :'verdaccio/conf/htpasswd'  permission denied

I pull this image  and run it .
after i run this image , i can  access to the page via a browser.
But I can't adduser to the command line
I gave the file all permissions and gave a 100:101 grouping
But the problem still exists

my docker run command ：
docker run -it --rm --name verdaccio \
  -p 4873:4873 \
  -v /usr/verdaccio/conf:/verdaccio/conf \
  -v /usr/verdaccio/storage:/verdaccio/storage \
  -v /usr/verdaccio/plugins:/verdaccio/plugins \
  verdaccio/verdaccio

When I use the adduser command, I enter the email address and the command line interface is stuck.
I used the docker logs verdaccio command to view the logs and found the following error message:
  Trace--- the user yangkesi could not be added. Error: { message:
    'EACCES: permission denied, open \'/verdaccio/conf/htpasswd\'',
   Name: 'Error',
   Stack:
    'Error: EACCES: permission denied, open \'/verdaccio/conf/htpasswd\'',
   Code: 'EACCES',
   Signal: undefined }
  Error--- unexpected error: EACCES: permission denied, open '/verdaccio/conf/htpasswd'
Error: EACCES: permission denied, open '/verdaccio/conf/htpasswd'

@heifengli001 https://github.com/verdaccio/verdaccio/issues/1324#issuecomment-501362414

This may help:
sudo chown 10001:65533 htpasswd

This may help:
sudo chown 10001:65533 htpasswd

where to input this command? host linux or container inner?

@ishowman host machine

Closing as we did not receive any further feedback.
This is also mentioned at https://verdaccio.org/docs/en/docker.html
You might want to add the -R flag.

@ishowman host machine

thanks，it works。
By the way, the Note part of link running-verdaccio-using-docker works as well.


app doesnt run on my box

[mog@worklaptop:~/StockStalk]$ yarn install
yarn install v1.0.1
[1/4] Resolving packages...
success Already up-to-date.
Done in 1.12s.

[mog@worklaptop:~/StockStalk]$ yarn dev
yarn dev v1.0.1
$ concurrently "BROWSER=none yarn start" "wait-on http://localhost:3000 && electron ."
[0] watching css
[0] Starting the development server...
[0]
[1] events.js:160
[1]       throw er; // Unhandled 'error' event
[1]       ^
[1]
[1] Error: spawn /home/betterlesson/StockStalk/node_modules/electron/dist/electron ENOENT
[1]     at exports._errnoException (util.js:1020:11)
[1]     at Process.ChildProcess._handle.onexit (internal/child_process.js:197:32)
[1]     at onErrorNT (internal/child_process.js:376:16)
[1]     at _combinedTickCallback (internal/process/next_tick.js:80:11)
[1]     at process._tickCallback (internal/process/next_tick.js:104:9)
[1]     at Module.runMain (module.js:606:11)
[1]     at run (bootstrap_node.js:383:7)
[1]     at startup (bootstrap_node.js:149:9)
[1]     at bootstrap_node.js:496:3
[1] wait-on http://localhost:3000 && electron . exited with code 1
[0] Failed to compile.
[0]
[0] ./src/Login.js
[0] Module not found: Can't resolve './helpers/firebase' in '/home/betterlesson/StockStalk/src'

when i just try to go to localhost:3000 directly I get this error
Failed to compile
./src/Login.js
Module not found: Can't resolve './helpers/firebase' in '/home/betterlesson/StockStalk/src'
This error occurred during the build time and cannot be dismissed.

Seams like related to your firebase settings.
update here https://github.com/sagivo/StockStalk/commit/c202b53bb797323fe3403322bf4c9f9a9b2a65d0


[BUG] Fix Wait Count for the Jaeger Tracing Test.

Describe the bug
New Jaeger clients can sometimes take a long time to register. A temporarily work-around was added by hard-coding a longer timeout (https://github.com/cncf/cnf-testsuite/blob/main/src/tasks/utils/cnf_manager.cr#L891), but this is excessive and new clients normally register in less than 10 seconds. This should be cleaned up so it only waits until a new client is registered and timeout if a new client isn't seen within 5 minutes.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Device (please complete the following information):

OS [e.g. Linux, iOS, Windows, Android]
Distro [e.g. Ubuntu]
Version [e.g. 18.04]
Architecture [e.g. x86, arm]
Browser [e.g. chrome, safari]

How will this be tested? aka Acceptance Criteria (optional)
(optional: unnecessary for things like spelling errors and such)
Once this issue is address how will the fix be verified?
Additional context
Add any other context about the problem here.

NOTE: you can enable higher logging level output via the command line or env var. to help with debugging
# cmd line
./cnf-testsuite -l debug test

# make sure to use -- if running from source
crystal src/cnf-testsuite.cr -- -l debug test

# env var
LOGLEVEL=DEBUG ./cnf-testsuite test

Also setting the verbose option for many tasks will add extra output to help with debugging
crystal src/cnf-testsuite.cr test_name verbose

Check usage documentation for more info about invoking commands and logging

@taylor is this issue still relevant for CNTI?


Rewrite urls inside serialized components of the authored state.

When walking objects rewriting URLs, we now also look inside nested JSON expressions.
[#177163989] -- Support Carousel Interactive
PT:  https://www.pivotaltracker.com/story/show/177163989

I think I'll go ahead and merge this, so I can then update my PR to resolve the small merge conflict this will bring.  @dougmartin if you find issues they'll have to be address in a new PR.


Update repositories.txt

@stoneroweast why do you keep submitting pull requests and then immediately closing them?
If you have any questions or problems while submitting your library, please provide the details in a comment here. It seems like you are spending multiple days to accomplish something that can be done in a couple of minutes if you would take the time to communicate with me.


My profile show

timeline contribute projeto

Awesome! Definitely something I'd love to get to eventually.

Is this the same as #317 ?


PHP fatal error when user passes an invalid generator

Describe the bug
PHPCS throws a fatal error when the user passes an invalid generator.
To reproduce
Steps to reproduce the behavior:

Run phpcs test.php --generator=InvalidGenerator --standard=Generic
See the error message displayed

$ phpcs test.php --generator=InvalidGenerator --standard=Generic
PHP Fatal error:  Uncaught Error: Class "PHP_CodeSniffer\Generators\InvalidGenerator" not found in src/Runner.php:98
Stack trace:
#0 bin/phpcs(14): PHP_CodeSniffer\Runner->runPHPCS()
#1 {main}
  thrown in src/Runner.php on line 98

Expected behavior
PHPCS should display a friendly error message informing the user that the generator does not exist and potentially listing the available generators.
Please confirm

[x] I have searched the issue list and am not opening a duplicate issue.
[x] I have read the Contribution Guidelines and this is not a support question.
[x] I confirm that this bug is a bug in PHP_CodeSniffer and not in one of the external standards.
[x] I have verified the issue still exists in the master branch of PHP_CodeSniffer.

Marking this as an enhancement instead of a bug, as the error is with the user, not with PHPCS, but PHPCS can handle the error in a more user-friendly manner, hence: enhancement.


Import --assets is incomplete

I am trying to build a static site, that is truly independent from external resources. From the descriptions it sounds like this tool is intended to exactly do this.
However after downloading the css files, the website still downloads fonts from gstatic.com, and it still connects to identity.netlify.com (however this might be due to another reason, I guess). Also I got the issue that after performing the command all icons (presumably from font-awesome) stop working.
Therefore I think it would be good to clearly state the purpose of this tool in the documentation and what it does and what not. Better yet, it would be awesome if it actually would download all external dependencies and build a self-sustained site.

The font theme defines which fonts you use and Netlify Identity can be disabled in params.toml.
This tool is focussed on importing Bibtex publications.
We now use the standard NPM approach for importing assets for offline use and there is an opportunity to extend it beyond Bootstrap for admins who don't wish to use third party CDNs. See https://github.com/sourcethemes/academic-admin/issues/14#issuecomment-605617261

Feel free to add your support to https://github.com/gcushen/hugo-academic/issues/1167 and consider contributing


Bug in the implementation of the range check

@qope
Range check circuit is under-constrained because there is no constrain between the column being checked and the permuted input. Replace the generate_trace function with the below code https://github.com/qope/starky-bn254/blob/main/src/utils/lookup.rs#L152
 let inputs = vec![6, 3, 1, 1, 0, 0, 0, 0]
                .iter()
                .map(|&x| F::from_canonical_u32(x))
                .collect_vec();
 let table = vec![0, 1, 2, 3, 4, 5, 6, 7]
                .iter()
                .map(|&x| F::from_canonical_u32(x))
                .collect_vec();
let (permuted_input, permuted_table) = permuted_cols(&inputs, &table);

 let incorrect_inputs = [10, 30, 15, 100, 2, 50, 43, 61]
                .iter()
                .map(|&x| F::from_canonical_u32(x))
                .collect_vec();

 let cols = vec![incorrect_inputs, table, permuted_input, permuted_table];

I replaced the actual inputs with the incorrect-inputs which are out of range and still able to verify the stark

Thank you for the issue. The link is not working for me.

Sorry , Is it now clear ?

The relationship between inputs and permuted_input, as well as tableandpermuted_table, being in a permutation relationship, needs to be constrained using permutation_pairstrait. I have modified the test code inlookup.rs, so please check it. Other than the test code in lookup.rs, everything else should be fine as they are already constrained by permutation_pairs`.

Thank you

Thanks


Customized relocation type

In our current CPU design, we extend RISC-V ISA by adding several instructions, such as GP-implied load/store. To handle these instructions, we also extend relocation type. However, there does not have any rule or guideline to add customized relocation type currently. To avid conflict, in our current design, the new relocation id is assigned from 255 and in decreasing order. Could anyone have any idea or propose to deal with this issue?

I agree we should reserve a block of relocations for nonstandard extensions to the ABI.  @palmer-dabbelt @asb any objections with reserving 192-255 for this purpose?

No objections, we should reserve some space for non-standard relocations.
The other missing piece is metadata in the ELF which describes the non-standard extensions which are targeted. Kito was hoping to propose something for that, based on the discussion in #47.

Indeed.  Whatever the solution to #47 might be, it should also provide enough information to decode what the nonstandard relocs mean.

BTW #47 is getting higher priority to me, I am working on implement that on biinutils now, and I've changed to implement an attribute section (ref [1] ELF for the ARM® Architecture, 4.3.6 Build Attributes).
[1] http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044f/IHI0044F_aaelf.pdf

Cool.  @jim-wilson are there any lessons to be learned from using the ARM attribute section?

They were already implemented before I started doing ARM work, so I don't have any direct experiences with development issues.  I've only dealt with them as a user, and have found them useful.  There are other targets with attribute support besides ARM, and I think we can just use the generic binutils support for this, customized with RISC-V specific hooks.  Though the generic attribute support is based on the ARM support, as I think the ARM target was the first to do this.


Attribute Subsetting for HBase

Currently, attribute subsetting is handled client-side for HBase. We need to create a custom filter so that we handle it server-side, similar to this Accumulo iterator:
AttributeSubsettingIterator

Integration test for this issue is here


Focus compose box when navigate away from RHN

<If necessary, assign reviewers that know the area or changes well. Feel free to tag any additional reviewers you see fit.>
Details

Background: When users open & subsequently close a modal, focus should be given to the compose box to make the app as easy to use as possible.
This has been fixed & regressed multiple times

Fixed: https://github.com/Expensify/Expensify.cash/pull/1699 cc @tgolen
Fixed: https://github.com/Expensify/Expensify.cash/pull/1780
Broke: https://github.com/Expensify/Expensify.cash/commit/6706d16df7555d8a2e5bc262f38b0348470e267a#diff-55a7d35dba1b789188644baad2c0f1a243ec3c2c6819c8b06d5a5ec7c245574a cc @marcaaron

Now that we're more and more completely using React Navigation for our sub-pages (and moving away from pure modals), we can't rely on BaseModal's componentWillUnmount as a catch-all for hiding modals (and therefore allowing ReportActionCompose to move the cursor to the compose box).
We now have to rely on pure React Navigation components / functions in order to help us determine when those modal-like pages open & close.
Therefore, I set up Navigation listeners focus and beforeRemove which are used on modal screens to set modal.isVisible as true when the modal opens (a.k.a. is focused) and false when the modal closes (a.k.a when we navigate away from a modal screen)

Note: This does work for modal dismissing in iOS!
Here are the docs for navigation events: https://reactnavigation.org/docs/navigation-events/

Fixed Issues

Fixes https://github.com/Expensify/Expensify/issues/154180
Fixes https://github.com/Expensify/Expensify.cash/issues/1513

This should have been closed after @tgolen 's was merged previously, FYI

Tests

Tested On

[x] Web
[ ] ~Mobile Web~ (not needed)
[x] Desktop
[x] iOS (only needed when opening profile page from a report, then dismissing (via swipe) as this takes the user back to the report, not the LHN!)
[ ] ~Android~ (not needed)

Screenshots

Web

https://user-images.githubusercontent.com/3885503/112373503-b365e480-8ce9-11eb-9e68-a108e9270c3a.mov
Mobile Web

N/A because on mobile, closing a modal-page takes you to the LHN view
Desktop

Same as "Web"
iOS

https://user-images.githubusercontent.com/3885503/112484034-40f51300-8d82-11eb-819b-33f690763011.mov
Android

N/A because on mobile, closing a modal-page takes you to the LHN view

I could have called setModalVisibility(true); inside a useEffect to ensure it doesn't get set to true twice, but:
First, we are trying not to use those hooks

Tbh, I think we should just make an exception for this unique case. We can't avoid using the hook provided by react-navigation and need to perform a side effect so this is what useEffect() is for. Open to other opinions on this.

It doesn't get affected when the CreateMenu opens / closes (which is yet another modal)

Also, sorry, didn't quite understand what is being said about the CreateMenu here.

I found a few navigation event listeners here (https://reactnavigation.org/docs/navigation-events/)

Looks like using focus and beforeRemove worked quite well for web AND desktop!

Just a heads up that we have @parasharrajat working on a similar issue. I think this PR is possibly moving us in the opposite direction depending on how this all gets resolved. Said another way, if we figure out an alternative then I think these changes here won't be needed.
https://github.com/Expensify/Expensify.cash/pull/2022#pullrequestreview-622389767

Hmm I took a look at the similar PR and it kiiinda seems we may be doing the same thing in two different ways? Here's some thoughts which I thought could help:
Here it looks like wrapping a component in NavigationContext basically gets you the navigation object, where you can add an event listener (focus, blur, beforeRemoe)
Here is another example, without using NavigationContext, where you just add an event listener to the navigation object directly within a Screen.
Finally, Here you can see adding the listener prop to a Screen lets you "add a listener from the component where you defined the navigator rather than inside the screen."
I wonder if it's best to look for "which option is most readable / better long term"? Open to ideas though, what do you think @marcaaron ?

That sounds right @Beamanator, the solutions work in similar ways. We have come up with some interesting ways to give other parts of the app insight into which pages or modals are in focus or not. At this point, I'm curious if we can find some other way to focus this TextInput that doesn't require a screen needing all this extra context at all.

As it stands, focusing the compose when closing any RHN pages can result in mobile keyboards opening / staying open when not desired (see following video):
Android:
https://user-images.githubusercontent.com/3885503/113862038-34bc7d00-97a8-11eb-81f9-8aa257f5eda4.mov
iPhone 11:
Note: to get the keyboard to show on a simulator, you may have to go to I/O menu -> Keyboard -> Toggle Software Keyboard
https://user-images.githubusercontent.com/3885503/113862442-adbbd480-97a8-11eb-845d-c7b2710f4941.mov

Looks like there's some undesired behavior regarding mobile device keyboards, but I believe we decided this will be fixed in a new issue / PR, so I think this can be re-reviewed & hopefully merged 👍


Update migrate-commerce-sdk.md

We've already support PriceEvents as part of PricingEngine in Commerce SDK.

:x: Organization membership check failed
Members of the MicrosoftDocs organization should use the private repo. Please move your changes to https://github.com/MicrosoftDocs/Dynamics-365-Operations, and close this pull request.


Keywords in documentation

If text inside /// contains some keywords like "codeunit"(lowercase),"procedure" (lowercase), then cmd "Generate markdown documentation[...]" does not recognize documentation block
Original reported from rating by Christian Ziepel

Fixed with version 0.2.1.


How to get the feature map by using pretrained model.

Hi, recently I try to use the DINO and DINOv2 pre-train model to get the feature map. I use the pre-trained model to get the feature, but only got a vector. It seems like the output of the last average pooling layer.
Could you give me some suggestions to get the pyramid feature maps?

I tried to use the following code to extract 2D image features. According to my expectations, I should have obtained a feature map of [1, 14*14, 384], but in reality, I got a feature map of [1, 197, 384]. This makes it difficult for me to figure out how to reshape this feature map into [1, 14, 14, 384].
preprocess = T.Compose([
    T.Resize((224, 224)),
    T.ToTensor(),
    T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])

img = Image.open("sample.jpg")
img_tensor = preprocess(img)
img_tensor = img_tensor.unsqueeze(0)

vits16 = torch.hub.load('facebookresearch/dino:main', 'dino_vits16')
feature = vits16.get_intermediate_layers(img_tensor)  # [1, 197, 384]

https://github.com/facebookresearch/dino/issues/252#issuecomment-1978929616


Toggle for scroll input

Need to be able to turn off the mouse scroll listener for the carousel.

enableScroll is not you need?

@myk5000 enableScroll should resolve this issue.


Reload templates on save with jar packaging

Is there a way to get the templates to reload on save without recompiling? I've been trying to set this up based on an example when I just noticed this package. I see in the config that cache is set to true. I've tried setting it to false, then it works when I recompile, but I was hoping there was a way to update the templates when the file is saved.

At the moment there is no such capability.
On Thu, 21 Apr 2016 13:44 Charlie Choiniere<EMAIL_ADDRESS>wrote:

Is there a way to get the templates to reload on save without recompiling?
I've been trying to set this up based on an example when I just noticed
this package. I see in the config that cache is set to true. I've tried
setting it to false, then it works when I recompile, but I was hoping there
was a way to update the templates when the file is saved.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/jtwig/jtwig-spring-boot-starter/issues/10

Ok I was trying to get it to work and thought I'd ask before I kept going. I could reload the templates with cache set to false and then recompiling. However, having hot reload would be great.

Yes, we just need to have an implementation for the TemplateCache interface
https://github.com/jtwig/jtwig-core/blob/master/src/main/java/org/jtwig/parser/cache/TemplateCache.java
to
be able to evict an item out of date (according to the FS). Seems like a
quick win.
On Thu, 21 Apr 2016 at 15:27 Charlie Choiniere<EMAIL_ADDRESS>wrote:

Ok I was trying to get it to work and thought I'd ask before I kept going.
I could reload the templates with cache set to false and then recompiling.
However, having hot reload would be great.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/jtwig/jtwig-spring-boot-starter/issues/10#issuecomment-212941998

I'm still writing the documentation on advanced Jtwig configuration (version 5). Some documentation can be found here https://www.gitbook.com/book/jtwig/jtwig-reference-manual/details.

Thanks for the links! This is super helpful. I've been interested in using spring-boot for application development, but every time I get to the templates I haven't been able to find a decent template language that has block inheritance that doesn't use some xml library like tiles. I usually build web apps in Python using Jinja2 so jTwig looks perfect and I'm super interested in giving it a go. Having hot reloading would definitely help me change my mind on the spring-boot decision for web sites. I've used it for building apis before, but that doesn't require templates.
Thanks again!

Check this proposal: https://github.com/jtwig/jtwig-hot-reloading-extension. Note that you need to update your spring boot starter version to 5.15


[Upgrade] Lucene 9.1 release

Upgrades from Lucne 9.1 snapshot to the official 9.1 release.

start gradle check

Repeat of #2311
Refiring

start gradle check

https://github.com/opensearch-project/OpenSearch/issues/1703

start gradle check

The backport to 2.x failed:

/cc @VachaShah

/cc @VachaShah Ignore :point_up:
The failure for 2.x was due to gradle looking for a 1.4 branch that doesn't exist. Since 1.4 is not released (hence 1.4 branch not cut) the next major's minor (e.g., 2.1) does not test against the 1.x branch since there would be no more 1.x releases once 2.0 is GA.


.953 Vehicles not saved

Basic Information
**Mission version: .953
**Map used: altis
**Mods used: vanilla
**Dedicated or local game? local host
**GitHub or Workshop mission file? Git
Individual Things
Did you edit anything within the mission files?
no
Short Issue Description
Most vehicles are gone after reloading the mission

Tanks gone
MHQs gone
Huron reset to the carrier
ammo truck gone
repair container gone
but: tank truck and our Huron FOB container are still there

Expected Behaviour
Vehicles are saved and loaded properly
Steps to Reproduce the Issue
Local host
close mission
startup mission again
stuff gone
Screenshots, Serverlog or any other helpful Information
unfortunatly not. will add info from a rpt when i try to replicate the issue on my host.

Well, this is really something I can't reproduce on my side and can't be a common bug. If it is, than everyone would have issues with saving and many many many people would report it.
So I would really appreciate a log with activated debug messages. Also activate the savegame debug in the kp_liberation_config.sqf.
Just play some minutes so that you've some stuff at a FOB, load the save again and hand over the rpt, if it occurs again.
Without log and both (!) debug options enabled I can't investigate what happened on your side.

Quick question: Seems all stuff that wasnt saved was outside a FOB.
Is Bluefor stuff outside a FOB supposed to be saved or not?

No, it was never supposed to be saved if outside the FOB range.

Ok, got some feedback from the host. Was indeed stuff thats outside the FOBs, so this is a dud.
Hm, maybe helpful to add info about the save routine and save file (location) to the wiki?

Already half way done concerning save mechanic, move saves from one machine to another, etc.
But basicly adding the stuff which is new to liberation was more important. But the wiki will contain it before it's finished, sure.

Fully agree.
Keep up the great work! Its amazing!


Allow users to define custom metrics to track

Prerequisites

[X] I am using the latest version of Locust
[X] I am suggesting a new feature, not asking a question

Description
Would be great to add a feature similar to what k6 has with custom metrics. Thanks!

Interesting suggestion. Having only had a quick look at this I think it is quite a bit of work, but if someone is willing to contribute it would be interesting. Locust dashboards is an option that might cover some of the same use cases: https://github.com/SvenskaSpel/locust-plugins/tree/master/locust_plugins/dashboards

I’m still on it, I hope I could push a merge next week

Heya! Just reviving this cause it sounds like we might have this feature soon. Are we still expecting this relatively soon? Or should we adjust expectations? Thanks!


highlight color bad !!!! >:(((((

not a fan of the shade in dark mode, doesn't seem like it could be customized with the plugin too. sick theme anyway lol, i'd just like to be able to change da color without cloning the entire theme and changing a css one liner

Which highlight color are you referring to? Could you provide an image?

my bad, it was the italics (didn't notice it colors). tbh nice to have, although i'd imagine the default being the same color as the other text makes more sense


[POC] refactor: validators

Checklist

[ ] Tests have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce?
Bug fix, feature, or docs update
What is the current behavior? What is the new behavior?
You can also link to an open issue here for all the info.
Does this PR introduce a breaking change?
What changes might users need to make in their application due to this PR?

@XVincentX, I've put body serializer out of body validator. That body serializer is now higher - in TaskEither chain. Input validator returns Either with a semigroup as its left value. ATM, only body serializer/validator is used (for POC purposes). I've attached comments to the code, hope I didn't obfuscate things. LMK, if this needs explaining. Happy to hear your thoughts :+1:

@XVincentX, any feedback appreciated greatly! :)

Thanks for the hard work. I'll take over on this.


Allow assigning backoff method to fastText embedding models

I get KeyError exception if I use cc.zh.300 embedding with load_ngrams=True and provide a token which has no default embedding.
My expectation is that for an unknown token a ngrams strategy would kick in and I would get a combination of vectors. But maybe due to the size of the token (only 2 characters) or maybe because I use specifically cc.zh.300 embedding I get an error.
The minimum reproducing example is below:
import mxnet as mx
import gluonnlp
from gluonnlp import Vocab, data

zh_embedding = gluonnlp.embedding.create('fasttext', source='cc.zh.300', load_ngrams=True)
cntr = data.count_tokens(['猴姆'])
vocab = Vocab(cntr)
vocab.set_embedding(zh_embedding)

Exception is:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/gluonnlp/vocab/vocab.py", line 333, in set_embedding
    new_idx_to_vec[1:, col_start:col_end] = embs[self._idx_to_token[1:]]
  File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/gluonnlp/embedding/token_embedding.py", line 544, in __getitem__
    for token in tokens
  File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/gluonnlp/embedding/token_embedding.py", line 544, in <listcomp>
    for token in tokens
  File "/home/ubuntu/anaconda3/lib/python3.6/site-packages/gluonnlp/model/train/embedding.py", line 444, in __getitem__
    raise KeyError

If I change token, for example by adding an exclamation mark to the end, to '猴姆!' the error disappear. The problem doesn't appear as well, if I change embedding to 'wiki.zh'.
GluonNLP version is '0.4.1'.
@leezu

I see. Well, why does it fail then? I would expect to receive an empty vector for that case.

Well, the assumption was that you would probably have been more surprised to find some 0 vectors, not knowing why, then to realize that there is a problem thanks to a KeyError.

The KeyError just shows that fastText is not sufficient for the use-case. With a different embedding method, e.g. http://www.cse.ust.hk/~yqsong/papers/2017-EMNLP-ChineseEmbedding.pdf such error would not be raised.
Nevertheless, it would be nice to make the behavior configurable. I propose to generalize the current unknown_lookup in TokenEmbedding to a general backoff functionality and make it easily configurable. For your expectation to be met, you would then assign some zero_vector_fn as the backoff method of fastText. But it is currently not possible.

import mxnet as mx
import gluonnlp
from gluonnlp import Vocab, data
embedding_model = 'cc.zh.300'  # or 'wiki.zh'
zh_embedding = gluonnlp.embedding.create('fasttext', source=embedding_model, load_ngrams=True)
def pad_token(token):
if len(token) < 3:
return token + '@@'
else:
return token
tokens = ['猴姆']
padded_tokens = [pad_token(token) for token in tokens]
cntr = data.count_tokens(padded_tokens)
vocab = Vocab(cntr)
vocab.set_embedding(zh_embedding)
print(vocab.embedding[padded_tokens[0]])


Regression in 1.7.0: Column widths break when going in and out of Preview Steps mode.

Repro steps:

With Preview Step enabled *

Stage some objects for rename
Add more than one rename op (to enable Preview Step mode)
Untoggle "Preview steps", to remove bread crumb previews
Observe the first column gets the full width of the window, while the other column seems hidden
Toggle "Preview steps" back on and see that the second and third columns are outside the bounds of the window and squashed.

Here's a gif


Layer.getExtent() returns undefined when working with a Layer sourced by a GPX file

the problem
When trying to work with a Layer sourced by a GPX file, I had a hard time trying to figure out why gpxLayer.getExtent() was undefined... until I found out that gpxLayer.getSource().getExtent() was the right way to get its extent.
the proposed solution
I think it would be easier for newcomers if a method like Layer.getExtent() always return the correct extent, no matter what is behind the scenes, whether it is a Tile layer, a Vector layer or an Overlay layer.
some sample code
// this is the code that works
map.getView().fit(buffer(gpxLayer.getSource().getExtent(), 1000))

// this is the code that doesn't work nowadays
map.getView().fit(buffer(gpxLayer.getExtent(), 1000))

The layer's getExtent() function returns the layer extent, if you specified one to restrict the visible area of the layer. This is documented in https://openlayers.org/en/latest/apidoc/module-ol_layer_Vector-VectorLayer.html#getExtent.
This is because in OpenLayers, the Layer is a lightweight container that configures things that influence the way the layer is rendered (e.g. styles, rendered extent, etc.). Whereas the Source represents the underlying data. So to get the extent of the data, you'll need to ask the source for the extent.

I see... I will close this issue then.
But maybe this explanation could be added to VectorLayer.getExtent docs.

The layer's getExtent() function returns the layer extent, if you specified one to restrict the visible area of the layer. This is documented in https://openlayers.org/en/latest/apidoc/module-ol_layer_Vector-VectorLayer.html#getExtent.
This is because in OpenLayers, the Layer is a lightweight container that configures things that influence the way the layer is rendered (e.g. styles, rendered extent, etc.). Whereas the Source represents the underlying data. So to get the extent of the data, you'll need to ask the source for the extent.

Hi, How I can get the layername present on map.getView().calculateExtent()  ??

You need to call getExtent() on the source to get the extent of the loaded features of a source.
map.getView().calculateExtent() just gives you the current extent of the map viewport.

But how can I know the layers present on my current view of map?
With map.getView().calculateExtent() I can know my actual view coordinate...
is there a solution for this?

You'd have to get all map layers with map.getAllLayers() and do an intersection for each vector source with the result of its getExtent() method.


Removed unnecessary margins and use padding instead

Force the picker widgets to fill up the available space.

thanks I merge it

published it in 2.2.5 :)
thanks for your work

You’re welcome, thanks for reviewing it so quickly.
On Wed, May 6, 2020 at 1:25 AM Florent CHAMPIGNY<EMAIL_ADDRESS>wrote:

published it in 2.2.5 :)
thanks for your work
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/florent37/SingleDateAndTimePicker/pull/276#issuecomment-624339061,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQKFTE6RQZJH6RBWUMROVLRQCG7JANCNFSM4MZ4IIOQ
.


Uneven spacing between tables

I'm using the latest release, toml11-3.6.1. This code:
#define TOML11_DISABLE_STD_FILESYSTEM
#include <toml.hpp>
#include <iostream>

int main()
{
    toml::value data {
        {"A", toml::value{{"a", 1}}},
        {"B", toml::value{{"b", 2}}},
        {"C", toml::value{{"c", 3}}},
        {"D", toml::value{{"d", 4}}}
    };

    std::cout << data;

    return 0;
}

Produces this serialized output:
[D]
d = 4
[C]
c = 3

[B]
b = 2

[A]
a = 1

For some reason, the serializer doesn't add an empty line between the first and second table. Should be easy to fix? I had a quick look but coudn't find why it does that.

I guess I have fixed it. After checking CI status, I will merge it.

I added another patch to format your example in the following way.
O = 0

[B]
b = 3

[B.C]
c = 2

[D]
d = 4

[A]
a = 1

Although it is not completely the same as your proposal (it has an empty line between [B] and [B.C]), I'm going to add this as a quick fix. The reason is because it would be a bit more complicated to control the number of empty lines depending on the recursion level and, moreover, the optimal format depends on the situation.


⚠ ClamAV has degraded performance

In b3184ba, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 69 ms

Resolved: ClamAV performance has improved in 24d0b5a.


error about torch.nn.functional.one_hot

I am trying this code but got error about
AttributeError: module 'torch.nn.functional' has no attribute 'one_hot'
but i have latest verision of pytorch

@NomiMalik0207
Could you tell me which line of our code raises that error?

one error i solved it already. that was due to one hot target.
Now while testing i got an error on line
target = torch.nn.functional.one_hot(target, num_classes=input.size(-1))
Attribute error that one hoe is not module in torch.nn.functional,
i am using python 3.5 with latest verision of pytorch

@NomiMalik0207
There's no target = torch.nn.functional.one_hot(target, num_classes=input.size(-1)) in our repository.
I guess you are probably confused with other implementation.

yes, actually i also want to use soft verision of cross entroy loss

@NomiMalik0207
Again, we didn't use one_hot function to get mixed cross-entropy loss. We aggregate two loss values with weight values as in https://github.com/clovaai/CutMix-PyTorch/blob/master/train.py#L246.
Your problem is not related to our implementation and seems to be related to pytorch version.

thank you ... have solved it. using your rapo


Update SeparatorFilter.php

Appending the separator to the end of the file will not work in cases such as a javascript file that ends in a line comment ( "//" ) with no trailing newline. The separator will be commented out. The last line of a file is a common place to put a comment containing a sourcemap for minified JS.
Rather than make assumptions about whether the user means for any separator to be preceded by a newline, or for the default separator to be '\n;', other libraries that do this kind of thing, such as jsqueeze, simply put the separator at the beginning of the file, where it cannot be preceded by a line comment.

@deinonychuscowboy please resubmit to the 2.0 branch of assetic-php/assetic.

I don't even work at the job I worked at that used assetic when this PR was submitted 5 years ago.