Add test scripts

@clemera I added some test scripts. Please take a look, you may want to make your own adjustments, but I would not over do it and I would not add more configuration, if it can be avoided.
./run.sh selectrum-orderless.el

We could also create a shared.el script which is required by all of them, but maybe using flat files is simpler for the user?

I agree flat files might be simpler for users. More generally should an already present temp Emacs dir purged on start? Or are they meant to be available for reuse as long the dir hasn't been removed manually?

Yes I made it such that packages are reused, maybe not the best idea? But I am currently on mobile net :-P

I'm fine with it either way, we can deal with more details/optimizations another time.

Maybe it would be better to have an own config file for each package? Right now there isn't much config but  when we add some more it would be nice to have a single file where this needs to be done. Users should be able to see which files are loaded and can inspect the files then, too?

I thought that it makes sense to move the installation boilerplate to this separate install.el, since this is not really about configuration. By doing that it is a bit more maintainable for us. But you can revert this commit if you disagree. I don't have a strong preference here, except to keep the files short. We should only do minimal configuration and mostly rely on the default settings.

For testing this make sense, I still would like to have a common place users could look for an extensive configuration but maybe this is not the right place.

I am unsure what you mean by extensive configuration. For example I very much prefer to have the consult configuration example at one place, in the readme. (Actually there are two places I have to keep in sync, there is also my init.). But that's it, I don't want to sync more. There is also no point in the replication since users can copy the config. Then I keep configuration in the wiki as does embark and selectrum. But the configurations described there are often special or even mutually exclusive and also not a good fit here. In contrast, I think the Orderless dispatch we are using is a good fit. What else would you like to have?

I think this is a great idea, so added instructions on how to use this on my linked PR.
But I immediately run into a symbol void error for the embark-keymap-alist.
Is that expected, or do you can to add something to avoid that?

Actually not much more then that, the dispatcher and the highlighting setup for odereless. Maybe I will later add some other files to try out different configurations schemes at another time.

But I immediately run into a symbol void error for the embark-keymap-alist.

What did you do? I did not get this in my test sessions.

But I immediately run into a symbol void error for the embark-keymap-alist.

What did you do? I did not get this in my test sessions.

From console:
./run.sh selectrum-orderless.el

.. then eval this buffer content:
(load "~/Code/forks/helm-bibtex/bibtex-completion.el")
(setf (alist-get 'bibtex embark-keymap-alist) 'bibtex-completion-map)
(setq bibtex-completion-bibliography "~/org/bib/academic.bib")

You need to require it first, we could think about requiring all packages by default for these testing scripts I guess.

You need to require it first, we could think about requiring all packages by default for these testing scripts I guess.

Is there really any downside to doing that?

We should not require by default. I would like to use lazy loading for the testing. Problematic parts should be wrapped by eval after load macros.

Agree, also as we use these as testing environments I think it's better to also replicate the autoload state as it is for a user when installing these packages from fresh.


temp

Current dependencies on/for this PR:

main

PR #43   👈

This stack of pull requests is managed by Graphite.


Fingerprinted the 2018 Prius

the 2018 Prius uses the already available Prius DBC.

@nxarmada , the added list of msgs you added is a subset of the Prius Prime fingerprint. I would close this PR and just add a comment that the Prius prime fingerprint also works for the 2018 Prius IV Touring

I will run the tests again but all failed before I added the fingerprint OP would not control the car until afterwards. I tried first with the prints already in the file.

I worked with @vanillagorillaa on this to and he agreed with me it was needed.


Accept either space-delimited or comma-delimited

Currently, the BanditPAM source code only accepts space-delimited files. It should also work with comma-delimited files, or with arbitrary delimiters. We should add a parameter to the binary that determines the delimiter, and use space/comma as defaults.
Relevant code: https://github.com/ThrunGroup/BanditPAM/blob/main/src/main.cpp#L56

The BanditPAM source code was tested with two files outlining matrices - one using spaces to separate values and the other using commas. The BanditPAM code appeared to properly parse the file and load the array in both cases.

Thanks @Ben-H3 , I tested it myself and indeed found this to be the case. Closing task, I'll assign you another one.


Version information

I find it useful to able to reference whitepapers as of a particular version. As I understand commit b2b36d7aa63288eb58e7ecc6461129207b72e78f is version 2.0?
Version 1.1.1 April 20th, 2017
https://wiki.aragon.one/documentation/whitepaper/

Good point. It would definitely be helpful to have a versioning process.
I'm not entirely sure what it should look like, but perhaps a rolling release cycle may make sense. Where we keep contributions open for 2 months, near the end of that period we freeze and do edits/polishing and release a versioned PDF, before starting a new 2 month cycle. Each cycle might be a minor version (2.x).


[REQ] Attributes from V1

Is your feature request related to a problem? Please describe.
Missing attributes in V2.
Describe the solution you'd like
Is there a way to get some of the attributes available in version 1? I used daily run times and a bucket for each of my zones to manually run the sprinklers for specific times. For example, if rain was coming, I substracted this value from zone's bucket - and new runtime calculations were performed automatically when I run set bucket service.
I see that daily run time is in the zone entity, but what about of bucket? In v1 I took this by using a HA template from attribute provided in daily run time.
Describe alternatives you've considered
Back to V1, if it is still possible...
Additional context
I've had complex node-red flows and want to keep them.

V2 has a forecast feature so you don't need to do this :) I can look into this but HA wants us to reduce the number of attributes on sensor entities, so we need to be very specific about what we're adding.

Thanks for answer. For me, the bucket sensor was very useful. It allowed for accurate tracking of lawn hydration, but also for forecasting rain. I don't know exactly how your forecast feature works, but my Node-Red flow checked the forecast just before I started watering - if the rain didn't fill the entire bucket needed, I compensated it during watering (I added the forecast rainfall to the bucket, reducing its value). And most importantly - at the end of watering I did not reset the bucket, but left the difference, i.e. the forecast rainfall. If the forecast did not come true or was in fact different, this was correctly recalculated in the integration thanks to the rainfall sensor from my weather station.
I also made sure that the bucket did not exceed the set value, but I see that you provided for this in the V2 as standard.
I would like such functionality, so if it's not a problem, I would ask you to add the bucket attribute.
By the way, many thanks for creating this integration. In my HA environment it is one of the best and most effectively used :)

Thanks for sharing. I can try to add the bucket as a property as a short term fix but I'd like to see if I cannot add the way you work with the forecast as you described. The forecast I mentioned is on pyeto and basically says: look at x days forecast and take the mean of de deltas calculated using it. So it takes into account more than just the rain, also temp, wind speed, etc. It can also look at days ahead. So it might more accurate than what you're doing now, but I think looking at the forecast just before irrigating would be a nice addition.

Good day,
Would also appreciate for bucket attribute to be added. there is some static attribute available in sensor, but dynamic one like bucket, ETO, etc are missed.
Thanks in advance.

Good day, Would also appreciate for bucket attribute to be added. there is some static attribute available in sensor, but dynamic one like bucket, ETO, etc are missed. Thanks in advance.

What would be your use case?

Thanks for sharing. I can try to add the bucket as a property as a short term fix but I'd like to see if I cannot add the way you work with the forecast as you described. The forecast I mentioned is on pyeto and basically says: look at x days forecast and take the mean of de deltas calculated using it. So it takes into account more than just the rain, also temp, wind speed, etc. It can also look at days ahead. So it might more accurate than what you're doing now, but I think looking at the forecast just before irrigating would be a nice addition.

Unfortunately, in my case, for the place where I live, OWM often does not have the correct forecast. That's why I prepared Node-Red flows, which take into account the rain forecast, but leave it in the bucket, which allows me to adjust the irrigation later to the actual rainfall.

Sorry for time not reply. My use case is very simple - double confirmation that every thing is working as required. Auto watering system is very dangerous system, in case if something is goes wrong. For hardware i setup regular maintenance, but for Home assistant, i need to keep on it yes every month. And bucket calculation is the one that required to have attention on debagging level. Also as juacas mentioned bucket is also on my main dashboard. I have PWS setup, so that ETO and daily rain is calculated by itself. Before you integration i just had several sensors to calculate all required, but i really like v1 of you integration and want to use v2 as well. Any way thanks for your support, Really appreciate time you spend on this project.


Update chroma to v0.9.4

Update chroma to v0.9.4
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@fb5f779). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main   #18033   +/-   ##
=======================================
  Coverage        ?   45.19%
=======================================
  Files           ?      823
  Lines           ?    91389
  Branches        ?        0
=======================================
  Hits            ?    41305
  Misses          ?    43487
  Partials        ?     6597

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 fb5f779...808460b. Read the comment docs.


Mesh interface works against performance

What problem does this solve or what need does it fill?
The Mesh interface works with separate arrays of attributes, in an SoA fashion. GPU vertex buffers need packed vertices with all attributes, in an AoS fashion. This means the Mesh interface by design forces a costly repacking of data, even though the user might already have a proper GPU representation available.
In a custom project, building a mesh of cubes on a grid of 128^3, allocate_and_free_meshes() takes 150.8ms (Tracy), of which over 40% seems in write_packed_vertex_buffer_data() and about 30% in create_buffer() (VS profiler). Running in release with -C target-cpu=native.
What solution would you like?

An interface with a way to provide packed attribute data already laid out correctly.
An interface with a way to pre-allocate a buffer and reuse it, so that I can quickly switch between grid resolution for live preview without re-allocating a GPU buffer each time (only need to update the vertex data).

What alternative(s) have you considered?
Create a separate abstraction where I manage all wgpu objects manually, like Hanabi does. This feels terribly sad for a mesh buffer.
Additional context
Trying to make a live preview of some algorithm, and I need to modify a mesh dynamically each time the user makes a change in some parameters. Ideally this should be interactive; currently this runs at 0.25 FPS, and between half and 2/3rd of the time is lost in the Mesh interface (the remaining is on my CPU algorithm, which is being optimized and should slim down).

