Request for inclusion of battery optimization tips

Device: LENOVO Legion Slim 5 16AHP9 83DH ( Ryzen 8845HS / 4060 )
Idle Drain of 23 Watt
I installed Fedora 40. Noticing battery drain. On a standard Nvidia driver installation and configuration with envycontrol, both iGPU and Hybrid mode has same 2hr 15min battery backup on idle.  The same configuration on Windows gives me about 6hr. So something is off here. So if you or anyone have any tips for it, Please update it in the document.

Do you have an external monitor connected? The HDMI and USB-C display ports are linked exclusively to the discrete GPU, which means the dGPU cannot be turned off when an external display is attached. Additionally, using the wrong driver may prevent the dGPU from entering low-power mode, even without an external monitor connected. Try using a tool like 'Mission Center' to check if the dGPU is active.

In integrated mode, the hardware is basically removed as far as linux knows so nvidia-smi doesn't work either. Thinking of installing the drivers directly. It could be rpm fusion drivers have some modifications I guess.

An update on the battery issue.
Installing drivers both new Open Drivers and Proprietary drivers, They both are bad and never really turns off. They flip back n forth from 8 second of ACTIVE state then SUSPENDED for a fraction of second and ACTIVE again. The trigger seems to be some random Electron app or just coincidence. I get around 2hr of battery. Sometime GPU consumes 1W, 5W or 11W ( typical )
Why not use something like envycontrol and force integrated GPU mode?
If you use it to force integrated mode, it will only use integrated GPU to render screen but the GPU will always consume 11W or P0 state. Ideally it should be suspended state.
What's the solution?
Don't install Nvidia drivers but install envycontrol only and set it to integrated mode. You'll get 4hrs on normal use and 6hrs on low brightness and normal temps.
I'll update if and when I find a proper solution. supergfxctl is what many suggested but not seeing a device in mounted state doesn't mean it's off. That's only in Windows.


Banner breaks Mobile Rendering

The banner on keptn.sh breaks the menu hamburger on a real iPhone. Note, responsive mode on a desktop is fine, so this one is hard to diagnose without a physical device.
Notice the overlap which means the hamburger is unable to open.

Closing as we now have the redirect to KLT website so this is no longer an issue.


Sample does not address the issue with CascadingParameters not working with RenderModeInteractiveServer

