about permissions

Hello!
Thanks for your project.
Question: if you run it from Docker, then the files and folders will have the owner "root", but if you specify docker --user "$(id -u):$(id -g)", then the container will not start. I would like to have access to files on behalf of the user. How did you solve this issue?

Thank you for asking me!
I am preparing the new edition of this, however, the same problem might happen.
If you have run it once in the root, have you changed the permissions of files which have already been made?
I hope that changing the permission will help us...

Thanks for your reply!
Yes, your suggestion worked. Thank you.


[FEATURE]

Hello, I am here to make a couple of requests.
Ability to change /team to /clan. That would be really useful because most people are used to using the command /clan.
Some sort of team member upgrade. I know you can put in the config the max team size, but it would be a good addition for people to spend in game currency to upgrade the team size.

First suggestion (changing /team aliases) will be added in the next update
Could you create a second feature request for the second suggestion explaining in more detail what you are requesting.

First suggestion (changing /team aliases) will be added in the next update
Could you create a second feature request for the second suggestion explaining in more detail what you are requesting.

This feature has been implemented and will be included in the next update.

This feature has been implemented and will be included in the next update.


MSID: 100666 Version: 1 DOI: 10.1101/2<IP_ADDRESS>9673

MSID: 100666
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>9673
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=100666
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>9673

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/100666v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>9673
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/100666/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

Production - please edit XML so Yu Hu is included as co-corresponding author, see slack in prod-editorial channel


Openresty not started in different containers

I trying to install in LXC containers (Alpine 3.16, debian 10 standart, ubuntu 20.04). Install work without errors, but result is openresty not started. I read previous issues, but solutions in that - not helped.
Best result what i found (others result is "nginx: [emerg] getpwnam("nginx") failed " ):
For example, I download ubuntu 20.04 template (18.04 dont have correct python version which need script).
After entering LXC, and apt update && upgrade, i made 2 users before download script:
useradd -s /bin/false nginx
useradd -s /bin/false npm
after run wget script, which automatically download and compile all nessesary actions:
so i see ip:81 string, and check service
root@reverse:~# service openresty status