Assuming you're doing voxels, packing and unpacking data in your mesh doesn't take that much code or time (i mesh and pack my 62 sized chunks in about 400us, the unpacking is like 10 loc in a shader).
Maybe this will help you: https://github.com/Inspirateur/binary-greedy-meshing

Thanks for the link, I'll have a look out of curiosity. But I don't exactly "do voxel". I use voxels as a fast preview of a bit grid, but the objective is eventually to generate a mesh anyway (can be voxel first, then something fancier like marching cubes) for offline editing e.g. in Blender. Think of this as the visualization of a mesh tool producing mesh assets, rather than the rendering of a game. The cubes are just the starting point of the generation. I know there are techniques to render cubes fast, but I'm more interested in generating the mesh fast here. And I'm sure anyone using Bevy for creative coding, or for whatever reason needing to generate meshes at runtime, might hit the same issue. I could use voxel techniques but 1) that won't solve my issue when moving to ray marched geometry or any other non-cube one, and 2) that means maintaining 2 different representations for UI and export, which in addition of maintenance cost risks desync (you don't export what you see).
I'm curious though, what do you call voxel "packing"?

I'm curious though, what do you call voxel "packing"?

By that I mean that instead of having regular mesh attributes such as position, normals, etc.. My mesh have instead 1 attribute ( 2x32 bits iirc ) in which all of the info i need to render the chunk are packed. The link I provided has more information on this matter :)

Ah yes I saw, I was not sure this was the same. Thanks!

Note: you can already access the existing allocated Vec for a single attribute via attribute_mut(), which allows manipulating the Vec (steal, replace, grow, etc.) without reallocating a new one. This doesn't solve the GPU buffer allocation issue nor the repacking step one, which are the 2 most expensive operations from my profiling.


Icon: Update Icons [GESTALT-8440]

Pull Request Instructions
Introducing new icons.
This also updates the icon component to swap the icon if list-numbered is used because it needs a specific RTL icon
Diff
Interactive differences in the PR are available to see here.
Classic Icons
VR Icons
New Icons Introduced
line-logo
wechat
viber
skype
snapchat
reddit
kakao-talk
telegram
pincode
indent
outdent
list-numbered
list-numbered-rtl
gift
Classic
VR
Links

Jira
[TDD](link to Paper doc)
[Figma](link to Figma file)

Checklist

[ ] Added unit tests
[ ] Added documentation + accessibility tests
[ ] Verified accessibility: keyboard & screen reader interaction
[ ] Checked dark mode, responsiveness, and right-to-left support
[ ] Checked stakeholder feedback (e.g. Gestalt designers, relevant feature teams)

Why are we reintroducing pincode? there were no usages in any platofrm.
with all these new ones, are we going to remove all custom svgs?


Troubleshooting exercise Nginx part ii

The exercise requires troubleshooting of MySQL and NGINX to get an output in the following format when we run  curl http://127.0.01/:
“My name is <name> and my ID is <id>”
To start the exerice, I ssh into the instance and ran the following command:
curl -iv http://<IP_ADDRESS>
* Trying <IP_ADDRESS>:80...
* connect to <IP_ADDRESS> port 80 failed: Connection refused
* Failed to connect to <IP_ADDRESS> port 80 after 0 ms: Connection refused
* Closing connection 0
curl: (7) Failed to connect to <IP_ADDRESS> port 80 after 0 ms: Connection refused