Description
Hey Guardrex!
There is a known issue of Cascading Parameters being null which is detailed here: https://github.com/dotnet/aspnetcore/issues/50724
The ThemeInfo sample on this page, does in fact work to pass a CascadingValue down to the ThemedComponent page.
However, the counter on the page is broken as the page is "static" and there is no interactivity such as clicking on the button.
If I then add @attribute [RenderModeInteractiveServer] to fix the issue with the button, (which does fix it) the Cascading Value stops working.
Thus, the sample is not useful. It leads the reader to believe that the CascadingValue will work, but it will in fact not work except on a static page which is unlikely if you are trying to style a button.
As I understand it, the fix is to add this line to program.cs:
builder.Services.AddCascadingValue((str) => new ThemeInfo() { ButtonClass = "btn-primary" });
and then the code and markup can be removed from MainLayout.`
I would recommend updating the Documentation to reflect this.
Page URL
https://learn.microsoft.com/en-us/aspnet/core/blazor/components/cascading-values-and-parameters?view=aspnetcore-7.0
Content source URL
https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/blazor/components/cascading-values-and-parameters.md
Document ID
5fe884b8-51e1-1b91-57f8-522ff0b7890c
Article author
guardrex

There's an alternative, which isn't necessarily so great ... make the Routes component adopt interactive server rendering and then wrap the markup in the Routes component with the CascadingValue.
I'll try to add both approaches on the PR and will ping u on it in a bit.


chore: added boolean_to_string converter for python

Fixes
In Python, booleans are True and False (instead of true and false in other languages). Due to this, while creating request body, the booleans are getting passed as 'True' to the API downstream, while it is expecting 'true'. So this fix adds a boolean_to_string converter for python which passes the expected boolean string to API downstreams.
Checklist

[x] I acknowledge that all my contributions will be made under the project's license
[x] Run make test-docker
[x] Verify affected language:

[x] Generate twilio-python and inspect the diff
[x] Run make test in twilio-python
[x] Create a pull request in twilio-python
[x] Provide a link below to the pull request

[x] I have made a material change to the repo (functionality, testing, spelling, grammar)
[x] I have read the Contribution Guidelines and my PR follows them
[x] I have titled the PR appropriately
[x] I have updated my branch with the main branch
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added the necessary documentation about the functionality in the appropriate .md file
[ ] I have added inline documentation to the code I modified

If you have questions, please create a GitHub Issue in this repository.

twilio-python PR showing changes

Here is the twilio-python PR with changes


rebuild website

Requirements:

Everything as vanilla and static as possible
Deployment via GitHub pages
Everyone in the brigade should be able to easily update via pull request

I started work in the lds branch.


Words Embeddings + BiLSTM + CRF structure

Hi @IsaacChanghau ,
Thanks for your great implementation.
I'm interested in testing the following structure as baseline system >> Words Embeddings + BiLSTM + CRF for POS tagging. I'm not sure what should be updated in the current version of the implementation to have this structure work.
My apology if my question looks silly.
Thanks in advance for your help.

Also is it possible to work with fasttext embeddings?

@Dragon615 I did not try fasttext embeddings, but I think it should work, not sure the performance. For the baseline, you can remove the Char CNN part and also the char embeddings, close all the attention, residual, layer normalization and etc.


Don't rely on window configuration to be approved

The code currently seems to assume that configuring the window always works. This violates the specs because the window manager may choose to reject or modify this request. Blezz should only change its internal size if the server told it that the size changed.

Just left a comment, the commit is still incorrect. :-)

I'll be damned, trying to incorporate that in the event handling :)

I made use of the event now, will you do me the favor of checking if it is done correctly? Used this for reference: https://tronche.com/gui/x/xlib/events/window-state-change/configure.html

Good ol' tronche. Oh the hours I've spent digging through those pages. :-) I've left a few comments on the commit itself.


The new affiliations should be visible within the next 7 days.


Problem when Trying to Use the "Problems" Query Type

When I select the "Problems" Query Type it throws the following error:
Invalid params. Invalid parameter "/output/2": value must be one of "proxyid", "name", "proxy_groupid", "local_address", "local_port", "operating_mode", "allowed_addresses", "address", "port", "description", "tls_connect", "tls_accept", "tls_issuer", "tls_subject", "custom_timeouts", "timeout_zabbix_agent", "timeout_simple_check", "timeout_snmp_agent", "timeout_external_check", "timeout_db_monitor", "timeout_http_agent", "timeout_ssh_agent", "timeout_telnet_agent", "timeout_script", "timeout_browser", "lastaccess", "version", "compatibility", "state".
The API is sending this body to the zabbix API:
{"datasourceId":2,"method":"proxy.get","params":{"output":["proxyid","host"]}}
I'm pretty sure the problem is because in the new Zabbix Version, there's a new proxy table, and this also changed how the proxy.get procedure call works, since the proxy object now doesn't have a field called "host" (it was changed for "name", see Zabbix 7.0 Proxy Object)
Software versions

Grafana
Zabbix
Grafana-Zabbix Plugin

10.4.2
7.0.0
4.4.9

duplicate of https://github.com/grafana/grafana-zabbix/issues/1714

@LinekerCalseverini As it was changed from 'host' to 'name', can we find it in the code to test as a temporary fix? I know we are looking for a quick solution and maybe they will resolve it quickly in a new release of the plugin. My fear is that it will take time to fix it.

@fabio-oliveira-efeo
Yeah, that should work. Would recommend backing up the module.js file and restarting the Grafana server.

@fabio-oliveira-efeo
Yeah, that should work.

Unfortunately, after editing module.js, the plugin is disabled due to "Modified signature".

@intan-it You can change the "allow_loading_unsigned_plugins" to allow the plugin to be enabled.
For the signature, you have to edit the plugin.json and comment the "build" attribute.
Then restart Grafana server.

@intan-it

Excuse me :)
I understand "allow_loading_unsigned_plugins" and "restart Grafana server" - it is obvious.
But I am stuck on "edit plugin.json and comment the "build" attribute". Should I create a new hash or just change the build number?
P.S. Thanks for your time.

@intan-it

Excuse me :) I understand "allow_loading_unsigned_plugins" and "restart Grafana server" - it is obvious. But I am stuck on "edit plugin.json and comment the "build" attribute". Should I create a new hash or just change the build number?
P.S. Thanks for your time.

For me the plugin.json was here and it allowed me to start the application:
/var/lib/grafana/plugins/alexanderzobnin-zabbix-app/plugin.json
The issue I have now, is that I don't see the "Zabbix Problems" visualization and it only returns the alerts in a table. Any clue why I lost the visualizations?

@DonPook The Zabbix Problems visualization doesn't work in Table view (the panel option), it works in the List view (the one that has a broken heart icon).
Unfortunately, I have not found a way to circumvent this.

I used the following steps to modify this plugin and restore functionality with Zabbix 7.0 .

Add the following line to /etc/grafana/grafana.ini to allow unsigned plugins to be loaded.
allow_loading_unsigned_plugins = alexanderzobnin-zabbix-app,alexanderzobnin-zabbix-datasource,alexanderzobnin-zabbix-triggers-panel

Remove the digital signature from the grafana-zabbix plugin. Grafana will never load modified plugins that are signed
mv /var/lib/grafana/plugins/alexanderzobnin-zabbix-app/MANIFESST.txt   ~/

Edit /var/lib/grafana/plugins/alexanderzobnin-zabbix-app/datasource/module.js
Changes:
{output:["proxyid","host"]} to {output:["proxyid","name"]}

If you're using the Zabbix Problems visualization with the Table Layout the following modification was needed to remove the error "Invalid params. Invalid parameter "/selectUsers": an array or a character string is expected." when an alert line is expanded.

Edit /var/lib/grafana/plugins/alexanderzobnin-zabbix-app/datasource/module.js
Changes:
getEventAlerts(e){const t={eventids:e,output:["alertid","eventid","message","clock","error"],selectUsers:!0} to
getEventAlerts(e){const t={eventids:e,output:["alertid","eventid","message","clock","error"],selectUsers:"extend"}

Restart grafana-server service


Request: release a new version containing the fix for filtering unix platforms

I've been trying out panamax by installing it using cargo install:
cargo install --locked panamax

I wanted to create a mirror that only mirrors a single unix platform, but it always downloaded all of them. It took me a while to figure out that this issue had been fixed on main over a year ago (see #96), but the latest version on crates.io still contained the issue.
Can you please release a new version of panamax containing the fix?
Thanks in advance!

I've published v1.0.14 to crates.io - hopefully this fixes your issue.
Thanks!


Some confusion about reasoning to enable Device Writeback

Hope I can ask a question on functionality and some confusion from my part after reading the documentation here:
The document above states: "Hybrid certificate trust deployments need the device write back feature. Authentication to the Windows Server 2016 Active Directory Federation Services needs both the user and the computer to authenticate. Typically the users are synchronized, but not devices. This prevents AD FS from authenticating the computer and results in Windows Hello for Business certificate enrollment failures. For this reason, Windows Hello for Business deployments need device writeback, which is an Azure Active Directory premium feature."
What I understand now, is that in order for WHfB to work on Hybrid AD joined devices (AD joined/AAD registred) you must configure Certificate Trust. So far, so good. The documentation is unclear to me on some parts.

Authentication to the Windows Server 2016 Active Directory Federation Services needs both the user and the computer to authenticate.

In a Hybrid AD joined device, the computer we are talking about is already AD joined correct? Why would we need Device writeback then? There is already a computer object in the AD, which as far as I can understand should be able to authenticate against ADFS - or is this assumption wrong?

Typically the users are synchronized, but not devices
Users are synchronized from AD to AAD, devices can be registered making them available as an object in AAD. This sentense is very confusing since users are synchronized in a Hybrid scenario (which makes sense) and devices are registred directly in AAD, or must they be synchronized first using AzureAD connect before you can register them in the Hybrid join scenario?

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

ID: 02eda72c-ccd2-e8d8-4f7e-6edf95b79408
Version Independent ID: be08aee5-2403-c131-0f39-005e1271d5f1
Content: Hybrid Windows Hello for Business Prerequistes (Windows Hello for Business)
Content Source: windows/security/identity-protection/hello-for-business/hello-hybrid-cert-trust-prereqs.md
Product: w10
Technology: windows
GitHub Login: @mapalko
Microsoft Alias: mapalko

@officedocsbot assign @e0i

@kennethvs Thank you for reaching out and helping improve MS Docs.  Please have a look at this article and let me know if it provides some clarity on your questions - https://docs.microsoft.com/azure/active-directory/devices/hybrid-azuread-join-federated-domains. If you have any suggestions to improving the document for clarity please let me know as well.

Hi @lindspea, thanks for you comment. After reading the link you provided and re-reading the page again I came to the conclusion that it didn't answer my questions unfortunately.

See my other feedback aswell, however:
WHfB is tied between a user and a device. As both the user and the device needs to be synchronized between AAD and AD - the device write back is used to update the msDS-KeyCredentialLink on the computer object.

Thanks @nickekallen, would be great to have this reflected in the documentation.
Regards,
Kenneth

Thank you, @nickekallen.. I have added it to the documentation, thanks @kennethvs. It will take a few days to reflect.


Can pixel snapping be replaced with crisp-edges render mode

This should work but the main limitation seems to be:

...this will result in irregularly spaced and sized bands.

yes


Raspberry PI 4B , Alexa says hello Ok, but No audio playback with status code 400

Thank you for reporting an issue with AlexaPi.
Make sure you are running the latest version of AlexaPi, and look through issues before submitting.
Check out our Wiki, and make sure to look at Debugging, and Audio debugging in particular before filing an issue.
In order to help troubleshooting, be sure to include the following information:
Output of the audio debugging script.
!!################################
!!ALSA Information Script v 0.4.64
!!################################
!!Script ran on: Sat Mar  7 21:43:32 UTC 2020
!!Linux Distribution
!!------------------
ID_LIKE=debian
!!DMI Information
!!---------------
Manufacturer:
Product Name:
Product Version:
Firmware Version:
!!Kernel Information
!!------------------
Kernel release:    4.19.97-v7l
Operating System:  GNU/Linux
Architecture:      armv7l
Processor:         unknown
SMP Enabled:       Yes
!!ALSA Version
!!------------
Driver version:     k4.19.97-v7l
Library version:    1.1.8
Utilities version:  1.1.8
!!Loaded ALSA modules
!!-------------------
snd_bcm2835
snd_usb_audio
!!Sound Servers on this system
!!----------------------------
Pulseaudio:
Installed - Yes (/usr/bin/pulseaudio)
Running - Yes
Jack:
Installed - Yes (/usr/bin/jackd)
Running - No
!!Soundcards recognised by ALSA
!!-----------------------------
0 [ALSA           ]: bcm2835_alsa - bcm2835 ALSA
bcm2835 ALSA
1 [Headset        ]: USB-Audio - Logitech USB Headset
Logitech Logitech USB Headset at usb-0000:01:00.0-1.1, full speed
!!PCI Soundcards installed in the system
!!--------------------------------------
!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!-------------------------------------------------------
!!Modprobe options (Sound related)
!!--------------------------------
snd_pcsp: index=-2
snd_usb_audio: index=-2
snd_atiixp_modem: index=-2
snd_intel8x0m: index=-2
snd_via82xx_modem: index=-2
!!Loaded sound module options
!!---------------------------
!!Module: snd_bcm2835
enable_compat_alsa : Y
enable_hdmi : N
enable_headphones : N
force_bulk : N
!!Module: snd_usb_audio
autoclock : Y
device_setup : 0,0,0,0,0,0,0,0
enable : Y,Y,Y,Y,Y,Y,Y,Y
id : (null),(null),(null),(null),(null),(null),(null),(null)
ignore_ctl_error : N
index : -2,-1,-1,-1,-1,-1,-1,-1
pid : -1,-1,-1,-1,-1,-1,-1,-1
quirk_alias : (null),(null),(null),(null),(null),(null),(null),(null)
use_vmalloc : Y
vid : -1,-1,-1,-1,-1,-1,-1,-1
!!USB Mixer information
!!---------------------
--startcollapse--
USB Mixer: usb_id=0x046d0a0b, ctrlif=0, ctlerr=0
Card: Logitech Logitech USB Headset at usb-0000:01:00.0-1.1, full speed
Unit: 1
Control: name="Headphone Playback Volume", index=0
Info: id=1, control=2, cmask=0x3, channels=2, type="S16"
Volume: min=-10496, max=768, dBmin=-4100, dBmax=300
Unit: 1
Control: name="Headphone Playback Switch", index=0
Info: id=1, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
Volume: min=0, max=1, dBmin=0, dBmax=0
Unit: 2
Control: name="Mic Capture Volume", index=0
Info: id=2, control=2, cmask=0x0, channels=1, type="S16"
Volume: min=4096, max=7424, dBmin=1600, dBmax=2900
Unit: 2
Control: name="Mic Capture Switch", index=0
Info: id=2, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
Volume: min=0, max=1, dBmin=0, dBmax=0
Unit: 6
Control: name="Mic Playback Volume", index=0
Info: id=6, control=2, cmask=0x0, channels=1, type="S16"
Volume: min=-10496, max=-3072, dBmin=-4100, dBmax=-1200
Unit: 6
Control: name="Mic Playback Switch", index=0
Info: id=6, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
Volume: min=0, max=1, dBmin=0, dBmax=0
--endcollapse--
!!ALSA Device nodes
!!-----------------
crw-rw----  1 root audio 116,  0 Mar  7 16:26 /dev/snd/controlC0
crw-rw----  1 root audio 116, 32 Mar  7 16:30 /dev/snd/controlC1
crw-rw----  1 root audio 116, 16 Mar  7 16:26 /dev/snd/pcmC0D0p
crw-rw----  1 root audio 116, 17 Mar  7 16:26 /dev/snd/pcmC0D1p
crw-rw----  1 root audio 116, 18 Mar  7 16:26 /dev/snd/pcmC0D2p
crw-rw----  1 root audio 116, 56 Mar  7 16:30 /dev/snd/pcmC1D0c
crw-rw----  1 root audio 116, 48 Mar  7 21:37 /dev/snd/pcmC1D0p
crw-rw----  1 root audio 116,  1 Mar  7 16:26 /dev/snd/seq
crw-rw----  1 root audio 116, 33 Mar  7 16:26 /dev/snd/timer
/dev/snd/by-id:
total 0
drwxr-xr-x 2 root root  60 Mar  7 16:30 .
drwxr-xr-x 4 root root 260 Mar  7 16:30 ..
lrwxrwxrwx 1 root root  12 Mar  7 16:30 usb-Logitech_Logitech_USB_Headset-00 -> ../controlC1
/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  80 Mar  7 16:30 .
drwxr-xr-x 4 root root 260 Mar  7 16:30 ..
lrwxrwxrwx 1 root root  12 Mar  7 16:30 platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.1:1.0 -> ../controlC1
lrwxrwxrwx 1 root root  12 Mar  7 16:26 platform-soc:audio -> ../controlC0
!!Aplay/Arecord output
!!--------------------
APLAY
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 7/7
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: ALSA [bcm2835 ALSA], device 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Headset [Logitech USB Headset], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
ARECORD
**** List of CAPTURE Hardware Devices ****
card 1: Headset [Logitech USB Headset], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
!!Amixer output
!!-------------
!!-------Mixer controls for card 0 [ALSA]
Card hw:0 'ALSA'/'bcm2835 ALSA'
Mixer name	: 'Broadcom Mixer'
Components	: ''
Controls      : 5
Simple ctrls  : 1
Simple mixer control 'PCM',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback -10239 - 400
Mono: Playback -10239 [0%] [-99999.99dB] [on]
!!-------Mixer controls for card 1 [Headset]
Card hw:1 'Headset'/'Logitech Logitech USB Headset at usb-0000:01:00.0-1.1, full speed'
Mixer name	: 'USB Mixer'
Components	: 'USB046d:0a0b'
Controls      : 9
Simple ctrls  : 2
Simple mixer control 'Headphone',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 44
Mono:
Front Left: Playback 43 [98%] [2.00dB] [on]
Front Right: Playback 43 [98%] [2.00dB] [on]
Simple mixer control 'Mic',0
Capabilities: pvolume pvolume-joined cvolume cvolume-joined pswitch pswitch-joined cswitch cswitch-joined
Playback channels: Mono
Capture channels: Mono
Limits: Playback 0 - 29 Capture 0 - 13
Mono: Playback 0 [0%] [-41.00dB] [off] Capture 13 [100%] [29.00dB] [on]
!!Alsactl output
!!--------------
--startcollapse--
state.ALSA {
control.1 {
iface MIXER
name 'PCM Playback Volume'
value -10239
comment {
access 'read write'
type INTEGER
count 1
range '-10239 - 400'
dbmin -9999999
dbmax 400
dbvalue.0 -9999999
}
}
control.2 {
iface MIXER
name 'PCM Playback Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.3 {
iface MIXER
name 'PCM Playback Route'
value 0
comment {
access 'read write'
type INTEGER
count 1
range '0 - 3'
}
}
control.4 {
iface PCM
name 'IEC958 Playback Default'
value '0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
comment {
access 'read write'
type IEC958
count 1
}
}
control.5 {
iface PCM
name 'IEC958 Playback Con Mask'
value '0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
comment {
access read
type IEC958
count 1
}
}
}
state.Headset {
control.1 {
iface PCM
name 'Playback Channel Map'
value.0 0
value.1 0
comment {
access read
type INTEGER
count 2
range '0 - 36'
}
}
control.2 {
iface PCM
name 'Capture Channel Map'
value 2
comment {
access read
type INTEGER
count 1
range '0 - 36'
}
}
control.3 {
iface MIXER
name 'Mic Playback Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.4 {
iface MIXER
name 'Mic Playback Volume'
value 0
comment {
access 'read write'
type INTEGER
count 1
range '0 - 29'
dbmin -4100
dbmax -1200
dbvalue.0 -4100
}
}
control.5 {
iface MIXER
name 'Headphone Playback Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.6 {
iface MIXER
name 'Headphone Playback Volume'
value.0 43
value.1 43
comment {
access 'read write'
type INTEGER
count 2
range '0 - 44'
dbmin -4100
dbmax 300
dbvalue.0 200
dbvalue.1 200
}
}
control.7 {
iface MIXER
name 'Mic Capture Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.8 {
iface MIXER
name 'Mic Capture Volume'
value 13
comment {
access 'read write'
type INTEGER
count 1
range '0 - 13'
dbmin 1600
dbmax 2900
dbvalue.0 2900
}
}
control.9 {
iface CARD
name 'Keep Interface'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
}
--endcollapse--
!!All Loaded Modules
!!------------------
Module
nfnetlink_queue
nfnetlink_log
nfnetlink
rfcomm
bnep
hci_uart
btbcm
serdev
bluetooth
ecdh_generic
fuse
8021q
garp
stp
llc
evdev
brcmfmac
brcmutil
vc4
sha256_generic
drm_kms_helper
cfg80211
rfkill
snd_soc_core
raspberrypi_hwmon
hwmon
snd_compress
snd_pcm_dmaengine
syscopyarea
sysfillrect
snd_usb_audio
sysimgblt
fb_sys_fops
snd_hwdep
i2c_bcm2835
snd_usbmidi_lib
snd_rawmidi
snd_seq_device
v3d
gpu_sched
bcm2835_codec
bcm2835_v4l2
v4l2_mem2mem
bcm2835_mmal_vchiq
v4l2_common
videobuf2_dma_contig
videobuf2_vmalloc
videobuf2_memops
videobuf2_v4l2
videobuf2_common
drm
videodev
drm_panel_orientation_quirks
media
ir_rc6_decoder
rpivid_mem
vc_sm_cma
uio_pdrv_genirq
gpio_ir_tx
gpio_ir_recv
uio
i2c_dev
snd_bcm2835
snd_pcm
snd_timer
snd
ip_tables
x_tables
ipv6
!!ALSA/HDA dmesg
!!--------------
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1011008
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 cma=64M cma=256M video=HDMI-A-1:720x576M@50,margin_left=32,margin_right=32,margin_top=32,margin_bottom=32 smsc95xx.macaddr=DC:A6:32:74:36:35 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  console=ttyS0,115200 console=tty1 root=PARTUUID=5e3da3da-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    2.104563] systemd[1]: Mounting POSIX Message Queue File System...
[    2.255459] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[    2.261926] bcm2835_audio soc:audio: card created with 8 channels
[    3.715314] [drm] Initialized v3d 1.0.0 20180419 for fec00000.v3d on minor 0
[    4.074989] usbcore: registered new interface driver snd-usb-audio
[    4.167435] cfg80211: Loading compiled-in X.509 certificates for regulatory database
Your OS (including version) where you are running AlexaPi:
Note: Raspbian older than Stretch is not supported!
Linux raspberrypi 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:21:14 GMT 2020 armv7l GNU/Linux

Your hardware platform and model you are running on:
Raspberry Pi4B

Python release (python3 --version):
Python 3.7.3

Description of problem:
Alexa  can hello and it can also say  'yes' , but  either does not listen to my question or my PI can not decode the message with a status code 400

Expected:
Alexa should answer my question

Problem-relevant config.yaml entries:
# See https://github.com/alexa-pi/AlexaPi/wiki/Audio-setup-&-debugging
# to get a better idea of how to set things in here

# Level of log output
# default: INFO
# set to DEBUG for verbose logging
logging: INFO

sound:
  # Name of your microphone device: "raspberrypi"
  # leave empty for default
  input_device: ""

  playback_handler: "vlc"

  # you can go here with alsa, pulse or others
  # keep blank for the best audio output selected by the underlying code
  output: "alsa"
  # output device: "raspberrypi"
  # currently supports ALSA only
  output_device: "default"

  # if left empty, won't be passed to the underlying library / command if it supports it
  # if it doesn't 100% will be used
  default_volume: 80

  # Means the same as above, but is used for media (playing music for example)
  # Leave blank to use the same setting as for speech content
  media_output:
  media_output_device:
  media_default_volume:

  # Some device: "raspberrypi"
  # value is the number of seconds of silence to pad the beginning and end of the audio. Only
  # the sox handler supports this configuration option.
  playback_padding: 0

# Amazon Alexa settings
alexa:

# See https://github.com/alexa-pi/AlexaPi/wiki/Triggers for the description of these options
triggers:
  platform:
    enabled: true
    voice_confirm: false

    # one of: oneshot-vad, continuous, continuous-vad
    event_type: "oneshot-vad"

    # only for "continuous" event_types
    long_press:
      # system command to run after pressing the button for _duration_ number of seconds
      # empty to disable
      command: ""

      # duration in seconds
      duration: 10

      # CURRENTLY DISABLED
      # optional audio file to play before executing the command
      # you might wanna use full path to make sure AlexaPi finds it
      # you can use {resources_path} for the path to the AlexaPi "resources" directory
      audio_file: ""

  pocketsphinx:
    enabled: true
    voice_confirm: true

    phrase: "alexa"
    threshold: 1e-10

  snowboy:
    enabled: false
    voice_confirm: true

    # Use your own model or a file from the default snowboy distribution:
    #
    # {distribution}/alexa.umdl
    # {distribution}/snowboy.umdl
    # {distribution}/alexa/alexa_02092017.umdl
    # {distribution}/alexa/alexa-avs-sample-app/alexa.umdl

    model: "{distribution}/alexa/alexa_02092017.umdl"
    sensitivity: 0.5

# Commands to run before and after an interaction begins. Leave empty to disable.
event_commands:

  # Example used to lower shairport-sync volume during interaction with alexa
  #     startup: "amixer set shairportvolume 100%"
  #     pre_interaction: "amixer set shairportvolume 10%-""
  #     post_interaction: "amixer set shairportvolume 10%+""
  # Note this assumes you have redirected shairport-syncs audio to a seperate softdevice
  # with control "shairportvolume". Example asound.conf avalible in the scripts folder

  # Command to run at the start of AlexaPi
  startup: ""

  # Command to run after a trigger is detected but before an interaction begins
  pre_interaction: ""

  # Command to run after the interaction has completed
  post_interaction: ""

  # Command to run during a clean shutdown of AlexaPi
  shutdown: ""

platform:
  # Name of your platform, e.g. raspberrypi, orangepi, desktop
  device: "raspberrypi"

platforms:
  # common config for all platforms (if they support the options)
  # can be overriden in the the respective platform sections
  common:

  chip:
    # GPIO Pin with button connected
    button: XIO-P1
    # GPIO Pin for the playback/activity light
    plb_light: XIO-P3
    # GPIO Pin for the recording light
    rec_light: XIO-P5

  raspberrypi:
    # GPIO Pin with button connected
    button: 18
    # GPIO Pin for the playback/activity light
    plb_light: 24
    # GPIO Pin for the recording light
    rec_light: 25

  orangepi:
    # GPIO Pin with button connected
    button: 20
    # GPIO Pin for the playback/activity light
    plb_light: 9
    # GPIO Pin for the recording light
    rec_light: 8

  desktop:
    min_seconds_to_record: 3

  dummy:

  magicmirror:
    # Magic Mirror - github.com/MichMich/MagicMirror
    # Integrates with MMM-AlexaPi module (github.com/dgonano/MMM-AlexaPi) to display listening, playback, etc status
    # Hostname of the AlexaPi HTTP server, leave empty for any name
    hostname: ""
    # Port the ALexaPi HTTTP server binds to
    port: 5055
    # Hostname of the Magic Mirror
    mm_hostname: "localhost"
    # Port of the Magic Mirror
    mm_port: "8080"
    # How ofter the Hearbeat fires in seconds
    hb_timer: 5

  hyperion:
    # Hostname of the Hyperion node's JSON server
    hyperion_json_host: "<IP_ADDRESS>"
    # Port of the Hyperion node's JSON server
    hyperion_json_port: 19444
    # Visual status as static 'color' or 'effect'
    # Overridden by 'hyperion_flash_state_xxx'
    hyperion_mode: "effect"
    # Running speed when visualizing as 'effect'
    hyperion_effect_speed: 1
    hyperion_priority: 1
    color_playback: [80, 213, 35]
    color_processing: [35,169,213]
    color_recording: [168, 35, 213]
    flash_duration: 500
    flash_frequency: 8
    # Use Strobe effect instead of default effect or static color
    flash_state_playback: true
    flash_state_processing: false
    flash_state_recording: false
    # Visualize playback state
    indicate_playback: true
    #Also print json request/response when in debug mode
    verbose: false

  serial:
    port: "/dev/ttyACM0"
    baudrate: 9600
    messages:
      trigger: ""
      playback_start: "g"
      playback_end: "x"
      recording_start: ""
      recording_end: ""
      processing_start: ""
      processing_end: ""
      failure: ""
      success: ""

Steps to reproduce:

Traceback (if applicable):

Additional info:
# /opt/AlexaPi/src/main.py -d

2020-03-07 21:06:00 INFO: Triggered: pocketsphinx
2020-03-07 21:06:00 DEBUG: Stopping audio play
2020-03-07 21:06:00 DEBUG: Playing audio: /opt/AlexaPi/src/resources/alexayes.mp3
2020-03-07 21:06:00 DEBUG: Player State: State.Opening
2020-03-07 21:06:00 DEBUG: Player State: State.Playing
2020-03-07 21:06:00 DEBUG: Started play.
2020-03-07 21:06:00 DEBUG: Player State: State.Ended
2020-03-07 21:06:00 DEBUG: Finished play.
2020-03-07 21:06:00 DEBUG: Recording: Setting up
2020-03-07 21:06:00 DEBUG: Recording: Start
2020-03-07 21:06:00 DEBUG: Starting new HTTPS connection (1): access-alexa-na.amazon.com:443
2020-03-07 21:06:02 DEBUG: Start sending speech to Alexa Voice Service
2020-03-07 21:06:08 DEBUG: Recording: End
2020-03-07 21:06:08 DEBUG: Finished sending speech to Alexa Voice Service
2020-03-07 21:06:09 DEBUG: Processing Request Response...
2020-03-07 21:06:09 INFO: (process_response Error) Status Code: 400

I printed the response and looks like this, anybody can help on this ?
2020-03-08 09:24:22 INFO: Checking Internet Connection ...
2020-03-08 09:24:24 INFO: Connection OK
2020-03-08 09:24:24 INFO: AVS token: Requesting a new one
2020-03-08 09:24:25 INFO: AVS token: Obtained successfully
2020-03-08 09:24:31 INFO: Triggered: pocketsphinx
{'error': {'code': 'com.amazon.alexahttpproxy.exceptions.BadRequestException', 'message': 'No audio stream found in the multipart payload.'}}
2020-03-08 09:24:40 INFO: (process_response Error) Status Code: 400


[Relay][DOC] Add tutorial for adding an operator to Relay

This PR contains a tutorial for registering and using a TVM operator in Relay. I would appreciate review on the accuracy, clarity, and presentation on this subject, since I was not myself previously familiar with how to add operators to Relay (in its current form) and have not previously written docs for TVM.

cc @tqchen @MarisaKirisame @ZihengJiang

In order for the tutorial to be executed, we will need to add https://github.com/dmlc/tvm/blob/master/tutorials/dev/README.txt to the new folder.
This tutorial, however, has more to do with the developing topic. Maybe we can change it into an rst file and put it under docs/dev instead?

I wasn't sure exactly where to put the tutorial, so I'd be happy to move it

for now, tutorials/ folder contains tutorials that are "user facing", which contains python files that user can run and the generator will create ipython notebooks for each of them.

I'll move it then.

A quick question: is it intended that this doc is not included in docs/dev/index.rst? I have to use search to find the doc...

@junrushao1994 good catch,can you send a patch?

@tqchen #1790


is there an image capture function in this library?

May be useful can be https://github.com/Apparence-io/CamerAwesome, which is relied on CameraX package


Elm.worker errors when created from within a web worker

The error is:
"ReferenceError: document is not defined elm-runtime.js:2731"
from Elm 0.13; line 2731 is part of the function "htmlHeight(width, rawHtml)" function.
More comments on the issue can be read here:
https://groups.google.com/forum/#!topic/elm-discuss/hi4nNvHxFUA

Moved this over to elm-lang/core which is where the root bug is. Thanks for the report!
https://github.com/elm-lang/core/issues/273


Model not found on gdrive

Curriculum-Learning based 2 class object detector for motorcycle and rider [(https://drive.google.com/file/d/1CEsjntvPCK5vm77dDf0SBOaVb9pihDUg/view?usp=sharing)]
Conventional YOLOv4 2 class object detector for helmet and no-helmet (https://drive.google.com/file/d/1rzH7WDmwcZTvg1onqcYav0q0x6L1VRp9/view?usp=sharing)]
Both these models are not available in  gdrive. Please can you provide the link to download these

Any update here !!

Any update for weights !


Connections not disposed: Max connections exception

I am using the DocumentStore in an ASP.NET Core 2.2 application.
Here the definition in the Startup.cs:
            var store = DocumentStore.For(_ =>
            {
                _.Connection(Configuration.GetConnectionString("PostgresDb"));
                _.DatabaseSchemaName = "search";
                var serializer = new JsonNetSerializer();
                serializer.Customize(c => c.ContractResolver = new ResolvePrivateSetters());
                _.Serializer(serializer);
                _.Events.UseAggregatorLookup(AggregationLookupStrategy.UsePrivateApply);
                _.Schema.Include<SearchMartenRegistry>();
            });
            services.AddSingleton<IDataAccess>(new DataAccess(store));

Then from the API controller I call this method in the DataAccess class:
        public IQueryable<Search> Search(string text)
        {
            using (var session = store.QuerySession())
            {
                return session.Query<Search>().Where(s => s.Name.Contains(text));
            }
        }

And in the controller a few extra things are executed on the IQueryable object (sort, skip, take, etc.).
If I understand the documentation right, the connection is established with the session and likewise disposed with it.
But the DB connections don't seem to be disposed, because after 100 time (default max connection in Postgres db) I get following error:
The connection pool has been exhausted

your session is disposed when exiting the using clause.  Use
public List<Search> Search(string text)
        {
            using (var session = store.QuerySession())
            {
                return session.Query<Search>().Where(s => s.Name.Contains(text)).ToList();
            }
        }

or if you want to use locally (not in db) executed Linq:
public IQueryable Search(string text)
{
using (var session = store.QuerySession())
{
return session.Query().Where(s => s.Name.Contains(text)).ToList().AsQueryable();
}
}

@mdissel That's what I thought too. But evidently it does not dispose the connection when exiting the using clause, because I get the max connections exception.

Can you update the code with one of my examples and try again?

@dapalmi ➕ for the @mdissel request.
Could you also give full usage scenario? So how are you using Search method?

@oskardudycz The search method is called from a api controller method:
        [HttpGet]
        public object Search(string text, DataSourceLoadOptions loadOptions)
        {
            var queryable = _searchDataAccess.Search(text);
            return DataSourceLoader.Load(queryable, loadOptions);
        }

The DataSourceLoader.Load() executes sort, skip, take, etc. on the queryable object.
@mdissel I can confirm that the addition of .ToList().ToQueryable() solved the problem.
So, if I return an IQueryable object the connection will not be disposed. Is that correct?

@dapalmi when you call return session.Query<Search>().Where(s => s.Name.Contains(text)), you are returning an instance of type IMartenQueryable<T> which holds a Postgres connection. So wrapping it in a using block does not magically dispose of the connection due to your pattern of usage.
As @mdissel indicated, by using return session.Query<Search>().Where(s => s.Name.Contains(text)).ToList().AsQueryable(), here .ToList() resulted in the execution of the query and the results returned. By calling ToList().AsQueryable(), you using IQueryable on the returned results.
In summary, your pattern of usage is causing the issue at hand.

Closing this. we can re-open if anyone thinks we need to add some documentation around usage patterns.

@mysticmind Thanks for the explanation, we made the same mistake as @dapalmi. But we'd still like to use the repository pattern. Could you please give some advice on how to implement a repository where the lib of the repository is the only lib that holds a reference to marten but without sacrificing the generic query methods?

@kinl99 please take a look at https://github.com/oskardudycz/GoldenEye/tree/master/src/Core/Backend.Core.Marten, this is part of GoldenEye library, possibly you can use the same.

Thanks @mysticmind!!!
Using dependency injection consequently, like in the example provided, not only resolved the problem but also removed quite some usings from the data layer.

@mysticmind thank you for the recommending GoldenEye 👍 😄
@kinl99 here you can find wrappers for the Marten https://github.com/oskardudycz/GoldenEye/tree/master/src/Core/Backend.Core.Marten/Context, they're called DataContexts but they're in fact following repository pattern.
I'd personally recommend to not do manual disposal of the DocumentSession but let the Dependency Injection container let manage it properly - so eg. use request scope registration for DocumentSession and Singleton for Document Store. Then you shouldn't have such issues.
For the future reference if that doesn't answer your question or we have

Since Marten doesn't do connection pooling on its own it might be worth covering this in the documentation? The links above don't work anymore. Current example lives here https://github.com/oskardudycz/GoldenEye/blob/main/src/Marten/Marten/Registration/Registration.cs

@oskardudycz or @kinl99 Thank you for the idea of using DI to clean up the connections.  Could you point me to a sample of the code where you set the "request scope registration for DocumentSession and Singleton for Document Store."?


Add FKs from user_tables

[ ] table_id
[ ] user_id
[ ] map_id
[ ] data_import_id

There has been no activity on this issue for more several months. We are closing it. If you think this still needs to be addressed please open a new issue.


Add more unit tests

Some parts of the code are still untested.

[x] searching for media
[x] searching for characters
[x] searching for theme songs
[x] searching for the next episode
[ ] translating titles

Always write unit tests for your code, guys.
The amount of bullshit issues I only learned about because of the tests I wrote is above 9000. And that's just in this project, this happens a lot when I start writing tests for new projects.


build toolchain for linux host machines

Do you know of any major blockers that are keeping us from building an android toolchain which can be used on linux host machines? Did you ever try? If you think this is something the project can benefit from i would like to take a look at. @vgorloff

Maybe this repo would be interesting for you https://github.com/buttaface/swift-android-sdk.
It is a Toolchain for building Swift for Android on Android (Termux)
Or maybe this - https://github.com/readdle/swift-android-toolchain
I had in past Linux builders (via Vagrant), but deprecated and removed them due slow compilation process on a virtual linux box :0
I would rather make Cross compilation for Linux and Windows from macOS than fighting against virtual linux instances.
btw: Probably ofiicial Swift git repo buildable for Android on Linux. It had received some build scripts improvements since last 2 years.

I would rather make Cross compilation for Linux and Windows from macOS than fighting against virtual linux instances.

Am I understanding you correctly, with Cross compilation for Linux from macOS you mean building a toolchain which can be used on linux but built on macOS?

Not really. The toolchain build on macOS machine and which can be used only on macOS machine, but it should be able to generate binaries for Android, Windows, Linux.

Closing issue as the official Swift build scripts and/or Termux build routines is trying solve the problem of building Swift toolchain for Android usable on Linux OS.


[#886] add reset_all option to hsctl script

Option to reset the working environment to a clean state.

remove any data that was written as root of the hydroshare container (only fires if container is running)
stop all running containers
remove all containers and their associated volumes
delete the hydroshare_* images (hydroshare, defaultworker, dockerworker)
delete the hydroshare/static directory if found
delete the root-items.txt file if found

Can one of the admins verify this patch?

@alvacouch - PR for new reset_all function.

@mjstealey : Thanks! Will test this fully when doing integration testing on newest access control....
(I develop in two phases; now developing new features in a custom, limited environment; integration testing is phase 2...)

Self +1-ing

Doesn't effect codebase, but rather adds option to control script
Updates if needed can be created as new issues


Implementation of DETR using mmdetection

This PR implements a DETR model using mmdetection. It includes:

A new mmdet model containing the DETR config.
Refactored the params_group() method so it only adds a neck layer if it exists into the model. The DETR model doesn't have any neck layer

Thaks a ton for your contribution!

Nice! all checks are passing!
I think it would be helpful to check how DETR performs on the Fridge dataset, to get some sort of benchmark, and also to make sure that everything works as expected.
Do you mind putting together a quick Colab nb with that?
You can totally use this and install from your branch, instead of master.
This is how I installed from a remote branch of mine a while back
!git clone -b inference https://github.com/FraPochetti/mantisshrimp.git
%cd mantisshrimp/
!pip install -e .[all,dev]

FYI, mantisshrimp was the name of the repo 2 years ago :D

Yes, here is the colab! I have trained the model with both fastai and pytorch lightning, but I don't know why the fastai training output disappears when reloading the notebook.

Thanks!
Can you grant View access please?

You should be able to view it with this link now.

Great!
Thanks a lot man.
Btw, I just tried training with a higher learning rate (1e-3 instead of 1e-4) as you did and managed to jump to 89% COCOMetric :)
Pretty nice.

Great!
Glad to hear that the results have improved!

Thanks a lot @hectorLop! Awesome job!
What's your nickname on our discord.

Thanks to you @ai-fast-track, I'm happy to contribute to this awesome framework!.
My nickname in discord is hlopez. These is my LinkedIn and my Twitter

Yes, here is the colab! I have trained the model with both fastai and pytorch lightning, but I don't know why the fastai training output disappears when reloading the notebook.

RuntimeError: Index put requires the source and destination dtypes match, got Long for the destination and Float for the source.

Yes, here is the colab! I have trained the model with both fastai and pytorch lightning, but I don't know why the fastai training output disappears when reloading the notebook.

RuntimeError: Index put requires the source and destination dtypes match, got Long for the destination and Float for the source.

Hi @Zubair2019, could you provide more info about this error? I just executed the entire notebook, but I was unable to reproduce the error.


Error in "Open results in excel"

With  version 5.3.0 when I use the option "Open results in excel" with the plugging updated to the last version is a error:
invalid object name 'XXXXXXXX'  where XXXXXX is the name of the table.
I try a very simple select like "Select * from employes", the select show the results without problems, the error is only in open in excel.
I  revert to 5.2.4 and works again correctly
Edit: I found a solution, if I write the name of database prior the name of the table, works ok.
the name of database is not necesary for execute the "select" but is some error in excel export that can't recognice the active database.
Thank's

If you execute some "USE" statement in SQL editor to switch active db then such error may happen. Because "Open in Excel" operation opens new connection with default active database.

No, I don't use "USE" stament, the database is the active.
The same in 5.2.4 that works ok.
the solution is "select * from Database.dbo.employes"
with "select * from employes"  "open in excel" say "invalid object name"
I select the active datasource and the active database in the fields of the toolbar.
(and for execution of select works ok, only error in open in excel)

Well, I assume this is somehow related to active database/schema selection in new connection but I can't realize what is the difference between SQL Editor's connection and Excel connection..

I discovered when occurs. If in the connection settings is not set the Database/Schema, occurs the error in excel.
If I set this value the excel open ok.  (but this value is not necesary for execute a "select" statement.
(and database in use is set in the correspondent box)
Thanks

@albare Thanks for the information


[Integration]: Casper Chess

Project name
Casper Chess
URL to be whitelisted
casperchess.caspergames.eth
Code audit/review URL if available
No response
Project description
Casper Chess is a multiplayer NFT-centric game on the blockchain. Users mint a membership token when they go thru the on-boarding process in which they set their preferences (chessboard move style, username, link for their avatar picture, contact info, preferred language). After they have minted a membership token they can then access the game.
In the game there are three main components.
The first component the player is presented with is the dashboard in which they can chat with other players, create custom lobbies, and direct-message other players. At the bottom of the dashboard shows all the users connected to the game, along with their username and membership tokens' avatar. To the right is the game lobby area, where the player can see public games and enter a game-name and password to join private ones. This also contains the game creation form and leaderboard tab. The leaderboard displays all the scores and levels within the membership tokens of all the users, where scores are updated by the player after successfully completed game sessions.
The second component is the in-game component. Players play out their game here and can talk to each other with the in-game chat. The player can set which type of move style (click-to-move or drag-to-move), NFT board, and NFT pieces they play with in the Settings page of the game. When a game is completed the session-score of the user is stored in the current state of the app. If the user refreshes the page or losses connection, its gone. Why does score matter though? Why would a user pay a gas fee to update their score? Well, certain functions of the app are locked for users below a certain score. Collections and nfts can have a score limiter placed on them to prevent players of a certain level (elo) from being able to use them, reserving them for high level only players capable of climbing the ranks. Chat functions such as custom lobby creation will be locked for players under a limit of total games played, along with direct messaging. This creates and incentive for players to upload their scores.
The third component is the Marketplace. Here users can buy, sell, trade, burn, and create their own collections and assets, including their Membership Tokens, which essentially makes their identities transferable. Scores cannot be modified, but the avatars, username, contact info, and language can all be updated. Assets can be bridged to Casper via a proof-of-stake bridge on other networks.
***NOTE: The linked repository may change locations as I develop and improve the platform and add features, this is merely the original starting point.
Project's phase
Design
Who is the project owner?
Private person
Project owner's name
Atticus
What kind of Web3 functionality will you be offering in your product?
Transfers, contract calls, nft-token swap, nft-token creation, nft-marketplace
Contact details
<EMAIL_ADDRESS>Link to the code
https://github.com/atticusofsparta/casperchess-single
Is this a project by an enterprise partner of Casper Association or CasperLabs?
No
Grant/proposal number if this is a project funded by the DEVxDAO
proposal 613 - currently under discussion and not yet voted on

This request will be included in the next Casper Signer Maintenance release. Release date TBC soon.

Hi @atticusofsparta, this request is included in the upcoming Casper Signer Release 1.4.14 and is scheduled to go live on the 27th of Jun EOD BST.

Casper Signer 1.4.14 is now live.
Fyi - @atticusofsparta


Angular 13 - Support Divy

Angular 13 was released Recently.
Now Angular have switch to Evy as the main engine. When I build the application I get this warning/message:
ng build --configuration production
⠙ Generating browser application bundles (phase: setup)...Processing legacy "View Engine" libraries:
- @ctrl/ngx-codemirror [es2015/esm2015] (git+https://github.com/scttcper/ngx-codemirror.git)
Encourage the library authors to publish an Ivy distribution.

see 5.1.x


phpdoc_no_empty_return rule leaves empty line in docblocks with groupped annotations

PHP Version
PHP 7.1.1-1+deb.sury.org~xenial+1 (cli) (built: Jan 20 2017 09:20:20) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.1.1-1+deb.sury.org~xenial+1, Copyright (c) 1999-2017, by Zend Technologies

PHP CS Fixer Version
PHP CS Fixer version 2.1.1 by Fabien Potencier and Dariusz Ruminski (e0e33ce)

From some update (can't really track down which one caused this issue) phpdoc_no_empty_return rule leaves empty line in dockblocks with annotations groupped by type (see first example). Without groupping rule works fine (second example).
Also, no_empty_phpdoc rule does not help fixing this issue - empty line still persists.
Groupped annotations
Original:
<?php

class Foo
{
    /**
     * Set bar.
     *
     * @param string $bar
     *
     * @return null
     */
    public function setBar(string $bar)
    {
        $this->bar = $bar;
    }
}

Fixed:
<?php

class Foo
{
    /**
     * Set bar.
     *
     * @param string $bar
     *
     */
    public function setBar(string $bar)
    {
        $this->bar = $bar;
    }
}

Annotations without groupping
Original:
<?php

class Foo
{
    /**
     * Set bar.
     *
     * @param string $bar
     * @return null
     */
    public function setBar(string $bar)
    {
        $this->bar = $bar;
    }
}

Fixed:
<?php

class Foo
{
    /**
     * Set bar.
     *
     * @param string $bar
     */
    public function setBar(string $bar)
    {
        $this->bar = $bar;
    }
}

.php_cs config:
<?php

$finder = PhpCsFixer\Finder::create()->in([__DIR__.'/src']);

return PhpCsFixer\Config::create()
    ->setUsingCache(false)
    ->setRules([
        'phpdoc_no_empty_return' => true,
    ])
    ->setFinder($finder);

Command:
php-cs-fixer fix

Hi,
Thank you for the detailed report!
phpdoc_no_empty_return I've confirmed this fixer indeed leases an empty line when the return annotation is not part of a group, I'll check if this is by design.
no_empty_phpdoc will remove the PHPDoc completely if it is made empty by phpdoc_no_empty_return.
In your case I would advice to add the rule phpdoc_trim, I think that one will remove the first and last empty lines if your PHPDoc's, it might help for a few cases for now.

@SpacePossum phpdoc_trim did the trick, no more empty lines, thank you!


Enhanced Extension Methods

Extension Methods should generate the invokedynamic code in a static synthetic method instead of inline at the call site.

Closed & marked obsolete as this goes against the benefist of invokedynamic – the DynamicLinker is not optimized for Megamorphic callsites.


Feature - Scheduling system

Description
This branch introduces a completely redone scheduling system. Now when you login as the moderator you can see at /schedule a drag and drop calendar. For more fine grained scheduling you can click on the presentation itself and you'll see a scheduling modal. If the relocation is not possible a toaster notification will show up.
Run composer install alongside sail artisan migrate:fresh --seed
closes #416
introduces #437
Type of change

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

What needs to be tested
Honestly just try to go to this page and break stuff around with the drag and drop and all sorts of funky actions you can try.
If you find any bug please make sure to let me know how to replicate it exactly and be specific since it can be really hard to replicate it (trust me once I found a bug accidentally I spent 20 minutes just trying to replicate it)
Checklist:

[X] I have performed a self-review of my code
[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes

I can double book a room. First dragging a 30 minute lecture into a room and then a 90 minute workshop over the same time.

If you can't replicate let me know.


Don't disable nonblock-statement-body-position and curly

Reference:
https://eslint.org/docs/latest/rules/nonblock-statement-body-position
https://eslint.org/docs/latest/rules/curly
I understand that Prettier can turn something like this:
if (conditionA && conditionB && conditionC && conditionD && conditionE && conditionF && conditionG) return;

... into this:
if (
  conditionA &&
  conditionB &&
  conditionC &&
  conditionD &&
  conditionE &&
  conditionF &&
  conditionG
)
  return;

... triggering nonblock-statement-body-position (in the default beside mode), but that's actually desired! I want return; to be wrapped in curly braces here, that's what this rule is all about.
The below mode won't work, unfortunately, but does anybody actually use it? I've never seen any guides/configs that recommend such a style. Could it be left up to the user to disable it, perhaps? Otherwise this is a bit of a "baby & bathwater" situation.
curly doesn't interfere with Prettier at all, I believe, since it's 100% about the presence/absence of curly braces (something it officially isn't concerned with), and not line breaks, like nonblock-statement-body-position is.
Edit:
Sorry, I was wrong about my assessment of curly. As outlined in README, it does consider line breaks. I suppose then nonblock-statement-body-position just needs to change to 0 too, for consistency.
My argument about Prettier triggering these rules being desired still stands though. If I have curly set to multi-line then I would see this code:
if (cart.items && cart.items[0] && cart.items[0].quantity === 0) updateCart(cart);

... turn into:
if (cart.items && cart.items[0] && cart.items[0].quantity === 0)
  updateCart(cart);

... and then ESLint would tell me about the error, so I would go ahead and fix it myself:
if (cart.items && cart.items[0] && cart.items[0].quantity === 0) {
  updateCart(cart);
}

I don't think people would want anything else in this case, would they?

Hi! Am I understanding this correctly? Your code style is:

Single statements inside if/for/while/do are allowed without braces, but must be placed beside not below and must fit on the line.
Otherwise curly braces are required.

And one can enforce this using nonblock-statement-body-position and curly?
Then, yes, it seems like nonblock-statement-body-position could become a “special rule” too, possibly (probably?) with a validator that checks that you use "beside" (but then there’s the overrides thing that I haven’t fully thought of yet). And this should be compatible with Prettier.
It’s unfortunate that the error message is “Expected no linebreak before this statement”, while the real solution is to add curly braces. Takes a bit of learning for new contributors, it sounds like.

Closing because no response.

Hi! Sorry for the delay, yes, that's the style I'm going for. Is this something you would be interested in adding?

I think this is the verdict:

onblock-statement-body-position has been disabled by eslint-config-prettier for years and nobody has brought it up until now, so there does not seem to be much demand.
While it’s technically possible to use this rule with certain configuration, it feels very edge casey and it gives a very bad error message. Maybe better to simplify the style guide instead.
It’s unclear how the overrides option should be handled.

So to me, it does not sound like it’s worth the trouble.

This is certainly an edge casey issue, no argument there. I think just setting nonblock-statement-body-position to 0 should suffice. However, just in case, this style isn't exotic, it's what Airbnb's guide demands, for example.

I think only setting it to 0 would be a bit of a cop out, since it looks like it is validatable.

I'd love use curly with all option, but I just found it's not enables at all util I viewed this issue. 😅😅

@lydell Hmm, your call! What exactly are you concerned about with overrides?

I felt like it wasn’t clear to me how to handle it in a validator, and I wasn’t interested enough to figure it out.


"machine" command name conflict

OS X (and I assume other BSD variants) already has a "machine" command line tool: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/machine.1.html
Probably best not to conflict with it.

Can we just rename to docker-machine now? :)

@sthulb yes, docker-machine is it for now :)

Closing as #2 is complete :)  Thx everyone!

What about my comment?

It might be a solution to do it like git did. You have separated commands e.g. docker-machine, docker-swarm and the docker command will delegate to them, so that it will be possible to call either docker machine .. or docker-machine ..

Should this be a new ticket?

see https://github.com/docker/docker/issues/10299

@leifhanack I think that's for the parent project, thankfully, @ndeloof created his issue :)

cool. thanks!


Add Medium and LinkedIn to social partial

Hi there,
Simple PR to include LinkedIn and Medium accounts into the "social" partial social.html
Cheers,
Ricardo

Nice contribution!
I think it would be nice to split the changes into different commits. One for each button.
There is no configuration example for Medium in config.toml.example
@AngeloStavrow likes the buttons be alphabetical ordered, just like in #24

sure , no problem

Thanks for opening this PR! I'll have a look at it today.

@RicardoBelchior sorry I forgot to submit my review this morning. I had the same suggestions as @AngeloStavrow

Sorry for the extra-spaces guys , I did wrote this PR without paying much attention^^
I updated the socials to the new format (my forked branch was not up to date).
And I force-pushed once again :) Let me know if you need any other change.

Thanks guys 👍

No, thank you, @RicardoBelchior, for your contributions! 🎉


Move or copy datasets inside a repo

Created at
2023-11-10T17:46:02.000Z
Priority
priority:unknown
PRD
https://github.com/treeverse/lakeFS/issues/6015
Feature Definition
T-shirt size
Related feature requests

I just had to re-organize some data. Specifically, moving all the assets from one directory to a different directory. On the local file system it was a simple mv dir_a sub/dir/ and ran essentially instantly. But, to do that I had to (1) lakectl local clone part of my repo (2) do the move and (3) lakectl local commit. In all that took well over and hour as it was a few hundred GB of data. I believe it should be possible to do this in O(1) via lakectl fs mv gs://.../dir_a gs://.../sub/dir/ without needing to clone or re-upload.

Technical response on why things are the way they are
Details of internals, feel free to skip!
This comment:

I think doing a rename like this server side is probably a single SQL UPDATE query since the metadata is all stored in Postgres and the actual data blobs don't need to move at all.

is really important in order to understand why it's non-trivial. Because it is almost entirely true! Initial versions of lakeFS supported moves.
The thing is, an RDBMS such as Postgres won't scale to desired performance levels. ACID transactions would make this so much simpler! But reads become about as slow as writes - the database must ensure that there is no hazard or similar from a concurrent write.
Instead we use a key-value store for lakeFS staging. That database model only allows for single-key concurrency, obviously here we would need consistency across 2 keys. The actual place where we lose is that lakeFS cannot safely garbage-collect uncommitted objects.

Actual question about requirements
While we cannot safely accommodate all scenarios, perhaps there are some scenarios which we could?
As an example, committed branch HEADs are immune to garbage collection, so it may be possible to support a rename operation from a committed object on branch head to a new name on that same branch. And other scenarios may also be possible.
With that in mind, users could help us narrow down the scope! Right now I am asking where you can limit:

Can the source always be a committed object? (For a move that obviously implies that that object is on the branch head.)
If uncommitted, can the source always be new-ish, and this not eligible for garbage collection?
Is it acceptable for the operation to try to move safely, but fail if a safe move is impossible?

I am looking for a way to limit what sources are allowed, in some way which will allow us to add a safe API. The worry if course is that such an API will be unusably complex.
Of course this is not a design, and we might not be able to accommodate your important scenarios. I would like to understand actual requirements in detail.

Details of internals, feel free to skip!

Thanks! I appreciate having a better understanding of why this is hard.

Can the source always be a committed object? (For a move that obviously implies that that object is on the branch head.)

Yes, I think that's fine.

If uncommitted, can the source always be new-ish, and this not eligible for garbage collection?

I think only comitted is fine but I can see a case for recent uncommitted objects off a branch head (e.g. "oops - that was a typo" for a newly created object)

Is it acceptable for the operation to try to move safely, but fail if a safe move is impossible?

Yes, especially if the error message is clear. Like "Unable to safely move but we can always safely move committed object. Try comitting to a branch and then moving".

I would like to understand actual requirements in detail.

In my particular case it's a simple case of data organization. We put a bunch of files in /some/directory/path and then realized a better organization would be /some/directory/with-intermediate/path or /other/location/entirely. On a local file system my use case (so far) has pretty  much always boiled down to a single mv of a directory and that directory was always something that was comitted to the HEAD of a branch.
Thanks for considering this!

Has there been any more progress on this? I one again have a few TB of data I need to move. Again, it's just moving one directory into another one and it's on HEAD. As far as I know there still isn't a decent solution for this.


Support Row Major?

Dear developers,
I am writing a C++ code which uses libxsmm. However, I noticed that the convention is along with the BLAS, i.e. the matrix is assume to be column major order.
I find some discussion in previous issue https://github.com/hfp/libxsmm/issues/80
But it looks like I have to make addtional transpose?
Does the lib itself support row major dgemm just like CBLAS?
Thanks,
Zhihao

No the library does not support row-major by itself i.e., there is no CBLAS-like behavior. I alo think you can get around performing actual transposes since one can twiddle the GEMM arguments (or generate a kernel according to twiddled arguments):
gemm('N', 'N', m, n, k, alpha, a, lda, b, ldb, beta, c, ldc); // col-major
gemm('N', 'N', n, m, k, alpha, b, ldb, a, lda, beta, c, ldc); // row-major
Permuting the arguments is motivated by the following transpose identity C^T = A^T * B^T = (B * A)^T. You may wonder why CBLAS is not built-in since it seems an easy thing? This is because our kernels are natively column-major and we also want to encourage manual dispatch where the user (call-side) is ultimately exposed to unwrapped kernels.
Let me know if you have any problems and we can take a depper look!

Thank you. It is true we can inverse the B and A to make it work.
Besides this, is the library able to work as a dynamical lib? I compiled a test file for gemm, like this,
icpc 01_dgemm.cpp -mkl -I/home/zhcui/program/libxsmm_ZHC_installed/include -L/home/zhcui/program/libxsmm_ZHC_installed/lib/ -lxsmm -o 01_dgemm.out
When I try to run it ./01_dgemm.out, it gives the link error,
./01_dgemm.out: error while loading shared libraries: libxsmm.so.1: cannot open shared object file: No such file or directory
In the folder, I do see the libxsmm.so and libxsmm.so.1 files.
Do you have any suggestions on it?

Besides this, is the library able to work as a dynamical lib?

Yes. It's per make STATIC=0 since only static libraries are built by default (.a). I think you already do this since you found something like libxsmm.so.

In the folder, I do see the libxsmm.so and libxsmm.so.1 files.

You need to either set LD_LIBRARY_PATH=/path/to/libxsmm/lib:$LD_LIBRARY_PATH (per export or by prepending the environment variable when executing the program), or use -Wl,--rpath=/path/to/libxsmm/lib when you link your application. Using exports looks like:
export LD_LIBRARY_PATH=/path/to/libxsmm/lib:$LD_LIBRARY_PATH
ldd ./01_dgemm.out
  [...]

The above (ldd) will list all shared libraries ([...]) that your executable depends on. This will list something like "not found" if the LD_LIBRARY_PATH is insufficient. Of course, you can simply run your program and see that it works. Note that using the rpath linker flag embeds the library path into the executable such that is the library is "magically" found even without LD_LIBRARY_PATH. However, this is not appropriate when you plan to give the executable away to other people (who perhaps installed LIBXSMM somewhere else such that /path/to/libxsmm is different).

Thanks. It works for me to set the LD_LIBRARY_PATH.

Thank you for trying!


Updated installation commands with production arguments

In order to install the extension manually, only the dependencies are needed. So, I took the liberty to add the --production flag to the instructions
-- npm install
++ npm install --production

-- yarn install
++ yarn install --prod

(--prod is an alias for --production)

The npm run build needs the devDependencies like webpack and vue-loader to work.


panicked at 'Missing child el_ws'

Unfortunately I get a panicked at 'Missing child el_ws' from time to time. I haven't found the problem yet.
Do you have an idea how to nicely debug a seed app?
edit: I'm using seed v0.3.7

I found a workaround: https://github.com/flosse/seed/commit/72b66f6628ee10bb0bace1798f110e51498e8e50 that seems to work at least for now.

I've seen it a few times when I was furiously switching between two pages by clicking on menu buttons and browser was reloading (this bug is fixed on master, it isn't reloading now (https://github.com/David-OConnor/seed/issues/163)). So I think that it can be somehow related to initializing / destroying DOM by browser while the Seed is running patching algorithm.

I tried b728b97b but it's the same :(

Also If you try to repeatedly press F5, you can see something like this in dev tools console:
`WebAssembly.instantiateStreaming` failed. Assuming this is because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:
 DOMException: "The operation was aborted. " package.js:1831:25
TypeError: "Body has already been consumed."
    result http://localhost:8000/pkg/package.js:1833

Yeah and sometimes (like me at the moment) you get your error: panicked at 'Missing child el_ws', src/libcore/option.rs:1034:5.
@David-OConnor I think we can use @flosse 's workaround like a starter point and change patch panics into checks + logs before we deal it properly (if it's possible to handle it).

@David-OConnor I think we can use @flosse 's workaround like a starter point

no, I would not recommend that because it just introduces a new bug (the DOM is dirty afterwards).
I think it's better to know why there is no child available.

@flosse  do you have a public repo / example when are you testing it?

@flosse do you have a public repo / example where are you testing it?

no not yet. I think at the end of the year I'll have a public project that will (probably) use seed.

I'm able to pretty reliable reproduce it in realworld example:

Open http://localhost:8000/settings (you have to be logged in)
Press F5 and immediately click on New Post => panic Missing child el_ws
So I try to debug it.

@David-OConnor I think we can close it.


SuperSafe support for Scala 2.13.4

Scala 2.13.4 has now been released. Can you create a SuperSafe release for this version of the Scala compiler? Thanks!

@Facsimiler Fyi we just releasee SuperSafe 1.1.12 which includes build for Scala 2.13.4, thanks for the ping!

@cheeseng Thanks for the update. However, I'm getting build errors. It appears there isn't a 1.1.12 release for the corresponding sbt plugin:
[error]   not found: https://repo.artima.com/releases/com/artima/supersafe/sbtplugin_2.12_1.0/1.1.12/sbtplugin-1.1.12.pom

@Facsimiler Sorry I left that out accidentally, it should be up now, sorry for the inconvenient caused.

@cheeseng No worries. It's all working fine now, thanks!


Game crash when injecting

As soon as the text goes zo injected succesful changed where made to the game the game crashes.

crash_logs_1672357121.zip

Please only create issues related to the launcher on this repo.


sort argument (multiple fields) for motor paginate

motor = "^3.3.1"
fastapi-pagination = "^0.12.9"

The paginate function unpacks the sort argument, which can lead to errors when sorting by multiple fields with Motor. Motor expects a list of tuples for sorting (if it is not a single field sorting), but when the sort argument is unpacked, it loses the structure and raises an error.
    if sort is not None:
        cursor = cursor.sort(*sort)

e.g.:

from fastapi_pagination.ext.motor import paginate

data = await paginate(
    db.report,
    query_filter=query,
    sort=[("created_at", -1), ("modified_at", 1)],
    params=params,
    transformer=transformer,
)

this code will raise an error, because inside paginate function it will be unpacked. But for motor it is required to pass a list of tuples when you would like to sort by multiple fields, so in this case unpack is not required

@ildarworld I am planning to release the fix tomorrow. I will notify you in case of any changes.

Hi @ildarworld,
New version 0.12.11 has been released, this issue should be fixed now.


[.NET | EN Currency] Fix currency cases with potential entity overlaps

Fix cases like "1 $ 10" "$ 20,000.00 $ 37,305.97"

I'll close this PR as the modified fix will probably look very different.
Please add all the new specs in the new PR, ok? Also, if the result from a spec is not correct, it it still worth it to add it as NotSupproted and add a Comment attribute describing what's incorrect.
Thanks.


Generated modules export unnecessary symbols

Reproduction steps

sbt fastLinkJS

Expected
/target/scala-3.4.0/bug1-fastopt/internal-35d0ce2b42710889d7e1a46fac762e09375bf8d5.js contains 6 exports because only 6 exports are actually used by other modules
Actual
/target/scala-3.4.0/bug1-fastopt/internal-35d0ce2b42710889d7e1a46fac762e09375bf8d5.js contains 199 exports
Motivation
Unused exports add names to global scope hurting optimization by external tools (uglify-js or GCC simple mode)
bug1.tar.gz

I can see how this might be a problem even with a full blown bundler: The bundler will not make the distinction between internal and public modules, as such, it might leave exports around unnecessarily.
@scf37 could you actually observe unnecessary export statements in bundled output (I'm not sure I'd count Uglfy as a bundler)?
Scala.js does not have the goal to generate shipping ready JS code. It is expected that a downstream bundler is run.
More specifically: Scala.js does make no attempt to generate optimal modules. It merely generates modules with sufficiently granular structure so general-purpose JS bundlers can take advantage of it. But it is expected that the module structure is still changed / optimized after Scala.js is run.

could you actually observe unnecessary export statements

Yep. AFAIK GCC simple mode run independently on every file with --assume_function_wrapper still produces the best results. Writing simple script to analyze dependencies and comment out unused exports decreases output module size significantly.
No big deal to write such transformer btw but I guess it could be easy fix on your side.

AFAIK GCC simple mode run independently

Ah, yes. That's expected. I meant if you observe unnecessary exports if you run a bundler that optimizes the whole program / all the modules.

it could be easy fix on your side.

Not really :-/ Basically, when generating, say a function, in a module, we do not (trivially) have tracking information of whether this function is only used by this module (no export) or also other modules, (must export). Tracking this comes at a cost, especially in an incremental scenario where this information can change non-locally (another module started using it, so now it must be exported, even though it didn't change).


Add Chinese translation to the documentation

Is your feature request related to a problem? Please describe.
I would like to add a Chinese version of the documentation!!

The Japanese version is from a PR if you want to translate it to Chinese feel free to open one. Just add a warning that the MJML won't update it.


Feature to edit shell settings from the admin (OSOE-638)

Since shell settings can serve as a source for configuration (see the discussion under https://github.com/Lombiq/Hosting-Tenants/issues/65) then it'll be really useful to be able to edit those shell settings from the admin area. So, add a textbox-based editor (perhaps Monaco, so whitespace can be easily managed) to the tenant editor that lets you change all shell settings (i.e. the whole ShellSettings dictionary).

See the comments under https://github.com/Lombiq/Hosting-Tenants/issues/65 for implementation suggestions.
To demonstrate this working, configure Media storage quota for a tenant.

Jira issue

Should this be a new project or is it okay to implement it in Lombiq.Hosting.Tenants.Management?

Lombiq.Hosting.Tenants.Management is OK for this.

Current state:
All tenant affecting settings are listed in formatted JSON:

Save settings button calls the following controller:
[HttpPost]
    [ValidateAntiForgeryToken]
    public async Task<IActionResult> Edit(ShellSettingsEditorViewModel model)
    {
        if (!await _authorizationService.AuthorizeAsync(User, ShellSettingsEditPermissions.ShellSettingsEditPermission))
        {
            return Forbid();
        }

        if (!_shellHost.TryGetSettings(model.TenantId, out var shellSettings))
        {
            return NotFound();
        }

        var jsonConfigurationParser = new JsonConfigurationParser();
        var shellSettingsDictionary = jsonConfigurationParser.ParseConfiguration(model.Json);
        foreach (var key in shellSettingsDictionary.Keys)
        {
            shellSettings[key] = shellSettingsDictionary[key];
        }

        await _shellHost.UpdateShellSettingsAsync(shellSettings);

        return RedirectToAction(
            nameof(AdminController.Edit),
            typeof(AdminController).ControllerName(),
            new
            {
                area = "OrchardCore.Tenants",
                id = model.TenantId,
            });
    }

The shellSettings which I get from _shellHost contains the changes when I'm calling UpdateShellSettingsAsync but still the changes are not saved.
What I found is that I can only modify tenant configs such as:

It looks like using UpdateShellSettingsAsync won't update other keys, just those:
https://github.com/OrchardCMS/OrchardCore/blob/main/src/OrchardCore/OrchardCore/Shell/ShellSettingsManager.cs#L144

Displaying all currently editable settings by default is a good idea, but make sure that it's apparent that it's for scaffolding only. We don't want people to downright save what's displayed (since that would copy all existing config).
Also, does this display settings coming from appsettings or everywhere? If the latter then rather don't display them because secret values can come from the environment.

Yeah you are right, we shouldn't display everything, only the tenant level settings.
There is a problem with saving shellSettings, it is not possible to save settings with more than one children because of this in shellHost.UpdateShellSettingsAsync:
var sections = settings.ShellConfiguration.GetChildren()
  .Where(s => !s.GetChildren().Any())
  .ToArray();

https://github.com/OrchardCMS/OrchardCore/blob/main/src/OrchardCore/OrchardCore/Shell/ShellSettingsManager.cs#L192-L194
Meaning we can't save e.g. Lombiq_Hosting_Tenants_MediaStorageManagement:MaximumStorageQuotaBytes:<PHONE_NUMBER> currently through the IShellHost api.

Please also reply to this:

Also, does this display settings coming from appsettings or everywhere? If the latter then rather don't display them because secret values can come from the environment.

I can't comment on the rest.

Yes, from everywhere.

I see, then that's not something that should happen due to it potentially exposing private data.

Just for infos and only from memory
ShellSettings has 2 ShellConfiguration, _settings with the minimal data to manage tenants states, coming by default for all tenants from the same tenants.json, this is this one that is flat (only one level of chidrens). Then _configuration, the ShellConfiguration property, the IShellConfiguration that we can resolve from the DI.
Both take into account all config sources but we only allow a set of fiels to be edited, on saving the final values are saved (if different), by default for _settings in tenants.json, for _configuration in the tenant specific appsettings.json, both being config sources having higher precedences.