openresty.service - The OpenResty Application Platform
Loaded: loaded (/lib/systemd/system/openresty.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-07-12 19:13:52 UTC; 4min 6s ago
Main PID: 22534 (nginx)
Tasks: 2 (limit: 135189)
Memory: 2.1M
CPU: 25ms
CGroup: /system.slice/openresty.service
|-22534 nginx: master process /usr/local/openresty/nginx/sbin/nginx -g daemon on; master_process on;
`-22535 nginx: worker process

Jul 12 19:13:52 reverse systemd[1]: Starting The OpenResty Application Platform...
Jul 12 19:13:52 reverse systemd[1]**: openresty.service: Failed to parse PID from file /usr/local/openresty/nginx/logs/nginx.pid: Invalid argument**
Jul 12 19:13:52 reverse systemd[1]: Started The OpenResty Application Platform.
So with this install it gaves error on nginx.pid in logs directory, and i dont know where find solution for this.
I try to install as described on https://klabsdev.com/posts/NginxProxyManager/ but got "[emerg] getpwnam("nginx") failed "
I try to comment line 3 in nginx.conf - no result :(
I try to mkdir /run/nginx (in alpine)  - also w/o result.
I read some discuss about this in docker version - some users posts, that newer version (2.20+?) of nginx broken and they rollback to previous.
Can you check install script?
Proxmox 8, but i think it doesnt matter if using manual script, w/o automatic lxc create.

Got script work, it was my miss. When I set up  LXC container network for NPM, I set <IP_ADDRESS>/32, so nobody can connect to npm host. So I change ip to <IP_ADDRESS>/24 and NPM start opening login window on 81 port, such as described.
Used Proxmox 8.0, debian 10 standart container.
Before install i create users
useradd -s /bin/false nginx
useradd -s /bin/false npm
and after successful install, check openresty service status (was active), comment line 3 in /usr/local/openresty/nginx/conf/nginx.conf ,
reboot lxc and it correctly work with LE certificates.

This worked for me on Debian 11 LXC

Even after failure this fix worked.

Added the users as above:
useradd -s /bin/false nginx
useradd -s /bin/false npm
re-ran the install script.
check the openresty.service
systemctl status openresty.service
commented out the 3rd line in: /usr/local/openresty/nginx/conf/nginx.conf
reboot LXC
check the openresty.service - now running
browse to host address on port 81
All working.

Debian 11 LXC
Cheers @voland-key


FAST REFRESH broken

Describe the bug
Hi, we are using react-scripts v 4.0.3, and recently live reloading stopped working. After making changes to any of the file, the browser becomes unresponsive and I have to refresh the browser to reflect the changes.
Did you try recovering your dependencies?

Yes I tried clearing cache, removing the node modules and install it again as well but nothing helped
Which terms did you search for in User Guide?

(Write your answer here if relevant.)
Environment

System:
    OS: macOS 11.6
    CPU: (8) arm64 Apple M1
  Binaries:
    Node: 14.19.1 - ~/.nvm/versions/node/v14.19.1/bin/node
    Yarn: 1.22.19 - ~/.nvm/versions/node/v14.19.1/bin/yarn
    npm: 8.13.2 - ~/.nvm/versions/node/v14.19.1/bin/npm
  Browsers:
    Chrome: 107.0.5304.87
    Edge: Not Found
    Firefox: 106.0.1
    Safari: 14.1.2
  npmPackages:
    react: 18.2.0 => 18.2.0
    react-dom: 18.2.0 => 18.2.0
    react-scripts: 4.0.3 => 4.0.3
  npmGlobalPackages:
    create-react-app: Not Found

Disabling "FAST_REFRESH" in .env fixes this issue

Facing the same issue with react-scripts v 4.0.3 and react 17.0.2


implemented Spinner @line 544

implemented Spinner , tagged as TODO

Closing this as the SDK has been majorly refactored in v1. Please open a new PR if you're still interested in making this change!


ping failed to calico gateway for only some of pods

calicoctl version
Client Version:    v3.13.2
k8s version: 1.17.9
our k8s cluster has 6 nodes, two of them has problem that newly created pod can not ping calico gateway success
[root@d0506 ~]# ip r
<IP_ADDRESS> via <IP_ADDRESS> dev bond0.1103
<IP_ADDRESS>/24 dev bond0.112 proto kernel scope link src <IP_ADDRESS> metric 400
<IP_ADDRESS>/24 dev bond0.212 proto kernel scope link src <IP_ADDRESS> metric 402
blackhole <IP_ADDRESS>/24 proto bird
<IP_ADDRESS> dev caliefb43993113 scope link
<IP_ADDRESS> dev calia25d96106e9 scope link
<IP_ADDRESS> dev cali64f4506fe5a scope link
<IP_ADDRESS> dev cali1c17579d552 scope link
<IP_ADDRESS> dev cali69deb0fd7bc scope link
<IP_ADDRESS> dev calib6f659f7b3d scope link
<IP_ADDRESS> dev cali658b68d3097 scope link
<IP_ADDRESS> dev calid510769e85f scope link

like above ip address, some of them can ping successfully to gateway like <IP_ADDRESS>, but new one can not
we tried check inside the pod about the route rule, it seems normal
[root@d0506 ~]# ip r
default via <IP_ADDRESS> dev eth0
<IP_ADDRESS> dev eth0 scope link

it is so strange for us, any idea?
thank you

update for this issue
1, we find the mac address did not learn successfully,like
ip neigh
<IP_ADDRESS> dev eth0  FAILED
2, and container already sent arp request to cali7b530308a36, but did not receive any echo
13:33:17.060225 ARP, Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 28
3,after manually add mac like:
ip neigh replace <IP_ADDRESS> lladdr ee:ee:ee:ee:ee:ee dev eth0
4, then mac add success
[root@d0404 ~]# ip n
<IP_ADDRESS> dev eth0 lladdr ee:ee:ee:ee:ee:ee REACHABLE
5, and finally network is ok, can ping success
so i'm curious about what happened about the cali7b530308a36, why it can not response to the arp request

Is proxy_arp successful set for this interface?
cat /proc/sys/net/ipv4/conf/cali7b530308a36/proxy_arp

@halfcrazy
[root@d0506 ~]# cat /proc/sys/net/ipv4/conf/calieabde1eea72/proxy_arp
1
the result is 1, seems successful

13:33:17.060225 ARP, Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 28

Hm, normally if proxy_arp is enabled but you're not seeing responses, it's because the host doesn't think it can actually proxy ARP for that destination. However, it looks like your host does have a default route, which should be enough to trigger proxy ARP for the pods.
What are you using for the following values in this cluster:

Pod CIDR?
Node CIDR?
Service CIDR?

Another long-shot scenario is if your host has any local addresses that belong to pods. If so, then it might send the ARP reply to itself instead of back to the pod.
You can check ip route show table local to see if it thinks any of the pod addresses are local to the node.

@caseydavenport
thanks for you feedback.
sadly, my host doesn't have any default route, my route table shows like following
[root@d0506 ~]# ip r
<IP_ADDRESS> via <IP_ADDRESS> dev bond0.1103
<IP_ADDRESS> is not a network, but a host address, only <IP_ADDRESS>/0 is the default network, my bad.

Hi
I'm currently facing the same issue.
Our worker node does have default gw
ip r s | grep default
default via <IP_ADDRESS> dev enp5s0f0 onlink

Our service  CIDR is <IP_ADDRESS>/20
Pod CIDR: <IP_ADDRESS>/15
Node: <IP_ADDRESS>/24
proxy_arp is enabled in our cali interface:
cat /proc/sys/net/ipv4/conf/cali7741e48c6c1/proxy_arp
1

Same symptoms: inside pod
<IP_ADDRESS> dev eth0  FAILED

Host doesn't reply to ARP request
I'm using calico 3.5.2
It's just happened recently  with newly created pods.
Could anyone please show me any idea how to check further ?
Thanks


use PropertyDescriptor named schema to describe the property

The spec says

Schema for commonly used Record field combinations may be named, and that name may be used as a prefix to a literal Record value to identify the specific kind of aggregations that is being described. For example: PropertyDescriptor { [[Value]]: 42, [[Writable]]: false, [[Configurable]]: true }.

And this style is used throughout. I would prefer it to the current

This is a data property with an initial value of the global object.
This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }.

I see 93 uses of "has the attributes" used without a value, and 62 (not including the definition) instances of "[[Value]]". Of those 62, only 36 appear to be for property descriptors.
It would appear that the precedent is to not explicitly use the value - @bterlson, do you have a preference?

Per discussion today, consistency with Math and JSON is paramount - it should stay non-enumerable.

Discussed with @bterlson - let's keep this as-is, and unify separately if desired.


add a "draft: true/false" option to the header

most hugo blogs do this and it would be be helpful!

Are you start Hugo by typing this?
hugo server -D

-D is a shortcut of --buildDrafts
Actually, I don't understand what you mean.
Can you explain more specific?

I highly suspect that you may start the Hugo with ‘-D’ flag.
Hugo takes care of the draft. If it’s not working, it should be the Hugo issue

Sorry for the delay! Been traveling. Many other Hugo themes have a draft: true/false in their header (yaml?) I figured out that in zzo you can put a hashtag in front of the date to take the post off the front page which works kinda the same! Just didn't see it as an option in docs! :)
On Jan 5, 2020 11:21 PM, zzossig<EMAIL_ADDRESS>wrote:
I highly suspect that you may start the Hugo with '-D' flag.
Hugo takes care of the draft. If it's not working, it should be the Hugo issue

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/zzossig/hugo-theme-zzo/issues/60?email_source=notifications&email_token=ALWUBRU77YXXIQRN5CUVORTQ4KWURA5CNFSM4KCQBIFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIELY6A#issuecomment-570997880, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALWUBRSJCOFFV3IIPJA7JNLQ4KWURANCNFSM4KCQBIFA.


Legend not working

Cannot figure out how to get legend working.
I have this code:
legendGraph = GvGen("Legend")
a = legendGraph.newItem(" ")
legendGraph.styleAppend("entry1","color","green")
legendGraph.styleAppend("entry1","shape","rectangle")
legendGraph.styleApply("entry1", a)
and I get this result:

How do I put text in the box?  This code:
legendGraph.styleApply("entry1", "some text")
Gives me an error "does not support item assignment"

It seems you are missing to execute the function legendAppend(STYLE_NAME, DESCRIPTION, IS_LABEL_IN), such as:
legendGraph.styleAppend("entry1","color","green")
legendGraph.styleAppend("entry1","shape","rectangle")
legendGraph.styleApply("entry1", a)

legendGraph.legendAppend("entry1", "This is the text for the item", 1)

legendGraph.dot()

Which makes:

Is this what you want?


Background color is invalid on ios

Android is Normal style，but Invalid on ios

Same problem here.

Same, I doesn't change on IOS...

because ,author

notImplemented

I am setting a crash if I implemented with the above code so I have commented it.
I am trying to fix the issue this feature will be available soon.

Fixed in latest version


Update C SDK documentation for Edinburgh

This accounts for changes in version names and numbers, device profiles, device locations (protocol properties), device service scheduling (automatic events) and the 'template' example supplied in the SDK.
Addresses #1198

The snap jobs here are erroneously required, I've requested they be removed from the Required checks for the edinburgh branch and at that point they should disappear from this PR


Houdini: Add 'Make AYON Publishable' to OPMenu

Changelog Description
Add Make AYON Publishable to OPMenu
Testing notes:

Launch Houdini via AYON Launcher
Create any rop node, right-click  and select Make AYON Publishable, it should have the same behavior when selecting generic creator in the creator tool.

Thanks, I like this as a prototype - I'll merge it so others can play with it.


chore: remove novodo plugin

Remove the dependency on the third party novodo plugin and switch to using the jfrog/maven plugins required to deploy to Bintray.

Fixing this will also allow the Gradle plugin to be updated

Should we make a new task for "deploy" which checks the params? and does the install/bintrayDeploy?


Add molarity units

Add support for molarity (molar concentration) units commonly used in clinical chemistry.

Great! Looks good to me.

Nuget 3.61 is out.


Deserializing missing attributes fails

I have a struct like:
#[derive(Debug, Serialize, Deserialize)]
struct Foo {
#[serde(
        deserialize_with = "custom_deser",
        serialize_with = "custom_ser"
    )]
    some_field: bool
}

I'm storing this attribute as either a 1 or null in DDB (as in REMOVE some_field type of null). custom_deser and custom_ser basically just map the DDB representation to a boolean by deserializing to an Option<u8> and checking if it's Some(1), and returning true or else returning false.
However, this causes deserialization to not work when I delete an item using REMOVE some_field. serde_dynamo produces:
Error(
        Message(
            "missing field `some_field`",
        ),
    )

I looked into this some more and see that serde_dynamo serializes Options to AttributeValue::Null types.
Is there a way to get serde_dynamo to treat a missing attribute the same as an attribute which exists but is set to null so that deserialization works?

Yep, this issue is not specific to serde_dynamo and is a consequence of how serde treats custom serialization/deserialization of options.
The best fix is to add default to your field, which will use bool::default() if the attribute is not present.
#[derive(Debug, Serialize, Deserialize)]
struct Foo {
    #[serde(
        default, // <---- HERE!
        deserialize_with = "custom_deser",
        serialize_with = "custom_ser"
    )]
    some_field: bool
}

https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=232d2d026feb287f140a162b6b34f94b

Interesting! Thank you for clarifying.


Support for MySQL8?

Hello @LoganWright & @tanner0101 !
Seems like MySQL 8 is now the default version on Homebrew. After upgrading, projects that rely on cmysql 2.x.x are no longer building.
The error is very similar to the one received when cmysql is not installed or properly linked. My assumption is that either some of the header files have been moved, or no longer exist with MySQL 8.
This error is from a Vapor 2 project:
Compile Swift Module 'MySQL' (11 sources)
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/opt/mysql/include/mysql/mysql.h:81:10: note: in file included from /usr/local/opt/mysql/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/opt/mysql/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/mysql.git-4968492018967276136/Sources/MySQL/Bind/Bind+Node.swift:1:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/opt/mysql/include/mysql/mysql.h:81:10: note: in file included from /usr/local/opt/mysql/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/opt/mysql/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/mysql.git-4968492018967276136/Sources/MySQL/Bind/Bind+Node.swift:1:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/opt/mysql/include/mysql/mysql.h:81:10: note: in file included from /usr/local/opt/mysql/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/opt/mysql/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/mysql.git-4968492018967276136/Sources/MySQL/Bind/Bind+Node.swift:1:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/opt/mysql/include/mysql/mysql.h:81:10: note: in file included from /usr/local/opt/mysql/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/opt/mysql/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/mysql.git-4968492018967276136/Sources/MySQL/Bind/Bind+Node.swift:1:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/opt/mysql/include/mysql/mysql.h:81:10: note: in file included from /usr/local/opt/mysql/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/opt/mysql/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/mysql.git-4968492018967276136/Sources/MySQL/Bind/Bind+Node.swift:1:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/opt/mysql/include/mysql/mysql.h:81:10: note: in file included from /usr/local/opt/mysql/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/opt/mysql/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/mysql.git-4968492018967276136/Sources/MySQL/Bind/Bind+Node.swift:1:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/opt/mysql/include/mysql/mysql.h:81:10: note: in file included from /usr/local/opt/mysql/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/opt/mysql/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/mysql.git-4968492018967276136/Sources/MySQL/Bind/Bind+Node.swift:1:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/cmysql.git--4308624050154703383/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/opt/mysql/include/mysql/mysql.h:81:10: note: in file included from /usr/local/opt/mysql/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/opt/mysql/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/ergast/.build/checkouts/mysql.git-4968492018967276136/Sources/MySQL/Bind/Bind+Node.swift:1:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
error: terminated(1): /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-build-tool -f /Users/enekoalonso/dev/eneko/gps/ergast/.build/debug.yaml main output:

Contents of Package.swift:
// swift-tools-version:4.0
import PackageDescription

let package = Package(
    name: "ergast",
    products: [
        .executable(name: "ergast", targets: ["Ergast"])
    ],
    dependencies: [
        .package(url: "https://github.com/vapor/console.git", from: "2.0.0"),
        .package(url: "https://github.com/vapor/json.git", from: "2.0.0"),
        .package(url: "https://github.com/vapor/mysql.git", from: "2.0.0"),
    ],
    targets: [
        .target(name: "Ergast", dependencies: ["MySQL", "JSON", "Console"])
    ]
)

This second one, is from a project that uses a different MySQL package, which builds on top of cmysql:
Compile Swift Module 'MySQL' (15 sources)
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/include/mysql/mysql.h:81:10: note: in file included from /usr/local/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/mysql-swift.git--1292630050746894734/Sources/MySQL/Connection.swift:9:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/include/mysql/mysql.h:81:10: note: in file included from /usr/local/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/mysql-swift.git--1292630050746894734/Sources/MySQL/Connection.swift:9:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/include/mysql/mysql.h:81:10: note: in file included from /usr/local/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/mysql-swift.git--1292630050746894734/Sources/MySQL/Connection.swift:9:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/include/mysql/mysql.h:81:10: note: in file included from /usr/local/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/mysql-swift.git--1292630050746894734/Sources/MySQL/Connection.swift:9:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/include/mysql/mysql.h:81:10: note: in file included from /usr/local/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/mysql-swift.git--1292630050746894734/Sources/MySQL/Connection.swift:9:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/include/mysql/mysql.h:81:10: note: in file included from /usr/local/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/mysql-swift.git--1292630050746894734/Sources/MySQL/Connection.swift:9:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/include/mysql/mysql.h:81:10: note: in file included from /usr/local/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/mysql-swift.git--1292630050746894734/Sources/MySQL/Connection.swift:9:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
        ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:10: note: in file included from /Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/cmysql.git--6041380279381354892/shim.h:4:
#include <mysql/mysql.h>
         ^
/usr/local/include/mysql/mysql.h:81:10: note: in file included from /usr/local/include/mysql/mysql.h:81:
#include "mysql_com.h"
         ^
/usr/local/include/mysql/mysql_com.h:1011:10: error: 'mysql/udf_registration_types.h' file not found with <angled> include; use "quotes" instead
#include <mysql/udf_registration_types.h>
         ^
/Users/enekoalonso/dev/eneko/gps/api-code/.build/checkouts/mysql-swift.git--1292630050746894734/Sources/MySQL/Connection.swift:9:8: error: could not build Objective-C module 'CMySQL'
import CMySQL
       ^
error: terminated(1): /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-build-tool -f /Users/enekoalonso/dev/eneko/gps/api-code/.build/debug.yaml main output:

You can find their Package.swift here: https://github.com/novi/mysql-swift/blob/master/Package.swift (they also use cmysql 2.0.0).
Let me know if you have any ideas or know how to make cmysql work with MySQL 8.

Here is the contents of /usr/local/include/mysql:
$ ll /usr/local/include/mysql
total 0
0 drwxr-xr-x   25 enekoalonso  admin   800 Jul 11 21:46 .
0 drwxrwxr-x  105 enekoalonso  admin  3360 Jul 11 21:46 ..
0 lrwxr-xr-x    1 enekoalonso  admin    58 Jul 11 21:46 binary_log_types.h -> ../../Cellar/mysql/8.0.11/include/mysql/binary_log_types.h
0 lrwxr-xr-x    1 enekoalonso  admin    75 Jul 11 21:46 client_authentication.h -> ../../Cellar/mysql-connector-c/6.1.11/include/mysql/client_authentication.h
0 lrwxr-xr-x    1 enekoalonso  admin    67 Jul 11 21:46 client_plugin.h -> ../../Cellar/mysql-connector-c/6.1.11/include/mysql/client_plugin.h
0 lrwxr-xr-x    1 enekoalonso  admin    70 Jul 11 21:46 client_plugin.h.pp -> ../../Cellar/mysql-connector-c/6.1.11/include/mysql/client_plugin.h.pp
0 lrwxr-xr-x    1 enekoalonso  admin    48 Jul 11 21:46 errmsg.h -> ../../Cellar/mysql/8.0.11/include/mysql/errmsg.h
0 lrwxr-xr-x    1 enekoalonso  admin    66 Jul 11 21:46 get_password.h -> ../../Cellar/mysql-connector-c/6.1.11/include/mysql/get_password.h
0 lrwxr-xr-x    1 enekoalonso  admin    52 Jul 11 21:46 my_command.h -> ../../Cellar/mysql/8.0.11/include/mysql/my_command.h
0 lrwxr-xr-x    1 enekoalonso  admin    49 Jul 11 21:46 my_list.h -> ../../Cellar/mysql/8.0.11/include/mysql/my_list.h
0 lrwxr-xr-x    1 enekoalonso  admin    45 Jul 11 21:46 mysql -> ../../Cellar/mysql/8.0.11/include/mysql/mysql
0 lrwxr-xr-x    1 enekoalonso  admin    47 Jul 11 21:46 mysql.h -> ../../Cellar/mysql/8.0.11/include/mysql/mysql.h
0 lrwxr-xr-x    1 enekoalonso  admin    51 Jul 11 21:46 mysql_com.h -> ../../Cellar/mysql/8.0.11/include/mysql/mysql_com.h
0 lrwxr-xr-x    1 enekoalonso  admin    70 Jul 11 21:46 mysql_lex_string.h -> ../../Cellar/mysql-connector-c/6.1.11/include/mysql/mysql_lex_string.h
0 lrwxr-xr-x    1 enekoalonso  admin    52 Jul 11 21:46 mysql_time.h -> ../../Cellar/mysql/8.0.11/include/mysql/mysql_time.h
0 lrwxr-xr-x    1 enekoalonso  admin    55 Jul 11 21:46 mysql_version.h -> ../../Cellar/mysql/8.0.11/include/mysql/mysql_version.h
0 lrwxr-xr-x    1 enekoalonso  admin    54 Jul 11 21:46 mysqld_error.h -> ../../Cellar/mysql/8.0.11/include/mysql/mysqld_error.h
0 lrwxr-xr-x    1 enekoalonso  admin    55 Jul 11 21:46 mysqlx_ername.h -> ../../Cellar/mysql/8.0.11/include/mysql/mysqlx_ername.h
0 lrwxr-xr-x    1 enekoalonso  admin    54 Jul 11 21:46 mysqlx_error.h -> ../../Cellar/mysql/8.0.11/include/mysql/mysqlx_error.h
0 lrwxr-xr-x    1 enekoalonso  admin    56 Jul 11 21:46 mysqlx_version.h -> ../../Cellar/mysql/8.0.11/include/mysql/mysqlx_version.h
0 lrwxr-xr-x    1 enekoalonso  admin    72 Jul 11 21:46 plugin_auth_common.h -> ../../Cellar/mysql-connector-c/6.1.11/include/mysql/plugin_auth_common.h
0 lrwxr-xr-x    1 enekoalonso  admin    66 Jul 11 21:46 plugin_trace.h -> ../../Cellar/mysql-connector-c/6.1.11/include/mysql/plugin_trace.h
0 drwxr-xr-x   17 enekoalonso  admin   544 Jul 11 21:46 psi
0 lrwxr-xr-x    1 enekoalonso  admin    73 Jul 11 21:46 service_my_snprintf.h -> ../../Cellar/mysql-connector-c/6.1.11/include/mysql/service_my_snprintf.h
0 lrwxr-xr-x    1 enekoalonso  admin    73 Jul 11 21:46 service_mysql_alloc.h -> ../../Cellar/mysql-connector-c/6.1.11/include/mysql/service_mysql_alloc.h

Seems like this is the file from the error above:
$ find /usr/local -name udf_registration_types.h
/usr/local/Cellar/mysql/8.0.11/include/mysql/mysql/udf_registration_types.h

Contents of /usr/local/Cellar/mysql/8.0.11/include/mysql:
$ ll /usr/local/Cellar/mysql/8.0.11/include/mysql
total 600
  0 drwxr-xr-x  15 enekoalonso  admin     480 Apr  8 00:02 .
  0 drwxr-xr-x   3 enekoalonso  admin      96 Apr  8 00:02 ..
  8 -rw-r--r--   1 enekoalonso  admin    2886 Apr  8 00:02 binary_log_types.h
 16 -rw-r--r--   1 enekoalonso  admin    5294 Apr  8 00:02 errmsg.h
 16 -rw-r--r--   1 enekoalonso  admin    4385 Apr  8 00:02 my_command.h
  8 -rw-r--r--   1 enekoalonso  admin    2603 Apr  8 00:02 my_list.h
  0 drwxr-xr-x   5 enekoalonso  admin     160 Apr  8 00:02 mysql
 64 -rw-r--r--   1 enekoalonso  admin   31305 Apr  8 00:02 mysql.h
 72 -rw-r--r--   1 enekoalonso  admin   34068 Apr  8 00:02 mysql_com.h
  8 -rw-r--r--   1 enekoalonso  admin    2996 Apr  8 00:02 mysql_time.h
  8 -rw-r--r--   1 enekoalonso  admin    1004 Apr  8 00:02 mysql_version.h
368 -rw-r--r--   1 enekoalonso  admin  188124 Apr  8 00:02 mysqld_error.h
 16 -rw-r--r--   1 enekoalonso  admin    4670 Apr  8 00:02 mysqlx_ername.h
  8 -rw-r--r--   1 enekoalonso  admin    2879 Apr  8 00:02 mysqlx_error.h
  8 -rw-r--r--   1 enekoalonso  admin    1817 Apr  8 00:02 mysqlx_version.h

Finally, here is the symlink cmysql uses on the modulemap:
$ ll /usr/local/opt/mysql
0 lrwxr-xr-x  1 enekoalonso  admin  22 Jul 11 21:46 /usr/local/opt/mysql -> ../Cellar/mysql/8.0.11


Make use of more than one theme at a time?

Is it possible to place more than one theme in at a time? I've tried doing it like so:
themes:
  name: 'theme-01'
  name: 'theme-02'

but only the first theme will be used. Is this working as expected? The documentation shows a theme-01 and theme-02 on this page but I may be reading too far into it.
What I was hoping to achieve was a cascading effect where if an include or layout didn't exist in the first, Spress would look in the second. Thanks!

Hello @Webslung. You can have several themes installed but only one of them can be in use.


💡[Feature]: Wanted to Add Hybrid Recommendation System

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
A hybrid recommendation system combines multiple recommendation techniques to improve the performance and overcome the limitations of individual methods

User-Item Interaction
Implicit Feedback
Item Features
Latent Factors
User Embeddings
Item Embeddings
Contextual Features
Domain-specific Knowledge

Rules and constraints based on expert knowledge.
User requirements and constraints.
Item compatibility and complementarity.

Use Case

E-commerce
Streaming Services
Social Media
News Aggregators
Online Education
Music Streaming
Travel and Hospitality
Healthcare
Job Portals
Financial Services

Benefits

Improved Accuracy
Enhanced Diversity
Reduced Cold Start Problem
Balanced Trade-offs
Increased Robustness
Scalability

Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Please assign this issue to me, @sanjay-kv


MQTT messages signaling transition to STT delayed

Configuration:

Rhasspy version: 2.5.6 (Last working version 2.4.6)
Hardware: raspberry pi 3+
External MQTT server (manual mosquitto install)
Wake word: Hermes MQTT ('hey snips')
Audio recording: arecord
Speech to text: Pocketsphynx

Context: I have a small support application that listens to MQTT and communicates state transitions in Rhasspy through LEDs.  For this, it is useful to know when audio capture has ended / when STT processing has started.
A message with the topic  rhasspy/asr/default/default/audioCaptured is indeed sent, but not until after STT completes.  As far as I can tell, there is presently no way to differentiate the audio capture phase from the STT phase.
There seems to be a related issue with the recorded WAV, which also does not play until the STT phase completes.

You should be able to get this information by listening for hermes/asr/stopListening which is sent once audio capture has finished (enough silence). It's this message, in fact, that triggers the STT process to start (in Pocketsphinx, anyways).

Sorry for the delay in response, this is only a part-time project.
From what I'm seeing here, the hermes/asr/stopListening event is massively delayed, arriving as part of a burst along with the completion of the event.  Basically, I see two bursts of MQTT events:
mosquitto_sub reports the following burst of events after hotword detection:
hermes/hotword/default/detected
hermes/hotword/toggleOff
hermes/asr/toggleOff
hermes/audioServer/default/playBytes/591fecf1-4ee1-4f7f-b1ae-a219d54bdedc
hermes/audioServer/default/playFinished
hermes/hotword/toggleOn
hermes/asr/toggleOn
hermes/dialogueManager/sessionStarted
hermes/hotword/toggleOff
hermes/asr/startListening

And then the following burst of messages arrive after intent recognition
hermes/asr/textCaptured
rhasspy/asr/default/default/audioCaptured
hermes/hotword/toggleOff
hermes/asr/toggleOff
hermes/audioServer/default/playBytes/16462895-b647-4759-aef4-41cf0ae9ec42
hermes/audioServer/default/playFinished
hermes/hotword/toggleOn
hermes/asr/toggleOn
hermes/asr/stopListening
hermes/hotword/toggleOn
hermes/nlu/query
hermes/nlu/intentParsed
hermes/intent/GetTime
hermes/tts/say
hermes/audioServer/default/playBytes/735fcfc8-c4e4-4f7a-855a-e234966aa3b7
hermes/audioServer/default/playFinished
hermes/tts/sayFinished
hermes/asr/stopListening
hermes/dialogueManager/sessionEnded
hermes/hotword/toggleOn

hermes/asr/stopListening does indeed arrive, but not until after hermes/asr/textCaptured
I've tried this repeatedly and the ordering and arrival times of the messages are pretty consistent.

OK, I think it would be useful to add a new message that is emitted by the STT services after silence has been detected, but before transcription begins.
@koenvervloesem any thoughts on this? Maybe something like rhasspy/asr/recordingFinished? I imagine this message would at least include siteId and sessionId, but it should be possible to also include the duration of recorded audio (which is known at this point in the STT process).

I have two questions:

What would be the (semantic) difference then between rhasspy/asr/{site_id}/{session_id}/audioCaptured and this proposed rhasspy/asr/recordingFinished?
Why is the rhasspy/asr/{site_id}/{session_id}/audioCaptured message sent so late?

audioCaptured contains the actual WAV audio, and is optionally sent when a flag is set in the startListening message. I also sent it after textCaptured just in case it was a large amount of audio, so textCaptured would not be delayed.

Oh right, so there's currently no message that simply says "The audio capture is finished now". Then it would be a useful addition, yes. rhasspy/asr/recordingFinished seems like a clear name.
This message would then have a JSON payload with the sessionId and siteId attributes indeed. I don't think there's anything else that should be in it, as it's just the same information as rhasspy/asr/{site_id}/{session_id}/audioCaptured but without the WAV payload.

That would be fantastic.  Thanks!

This will be rolled into 2.5.8

Please try 2.5.8 and re-open if there is an issue

The rhasspy/asr/recordingFinished works as advertised!  Thanks for the addition!
(and sorry for the really delayed response... I haven't had a chance to test before now)

The rhasspy/asr/recordingFinished works as advertised!  Thanks for the addition!
(and sorry for the really delayed response... I haven't had a chance to test before now)


Is it correct to use a user installer that downloads packages from pypi ?

(sorry for feature request category. Did not find correct category for this question)
I found that the invoke.ai project prompts users to download an installer that downloads packages from pypi during installation.
I suppose this puts a lot of stress on the pypi servers, since the packages are not downloaded by the developer, but by the application on the end user's computer.
This is essentially free app hosting.
Do you approve of this approach?

Are you talking about this project? https://pypi.org/project/InvokeAI/

yes
it has 12mb installer
https://github.com/invoke-ai/InvokeAI/releases/tag/v2.3.1.post2#installation-2.3.1
that installs huge app

I'm not seeing any concerns with this project, it has a lot of dependencies but appears to behave like many other Python projects, unless I'm missing something.

I'm not talking about the project, but in general, do you approve of such a load on the servers so that I can also use the installation directly from pypi in my application ?
Just imagine hundreds of users a day downloading 10gb from pypi ? Is that normal?

I don't see this resulting in a significantly higher load. It's likely a drop in the bucket compared to PyPI's total traffic. Thanks for raising the question though!

ok thanks


Display chain parameters in a friendlier way than raw GetBlockSummary

As the title states, the only way to currently get chain parameters (e.g., exchange rates) is to use raw GetBlockSummary which is hard to read.
In line with other parameter displays, such as bakers, we should make a nicer interface for getting these.

Closed by #132


Get back struct returned by a JS Function js_sys::Function

Given a js_sys::Function which is a JS closure returning an instance of an exported Rust struct SomeObject, how can I get back the returned instance ?
Rust:
#[wasm_bindgen]
pub struct SomeObject {}

#[wasm_bindgen]
impl SomeObject {
    #[wasm_bindgen(constructor)]
    pub fn new() -> SomeObject {
        SomeObject {}
    }
}

#[wasm_bindgen]
pub fn do_call(f: js_sys::Function) -> Result<(), JsValue> {
    // f returns an instance of SomeObject
    let ret: JsValue = f.call0(&JsValue::NULL)?;

    // XXX how to try_cast ret to its original SomeObject?

    // do something with SomeObject's instance

    Ok(())
}

JS:
wasm.do_call(function() {
    return new wasm.SomeObject();
});

I read the related issue https://github.com/rustwasm/wasm-bindgen/issues/1509 and quoting https://github.com/rustwasm/wasm-bindgen/issues/1509#issuecomment-489215237 :

[...] the only way currently to unwrap it is to call a by-value-self method on the JS object itself, which will do the unwrapping. [...]

However I don't know how to apply it in this situation.
I'm newbie therefore I may have missed something. Do you have any suggestions?
Thanks,
Gawen

I think it's reasonable for Rust structs to have an impl From<JsValue> for Foo implementation (which already exists for other types, but not Rust structs).

I also have this problem. I've found the following workaround, which wraps the callback function into a duck-typed object:
#[wasm_bindgen]
pub struct SomeObject {}

#[wasm_bindgen]
impl SomeObject {
    #[wasm_bindgen(constructor)]
    pub fn new() -> SomeObject {
        SomeObject {}
    }
}

#[wasm_bindgen]
extern "C" {
    pub type ExecReturnsSomeObject;

    #[wasm_bindgen(structural, method)]
    pub fn exec(this: &ExecReturnsSomeObject) -> SomeObject;
}

#[wasm_bindgen]
pub fn do_call(f: &ExecReturnsSomeObject) -> Result<(), JsValue> {
    // f.exec() returns an instance of SomeObject
    let ret: SomeObject = f.exec();

    Ok(())
}

wasm.do_call({
    exec: function() {
        return new wasm.SomeObject();
    }
});

I believe the workaround suggested by https://github.com/rustwasm/wasm-bindgen/issues/1509#issuecomment-489215237 would look something like this (though I couldn't make the unwrap method take this by value, only by reference). It also uses some wrapping, but unlike the previous workaround, it wraps the return value, not the callback function:

#[wasm_bindgen]
pub struct SomeObject {}

#[wasm_bindgen]
impl SomeObject {
    #[wasm_bindgen(constructor)]
    pub fn new() -> SomeObject {
        SomeObject {}
    }
}

#[wasm_bindgen]
extern "C" {
    pub type WrapperForSomeObject;

    #[wasm_bindgen(structural, method)]
    pub fn get_inner(this: &WrapperForSomeObject) -> SomeObject;
}

#[wasm_bindgen]
pub fn do_call(f: &js_sys::Function) -> Result<(), JsValue> {
    use wasm_bindgen::JsCast;

    // f returns an instance of WrapperForSomeObject
    let ret: JsValue = f.call0(&JsValue::NULL)?;

    let obj: SomeObject = ret.dyn_into::<WrapperForSomeObject>()?.get_inner();

    Ok(())
}

class WrapperForSomeObject {
  constructor(obj) {
    this.obj = obj;
  }
  get_inner() {
    return this.obj;
  }
}

// ...

wasm.do_call(function() {
    const result = new wasm.SomeObject();
    return new WrapperForSomeObject(result);
});

@mstange thanks! your second workaround is neat. I'll use this pattern in the meantime.

Thanks for the report @Gawen!
Currently this isn't directly supported but @Pauan is right in that we should have this! I don't think we'll be able to use From but what we can probably do is something like:
impl TryFrom<JsValue> for RustType {
    type Error = JsValue;
    // ...
}

internally that would do a check that JsValue has the right class in JS, it'd extract the ptr value, and then unwrap the value in Rust.

This is a relatively meaty addition to wasm-bindgen, and if someone's curious to try it out it may be a good opportunity to learn about the macro and intrinsics! The general structure of this would look like:

The codegen (crates/backend/src/codegen.rs) would be updated to have the TryFrom impl (or some similar method)
The implementation itself would invoke some sort of intrinsic which will probably have the form fn #the_name(js: u32) -> *mut #the_rust_type;. If a non-null pointer is returned we'd then do the unwrapping process for the type (get it out of the RefCell and such), otherwise the original JsValue is returned.
The intrinsic would be recognized in crates/cli-support in the same way instanceof wrappers and such are already recognized.

A impl From<JsValue> for RustStruct implementation would also help interoperability with JS promises: If I have a duck-typed reference to a JS object in my Rust code, and that JS object has a method that returns a promise to a Rust struct, the Rust code cannot get the struct out of the promise. It can only get a JsValue out of the promise.
Luckily, the wrapper object workaround (see above) works for this use case, too.
#[wasm_bindgen]
pub struct WasmMemBuffer {}

#[wasm_bindgen]
extern "C" {
    pub type FileAndPathHelper;

    /// Returns Promise of BufferWrapper
    /// (but wants to return Promise of WasmMemBuffer)
    #[wasm_bindgen(method)]
    fn readFile(this: &FileAndPathHelper, path: &str) -> Promise;

    pub type BufferWrapper;
    #[wasm_bindgen(method)]
    fn getBuffer(this: &BufferWrapper) -> WasmMemBuffer;
}

Don't mind me, just adding some search terms for this issue:
convert, cast


Consider requiring atomic-primops-<IP_ADDRESS>

That version should work on windows:
https://github.com/rrnewton/haskell-lockfree/commit/ef3dd828145403451ac3c1a98a32edec49198cf3
I don't have a windows machine handy to actually test if everything would actually work, sorry.

We have atomic-primops >= 0.8


AppCreationScripts broken

I don't think I'm taking crazy pills, but am I the only one who can't run the AppCreationScripts successfully? I updated PowerShell to v5 and am logging in for the script as an AD global admin. Passing the tenant ID as well to the cleanup and configuration scripts.
There's some things in the script that seem to be just plain wrong. First, on line 266 of Configure.ps1 it has the string "Windows Azure Active Directory" hard coded, which I don't think is right. Shouldn't that be the new service principal created a few lines up? With the hard coded value, nothing returns since nothing exists with that name, resulting in a null ObjectId, breaking the script. So I changed the hardcoded value to be $todoListServiceWebApiName which results in the ObjectId being returned as expected for the discovered object.
But then after that, the next problem happens on line 269 when the call to Set-AzureADApplication is called. The script stops executing after this line, the next Write-Host line on 270 does not print. There is no error message at all displayed, as well.
The objectId is sent with what seems like the right Guid and the only thing that looks weird is that the ResourceAccess property of the object sent to the RequiredResourcesAccess parameter is an empty array. I'm still digging into why this is the case and what would need to be done to get past this problem.
But I'd like to know if I'm missing something obvious and that this is known to be working properly for others, if I can.

Hello @circuitrider the "Windows Azure Active Directory" dependency is needed as we call the AAD Graph (this is Windows Azure Active Directory") there: https://github.com/Azure-Samples/active-directory-dotnet-webapi-onbehalfof/blob/master/TodoListService/Controllers/TodoListController.cs#L108
this line does the same of the todolist service
https://github.com/Azure-Samples/active-directory-dotnet-webapi-onbehalfof/blob/master/AppCreationScripts/Configure.ps1#L288
Do you have repro steps? which OS do you use ?

@jmprieur  I'm on Windows Server 2012 R2 on an Azure VM.
The "Windows Azure Active Directory" application name is referring to a Service Principle of that name it is trying to find, made clear by this line 142 in Configuration.ps1
$sp = Get-AzureADServicePrincipal -Filter "DisplayName eq '$applicationDisplayName'"
That is where I'm confused, by "dependency" are you saying that I should already have an existing Service Principal by the name of "Windows Azure Active Directory" underneath my targeted tenant? If so, I'm not finding where that gets generated in this repository, nor any other I can find with google.
I followed the directions in the Readme for the solution of this repo as well as the Readme for the AppCreationScripts.

Created new global admin user under AD tenant with a login like<EMAIL_ADDRESS>

Ran this powershell command
$secpasswd = ConvertTo-SecureString "**********!" -AsPlainText -Force

Ran this powershell command
$mycreds = New-Object System.Management.Automation.PSCredential<EMAIL_ADDRESS>$secpasswd) . .\Cleanup.ps1 -Credential $mycreds -TenantId "GUID HERE" . .\Configure.ps1 -Credential $mycreds -TenantId "GUID HERE"

The cleanup works as expected, and when run by itself I find no trace of this in my dashboard.
But the Configuration.ps1 blows up with this error
Set-AzureADApplication : Error occurred while executing SetApplication Code: Request_BadRequest Message: Invalid value specified for property 'resourceAppId' of resource 'RequiredResourceAccess'. RequestId: ce84a489-2079-433a-8b79-f977c0aa6fec DateTimeStamp: Tue, 06 Mar 2018 02:01:31 GMT Details: PropertyName  - resourceAppId, PropertyErrorCode  - InvalidValue HttpStatusCode: BadRequest HttpStatusDescription: Bad Request HttpResponseStatus: Completed At C:\Users\circuitrider\code\active-directory-dotnet-webapi-onbehalfof\AppCreationScripts\Configure.ps1:269 char:2     Set-AzureADApplication -ObjectId $todoListServiceWebApiAadApplica ...     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      CategoryInfo          : NotSpecified: (:) [Set-AzureADApplication], ApiException      FullyQualifiedErrorId : Microsoft.Open.AzureAD16.Client.ApiException,Microsoft.Open.AzureAD16.PowerShell.SetAppl    ication

It looks like though I'm getting confusing results due to an unrelated issue with the Visual Studio Powershell Interactive Window. It isn't properly reporting errors in the window after subsequent executions as it does running the scripts in normal powershell instances.

Ok, I have fixed this by creating a new service principal with the name "Windows Azure Active Directory".
I then had to manually edit the manifest and add to the Oauth2Permissions entry a "User.Read" entry.
The confusion is that the UI for applying settings to the principal in the following manner does not work as I expected: Settings->Required Permissions->Microsoft Graph->Delegated->"Sign in and read user profile"
I cannot understand how or why this doesn't alter the manifest to the value I'm expecting, so I might escalate that with Azure support and get clarification.

@circuitrider : you should not have to create a new service principal for the AAD Graph. It should be in your active directory (unless you or a tenant admin removed it). BTW it has a lot of Oauth2Permissions:

I believe that you could re-add it by going to the "Enterprize applications" button for your active directory:

Or otherwise create it by adding a service principal (using powershell) for the Azure application of application ID = "00000002-0000-0000-c000-000000000000" (or Object ID = "87227e7c-d218-432e-9908-0503de3fbbee")
Again, this is not a problem with the script, but with the state of your Active Directory.

Interesting. My subscription is many years old near the launch of azure, not sure what happened in the time since it was created. I don't recall deleting anything like this, but it is possible. Thanks very much for the clarification!


Comment on minimal printf() and duk_push_sprintf()

I'm glad you added this note, I was wondering if the original change affected duk_push_sprintf() myself.


Add extraPodLabels to buildbuddy chart

Add an "extraPodLabels" field to values, to make it possible to add custom labels. We use this to add a "team" label to all our pods.

Thanks for this great contribution @mortenmj!


Consider running a conversion over the file change paths list

Might be worth running os.path.abspath on all of the paths. That will make the format consistent ... I think this needs to happen. That way a user could write in '../' and it will actually work.
It will also help a form that has been written on Linux work on Windows when the path delimiter changes.

Im actually addressing an almost identical problem on Home-assistant here, not sure if its a case study however

Fixed in https://github.com/SimonBiggs/scriptedforms/commit/3685cf470919103f7d2b2a3138e927efab3222c5


Project Lead

I think in order to run a very successful project you need some developers that are willing to put in some extra work/time and take responsibility therefor we should state some key people that can be lead of development and also design.
@ai will of course have the final word of everything but the main focus it to get some people in charge
TBD on Gitter upcoming meeting.

closing
#2


Documenting support for multiple plotting backends across HoloViz

Some of the HoloViz libraries like HoloViews or hvPlot can generate plots for different plotting backends (currently Bokeh, Matplotlib and Plotly). HoloViews' Reference Gallery has a toggle in the gallery page that allows to select a plotting backend.

Then each page has links to the element references for the other plotting backends.

In practice for this to work each reference page corresponds to a notebook. So for instance the Scatter element has 3 notebooks, one for each plotting backend.
Currently hvPlot doesn't have in place such system. Instead to let the users know that it is actually possible to use another plotting backend that the default one (Bokeh), the Plotting guide has been duplicated.

In terms of documentation maintenance, HoloViews' solution isn't quite ideal, as any documentation change has to be made to three different notebooks. An advantage of this solution is that users can download a notebook that is going to run with the right backend. The situation of hvPlot is also far from being great, with clearly not enough ways to let the users know about the support of different plotting backends.
An effect of the difficulty to display the support for different backends is that the documentation ultimately tend to lean towards one backend, and that will be Bokeh for both HoloViews and hvPlot. Had there been an easy option to display the plots at the same time, e.g. in tabs as is often done with code snippets, today people might be using more the other backends (and we'd feel more embarrassed for some of the lack of support they have 🙃 ).
Ideally we would find a solution that could be applied to all the relevant websites (GeoViews too maybe?). I assume it should account for:

UX/UI: should look nice and be easy to use. Additional UX question to ask would for instance be, how important is it for the references/guides to be downloadable as notebooks (as the solution might affect the downloaded content)?
Maintenance: maintaining HoloViews' reference notebooks is a bit of a pain because of the duplication, the solution should try to aim at improving that, making it worse or expanding that would be a no-go

I agree with all of this, and I anxiously await someone suggesting a good solution!


Docker: log only to stdout

Switched to JDK8 as well.

@tsauerwein, are you OK with the new version?

Thanks for updating, that's fine for me!


helm lint produces different result on OSX and Linux

This is a bit of an odd one, when running helm lint on a chart with the required filter it produces different results depending if you are running the Linux and OSX version, both versions are amd64 arch.
Output of helm version:
# Linux
# Binary downloaded from https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-linux-amd64.tar.gz
$ helm version --client
Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}

# OSX
# Binary downloaded from https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-darwin-amd64.tar.gz
$ helm version --client
Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}

Example chart that reproduces the error:
# Chart.yaml
apiVersion: v1
appVersion: "1.0"
description: A Helm chart for Kubernetes
name: bug_hunt
version: 0.1.0

# values.yaml
---

# templates/test.yaml
---

foo: {{ .Values.test | required "A value is required here!" }}

When running helm lint on the above chart on OSX, the lint passes with the following output:
$ helm lint .
2018/11/16 14:48:56 [INFO] Missing required value: A value is required here!
==> Linting .
[INFO] Chart.yaml: icon is recommended

1 chart(s) linted, no failures

but when running the same command on Linux the lint fails and you get the following error.
$ helm lint .
==> Linting .
[INFO] Chart.yaml: icon is recommended
[ERROR] templates/: render error in "bug_hunt/templates/test.yaml": template: bug_hunt/templates/test.yaml:3:23: executing "bug_hunt/templates/test.yaml" at <required>: wrong number of args for required: want 2 got 1

Error: 1 chart(s) linted, 1 chart(s) failed

Hi @andytom
I labeled this as a bug (unconfirmed). Hopefully someone with more knowledge about the lint system can jump in and help.

I think this might not be just in lint I was doing some more testing and this noticed this also affect the template command too.
On OSX the required error message show up
$ helm template .
Error: render error in "bug_hunt/templates/test.yaml": template: bug_hunt/templates/test.yaml:3:23: executing "bug_hunt/templates/test.yaml" at <required "A value is...>: error calling required: A value is required here!

but on Linux it doesn't
$ helm template .
Error: render error in "bug_hunt/templates/test.yaml": template: bug_hunt/templates/test.yaml:3:23: executing "bug_hunt/templates/test.yaml" at <required>: wrong number of args for required: want 2 got 1


Links for Tutorial and popup window in Readme.md are broken

As from title, the links from these two links at the end of the Readme file are broken.

Fixed: https://github.com/RhythmsOfRelating/HybridHarmony/commit/1cef0cb0f5bd98082f73168d21f1517e4d7c2090


Webview: links show status bar hover

repo

On web
Open welcome page.
Hover over a link such as the one to JavaScript under Tools and languages

Bug
Notice the browser's default link destination is display in the lower left corner, on top of the status bar:

This may be useful for external links, but it is almost never useful for our internal links (such as command uris)

I am not sure we can disable that.

I have not seen this so far in other places, so it seems specific to our iframes. I can reproduce from the markdown preview as well as welcome.

I can't figure out a good way to disable this for webviews without potentially impacting extension.
@chrmarti Assigning you for the welcome page but feel free to close this if it's already been addressed or want to won't-fix this

Removing the href makes it render like regular text and it cannot be tabbed to anymore. Closing without change.


feat(gotrue): add reauthenticate and resend method

I've noticed gotrue-js contains the reauthenticate and resend method, but gotrue-dartdoes not.
gotrue-js pr for reauthenticate.
Though I'm very unsure about the parameter for resend. It uses different classes and enums for phone and email

Let's wait to merge this until we confirm with the gotrue-js team to see if the remove session thing was intentional or not.

@dshukertjr This can be merged now, right?

Is it possible this stopped working due to changes in the backend?
I'm getting the following exception
AuthException(message: Missing one of these types: signup, email_change, sms, phone_change, statusCode: 400)
when using
`  static Future resendEmail({required String email}) async {
try {
final SupabaseClient client = Supabase.instance.client;
  final ResendResponse response = await client.auth.resend(
    type: OtpType.email,
    email: email,
  );

  return BackendResponse(success: true, payload: response.messageId);
} catch (e) {
  return BackendResponse(success: false, payload: e);
}

}`

@haykodarb  So your project is hosted on supabase and it already worked for you and stopped working now or is your project new and doesn't work?

The project is a couple of months old, hosted on Supabase and I'm just now implementing the resend email functionality.
Testing the function threw the previously mentioned exception but now I'm getting the usual
AuthException(message: Email rate limit exceeded, statusCode: 429)
Which is fine.

I guess your project is on the free plan? Please try to pause and unpause your project to hopefully apply the latest gotrue version.

Yes, I'll try that, thank you.

Paused and unpaused project, still getting this exception.
AuthException(message: Missing one of these types: signup, email_change, sms, phone_change, statusCode: 400)
After 3 times of getting that exception I get rate limited without receiving any emails.
AuthException(message: Email rate limit exceeded, statusCode: 429)

@haykodarb
I know it will give you an deprecation warning, but could you try calling resend method with type of OtpType.signup or OtpType.emailChange, whichever is appropriate in your case?


[Question] Is it possible to tap any image? [Flutter]

/// main.dart
Semantics (
            label: 'petCardImg$index',
            child: img
            ...
)

# test.yaml
- tapOn: ".*petCardImg1.*"

It should be possible. Flutter's Semantics.label is mapped to content-description on Android and to UIAccessibilityElement.accessibilityLabel on iOS.
Does it not work for you?

Closing due to lack of activity


Add VI mode indicator

I like the prompt a lot, but as a user of  fish_vi_key_bindings it is confusing that I cannot see which mode is on. Indicator would be very helpful.

You have a few options here, in increasing levels of committment:

Add it to the right prompt. lucid.fish doesn't touch the right prompt for this reason, keeping it open for ephemeral status indicators such as current mode
Fork and add it to the left prompt as desired
Submit a PR for it, which defaults it to off

HTH!


bug fix on conv_llh

Tniy bug on conv_llh was solved and updated to return bin wise conv_llh values.

I understand that this fixes a bug that was found by the linter associated with a commit that was made earlier directly to master. I will merge this just to get everything working again, but please use PRs in the future.


Migrate to vite and simplify build

is there a reason you didn't use https://github.com/vdesjs/vite-plugin-monaco-editor ?


questions about  body-part attention score

Thanks for your amazing work!
I'm curious about the code here :
https://github.com/enlighten0707/Body-Part-Map-for-Interactiveness/blob/main/models/transformer.py
the code
score_part = self.classifier_6v(out_binary[-1].transpose(0, 1)) # (bz, num_query, dim) -> (bz, num_query, 12)
score_part = score_part.view(*score_part.shape[:2], 6, 2) # (bz, num_query, 6, 2)
score_part_sel = F.softmax(score_part, -1)[..., 1] # (bz, num_query, 6)
is to calculate the attention score of all six body parts and choose some of them for further work, and i wonder if there any kinds of supervision for these scores?i.e. how could you choose the appropriate parts by this classifier? It seems that i don't see any GT labels telling us which part actually involves interaction or losses concerning it.Thanks for your work again and looking forward to your explanation!

Our model can be trained either without or with body-part interactiveness supervision. In the current version, only the former is supported, and soon after we will add the latter training mode with body-part supervision.
In our main experiment, the model is trained without body-part interactiveness supervision. Considering that sample-wise body-part annotations are costly, we choose to supervise body-part simply from instance-level supervision, which is more economic and practical.
We find that our method still learns body-part interactiveness well even when trained without body-part supervision (Sec. 5.3 ``Body-Part Interactiveness Detection'' in our paper). This is because instance-level interactiveness knowledge provides a loose constraint and guides body-parts interactiveness learning. Furthermore, sample-wise body-part interactiveness annotations may have some noise, while simply applying instance-level supervision is more flexible and immune to the annotation noise.
Besides, we also conduct an experiment with body-part supervision provided with HAKE. Results are shown in our paper, and related codes will be added, as mentioned above.
Thank you!

Good, I'm waiting for it.


Double Response/ Exception On RuntimeException For No application encryption key

Laravel Version: 5.8.35
PHP Version: 7.1.23
Database Driver & Version: 10.4.6-MariaDB

Description:
i received double responses when i removed my application key and ran the application and visited a general path as "/" which was supposed to return the welcome.blade.php page
Steps To Reproduce:
Create a new laravel project
    composer create-project laravel/laravel "project-name"
    cd project-name
    nano .env

Delete the application key if any has been set
    APP_KEY=

save the .env file
go to the Handler.php file and add the following
    cd App\Exceptions
    nano Handler.php

Add the following to the render function
    /**
     * Render an exception into an HTTP response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Exception  $exception
     * @return \Illuminate\Http\Response
     */
    public function render($request, Exception $exception)
    {
        // Thrown when an exception occurs.
        if ($exception instanceof Exception) {
            return response()->json('okay', 500);
        }

        return parent::render($request, $exception);
    }

Then run on your browser visit http://<IP_ADDRESS>:8000/ or http://serving_address/
You should receive two json response instead of one.
Yes i understand that this is not an issue of such as the application key must be set to use laravel i am only concerned about the exception handling.

Hey there,
Unfortunately we don't support this version anymore. Please check out our support policy on which versions we are currently supporting. Can you please try to upgrade to the latest version and see if your problem persists? We'll help you out and re-open this issue if so.
Thanks!


Scale ratio for DXVK_HUD

This is a feature request.
Would be great if it would be possible to set Font Size for DXVK_HUD
At the moment when running games with DXVK_HUD at high resolutions (like 3840x2160) the text is very tiny and hard to read. Some sort of scale ratio would be great!

Well scaling factor which depends on resolution would be great.
I would suggest:
2560x1440 - ratio 1.5
3840x2160 - ratio 2
Higher resolutions for the future - ratio 3
Another way would be var for DXVK_HUD, for example DXVK_HUD=scale would set ratio of 2

@doitsujin Instead of hardcoding it, the user-specified percentage should be decoupled from the physical panel defaults; you can get the correct scaling ratio by calling GetDpiForWindow(), which is implemented by Wine.
As long as the game is (at least) per-monitor DPI aware (this is set in the .exe manifest or dynamically configured through one of the messy SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE); cousins) it should return the correct number (or return 96 as fallback).
To turn it into a proper GUI scale you only need to divide by the base DPI value (96), keep in mind that the base is 72 on macOS.
This is what Blender does, a pretty sane implementation using pure (and configurable) scaling ratios and dynamically loading the function pointers from user32.dll: https://github.com/dfelinto/blender/commit/fe3fb236970ce30733381ad1ae8b89c55266c517
Example: Windows 10 set to 150% UI scaling:
float getWindowScalingRatio(HWND hwndGame)
{
  typedef UINT(WINAPI *LPGETDPIFORWINDOW)(HWND);

  UINT                     windowDpi = 96;
  LPGETDPIFORWINDOW pGetDpiForWindow = NULL;

  HMODULE hUser32 = LoadLibrary("User32.dll");

  if (hUser32)
  {
    pGetDpiForWindow = (LPGETDPIFORWINDOW) GetProcAddress(hUser32, "GetDpiForWindow");

    if (pGetDpiForWindow)
      windowDpi = pGetDpiForWindow(0); /* <- returns 144 (or 0, if the HWND is invalid) */
  }

  return (windowDpi ? windowDpi : 96) / 96.f; /* <- returns 1.5f */
}

PS: GetDpiForWindow() is a Windows 10 function, but we don't care about Windows 8 compat.
PS2: Also, the correct unit for screens is technically PPI, DPI is a vestigial unit, so in practice it's a misnomer. The entire thing is a bit of a mess, be my guest:

https://en.wikipedia.org/wiki/Dots_per_inch#Computer_monitor_DPI_standards
https://en.wikipedia.org/wiki/Pixel_density

As long as the game is (at least) per-monitor DPI aware

How common is that, though? I'd imagine that especially older games do not care about DPI. In theory, this sounds like a reasonable idea, but I'm afraid we'd end up with a horrible mess where it would scale correctly in some games but not in others.

I don't know how Wine does it, but unless the game has some kind of DPI awareness most Win32 display mode functions won't even return 4K+ resolutions to maintain emulation/compatibility in oblivious apps.

I'll give it a try, thanks for the suggestion.

@Swyter they don't return 4K resolutions because DXGI/Whatever is DPI aware and is only showing resolutions that would fit post-scale.
Games very rarely do DPI awareness at all, nevermind correctly interpreting or reading any scale info after saying its DPI aware (although thats better than having a blurry scaled mess).
I'd highly advise against using that as a metric for UI scale. A fixed scale based on height/1080 would probably be best IMO.

Eh, I don't know how that contradicts what I said. If the game isn't DPI-aware you won't be getting any hi-DPI resolutions listed by default, unless you force them via configuration file. If it is, it will work out of the box using the correct multiplier, I ship some AA game and we do support 4K via SDL_GetDisplayDPI(), it's not rocket science.
I'm not against adding an override, but doing it properly doesn't seem that hard in the first place.
If you think scaling should be proportional to the panel dimensions you don't understand it.

DPI != Resolution
Plus that will only get you the ""DPI"" in terms of the user-chosen scale provided by Windows.

Necro'ing this... :sweat_drops:
Maybe something like font_size=24 where the number is the point size for the font.

Necro'ing this...
Maybe something like font_size=24 where the number is the point size for the font.

Like doitsujin wrote in the second comment "Introducing yet another environment variable is horrible." So in my opinion this should be done automatically, by detecting screen DPI or resolution dependent. Still hope to get this thing into DXVK_HUD, but lack of interest seems to be stopping the thing
For now there is a great alternative, MangoHud: https://github.com/flightlessmango/MangoHud

I just added an option to do this manually via the already existing env var, DXVK_HUD=fps,scale=1.5.
Doing this automatically would be iffy on wine since things tend to break if you try to set wine's own scaling to anything other than 96 DPI, but this should do.


Allow restarting failed workflows

This adds an attempt number that a client can use to restart a failed workflow.
It also restart failed workflows if a new version of the workflow is available.
To accomplish this, there is an attempt number and if the workflow is failed
and the client sends a higher attempt number, the steps in the workflow will be
restarted (after updating the arguments).

Updated the Swagger.

Updated the Swagger.


create a correlation field mapper

New Correlation Mapping Type Support
As part of the Integration campaign and Integration RFC , we have introduction the SimpleSchema for Observability Domain that is based on the concept of a well-structured index which is based on a schema

The general context:
Schema
A schema is associated to an index using the mapping configuration .
This mapping structure is also composable using the composed_of template capabilities which is used extensively to allow the different assemblies of various log types.
Another concept behind the schema is the capability of reflecting relationships.
Relationships
Relationships are associations between different fields which may exist within the same mapping - we call them aliases, or defined between different mapping and we shall call them correlations.
Goal
Our goal is to formalize and generalize the relationship semantic concept whether its within the same mapping file or between different mapping files.
Correlation Engine
The emergence of the correlation-engine also significantly prove the importance of the schematic awareness of such relationship and explicitly definition them within the document mapping.
Once such mapping type is defined, auto generated correlation rules can be created and allow a strong capability of performing RCA and diagnostics of different domain investigation whether they are Observability or Security related.

Planned Steps
This new schematic concept will be separated into two parts:
Part 1:

adding support for existing alias field type within a dedicated GetFieldsAlias API
adding support for the field capacities API to reflect the alias field both for showing a concrete field's aliases and also for stating explicitly that a field is of type alias

Part 2:
Based on Part 1 add the similar capabilities for the correlation field type for both

adding support for new correlation field type within a dedicated GetFieldsCorrelation API
adding support for the field capacities API to reflect the correlation field both for showing a concrete field's correlations and also for stating explicitly that a field is of type correlation

Current Correlations representation
This correlation representation is currently defined in a proprietary way of adding this information to
the index mapping template's metadata
What we want to achieve :

Adding a FieldCorrelationMapper that extends the FieldAliasMapper
FieldCorrelationMapper has the next mapping schema:

{
  "logs": {
    ...
    "mappings": {
      ...
        "traceId": {
          "ignore_above": 256,
          "type": "keyword"
        },
        "spanId": {
          "ignore_above": 256,
          "type": "keyword"
        },
        "traceIdFk": {
          "type": "correlation",
          "path": "traceId",
           "schema_pattern": "traces",
            "remote_path":"traceId"
        },
        "spanIdFk": {
          "type": "correlation",
          "path": "spanId",
           "schema_pattern": "traces",
            "remote_path":"spanId"
        },

    }
  }
}

The spanIdFk & traceIdFk fields act as correlation fields which are connecting the local (path) field to the remote ( schema_pattern:remote_path ) field
Part 1
This part will focus on the enhancement of the alias field type:
Get Field Aliases API (New)
Lets consider the next mapping
        {
              "properties": {
                   "field1":{
                       "type":"text"
                   },
                   "alias":{
                       "type":"alias",
                       "path":"field1"
                   },
                   "aliasTwo":{
                       "type":"alias",
                       "path":"field1"
                   },
                   "subFieldAlias":{
                       "type":"alias",
                       "path":"obj.subfield"
                   },
                   "obj":{
                       "properties":{
                           "subfield":{
                               "type":"keyword"
                           }
                       "subFieldInnerAlias":{
                           "type":"alias",
                           "path":"obj.subfield"
                           }
                      }
                   }

              }
          }

The next API was added to get the Field's aliases:
GET /_mapping/field/{fields}/aliases where fields & index accept both a single, multiple and regular expressions
For GET /_mapping/field/['field1', 'obj.subfield']/aliases will return with:
{
  "index" : {
    "mappings" : {
      "aliasTwo" : {
        "full_name" : "aliasTwo",
        "mapping" : {
          "aliasTwo" : {
            "type" : "alias",
            "path" : "field1"
          }
        }
      },
      "obj.subFieldInnerAlias" : {
        "full_name" : "obj.subFieldInnerAlias",
        "mapping" : {
          "subFieldInnerAlias" : {
            "type" : "alias",
            "path" : "obj.subfield"
          }
        }
      },
      "subFieldAlias" : {
        "full_name" : "subFieldAlias",
        "mapping" : {
          "subFieldAlias" : {
            "type" : "alias",
            "path" : "obj.subfield"
          }
        }
      },
      "alias" : {
        "full_name" : "alias",
        "mapping" : {
          "alias" : {
            "type" : "alias",
            "path" : "field1"
          }
        }
      }
    }
  }
}

Get Field capacity API
The next API was enhanced to get the Field's aliases aspect:
The next call  GET old_index/_field_caps?fields=distance,route_length_miles
will return the capacities for these fields distance,route_length_miles as they are defined within different mappings, it will also reflect these field's aliases associated with each concrete field (if such exist).
When an alias field is queries for its capacity the API will explicitly state it is of an alias type and will state the mappings of-which is functions as an alias:
{
  "indices": [
    "old_index"
  ],
  "fields": {
    "distance": {
      "double": {
        "type": "double",
        "alias": false,
        "searchable": true,
        "aggregatable": true,
        "aliases": [
          "old_index:route_length_miles"
        ]
      }
    },
    "route_length_miles": {
      "double": {
        "type": "double",
        "alias": true,
        "searchable": true,
        "aggregatable": true,
        "aliases": [],
        "alias_indices": [
          "old_index"
        ]
      }
    }
  }
}

Related Issues
Resolves #[Issue number to be closed when this PR is merged]

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

Check List

[ ] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

The failure is because there aren't version checks around the StreamInput / StreamOutput serialization in this PR. So when the BWC tests run (which spins up a 3.0 / 2.10 mixed cluster environment) a 3.0 Node is trying to send a variable over the wire to a 2.10 Node that doesn't have the unmarshalling logic.
> Task :qa:mixed-cluster:v2.10.0#mixedClusterTest
> Task :plugins:repository-azure:azureThirdPartyDefaultXmlTest
> Task :distribution:packages:buildNoJdkArm64Rpm
> Task :distribution:archives:buildLinuxPpc64leTar

> Task :qa:mixed-cluster:v2.10.0#mixedClusterTest FAILED

@YANG-DB  Is this being worked upon? If not, lets close this.

Hi @YANG-DB, do we have any updates?


Fix Digital Twins - Core Samples Issue

Fix #33779
joshfree, johngallardo and Aashish93-stack for notification.

API change check
API changes are not detected in this pull request.


animation property doesn't transform correctly

only the first part of the value is transformed:
animation: 300ms ease-in-out myAnimation;

is transformed to
animation: [hash] ease-in-out myAnimation;

Is there any quick fix for this?

I'm having the same issue. Attempted to adjust the order of animation attrs but nothing seems to fix this issue. We had to jam in a hack that puts the animation into a :global wrapper in order to get it to work.
:global {
    animation: 3s opacity infinite;
}

@bloodyowl @egoens - Is this still an issue on v0.26.1

Not sure @d3viant0ne. We've since moved to styled-components to drive our styles. Sorry I can't be of assistance.

No worries, just wanted to check in and be sure before I tagged it or closed it. I'll give it a few days for @bloodyowl to respond.

Quite the same here, using CSS-in-JS now 🤷♂


ncspot: 0.9.0 -> 0.9.2

Motivation for this change
https://github.com/hrkfdn/ncspot/releases/tag/v0.9.1
https://github.com/hrkfdn/ncspot/releases/tag/v0.9.2
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 148100 run on x86_64-linux 1

1 package built:

ncspot