There doesn't seem to be any service running on port 80. I checked the status of the services using systemctl status and found that the nginx service was not running. I started the service using systemctl restart nginx and ran the curl command again:
systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
sudo systemctl restart nginx
curl -iv http://<IP_ADDRESS>
*   Trying <IP_ADDRESS>:80...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 80 (#0)
> GET / HTTP/1.1
> Host: <IP_ADDRESS>
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 500 Internal Server Error
HTTP/1.1 500 Internal Server Error
< Server: nginx/1.22.0
Server: nginx/1.22.0
< Date: Mon, 12 Dec 2022 11:13:25 GMT
Date: Mon, 12 Dec 2022 11:13:25 GMT
< Content-Type: text/html
Content-Type: text/html
< Transfer-Encoding: chunked
Transfer-Encoding: chunked
< Connection: keep-alive
Connection: keep-alive
< X-Powered-By: PHP/5.4.16
X-Powered-By: PHP/5.4.16

<
* Connection #0 to host <IP_ADDRESS> left intact

Now we get a response but there's an error. I checked the error log of nginx using sudo cat /var/log/nginx/error.log and found the following error:
2022/12/12 11:13:25 [error] 7095#7095: *1 FastCGI sent in stderr: "PHP message: PHP Warning:  mysqli::mysqli(): (HY000/2002): No such file or directory in /usr/share/nginx/html/index.php on line 8
PHP message: PHP Warning:  mysqli::query(): Couldn't fetch mysqli in /usr/share/nginx/html/index.php on line 11
PHP message: PHP Fatal error:  Call to a member function fetch_assoc() on a non-object in /usr/share/nginx/html/index.php on line 13" while reading response header from upstream, client: <IP_ADDRESS>, server: _, request: "GET / HTTP/1.1", upstream: "fastcgi://<IP_ADDRESS>:9000", host: "<IP_ADDRESS>"

The error indicates fetch_assoc() function doesn't exist on $result. I checked the index.php file and found the following code:
cat /usr/share/nginx/html/index.php
<?php

	$servername = 'localhost';
	$username = 'cyf';
	$password = 'Eix#ah6aib0u';

	// Create connection
	$conn = new mysqli($servername, $username, $password);

	$sql = "SELECT * from cyf_user";
	$result = $conn->query($sql);

	while($row = $result->fetch_assoc()){
		echo "My name is: " . $row["Name"] . "
";
	}

?>

After some googling on this php error, I found that it is usually caused by an error in the connection. Which makes sense, as an error response wouldn't have fetch_assoc() method. At this point I decided to try and connect to the mysql database from the terminal, to see if I can establish a connection. I ran the following command:
mysql -u cyf -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

I checked the status of the mysql service using systemctl status mysqld and found that it is in an error state.
systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Mon 2022-12-12 10:19:38 UTC; 1h 4min ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 3009 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS (code=exited, status=1/FAILURE)
  Process: 2955 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 3009 (code=exited, status=1/FAILURE)
   Status: "Server shutdown complete"
    Error: 13 (Permission denied)

Dec 12 10:19:27 ip-172-31-85-83.ec2.internal systemd[1]: Starting MySQL Server...
Dec 12 10:19:38 ip-172-31-90-110.ec2.internal systemd[1]: mysqld.service: main process exited, code=exited, status...LURE
Dec 12 10:19:38 ip-172-31-90-110.ec2.internal systemd[1]: Failed to start MySQL Server.
Dec 12 10:19:38 ip-172-31-90-110.ec2.internal systemd[1]: Unit mysqld.service entered failed state.
Dec 12 10:19:38 ip-172-31-90-110.ec2.internal systemd[1]: mysqld.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

I decided to check journalctl for any errors related to mysql. I found the following error:
journalctl -xe
....
-- Subject: Unit mysqld.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit mysqld.service has begun starting up.
Dec 12 11:25:51 ip-172-31-90-110.ec2.internal systemd[1]: mysqld.service: main process exited, code=exited, status=1/FAIL
Dec 12 11:25:51 ip-172-31-90-110.ec2.internal systemd[1]: Failed to start MySQL Server.
.....

Doesn't look like much, it's not giving me any useful information. I decided to check the mysql error log using sudo cat /var/log/mysqld.log and found the following error:
2022-12-12T11:25:50.262624Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2022-12-12T11:25:50.262890Z 0 [ERROR] [MY-010262] [Server] Can't start server: Bind on TCP/IP port: Permission denied
2022-12-12T11:25:50.262903Z 0 [ERROR] [MY-010257] [Server] Do you already have another mysqld server running on port: 616 ?
2022-12-12T11:25:50.263406Z 0 [ERROR] [MY-010119] [Server] Aborting

There seems to be something blocking mysql from running on the port 616. I decided to check what's running on that port with lsof command
lsof -i :616
sudo lsof -i :616

Hmm, nothing is running on that port. I decided to check if the port is open using netcat command to listen on that port
sudo nc -l 616

No issues there. At this point I think it might have to do with permissions that mysql server is trying to start with. I decided to check the config file for mysql server:
cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
port=616

symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8

Everything seems normal, except for the port. From all of the configuration files I was able to find, mysql is usually ran on port 3306. I decided to change the port to 3306 and restart the mysql service.
sudo systemctl restart mysqld

This time the mysql service started successfully. I decided to check the database by connecting to it via CLI:
mysql -u cyf -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.31 MySQL Community Server - GPL

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| performance_schema |
| users              |
+--------------------+
3 rows in set (0.00 sec)

mysql> USE users;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SHOW TABLES;
+-----------------+
| Tables_in_users |
+-----------------+
| cyf_user        |
+-----------------+
1 row in set (0.00 sec)

mysql> SELECT * FROM cyf_user;
+-----------+------+
| Name      | ID   |
+-----------+------+
| Margarita |  123 |
| Berkeli   |  345 |
+-----------+------+
2 rows in set (0.01 sec)

mysql>

Everything seems to be working fine. I decided to check if localhost is giving a different result with curl command:
curl -iv http://<IP_ADDRESS>
*   Trying <IP_ADDRESS>:80...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 80 (#0)
> GET / HTTP/1.1
> Host: <IP_ADDRESS>
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 500 Internal Server Error
HTTP/1.1 500 Internal Server Error
< Server: nginx/1.22.0
Server: nginx/1.22.0
< Date: Mon, 12 Dec 2022 12:06:30 GMT
Date: Mon, 12 Dec 2022 12:06:30 GMT
< Content-Type: text/html
Content-Type: text/html
< Transfer-Encoding: chunked
Transfer-Encoding: chunked
< Connection: keep-alive
Connection: keep-alive
< X-Powered-By: PHP/5.4.16
X-Powered-By: PHP/5.4.16

<
* Connection #0 to host <IP_ADDRESS> left intact

Still getting the same error. I decided to check the nginx error log:
sudo cat /var/log/nginx/error.log
........
2022/12/12 12:06:30 [error] 7095#7095: *5 FastCGI sent in stderr: "PHP message: PHP Warning:  mysqli::mysqli(): The server requested authentication method unknown to the client [caching_sha2_password] in /usr/share/nginx/html/index.php on line 8
......

This time it's giving me a different error. It seems like the authentication method is not supported by the client. After some googling, I found that this issue can be resolved one of 2 ways:

Update the MySQL USERS table to use the old authentication method
Update the PHP to v7.4 or higher where the new authentication method is supported

I decided to go with the second option. I decided to check the PHP version:
php -v
PHP 5.4.16 (cli) (built: Oct 31 2019 18:34:05)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

I decided to update the PHP version to v7.4. I decided to check the PHP versions available on the system:
sudo amazon-linux-extras | grep php
 42  php7.4                   available    [ =stable ]
 51  php8.0                   available    [ =stable ]
 66  php8.1                   available    [ =stable ]

Then ran the command to install it via amazon-linux-extras
sudo amazon-linux-extras install php7.4

After the installation was complete, I decided to check the PHP version again:
php -v
PHP 7.4.33 (cli) (built: Nov 19 2022 00:22:13) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

I decided to restart the nginx and php-fpm services:
sudo systemctl restart nginx
sudo systemctl restart php-fpm

I decided to check the localhost again:
curl -iv http://<IP_ADDRESS>
*   Trying <IP_ADDRESS>:80...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 80 (#0)
> GET / HTTP/1.1
> Host: <IP_ADDRESS>
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 502 Bad Gateway
HTTP/1.1 502 Bad Gateway
< Server: nginx/1.22.0
Server: nginx/1.22.0
< Date: Mon, 12 Dec 2022 12:49:08 GMT
Date: Mon, 12 Dec 2022 12:49:08 GMT
< Content-Type: text/html
Content-Type: text/html
< Content-Length: 3708
Content-Length: 3708
< Connection: keep-alive
Connection: keep-alive
< ETag: "63777a94-e7c"
ETag: "63777a94-e7c"

Seems this made it worse, as now I'm getting a 502 error. I decided to check the nginx error log again:
sudo cat /var/log/nginx/error.log
2022/12/12 12:41:06 [crit] 1546#1546: *3 connect() to unix:/run/php-fpm/www.sock failed (2: No such file or directory) while connecting to upstream, client: <IP_ADDRESS>, server: _, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm/www.sock:", host: "<IP_ADDRESS>"
2022/12/12 12:41:14 [crit] 1546#1546: *5 connect() to unix:/run/php-fpm/www.sock failed (2: No such file or directory) while connecting to upstream, client: <IP_ADDRESS>, server: _, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm/www.sock:", host: "<IP_ADDRESS>"

It seems like the php-fpm service is not running. I decided to check the status of the php-fpm service:
sudo systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2022-12-12 13:11:18 UTC; 2min 6s ago
 Main PID: 2953 (php-fpm)
   Status: "Processes active: 0, idle: 5, Requests: 3, slow: 0, Traffic: 0req/sec"
   CGroup: /system.slice/php-fpm.service
           ├─2953 php-fpm: master process (/etc/php-fpm.conf)
           ├─3013 php-fpm: pool www
           ├─3014 php-fpm: pool www
           ├─3015 php-fpm: pool www
           ├─3016 php-fpm: pool www
           └─3017 php-fpm: pool www

Dec 12 13:11:18 ip-172-31-90-110.ec2.internal systemd[1]: Starting The PHP FastCGI Process Manager...
Dec 12 13:11:18 ip-172-31-90-110.ec2.internal systemd[1]: Started The PHP FastCGI Process Manager.

It seems like the php-fpm service is running. I decided to check the php-fpm log:
sudo cat /var/log/php-fpm/www-error.log
[12-Dec-2022 12:42:35] NOTICE: fpm is running, pid 2601
[12-Dec-2022 12:42:35] NOTICE: ready to handle connections
[12-Dec-2022 12:42:35] NOTICE: systemd monitor interval set to 10000ms
[12-Dec-2022 13:00:59] NOTICE: configuration file /etc/php-fpm.conf test is successful

[12-Dec-2022 13:02:00] NOTICE: Terminating ...
[12-Dec-2022 13:02:00] NOTICE: exiting, bye-bye!
[12-Dec-2022 13:02:00] NOTICE: fpm is running, pid 13914
[12-Dec-2022 13:02:00] NOTICE: ready to handle connections
[12-Dec-2022 13:02:00] NOTICE: systemd monitor interval set to 10000ms
[12-Dec-2022 13:04:50] NOTICE: Terminating ...
[12-Dec-2022 13:04:50] NOTICE: exiting, bye-bye!
[12-Dec-2022 13:04:50] NOTICE: fpm is running, pid 15227
[12-Dec-2022 13:04:50] NOTICE: ready to handle connections
[12-Dec-2022 13:04:50] NOTICE: systemd monitor interval set to 10000ms
[12-Dec-2022 13:08:30] NOTICE: Terminating ...
[12-Dec-2022 13:08:30] NOTICE: exiting, bye-bye!
[12-Dec-2022 13:11:18] NOTICE: fpm is running, pid 2953
[12-Dec-2022 13:11:18] NOTICE: ready to handle connections
[12-Dec-2022 13:11:18] NOTICE: systemd monitor interval set to 10000ms

There doesn't seem to be anything useful here, everything seems fine. I decided to look into the nginx configuration file so at least nginx and php-fpm are talking to each other:
sudo ls -al /etc/nginx/conf.d/
total 8
drwxr-xr-x 2 root root   26 Dec 12 13:36 .
drwxr-xr-x 4 root root 4096 Dec 12 13:35 ..
-rw-r--r-- 1 root root  124 Dec 12 13:36 php-fpm.conf

I decided to check the php-fpm configuration file:
sudo cat /etc/nginx/conf.d/php-fpm.conf
upstream php-handler {
    server unix:/run/php-fpm/www.sock;
}

As suspected, it's configured to use the unix socket. I updated the php-fpm configuration file to use the TCP socket 9000 and restarted the php-fpm service:
sudo systemctl restart php-fpm

Check localhost again with curl:
curl -iv http://localhost
*   Trying <IP_ADDRESS>:80...
* Connected to localhost (<IP_ADDRESS>) port 80 (#0)
> GET / HTTP/1.1
> Host: localhost
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 500 Internal Server Error
HTTP/1.1 500 Internal Server Error
< Server: nginx/1.22.0
Server: nginx/1.22.0
< Date: Mon, 12 Dec 2022 13:37:07 GMT
Date: Mon, 12 Dec 2022 13:37:07 GMT
< Content-Type: text/html
Content-Type: text/html
< Content-Length: 3708
Content-Length: 3708
< Connection: close
Connection: close
< ETag: "63777a94-e7c"
ETag: "63777a94-e7c"

500 Internal Server Error. Slightly better than the 502 status code. I decided to check the nginx error log:
sudo cat /var/log/nginx/error.log
....
2022/12/12 13:37:07 [error] 14793#14793: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to a member function fetch_assoc() on bool in /usr/share/nginx/html/index.php:13
Stack trace:
#0 {main}
....

It seems like the database connection is not working still. I decided to edit the index.php file to add the following:

Add database name
Add error handling

sudo vim /usr/share/nginx/html/index.php
sudo cat /usr/share/nginx/html/index.php
<?php

	$servername = 'localhost';
	$username = 'cyf';
	$password = 'Eix#ah6aib0u';
 	$db = 'users';

	// Create connection
	$conn = new mysqli($servername, $username, $password, $db);

	if ($conn -> connect_errno) {
 		echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
  		exit();
	}

	$sql = "SELECT * from cyf_user";
	$result = $conn->query($sql);

	while($row = $result->fetch_assoc()){
		echo "My name is: " . $row["Name"] . "
";
	}

?>

Then check localhost again with curl:
curl -iv http://localhost
*   Trying <IP_ADDRESS>:80...
* Connected to localhost (<IP_ADDRESS>) port 80 (#0)
> GET / HTTP/1.1
> Host: localhost
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Server: nginx/1.22.0
Server: nginx/1.22.0
< Date: Mon, 12 Dec 2022 13:48:42 GMT
Date: Mon, 12 Dec 2022 13:48:42 GMT
< Content-Type: text/html; charset=UTF-8
Content-Type: text/html; charset=UTF-8
< Transfer-Encoding: chunked
Transfer-Encoding: chunked
< Connection: keep-alive
Connection: keep-alive
< X-Powered-By: PHP/7.4.33
X-Powered-By: PHP/7.4.33

<
My name is: Margarita
My name is: Berkeli

* Connection #0 to host localhost left intact

It works, but the exercise description is requesting a slightly different output than the one I got: The goal of this exercise is - when you run “curl http://<IP_ADDRESS>/” in the terminal you get “My name is  and my ID is ” (do not display both names) with HTTP response code 200. This exercise is a mix of system and service troubleshooting.
I decided to edit the index.php file again to get the desired output:
sudo vim /usr/share/nginx/html/index.php
sudo cat /usr/share/nginx/html/index.php
<?php

	$servername = 'localhost';
	$username = 'cyf';
	$password = 'Eix#ah6aib0u';
 	$db = 'users';

	// Create connection
	$conn = new mysqli($servername, $username, $password, $db);

	if ($conn -> connect_errno) {
 		echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
  		exit();
	}

	$sql = "SELECT * from cyf_user WHERE Name='Berkeli'";
	$result = $conn->query($sql);

	while($row = $result->fetch_assoc()){
		echo "My name is: " . $row["Name"] . " and my id is: " . $row["ID"];
	}

?>

Then check localhost again with curl:
curl -iv http://localhost
*   Trying <IP_ADDRESS>:80...
* Connected to localhost (<IP_ADDRESS>) port 80 (#0)
> GET / HTTP/1.1
> Host: localhost
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Server: nginx/1.22.0
Server: nginx/1.22.0
< Date: Mon, 12 Dec 2022 14:03:33 GMT
Date: Mon, 12 Dec 2022 14:03:33 GMT
< Content-Type: text/html; charset=UTF-8
Content-Type: text/html; charset=UTF-8
< Transfer-Encoding: chunked
Transfer-Encoding: chunked
< Connection: keep-alive
Connection: keep-alive
< X-Powered-By: PHP/7.4.33
X-Powered-By: PHP/7.4.33

<
My name is: Berkeli and my id is: 345

* Connection #0 to host localhost left intact

It works as per the requirements.

SUMMARY
Problems:

MySQL is not able to start on the configured port 616
NGINX configuration for php-fpm doesn't match the configuration for php-fpm. Nginx config is setup to listen on a unix socket whilst php-fpm is configured to run on port 9000.
PHP version doesn't support caching_sha2_password authentication method which has been setup in the MySQL database
PHP code doesn't specify which database to connect to.
PHP code doesn't have error handling in case connection fails.

Solutions:

Reconfigure MySQL to run on port 3306, which is the default port for MySQL
This can be resolved one of 2 ways:

Update nginx config for upstream php-fpm (/etc/nginx/conf.d/php-fpm.conf) and specify that php-fpm is running on port 9000 - server <IP_ADDRESS>:9000
Update php-fpm configuration to listen on a unix socket instead of port 9000

This can also be resolved one of 2 ways:

Update MySQL database users table to use native password (ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';). But this will have to be done for every new user on insert as well.
Update PHP version to 7.4 which supports caching_sha2_password

Update PHP code to specify database name in the connection
Update PHP code to handle errors if connection fails


I had questions about database and evaluation.

Thank you for organizing and managing this challenge!
@sungjinl @truthless11
I had 4 questions.
in the "baseline.json", the user simulator side("env") of 4 examples has same components;
NLU(MILU) - UserPolicy(AgendaMultiWoz) - SysPolicy(RuleBased) - NLG(MultiwozTemplateNLG)
Will you fix those setting in evaluation session? If so, participants can believe their automatic score right (with evaluator)?
As I questioned last time, the any string value filling in slot except "?"(question mark) makes success that slot, when the "task_success" function is called.
But, for natural conversations between system and user, at least the system said correct slot type; for example, "11:00" for [time] slot, not "Hilton hotel", "0123420402" for [phone] slot, not "Hilton hotel".
Will you check those slot type for each slot? (I thought the codes doesn't check this way until now.)
In the conversation simulation(user-system), The User informs their situation and constrain the range, like "domain hotel, price range : cheap, area : east". as the normal way, the system should find the hotel satisfying those constraint. It means the system should investigate the database in Multiwoz.
My question is this challenge encourage us to investigate those db("hotel.db", "restaurant.db"..)? (system should fill the satisfying value considering db)
Or, the evaluator discards the constraint so just check the slot type?, or even discards the slot type?
And I think if we can use "database", there's no confusion about place name. Because the evaluator can grade those value which is in database. So, not allow the synonym, typos, only accept the value in db.
Subsequently, In human evaluation phase, will crowd-workers check the slot value which satisfy the constraint(with db)? or just check "appropriateness"
Thank you for reading this issue!

Sorry for duplicating issues. (I reopened the previous issue which was closed and made same questions.)
But, I'm worried if the organizer didn't see the previous issue.
If I get answer among them, I'll close the other.
Thanks.

@jeonggwanlee  thanks for your question and suggestion!
Now we examine the slot value based on the slot type in the evaluation metrics, you can refer to pull request #35 for details.
Our metrics do consider the user constraint in the evaluation. "book rate" will check if the selected entity meets the user constraint by evaluating both slot type and slot value.
Though multiwoz dataset encourages the system to search the ontology (database), we should not force the designer to use the slot value in the database. (e.g.  "Girton college" in issue #30 ) We would like to evaluate this in human evaluation.
In terms of fixing components of the user simulator in the evaluation mode, we will revise it sooner or later.


[BUG] Could not set recurse = false via call to configure()

Any call to the router.configure() method, where recurse was set to false was being ignored.
A fix, some tests, and also I fixed your issue with your tests failing.

@duereg this looks good. mind rebasing off master?  Could you try pinning it to 0.8.0?

I pinned to 0.8.0, but that fails out with an error. 0.8.1 doesn't fail, it hangs.
Vows looks like it needs some work.

@duereg yea open source maintenance can be a lot of work and vows is totally in need of some more love. Seems like that managed to work.


stoptime/stopcycle misnamed

stoptime/stopcycle bits are misnamed as their functionality is really 'keepcountingtime', 'keepcountingcycle'. Either their name or functionality should be inverted.
Note that their names reflect what their functionality used to be.

Closed by 2669866


Iconlaunch - Use firmware E.showScroller

This removes the copied and modified implementation of the scroller in favor of the one provided by the firmware since 2v16.
Do we have 2v16 in the wild for enough time, or should we wait for 2v17 before implementing this without a fallback for older firmwares?

Wow, yes. This looks like a good idea. Pretty sure 2v16 has been out long enough now


resolves #87 automatically resolve title of reference between documents

give each document a reference to the spine items (aka other documents)
look in spine items collection to resolve title of inter-document xref

@mraible This fix addresses an issue we had run into in your book as well. Now you can create a xref between chapters and have it fill in the title automatically.
One thing I still need to check is whether it honors the reftext attribute on the target.


style.tagline is not working

Tagline is not working by default. Even if we force to add tagline: true" still it disappears and not visible. We tested this is both Chrome and Firefox browser.
Steps to reproduce

Go to https://developer.paypal.com/demo/checkout/#/pattern/client
Navigate to any option from the left side menu
See the button tagline

Affected browsers
Tested in the below browsers

[x] Chrome
[X] Firefox

As a hunch -- what is the zoom level of the page? is it set to 100%?


.NET Core 2.0

Hi there,
Just wondering if this project should be working under .NET Core 2.0?
error CS0433: The type 'Color' exists in both 'CoreCompat.System.Drawing, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=c0a7ed9c2333b592' and 'netstandard, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
I'm getting the following error:
https://github.com/CoreCompat/System.Drawing/issues/4

Thanks to @JamieG, Colorful.Console should now work under .NET Core 2.0!  Please feel free to open another issue if you run into problems under .NET Core 2.0.
Colorful.Console Release 1.2.0
NuGet package


Sort the type of UseCaseContext's constructor

env

source: https://github.com/almin/almin/tree/486ebcde40478523f8694df789cc97960c22da6a

Problem

There are inconsistency:

By JSDoc comment, dispatcher argument of UseCaseContext.constructor should be an optional argument.
By the document, dispatcher argument of UseCaseContext.constructor should be UseCase | Dispatcher.

If we sort the code with JSDoc annotation, there is the conflict with UseCaseExecutorArgs.
If we sort the code with the document, there is the conflict with UseCaseExecutorArgs.parent.

So which is the correct way?

UseCaseContext need a UseCase instance  as constructor arguments.

https://github.com/almin/almin/blob/486ebcde40478523f8694df789cc97960c22da6a/src/UseCase.ts#L76-L78

    constructor(dispatcher: UseCase) {
        this.dispatcher = dispatcher;
    }

is correct.


Fixed issues with file headers in UsingCodeFixProvider

Fixes #1897

Current coverage is 79.40%

Merging #1922 into stabilization will increase coverage by +0.01% as of fa45f60

@@            stabilization   #1922   diff @@
=============================================
  Files                 559     559
  Stmts               35063   35094    +31
  Branches             9701    9711    +10
  Methods
=============================================
+ Hit                 27838   27867    +29
- Partial              5663    5669     +6
+ Missed               1562    1558     -4

Review entire Coverage Diff as of fa45f60

Powered by Codecov. Updated on successful CI builds.

:+1: Looks good. Just one minor remark.


Correct num of failures

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-1860

Description

[x] Here are some details about my PR, including screenshots (if applicable):
When job fails during workunit creation, it sets the job state as FAILED, but does not set JOB_FAILURES_KEY.
It also does not have datasets created if it fails at such an early stage and the current code relies on dataset state's properties to find the failure count.
This PR will set the config JOB_FAILURES_KEY when the job fails.

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:
trivial change

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Codecov Report

Merging #3722 (39778ee) into master (0151890) will increase coverage by 3.20%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #3722      +/-   ##
============================================
+ Coverage     46.95%   50.15%   +3.20%
+ Complexity    10811     5833    -4978
============================================
  Files          2143     1070    -1073
  Lines         84557    41015   -43542
  Branches       9390     4596    -4794
============================================
- Hits          39704    20572   -19132
+ Misses        41235    18655   -22580
+ Partials       3618     1788    -1830

Impacted Files
Coverage Δ

...rg/apache/gobblin/runtime/AbstractJobLauncher.java
59.03% <100.00%> (+0.18%)
:arrow_up:

... and 1074 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Weird behaviours in math plugin

I was checking the math plugin and found out four incompatibilities with latex compilers (pdfLaTeX and XeLaTeX) and MathJax:

Block math ($$) requires a newline before and after content, effectively changing the delimiters to $$\n and \n$$.
Block math should be able to have text before and after it, in the same line.
Block math doesn't work with empty content ($$$$), the regex is done with .+ instead of .*.
Both math modes don't take care of escaped dollar signs (\$).

So the following markdown:
Dollar sign $\$$

Empty $$$$

No newline $$x$$

Is compiled to:

Dollar sign \(\\)$

Empty \($\)$

No newline \($x\)$

Whereas it should probably be:

Dollar sign \(\$\)

Empty
$$$$

No newline
$$x$$

For comparison, here are the latex and MathJax versions:

Latex version
Code:
\documentclass{article}

\begin{document}
    Dollar sign $\$$ \\
    Empty $$$$ \\
    No newline $$x$$
\end{document}

Output:

MathJax version
Code:


Ascendex can't fetch account updates due to long hummingbot sending long URI (HTTP 414)

Describe the bug
// A clear and concise description of what the bug is.
When running one bot for all 52 Ascendex market pairs for liquidity mining the bot throws an HTTP 414 error with the Ascedex API which stops the communication with Ascedex
Steps To Reproduce
// A concise description of the steps to reproduce the buggy behavior:
create a liquidity mining bot with the default configuration
add all 52 trading pairs to the bot
The bot will start to set up the orders with Ascendex then fail with
HTTP status is 414. Message: URI length exceeds the configured limit of 2048 characters
which will repeat until Ascedex breaks the connection with the bot
Idea for a solution
Maybe testing for the maximum length before sending it to Ascendex could help and splitting the request into multiple smaller requests could help?
Here are the steps to reproduce the issue (see attachments in the section below):

Set up your configuration file with these parameters: (see attached config file)
Start the bot using this command: start
...

Screenshots
// If applicable, add screenshots to help explain your problem.

Release version
// Include your bot's version number (Can be found at the upper left corner of your CLI).
0.46.0
Attachments
conf_liquid_a_usdt.txt
logs_conf_liquid_a_usdt.log.txt
Traceback
Traceback (most recent call last):   File "/home/hummingbot/hummingbot/connector/exchange/ascend_ex/ascend_ex_exchange.py", line 655, in _status_polling_loop     await safe_gather(   File "/home/hummingbot/hummingbot/core/utils/async_utils.py", line 22, in safe_gather     return await asyncio.gather(*args, **kwargs)   File "/home/hummingbot/hummingbot/connector/exchange/ascend_ex/ascend_ex_exchange.py", line 704, in _update_order_status     resp = await self._api_request(   File "/home/hummingbot/hummingbot/connector/exchange/ascend_ex/ascend_ex_exchange.py", line 412, in _api_request     raise IOError(f"Error calling {url}. HTTP status is {response.status}. " OSError: Error calling https://ascendex.com/4/api/pro/v1/cash/order/status. HTTP status is 414. Message: URI length exceeds the configured limit of 2048 characters
WARNING: Do NOT publish any exchange API keys or your wallet's private key. Whoever has access to them may steal your assets!
Optional: your discord username:
Bhagavate bilala#6332

So ran some more experiments with this one as well. Am getting this error even only using 8 market pairs so the number of market pairs is irrelevant. Something else is sending an very long order_status request to Ascendex

All these Trading started messages lead to and API Limit reached of 50 calls per seconds. There should be a way to set the API call limit manually for these types of cases.

A complete wipe of the robot including all the humminbot_files directories and setting a new API key seems to work as a workaround. So Ascendex API keys seem to get 'dirty' after a while.

Please be advised that this is related to #5002 in which Ascendex API docs stated that it can only limit 10 markets per connection. You may want to try using multiple API keys or sub-accounts for markets more than 10.


Texture2D/Sprite lookup issues

We keep running into issues around sprites & textures, and the issue is likely here:
https://github.com/janxious/ModTek/blob/master/ModTek/Patches.cs#L164
Battletech relies on id collision for textures & sprites.  In case of recieiving a texture when asking for a sprite the game will create a new sprite on the fly.
The temporary fix would be to extend this patch to check types as well.

Would #14 fix this as well, since that no longer patches BattleTechResourceLocator.EntryByID

Yes

This seems to have been caused by DataManager_Texture2DLoadRequest_OnLoaded_Patch
As it isn't clear that this patch is in use by anyone, I've gotten rid of it on the BTRL branch, as discussed in Discord.


merge

What is the purpose of the change
XXXXX
Brief changelog
XXXXX
Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[ ] Run mvn clean install -DskipTests & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

Pls fix conflicts first.

Seems nothing changed

Nothing changed.

Codecov Report

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

@@             Coverage Diff              @@
##             master    #2432      +/-   ##
============================================
- Coverage     55.06%   55.04%   -0.02%
  Complexity     5269     5269
============================================
  Files           573      573
  Lines         25445    25445
  Branches       4518     4518
============================================
- Hits          14012    14007       -5
- Misses         9340     9345       +5
  Partials       2093     2093

Impacted Files
Coverage Δ
Complexity Δ

...onfig/spring/extension/SpringExtensionFactory.java
75% <0%> (-10.72%)
10% <0%> (ø)

...ubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java
37.5% <0%> (-8.34%)
3% <0%> (ø)

...he/dubbo/remoting/transport/netty/NettyServer.java
67.85% <0%> (-3.58%)
8% <0%> (-1%)

...bo/remoting/transport/netty/NettyCodecAdapter.java
53.12% <0%> (-1.57%)
3% <0%> (ø)

.../src/main/java/org/apache/dubbo/rpc/RpcStatus.java
57.89% <0%> (-1.06%)
18% <0%> (ø)

.../dubbo/remoting/transport/netty4/NettyChannel.java
66.25% <0%> (+1.25%)
22% <0%> (ø)
:arrow_down:

...he/dubbo/remoting/transport/netty/NettyClient.java
81.35% <0%> (+8.47%)
13% <0%> (+1%)
:arrow_up:

Continue to review full report at Codecov.

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


When upload too large image will cause out of memory and kill

Move to large machine will be resolved.


Handle multipin

Multipins will require special handling from Artemis and the optical tip centring routine. We need a way of specifying the pin type when loading a sample.
Current offset for tip centring is 50microns, this needs altered to 900 microns for multipin (value may change slightly from this depending on final multipin design).
The X cap on grid size also needs changed to 2200mm (again, subject to change).
This whole process will operate at zoom 1 and in flatfield mode.

Still doing edge detection
Will need to do tip centring in Hyperion

Initial tests done on the multipin_tests branch in bluesky/artemis_v5.1.0. Drew an apparently correct grid (https://ispyb.diamond.ac.uk/dc/visit/cm33866-3/dcg/9787083) didn't get any further as need crystals on the pin.

More testing on 20/07/23

Put the centres in motor positions in the ispy comment

https://github.com/DiamondLightSource/python-artemis/issues/828 is script for the hacky GDA integration

Hyperion side covered in https://github.com/DiamondLightSource/hyperion/pull/852, GDA side in https://gerrit.diamond.ac.uk/c/gda/gda-mx/+/39819

Just waiting on https://gerrit.diamond.ac.uk/c/gda/gda-mx/+/39822

Associated gerrit change is merged, closing this


[HCA Portal] Update GTM outbound link configuration

Need
Outbound links should track the source URL and capture the fragment if any.
Definition of Done
Additional outbound link information is accessible in the query manager for prod and staging:

[x] data.humancellatlas.org - GA4
[ ] data.humancellatlas.dev.clevercanary.com - GA4

Working on prod but not staging, will check staging again tomorrow

And now working on staging too. @MillenniumFalconMechanic should be good to go!

Thanks Jonah!


XML tags containing single quote attributes are not highlighted properly

XML highlighting does not work correctly for tags that use single quotes instead of double quotes when specifying attributes.
This example is highlighted properly:
<element attr="value">

While this example is not:
<element attr='value'>

Fixed in commit https://github.com/MTDL9/vim-log-highlighting/commit/09a272bb66a7eb323b87d9201c82da93043fe478


After (or during?) submission, create a GitHub release and connect it to Zenodo

So that a DOI can be created. After review, maybe the DOI can be included then. Or should it be included before submission...? I'm not sure.

I've made some minor changes to the code after the zenodo upload. Should it be reuploaded?

Done! Uploaded the latest version


Improve the markdown linting.

Since I'm in a train, and I cannot compile ...

LGTM
Thanks!!

Thanks


x/pkgsite: Package ffmpeg-go with Apache 2.0 License not recognized

What is the URL of the page with the issue?
https://pkg.go.dev/github.com/u2takey/ffmpeg-go
What is your user agent?
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
Screenshot

What did you do?

Open  https://pkg.go.dev/github.com/u2takey/ffmpeg-go

What did you expect to see?
The documentation for the ffmpeg-go package.
What did you see instead?
Documentation not displayed due to license restrictions.

The latest version of your module was published before you added the license. For pkg.go.dev to see the license you must publish a new version.


Formatting Web Page For Similar Chrome Notifications

For iOS notifications - Looks like the notification shows
The Page Title & Link Under That
For Android notifications - Looks like the notification shows
The Page Title & Link Under That
The first 100 characters of the page under that
Any tips/suggestions for formatting the contents of my URL page so they both see the same thing?

The iOS app came out first and we appreciate that it's not quite kept pace with the Android app (doesn't restrict to HTTPS, doesn't show the description OR the favicon, etc) We're working on a revamp of the iOS app that will have it catch up to the Android app in these ways. It's still a few months out but I'd hate for you to do something special for your web page only to have to change it again.
If you can hold on a few more months, you should be fine.

It's all new and fun.
For this we can be flexible.
Thanks for the info


FocusElement

Hey guys. I'm migrating an app which was using WPF. Some of my WPF windows have other content inside which need to be focused and thus I do this upon opening:
    FocusManager.SetIsFocusScope(myCustomContent, true);
    FocusManager.SetFocusedElement(this, myCustomContentView.FocusableElement);

If I don't do this and have for example an Input inside my customContent, I  cannot focus it when opening the window.
Now, I've been trying to achieve the same in Avalonia but the FocusManager seems like it's completely different from what is was in WPF. Also, FocusManager.Instance.Scope seems to be null at all times.
Can you help me? How do I convert those 2 lines of code to Avalonia?
Thanks

im not sure on how to use the focus manager, but iv acheived this by implementing behavior like this:
https://github.com/zkSNACKs/WalletWasabi/blob/master/WalletWasabi.Gui/Behaviors/FocusOnAttachedBehavior.cs#L7

Thanks for the answer @danwalmsley. Unfortunately it does not solve the problem in my case!

I think our focus code needs a fair bit of work regarding focus scopes. However the fact that the scope is null sounds like a bug. Need to investigate. If you have any more info on how to get a null focus sope that would be helpful.


Update file line terminator from CRLF to LF

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
This PR twists the file line terminator from CRLF to LF.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Find the file with CRLF line terminator:
# find /root/go/src/github.com/karmada-io/community -type f -exec file {} \; | grep -v "vendor" | grep CRLF
/root/go/src/github.com/karmada-io/community/swags/README.md: ASCII text, with CRLF line terminators
/root/go/src/github.com/karmada-io/community/cncf_process/incubation_dd/Karmada CNCF Due Diligence Doc.md: UTF-8 Unicode text, with very long lines, with CRLF line terminators

cc @lfbear
Please help take a look.

/lgtm


New Elixir Library Guidelines reguarding config

https://hexdocs.pm/elixir/master/library-guidelines.html#avoid-application-configuration
We might need to reconsider how we do configuration going forward.

Opening this issue to start a discussion. We might not find these changes useful but it might also lead us to a better design overall.


[Question] Support for typed custom Directives

🧐 Problem Description
As mentioned here, I'd like to have type safety for custom directives when using Vue 3 and JSX + Typescript (TSX).
💻 Sample code
import { defineCustomElement } from "vue";
import ClickOutside from "click-outside-vue3";

export default defineCustomElement({
  name: "Hello",
  directives: {
    clickOutside: ClickOutside.directive,
  },
  render() {
    return
 console.log("clicked outside")}>
;
  },
});

🚑 Other information
It works, but gives an annoying type error, saying:
Type '{ vClickOutside: () => void; }' is not assignable to type 'ElementAttrs<HTMLAttributes>'.
  Property 'vClickOutside' does not exist on type 'ElementAttrs<HTMLAttributes>'.ts(2322)

The current workaround that I applied is to use @ts-ignore (not that vite won't build it otherwise, but just to make the red line go away in VS Code), I didn't have time to figure out which interface I have to augment, potentially even patching node_modules using patch-package

After posting I realize that this is probably less of a question, and more of a feature request, let me know what you think guys, thank you!

@Maxim-Mazurok, this thing works but looks a bit messy and I'm still looking for a cleaner solution.
type VClickOutsideDirective = {
  'v-click-outside'?: Function;
};

declare module 'vue' {
  export interface HTMLAttributes extends VClickOutsideDirective {}
}

import { defineCustomElement } from "vue";
import ClickOutside from "click-outside-vue3";

export default defineCustomElement({
  name: "Hello",
  directives: {
    clickOutside: ClickOutside.directive,
  },
  render() {
    return
 console.log("clicked outside")}>
;
  },
});

Yeah, that's not ideal because TS will think that this directive can be used in all other components as well, even though they don't import this directive. But thanks for sharing, this is definitely an option!

@Maxim-Mazurok since the option above wasn't as good, I found a new type-safe solution. (ignore any  🙃)
const focus = {
  mounted(el: any) {
    el.focus();
  },
};
...
import { withDirectives, openBlock } from 'vue';
...
<>
{withDirectives(
  // `openBlock` function must be called within `withDirectives` before the actual node to which the directives will be apply
  (openBlock(),
  (
    <input
      class="input"
      type="text"
    />
  )),
  [[focus]]
)}
</>

Also do not forget to register directive in component.
SomeComponent.directives = {
  focus
};

Oh wow, kudos for finding a type-safe solution, but I'm afraid it's not human-safe :D It took me a while to understand what's going on there. openBlock() isn't even documented outside of source code, so this seems very advance...
By the way, I think that it's still not completely type-safe. Now we know that directive exists, but we still don't know what kind of arguments it expects, I think that if I tried to use mine, like so:
withDirectives(/*...*/, [[clickOutside, () => console.log("clicked outside")]] it would expect [Directive, any] type, not [Directive, Function]
based on these types: https://github1s.com/vuejs/core/blob/HEAD/packages/runtime-core/src/directives.ts#L72-L78

It's type-safe, depends on what angle you look at. 🙃 From from detective perspective we can make it strong typed, but from component view, yes... we have some problems with withDirectives, but I have some thoughts on how this can be solved.

@Maxim-Mazurok, it took me a long time, and I tried my best.
Util types:

/**
 * @see https://docs.microsoft.com/en-us/javascript/api/@azure/keyvault-certificates/requireatleastone?view=azure-node-latest
 */
export type RequireAtLeastOne<T> = {
  [K in keyof T]-?: Required<Pick<T, K>> &
    Partial<Pick<T, Exclude<keyof T, K>>>;
}[keyof T];

Util types related to createDirective function:
export type DirectiveModifier<M extends string> = Partial<
  Record<M, true | undefined>
>;

type DirectiveUseFunction<V = any, A = string, M extends any = string> = (
  directiveArgument?: Partial<{
    value: V;
    arg: A;
    // @ts-expect-error <-- I gave up here ;(
    modifiers: M extends void ? void : DirectiveModifier<M>;
  }>
) => DirectiveArguments;

export interface _DirectiveBinding<
  V = any,
  A = string,
  M extends string = string,
  D = any
> {
  instance: ComponentPublicInstance | null;
  value: V;
  oldValue: V | null;
  arg?: A;
  modifiers: DirectiveModifier<M>;
  dir: ObjectDirective<D, V>;
}

export type DirectiveOption<
  DirectiveElement extends HTMLElement,
  DirectiveValue = any,
  DirectiveArg = string,
  DirectiveModifier extends string = string
> = {
  created?: (
    el: DirectiveElement,
    binding: _DirectiveBinding<DirectiveValue, DirectiveArg, DirectiveModifier>,
    vnode: VNode<any, DirectiveElement>,
    prevVNode: null
  ) => void;

  beforeMount?: (
    el: DirectiveElement,
    binding: _DirectiveBinding<DirectiveValue, DirectiveArg, DirectiveModifier>,
    vnode: VNode<any, DirectiveElement>,
    prevVNode: null
  ) => void;

  mounted?: (
    el: DirectiveElement,
    binding: _DirectiveBinding<DirectiveValue, DirectiveArg, DirectiveModifier>,
    vnode: VNode<any, DirectiveElement>,
    prevVNode: null
  ) => void;

  beforeUpdate?: (
    el: DirectiveElement,
    binding: _DirectiveBinding<DirectiveValue, DirectiveArg, DirectiveModifier>,
    vnode: VNode<any, DirectiveElement>,
    prevVNode: VNode<any, DirectiveElement>
  ) => void;

  updated?: (
    el: DirectiveElement,
    binding: _DirectiveBinding<DirectiveValue, DirectiveArg, DirectiveModifier>,
    vnode: VNode<any, DirectiveElement>,
    prevVNode: VNode<any, DirectiveElement>
  ) => void;

  beforeUnmount?: (
    el: DirectiveElement,
    binding: _DirectiveBinding<DirectiveValue, DirectiveArg, DirectiveModifier>,
    vnode: VNode<any, DirectiveElement>,
    prevVNode: null
  ) => void;

  unmounted?: (
    el: DirectiveElement,
    binding: _DirectiveBinding<DirectiveValue, DirectiveArg, DirectiveModifier>,
    vnode: VNode<any, DirectiveElement>,
    prevVNode: null
  ) => void;

  getSSRProps?: (
    binding: _DirectiveBinding<DirectiveValue, DirectiveArg, DirectiveModifier>,
    vnode: VNode
  ) => Data | undefined;

  deep?: boolean;
};

Custom function that allows to register and use directive:
/**
 * @see https://vuejs.org/guide/reusability/custom-directives.html#introduction
 *
 * @description
 * adada
 *
 * @example
 * type VFontDirectiveModifier = 'normal' | 'italic' | 'oblique';
 *
 * export const vFontDirective = createDirective<
 *  HTMLElement,
 *  number,
 *  void,
 *  VFontDirectiveModifier
 * >('font', {
 *   beforeMount(el, binding) {
 *     if (binding.modifiers.normal === true) {
 *       el.style.fontStyle = 'normal';
 *     } else if (binding.modifiers.italic === true) {
 *       el.style.fontStyle = 'italic';
 *     } else if (binding.modifiers.oblique === true) {
 *       el.style.fontStyle = 'oblique';
 *     }
 *
 *     el.style.fontSize = `${binding.value}px`;
 *   },
 *
 *   updated(el, binding) {
 *     el.style.fontSize = `${binding.value}px`;
 *   },
 * });
 *
 * ...
 *
 * SomeComponent.directives = {
 *   ...vFontDirective.register()
 * };
 *
 * ...
 *  {withDirectives(
Heading
, [
 *     vFontDirective.use({
 *       value: 40,
 *       modifiers: {
 *         italic: true
 *       }
 *     })
 *   ])}
 * ...
 */
export const createDirective = <
  DirectiveElement extends HTMLElement = HTMLElement,
  DirectiveValue = any,
  DirectiveArg = string,
  DirectiveModifier extends any = string
>(
  name: Readonly<string>,
  directiveObject: RequireAtLeastOne<
    DirectiveOption<
      DirectiveElement,
      DirectiveValue,
      DirectiveArg,
      // @ts-expect-error <-- And here too ;(
      DirectiveModifier
    >
  >
) => {
  const register: DirectiveRegisterFunction = () =>
    ({
      [name]: directiveObject
    } as any);

  const use: DirectiveUseFunction<
    DirectiveValue,
    DirectiveArg,
    DirectiveModifier
  > = (directiveArgument) =>
    [
      directiveObject,
      directiveArgument?.value,
      directiveArgument?.arg,
      directiveArgument?.modifiers
    ] as any[];

  return {
    register,
    use
  };
};

That looks pretty promising, good job 👍


Code snippets almost always have content hidden

Even with code wrapped to 80 columns, about 1/3rd of it is hidden when the browser is at 1064 pixels wide.  It is a pain to bounce the horizontal scroll back and forth while trying to read and understand the code.
When my browser window is set to 1064 pixels wide, I only see 53 characters (2/3).  When I go into iPhone 6 plus in developer tools, I can only see 36 characters in my code snippet.
From taking a quick spin through The Visual Display and Visual Explanations, I think the most consistent styling would be to add a full width class to code.  In both of those books, there are many many images that are full width.  Text never.  Tables, I found one on page 44 of Visual Explanations.
However, I think do think it is not correct to hide text, even if you did provide some visual clue.  People can still miss the content.
So ... the best solution I can think of:

add a fullwidth class to use for pre
bump down the code font
bump up the line-height
wrap inside the code box
try to style it so a wrapped line is visually distinct from a new line.

On the second point, if I'm not mistaken, Tufte does encourage greater information density via smaller fonts if necessary.
On the last point, often a coding style guide will use a different indent for continuation lines versus new lines.  For example, Google's Java checkstyle requires a double-indent for continuation lines.  OpenBSD's style guide goes the other way and requires four spaces for a continuation and a tab (typically eight spaces) for new lines.

I'd like to start by saying I appreciate how you filed this issue. This is a clear overview of the design issue. The fact that you reviewed the literature to see how similar problems were handled in Tufte's work is particularly heartening. Thanks.
I agree that this is a problem and I think your sketch of a solution is probably the right way for it to go, though the proof is always in seeing how it turns out.
Regarding width, to clarify, are you suggesting that we should enforce fullwidth for code blocks, or that we should provide a fullwidth class for them, and recommend that they are used in concert?
Regarding indentation, I would tend towards trying the Google Java double-indent first. I do reserve some concerns about wrapping in general, since many languages rely on indentation for clarity. But you're right—something must be done to display more code to the user without making them manipulate the screen.
The next few weeks may be busy for me, but I'd like to take a look at tackling this when I have time. A PR would also be welcome (and would probably be faster).

Thanks for creating such an awesome project!
I'll take a crack at a PR.  And I think it should be optional.  Keeping it backwards compatible seems more important.

Some work towards a partial solution was done in https://github.com/edwardtufte/tufte-css/pull/89

Closing for inactivity. Thanks again for opening this discussion.


How to export texture?

Thanks for your great work!
My goal: is to import highly detailed meshes and textures into 3D software like Blender, Unreal for rendering
How do export mesh and textures (diffuse, specular, normal)?

Like image

Thanks for your attention.
We recommend you using Nerf2Mesh to export detailed meshes and textures. However, integrating neural representations directly into existing rendering tools, such as blender, can be challenging. Moreover, if you want to support downstream rendering tasks like relighting in 3D software, you may need to customize the shader to support neural network.

Thanks for your advice, I will learn about Nerf and Nerf2mesh.


Register this package?

Motivation and description
Hi,
would it be possible to register this package?
I am interested in the differentiable part of the homography warps.
CC @RainerHeintzmann
Best,
Felix
Possible Implementation
No response

ping @SomTambe

Hi Felix. I apologize for the delay. Haven't visited this part of github since a few months.
To be very honest, the package has not been worked upon since quite long.
I feel some parts can be made more robust and updated to work with the latest versions of the libraries. We can work on it together and release a stable version, and then register it.
What do you suggest?


PERF: Avoid deepcopy in Series arithmetic operations

xref #4689
In cases such as df[0] - df[1], we have df[0].index._id is df[1].index._id, which means the .equals check in the alignment step is cheep.  Making a deep copy resets the two _id objects, making the alignment much more expensive.

Thanks for opening the issue @jbrockmendel

closed by #4689?

@jbrockmendel yes. On your future PRs please be sure fill out the PR template. The template includes a portion for the issue like Resolves #. If you put the issue number there, GitHub will close the issue automatically once the PR is merged.


Deployment of new cluster

I have created API keys with permissions.
I am following the examples here:
https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/main/examples/cluster
But i am getting this error:
│ Error: Error creating cluster
│
│   with couchbase-capella_cluster.mno_cluster,
│   on cluster.tf line 38, in resource "couchbase-capella_cluster" "mno_cluster":
│   38: resource "couchbase-capella_cluster" "mno_cluster" {
│
│ There is an error during cluster creation. Please check in Capella to see if any hanging resources have been created, unexpected error: {"hint":"The request was malformed or invalid.","message":"Bad Request.
│ Error: body contains unknown key "configurationType".","code":1000,"httpStatusCode":400}
I have tried both with AWS, Azure and GCP and still no luck.
It works to create clusters in the console.

@pandanos This is actually a known issue with the API server.  I will update when this is fixed.

Hi @pandanos the issue is resolved.  API server was fixed by @PaulomeeCb


develop does not support placing the egg outside of the source folder

Originally reported by: dirk-thomas (Bitbucket: dirk-thomas, GitHub: dirk-thomas)

When passing egg_info --egg-base SOMEPATH additionally to setup.py develop the egg file is created in that location. This is done to build out-of-source and not drop any artifacts in the source folder of the package.
But it always fails with the following exception: https://bitbucket.org/pypa/setuptools/src/18eceee63709bc70c06b51a609f3dbd2eab07ef4/setuptools/command/develop.py?at=default#cl-84
It seems like there is no way to parameterize the invocation with --build-directory, --egg-path which would be valid.

Bitbucket: https://bitbucket.org/pypa/setuptools/issue/361

What would be the intended setup.py develop invocation to support putting the egg file in a different location? I don't see an --egg-base option for develop when running python setup.py develop --help. I only see an --egg-path option, which looks slightly different.

@dirk-thomas fyi

The idea of running develop wihtout putting any files into the source path of the package is similar to "out-of-source builds" with other build system (e.g. CMake). I would prefer not to place anything in the source path of the package but instead specify a build folder (out of source) where all necessary temporary / build files are being created. An out of source build comes with the usual advantages: multiple build directories with different setups, no need to babysit generated files, easy to clean, etc.

Another use case (the one I'm interested in) would help with a local development workflow using Docker. Say you install your package inside a Dockerfile in "develop" mode, and you set things up so that as you edit files on your local machine, the files get synced into the Docker container using a volume. Putting the build artifacts outside of the source directory would ensure they don't get overwritten when the volume is mounted. Otherwise, you have to do something like re-run setup.py develop after the volume is mounted, or do contortions involving temporarily moving the build artifacts prior, etc.


[Bug]:  Not rendering when click carrerzunction in msg page

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
in mag page careerzunction are not rendring to home when clicking this
Expected behavior
i just to solve this bug then it work
Add ScreenShots

What browsers are you seeing the problem on?
No response
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@HimanshuNarware  can you assign this issue to me under gssoc label


Params fix

Hi,
Currently the plugin has some issues around the use of the params annotation from JMH.
Most of the other annotations can safely be ignored and since the last fix they are working well.
The params annotation however can result in many benchmarks with the same benchmark name. This confuses the parsing logic.
My proposed changes break down the benchmarks by parameters as well as class and method. There is also a change to the use of HashMaps. Some needed to be replaced with LinkedHashMaps because we are dependent(mostly just in terms of the order stuff appears on the screen) on the order entries are iterated over.
I've added junit tests for the changes I'm making to the parising and the grouping. Please let me know if you intended a different test framework to be used. In any case I've also tested this manually on TeamCity. screen shot of charts with params, for jmh job running against the the params samples project (link below):

the benchmark:
http://hg.openjdk.java.net/code-tools/jmh/file/13ae22114e22/jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_27_Params.java
Thanks,
Jason

fixing file name case. Seems to have changed during commit and git doesn't recognize that the case is different in my local clone. rechecking out and git mv --force appears to fix it.
CI passing now

Hi, thanks a lot for contribution to this project.
I have tested you changes and found one problem: compare to previous result stopped working.
Also It looks not very well to put params to method name with underscore. We need to find better way to display it. I'll look on it and let you know.


Consistency of naming for Loss functions etc NN.Losses.cs

TORCH.NN: Loss Functions
Pytorch

nn.BCELoss
nn.BCEWithLogitsLoss
nn.CosineEmbeddingLoss
nn.MSELoss
nn.NLLLoss

TorchSharp

bce_loss
bce_with_logistics_loss
cosine_embedding_loss
mse_loss
nil_loss

This is just a small sample of what I found. Is there a need to be consistent [more compact naming] with PyTorch here?

I suggest more users here report the inconsistencies in naming so eventually, e.g. like NumpSharp, we simply copy and paste pytorch code in .NET and it works!


WIP: Consistent/Polished wording in Docs & Settings

First of - thanks a lot for your work on this project. I recently started using it since I generally prefer to self-host things and it has been incredibly useful.
I figured that I'd make the titles and descriptions in the docs and settings more consistent and reword some cases of awkward phrasing. I'm still working on this PR, but was wondering if you had a preference for which kind of spelling to use (American English or British English). I'd just run a quick search & replace when I'm done with my work to make this consistent as well.
Thanks in advance.

Notes to self:

Fix the translation keys
Parity between settings.md and the actual settings


Get full url

Is there a way to get the full URL (like the Laravel helper does) instead of a relative URL (like this package does)?

Good idea.

I originally wrote a version that prepended baseUrl to all the links.
However, we have to consider this:
{username}.myapp.com
route('user-dashboard', {username: mattstauffer})

I was able to solve @mattstauffer 's issue above using the super handy $route->domain() method on Route.php 😄
Solved in #18


Fix ghost click issue when making a selection on touch devices

Fixes #90

This change is

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io


Add Chrome extension for local /var/log/messages analysis

On ChromeOS, file:///var/log/messages is accessible even on a production image with non-dev mode via Chrome. However, it is just shown as a plain text so it's a bit hard to parse it with eyes. Adding a Chrome extension may help debugging things and highlight anomalies. (It can just be an unpacked Chrome extension).

Random ideas for the features:

filter log messages
annotate log messages with additional info (e.g. pop-up chromiumos-specific terminologies, level of suspicious)
extract key information from the log (e.g. kernel versions, important event timestamps like boot, suspend/resume)


Update the C benchmarks to make them more performant

Update the C benchmarks to make them more performant through the use of 'const'
Update the emcc flags to use -O3 instead of -Os for better production level performance

Thanks so much @mavrukin ! I knew there is room for optimizing both JS and WASM but I just couldn't do because of lack of time. This PR helps us a lot.
The change is huge so hard to review. But the WASM performance improvement looks significant. I think I should go with the change not to give an impression that WASM is slower than the actual performance to users. I trust you.

Thanks for the update.
What do you think of this comment? https://github.com/takahirox/WebAssembly-benchmark/pull/3#discussion_r322453490 Do you still want users to clone from your fork even after this PR is merged? I'm going to merge once it's resolved.

hey, sorry for not responding earlier, I saw your first response when I was on my way home from work (many months ago), and by the time I got home forgot to follow up.  I'm currently dusting off some of this work because I'm beginning to re-experiment again with WASM.  I have a bit of a backlog of things I want to clean up here in the project, so, don't merge yet.  I'll address your comments along the way and will ping you once I'm ready for another review / merge.

Hi @mavrukin, thanks for the response and updates! I see, let me know when the PR is ready.


[Event Request] Codeunit 6620 - "Copy Document Mgt." - OnBeforeCopyAsmOrderToAsmOrder

When codeunit "Copy Document Mgt." copies Assembly Orders to the target document there is no possibility to influence or filter the assembly order lines that get copied. For a customer project we need to avoid that certain lines get copied and therefor we need a new integration event in this codeunit:

We would need the event from BC18 onwards.
Thanks a lot for helping us further in our project
Here is the code to copy:
Event:
[IntegrationEvent(false, false)]
local procedure OnBeforeCopyAsmOrderToAsmOrder(var TempFromAsmHeader: Record "Assembly Header" temporary; var TempFromAsmLine: Record "Assembly Line" temporary;
   ToSalesLine: Record "Sales Line"; ToAsmHeaderDocType: Option; ToAsmHeaderDocNo: Code[20]; InclAsmHeader: Boolean)
begin
end;

Caller of the event in ct. CopyAsmOrderToAsmOrder:
local procedure CopyAsmOrderToAsmOrder(var TempFromAsmHeader: Record "Assembly Header" temporary; var TempFromAsmLine: Record "Assembly Line" temporary; ToSalesLine: Record "Sales Line"; ToAsmHeaderDocType: Option; ToAsmHeaderDocNo: Code[20]; InclAsmHeader: Boolean)
var
FromAsmHeader: Record "Assembly Header";
ToAsmHeader: Record "Assembly Header";
TempToAsmHeader: Record "Assembly Header" temporary;
AssembleToOrderLink: Record "Assemble-to-Order Link";
ToAsmLine: Record "Assembly Line";
BasicAsmOrderCopy: Boolean;
begin
***********************************
OnBeforeCopyAsmOrderToAsmOrder(TempFromAsmHeader, TempFromAsmLine, ToSalesLine, ToAsmHeaderDocType, ToAsmHeaderDocNo, InclAsmHeader);
***********************************
if ToAsmHeaderDocType = -1 then
exit;
BasicAsmOrderCopy := ToAsmHeaderDocNo <> '';

Hi,
You help us implementing the requests faster when your request contains AL code copied from VSCode instead of screenshots.

Code is now added to the ticket. Please appologize, as it my first even request I was not aware of that.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


"Happening right now!" Is not always accurate

I live in New Zealand, so this was very noticeable with cubecomps - Our competitions would be listed under "upcoming" for several hours after they had already started, and be listed under "in progress" well after they had ended, often into the next day. Right now this is the case with WCA Live as well.
I wonder if it would be possible to use time zone/schedule information to make the "Happening right now!" list more accurate? I believe this information is already being used, as for Otago October 2019, I could see a progress bar under the current event, showing how far through the schedule we were.

Yeah, so what happens is that on the main page everything is displayed in UTC. I guess one reason is that it would be weird to show two competitions with the same date, one in progress and one upcoming. On the other hand, on the competition page we show localized schedule which is accurate to what actually happens. I agree that's not really the best, we should probably display competitions under "Happening right now!" based on the actual schedule, regardless of their UTC date.

Right. Yeah, I mean it might be weird but that's just because time zones are weird. I think it's better to prioritise accuracy - especially because the purpose of the website is live results. People who want to check results for the competition will expect to see it listed under "happening right now!". Also, people who are interested in international competitions will expect that they'll be able to see live results for "happening right now!" competitions - when in fact, if they're far enough west, those competitions might not start for several more hours.

I've modified the behavior to treat a competition as in progress one hour before the first schedule activity, until one hour after the last activity. In other words a competition is considered in progress based on schedule + and additional 1 hour window.


Ingest L and M photometry from the Ultracool Sheet

Part of #452 .
Ingest the L' and M' band photometry.  Problem is that much of it us from UKIRT but the filter is not obvious and not listed on the SVO. Maybe the MKO NSFCam L' and M' will work?
http://svo2.cab.inta-csic.es/svo/theory/fps3/index.php?mode=browse&gname=MKO&gname2=NSFCam&asttype=

or IRTF NSFCam? http://svo2.cab.inta-csic.es/svo/theory/fps3/index.php?mode=browse&gname=IRTF&gname2=NSFCam&asttype=


[FEATURE REQUEST] Compatibility with 5E Custom Currency

Hello,
Can you make this module compatible with 5E Custom Currency (https://github.com/ktrieun/FVTT-5e-custom-currency)
For the money trade windows & messages display the custom currency.

Hi @KageJittai compatibility was implemented within "5E Custom Currency" module 👍


Tests - move clientID and resource group to test variables

Closes #19

Will remove the two variables from the library on Azure DevOps once the other PR is merged or this one is completed so the other PR can be updated.


Flow/HTTP: Add support for Tago

Similar to Thingspeak, Tago allows people to send and/or receive data to the cloud so that they can be visualized and acted upon. Implement two node types (one to send data, other to retrieve), implementing its straightforward API: https://www.tago.io/en/developers/api/introduction
(The Freegeoip node type and location packet type have been implemented so that implementing this would be easier.)
Bonus points if there's an option to set the API endpoint, the same way that the Thingspeak nodes do. This allows people to implement their own Tago instance if needed be.

@lpereira regarding this bonus point, are you sure it's an open source project, in the sense you can run your own instance? I only found repositories of clients for Tago.
Indeed API seems to be really straightforward

@bdilly commented on 4 Nov 2015, 20:25 GMT-2:

@lpereira regarding this bonus point, are you sure it's an open source project, in the sense you can run your own instance? I only found repositories of clients for Tago.
Indeed API seems to be really straightforward

It's not open source, but given that the API is straightforward, I don't see why it couldn't be easily implemented (without all its bells and whistles, of course) as an open source project. In fact, I suggested that our HTTP server nodes exposed the same API but in the end it was decided we should go to another direction.


xpath to return child element returns parent element

The xpath "*" should return all children of an element, e.g.
e.findElements(By.xpath("*"))
But it returns the element e again not its childs.
The xpath "*/*" returns all children of an element, it looks like the start node of the xpath evaluation is not correct.

following-sibling::*[1]
not correct too.

element.FindElementByXPath("*/.")
Find self node.
element.FindElementByXPath("*/./..")
Find null.


Support for -resume ?

I have some fairly slow pipeline tests (even with "small" test data) which take minutes, running in a bash script. Some of the tests are similar to another test and have overlapping steps. When testing by hand I use -resume a lot. I understand that in general it is good to start tests "clean", but I wondered if nf-test could support using -resume (and I have neither found if it is already possible, nor a way to activate it in NF config unfortunately).
I'm not an experienced tester, so maybe this is a bad idea in general. Maybe I should split into workflows for the tests that have identical first steps, so I only test them once. But for longer tests it'd make the development feedback loop shorter.

Hi there,
Per design nf-test allways starts with a clean work directory, so your use case is currently not supported.
Fyi, the latest nf-test release allows you to specify other Nextflow options (like -dump-channels). See here: https://code.askimed.com/nf-test/getting-started/#nextflow-options

Thanks, I understand. I'll keep an eye out if this'd ever show up on your roadmap :) I'm just starting with testing pipelines, so I'll try and see if I can work around my particular problem.

In my use case, I use nf-test to develop and test a sub-workflow simultaneously. nf-test helps me design custom minimal input channels separate from the main script, it saves time and resources. But if in sub-workflow had some long-run process, I have to re-run every time. I think it will be convenient if we have the -resume option when running the nf-test with sub-workflow.


Could we remove tls.client.server_name in favor of server.address

tls.client.server_name is defined as
https://github.com/open-telemetry/semantic-conventions/blob/5971366ae2fcaf2d01b1a52da92e872b7df5491d/docs/attributes-registry/tls.md?plain=1#L25
This should be the same as server.address. See https://community.f5.com/kb/technicalarticles/ssl-profiles-part-7-server-name-indication/279829
So the proposal is to deprecate the tls.client.server_name attribute.

CC @svrnm

When I added this originally I took most attributes from Elastic Common Schema, so I had no other reason than that for adding it.
+1 for deprecation