Lock down mapbox token for sample apps

PR https://github.com/plotly/dash-sample-apps/pull/425 was intended to rotate mapbox token to our dedicated one which has current limitations as @nicolaskruchten mentioned:

those tokens aren't locked to gallery domains, some apps use versions of Plotly.js might be too old for the locking to work
the old public token is still active

In order to totally deprecate the old token, we should

remove all hard-coded mapbox token from these apps
verify that apps with a new token are loading map correctly, and remove all customized mapbox style (if there is, like this line  https://github.com/plotly/dash-sample-apps/blob/139acc6b751d277fcd8a7c08f3f9277f3aad9aaa/apps/dash-opioid-epidemic/app.py#L86) , or replace with strings like "basic", "satellite", etc, check plotly mapbox reference.
set new token as env variables and add instructions in readme.

Thanks @ycaokris!
I actually think the easiest thing to do might be to upgrade DCC and/or plotly.js (via the assets trick) so that we can lock down the token that's in this repo. In principle this should "just work" :)

Thanks @ycaokris!
I actually think the easiest thing to do might be to upgrade DCC and/or plotly.js (via the assets trick) so that we can lock down the token that's in this repo. In principle this should "just work" :)

yep, that will work as well! Needs a package update(dash, dcc) for apps that are related and verify that domain restriction works.  I believe testing out domain-locked token will need a deployment and won't work when running locally?

That's right.

The following apps were modified in https://github.com/plotly/dash-sample-apps/pull/425:

[ ] dash-daq-satellite-dashboard
[ ] dash-medical-provider-charges
[ ] dash-oil-and-gas
[ ] dash-oil-and-gas-ternary
[ ] dash-opioid-epidemic
[ ] dash-phylogeny
[ ] dash-spatial-clustering
[ ] dash-uber-rides-demo
[ ] dashr-medical-provider-charges
[ ] dashr-oil-and-gas-ternary
[ ] dashr-oil-and-gas
[ ] dashr-opiod-endemic
[ ] dashr-uber-rasterizer
[ ] dashr-uber-rides

I'll go through the list and update dcc / perform some QA

When adding the domain restriction to the token, dash-medical-provider-charges and dash-opioid-epidemic break - I've removed the restriction for now, and will add it back once I've upgraded dash on both of these apps

All necessary apps have been upgraded, and the domain restriction has been put in place.
cc @nicolaskruchten

Great, thank you!


feat: add incentive.me to adopeters list

can you fix the logo so it is aligned to the left like all the other ones?


Placeholder not displayed for ion-select due to strict type checking

Bug Report
Ionic Info
Ionic:

   ionic (Ionic CLI)          : 4.1.2 (/usr/local/lib/node_modules/ionic)
   Ionic Framework            : @ionic/angular 4.0.0-beta.11
   @angular-devkit/core       : 0.8.2
   @angular-devkit/schematics : 0.8.2
   @angular/cli               : 6.1.5
   @ionic/ng-toolkit          : 1.0.8
   @ionic/schematics-angular  : 1.0.6

Cordova:

   cordova (Cordova CLI) : 8.0.0
   Cordova Platforms     : android 7.0.0
   Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.2, cordova-plugin-ionic-webview 2.1.0, (and 8 other plugins)

System:

   NodeJS : v10.10.0 (/usr/local/Cellar/node/10.10.0/bin/node)
   npm    : 6.4.1
   OS     : macOS High Sierra
   Xcode  : Xcode 9.4.1 Build version 9F2000

Describe the Bug
Placeholders are not displayed for ion-select components in certain situations using forms. This began with ba2230510e95b31d8a6a6ab103ca09888f8237b5 and is due to strict checking the selectText variable.
I haven't yet pinned down the specifics of when this occurs due to time restrictions and complex use of formBuilder which may be a contributing factor. However, I can confirm that specifying a form control with an initial value of 'undefined' ends up with an actual value of type 'null', which prevents the placeholder from being displayed.
Forcing the value to be undefined, with setValue(undefined) on the control enables the placeholder to be shown.
Expected Behavior
The placeholder specified for the ion-select component should be shown when no value is selected.

Thanks for the issue! I pushed a fix to change our checks from === undefined to == null. I believe this should fix the problem but if you are able to provide a way for us to reproduce this for you I can be certain of it.
If it is still an issue in 4.0.0-beta.12 I will reopen this. Thank you!


std.stdio: remove redundant version declarations

These just confuse things.

I see you didn't remove GENERIC_IO, I guess that's still needed? If so, that seems to indicate that these version definitions are still useful?

I haven't determined what the right solution for GENERIC_IO is, but I do know that renaming A=B just for the heck of it is not the best idea.

Phobos in general seems to have an excessive number of version declarations.

Check out this:
else version (GENERIC_IO)
{
    nothrow:
    @nogc:

    extern (C) private
    {
        static import core.stdc.wchar_;

        pragma(mangle, fputc.mangleof) int _FPUTC(int c, _iobuf* fp);
        pragma(mangle, core.stdc.wchar_.fputwc.mangleof) int _FPUTWC(wchar_t c, _iobuf* fp);
        pragma(mangle, fgetc.mangleof) int _FGETC(_iobuf* fp);
        pragma(mangle, core.stdc.wchar_.fgetwc.mangleof) int _FGETWC(_iobuf* fp);
    }

    version (Posix)
    {
        private alias _FLOCK = core.sys.posix.stdio.flockfile;
        private alias _FUNLOCK = core.sys.posix.stdio.funlockfile;
    }
    else
    {
        static assert(0, "don't know how to lock files on GENERIC_IO");
    }

meaning that GENERIC_IO just means Posix, because otherwise std.stdio will not compile.

@CyberShadow see also related https://github.com/dlang/phobos/pull/8803

meaning that GENERIC_IO just means Posix

"POSIX but not GNU libc" though, right?
I think I wrote that version (Posix) block and the check is entirely redundant there.

Deferring to @ibuclaw.


openstack access via https

Version Info
latest oscm, openstack xena charmed
Describe the bug
I've successfully generate token via bash after add ca to /etc/ssl/cert/ca-bundle.crt, but via oscm web can not access the controller.
There is only simple log from keystone haproxy : Feb 16 08:54:22 juju-5cb111-0-lxd-5 haproxy[730]: <IP_ADDRESS>:44336 [16/Feb/2022:08:52:51.946] tcp-in_public-port public-port_<IP_ADDRESS>/keystone-0 1/0/90356 15539 cD 2/2/1/1/0 0/0
And nothing in keystone log.
The params are the same in oscm and for curl:
Example: docker exec -it oscm-app /bin/bash
export TOKEN=curl --silent -X POST -H "Content-Type: application/json"   -d '{ "auth": { "identity": { "methods": ["password"], "password": { "user": { "name": "admin", "domain": { "id": "30d31be6fd6e46df9c4cd340c079996f" }, "password": "xxxxxxxxxxxx" }  } }, "scope": { "project": { "name": "admin", "domain": { "id": "30d31be6fd6e46df9c4cd340c079996f" } } } } }' -i "https://<IP_ADDRESS>:5000/v3/auth/tokens" | grep X-Subject-Token | cut -d ":" -f 2
echo $TOKEN
gAAAAABiDLxflHVyboYA-j5NMX7N02PtdE-39bU22wUgj5zXB-1k-yuRGsknqmot-SB1n5WYw0W25bFKyecitvRfqlzge8nFuF3W_KEPDvxjAfHkkHWdbq5n57fHKkaMtI_8gDW18dH5lyte-rIILDn74Z6hN09drV-wPdzrMwGOyKF87N05ZlA
How to Reproduce
Steps to reproduce the behavior:

deploy openstack via juju and maas with self-signed ca (vault)
add ca to ca-bundle in container
Docker instance is in the same network like openstack controller public ip.
test with curl and via oscm web

Observed behavior
A clear description of what was observed to happen.
Expected behavior
A clear and concise description of what is expected to happen.
Screenshots
If applicable, screenshots to help explain your problem.
Additional context
Any other context about the problem here.

From oscm log:
Unable to connect to the OpenStack Controller.
[org.oscm.app.openstack.OpenStackConnection.processRequest(OpenStackConnection.java:177), org.oscm.app.openstack.KeystoneClient.authenticate(KeystoneClient.java:93), org.oscm.app.openstack.controller.OpenStackController.ping(OpenStackController.java:613),
From keystone:
nothing in /var/log/keystone.log
in haproxy.log:
Feb 16 08:54:29 juju-5cb111-0-lxd-5 haproxy[730]: <IP_ADDRESS>:44444 [16/Feb/2022:08:52:53.355] tcp-in_public-port public-port_<IP_ADDRESS>/keystone-0 1/0/96068 28879 cD 1/1/0/0/0 0/0
In apache logs - nothing.


Detection of dependencies like Parcel

it gets heavy with all these dependencies, sometimes never used. I think we should do like Parcel, it seems handy and it keeps everything light.

There is a minimum set of dependencies. For example, if you need Sass, you install it separately.

@nchanged Parcel does things in a more automated way ;)

Well. then leave your suggestions. For all I know parcel doesn't provide as flexible configuration as parcel. I mean no configuration at all xD

closing this for now, as it's not on the priority list


Automator: update istio/client-go@master dependency in istio/istio@master

Generated by Automator - 2024-03-25T21:43:57+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
d566d38a90446fec15f5c212ab1ff63de87af0bc
link
true
/test unit-tests-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
d566d38a90446fec15f5c212ab1ff63de87af0bc
link
true
/test unit-tests-arm64

unit-tests_istio
d566d38a90446fec15f5c212ab1ff63de87af0bc
link
true
/test unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Failing for the same reason as https://github.com/istio/istio/pull/50065. The<EMAIL_ADDRESS>doesn't work with a test.


Couldn't connect to accessibility bus: Failed to connect to socket

I run coolgpus on a 8 gpu machine (ubuntu18.04, NVIDIA-SMI 440.33.01    Driver Version: 440.33.01    CUDA Version: 10.2 ) .
It reports some errors and the main issue is
(nvidia-settings:38841): dbind-WARNING **: 13:57:53.241: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-OxChDaN4Rm: Connection refused

I try methods in https://unix.stackexchange.com/questions/230238/x-applications-warn-couldnt-connect-to-accessibility-bus-on-stderr, but it doesn't work, so I want to find some help here.
The full log is here log.LOG

I've not seen this issue before I'm afraid, so all I can do is give you pointers on how to debug this.
These turn up earlier, during xserver creation:
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/var/log/Xorg.5.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.

It's the 8th server of 8, started with
Xorg :7 -once -config /tmp/cool-gpu-00000000:0F:00.0igxee6_5/xorg.conf

Googling around for the error message suggests that the most likely cause is that you've got a display server running on :7. coolgpus checks for existing x servers by grepping the process list, and while I thought that was a good idea at the time I realise now that there's a better way (grepping for the lock file). I'm away from my server at the moment so I can't update coolgpus to fix that, but try finding xservers as the FAQ recommends and killing those yourself.
If that doesn't work, next thing to try is to isolate the problem. If you haven't restarted since this failed, then that xorg.conf file should still be hanging about. You can check by ls'ing /tmp/cool-gpu-00000000:0F:00.0igxee6_5.
If the file is still there, then try running the command manually and seeing if it fails on its own. If it does fail, then hooray! We've isolated the problem.
If the file is not still there - because you restarted or cleared your tmpdir - then run coolgpus again, see which server fails again, look for the tempdir the failed server uses, and ctrl+f for that in the logs to get a command like the above.

Thanks for your quick and detailed reply.

I do kill the xservers process before I run coolgpus. ps aux | grep Xorg and kill. This doesn't work.

I find the directory in /tmp/cool-gpu-00000000:0F:00.0igxee6_5

root@klfy-SYS-4028GR-TR2:/tmp/cool-gpu-00000000:0F:00.0igxee6_5# ls
edid.bin  xorg.conf
root@klfy-SYS-4028GR-TR2:/tmp/cool-gpu-00000000:0F:00.0igxee6_5# cat xorg.conf
Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"     0    0
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "VideoCard0"
    Monitor        "Monitor0"
    DefaultDepth   8
    Option         "UseDisplayDevice" "DFP-0"
    Option         "ConnectedMonitor" "DFP-0"
    Option         "CustomEDID" "DFP-0:/tmp/cool-gpu-00000000:0F:00.0igxee6_5/edid.bin"
    Option         "Coolbits" "20"
    SubSection "Display"
                Depth   8
                Modes   "160x200"
    EndSubSection
EndSection

Section "ServerFlags"
    Option         "AllowEmptyInput" "on"
    Option         "Xinerama"        "off"
    Option         "SELinux"         "off"
EndSection

Section "Device"
    Identifier  "Videocard0"
    Driver      "nvidia"
        Screen      0
        Option      "UseDisplayDevice" "DFP-0"
        Option      "ConnectedMonitor" "DFP-0"
        Option      "CustomEDID" "DFP-0:/tmp/cool-gpu-00000000:0F:00.0igxee6_5/edid.bin"
        Option      "Coolbits" "29"
        BusID       "PCI:15:0:0"
EndSection

Section "Monitor"
    Identifier      "Monitor0"
    Vendorname      "Dummy Display"
    Modelname       "160x200"
    #Modelname       "1024x768"
EndSection

If the file is still there, then try running the command manually and seeing if it fails on its own. If it does fail, then hooray! We've isolated the problem.

But I did not know the meaning of the above word and how to run the command manually :confused:...

Besides, I think the problem is relevant to the GPU with pci bus id 00000000:0D:00.00 not 0F. When I run coolgpus,
it works well for the former 5 gpus, id 04/06/07/08/0c, then error occurs when it reaches gpus with id '0F'.
Another evidence is there is no relevant process about 0F gpu in the nvidia-smiresult

I do kill the xservers process before I run coolgpus. ps aux | grep Xorg and kill. This doesn't work.

Reading the FAQ, the way it says to look for lock files rather than process names makes me think that sometimes X servers might not be called Xorg in the ps list. Check whether you've got any anomalous lock files of the format /tmp/.X0-lock.

But I did not know the meaning of the above word and how to run the command manually 😕...

Pardon me, the command to run manually is
Xorg :7 -once -config /tmp/cool-gpu-00000000:0F:00.0igxee6_5/xorg.conf

following the pattern
Xorg $DISPLAY_ID -once -config /tmp/$CONFIG_DIR/xorg.conf

This is what coolgpus uses to create a display server. There should be one directory in /tmp/ for each GPU bus; try running the command for #5 if you think that's the one that's broken.

Cool!

No *lock files in /tmp

Xorg :5 -once -config /tmp/cool-gpu-00000000:0D:00.0v07gty2v/xorg.conf did cause error.
root@klfy-SYS-4028GR-TR2:/tmp# Xorg :5 -once -config /tmp/cool-gpu-00000000:0D:00.0v07gty2v/xorg.conf
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/var/log/Xorg.5.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.

root@klfy-SYS-4028GR-TR2:/tmp# Xorg :4 -once -config /tmp/cool-gpu-00000000:0C:00.0jgcto0z1/xorg.conf

X.Org X Server 1.19.6
Release Date: 2017-12-20
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.4.0-168-generic x86_64 Ubuntu
Current Operating System: Linux klfy-SYS-4028GR-TR2 4.15.0-109-generic #110-Ubuntu SMP Tue Jun 23 02:39:32 UTC 2020 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.15.0-109-generic root=UUID=c010ec2c-e172-49e3-bac0-f03ff4366b2d ro text
Build Date: 14 November 2019  06:20:00PM
xorg-server 2:1.19.6-1ubuntu4.4 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.34.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.4.log", Time: Fri Aug 14 19:35:26 2020
(++) Using config file: "/tmp/cool-gpu-00000000:0C:00.0jgcto0z1/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"

Is there any way to ignore the id-5/0D gpu, then coolgpus should work well with other gpus?
An advanced function is that I can choose which gpus to control their fans.
It seems CUDA_VISIBLE_DEVICES="0,1,2,3,4,6,7" coolgpus does not work.

Again, thank you for your reply and help.

Xorg :5 -once -config /tmp/cool-gpu-00000000:0D:00.0v07gty2v/xorg.conf did cause error.

Hooray - if you want to debug this further, then add a -logverbose 6 switch to that Xorg command.

Is there any way to ignore the id-5/0D gpu, then coolgpus should work well with other gpus?

There's no supported way to restrict which GPUs are altered, but coolgpus is a pretty simple script and you can hack it in. Open the script with vim $(which coolgpus) (or whatever text editor you prefer) and edit the bottom of the file
def run():
    buses = gpu_buses()

to look like
def run():
    buses = [b for b in gpu_buses() if != '00000000:0D:00.0']

Or something like that. Again, I don't have access to my own server right now so I can't test this out for you. You might want to add a print(buses) line to check that it is actually a list of bus strings.
Anyway, save it and then it should run for all GPUs but the specified one.

I change the code like

def run():
    #buses = gpu_buses()
    buses = [b for b in gpu_buses() if b not in ['00000000:0D:00.0', '00000000:0E:00.0', '00000000:0F:00.0']]
    print("The PCI BUS ID of GPUs:", buses)
    with xservers(buses) as displays:
        if args.debug:
            debug_loop(displays)
        else:
            manage_fans(displays)

if __name__ == '__main__':
    run()

It works well for the first 5 gpus :smiley: :smiley:.
Only ignoring ['00000000:0D:00.0', '00000000:0E:00.0'] or['00000000:0D:00.0'] is not enough. Same error occurs.
Pretty wired.

Hrm. If you skip the first four GPUs instead, do the last four work?

Hrm. If you skip the first three GPUs instead, do the last five then work?

sudo coolgpus --temp 17 84 --speed 15 96
The PCI BUS ID of GPUs: ['00000000:08:00.0', '00000000:0C:00.0', '00000000:0D:00.0', '00000000:0E:00.0', '00000000:0F:00.0']

(==) Using system config directory "/usr/share/X11/xorg.conf.d"
GPU :0, 56C -> [62%-64%]. Setting speed to 62%
GPU :1, 60C -> [66%-69%]. Setting speed to 66%
GPU :2, 63C -> [70%-73%]. Setting speed to 70%
GPU :3, 68C -> [76%-79%]. Setting speed to 76%
GPU :4, 67C -> [75%-77%]. Setting speed to 75%
GPU :0, 60C -> [66%-69%]. Setting speed to 66%

Enn, it also works well.

OK, it certainly looks like your machine is limited to 5 Xorg processes at a time.
If 18.04 has a newer version of xorg-server available, try upgrading and see if this all magically goes away?
I haven't gotten any previous bug reports like this. Either you're the first person to try it on an 8 GPU machine, or there's something special about your setup.
If you've got a friend with another 8 GPU machine, you could try asking them if they have the same problem.
Otherwise, I think you should gather up a bug report and post it to the xorg-server issue tracker or to the ubuntu stackexchange. Some stuff that'd be useful to include:

A short description of what's happening: you're trying to start eight headless Xorg instances on eight separate GPUs, and on the sixth launch you get this error message. It happens no matter which six GPUs you launch on.
A description of your operating system, nvidia drivers, Xorg version, motherboard and GPUs.
A copy of the -logverbose 6 file you get off of the failed process.
A minimal example, if you can spare the time to put it together. I've made a quick attempt below

#!/usr/bin/python
import os
import re
from subprocess import TimeoutExpired, Popen, PIPE, STDOUT
from tempfile import mkdtemp
from contextlib import contextmanager
import time

# EDID for an arbitrary display
EDID = b'\x00\xff\xff\xff\xff\xff\xff\x00\x10\xac\x15\xf0LTA5.\x13\x01\x03\x804 x\xee\x1e\xc5\xaeO4\xb1&\x0ePT\xa5K\x00\x81\x80\xa9@\xd1\x00qO\x01\x01\x01\x01\x01\x01\x01\x01(<\x80\xa0p\xb0#@0 6\x00\x06D!\x00\x00\x1a\x00\x00\x00\xff\x00C592M9B95ATL\n\x00\x00\x00\xfc\x00DELL U2410\n  \x00\x00\x00\xfd\x008L\x1eQ\x11\x00\n      \x00\x1d'

# X conf for a single screen server with fake CRT attached
XORG_CONF = """Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"     0    0
EndSection
Section "Screen"
    Identifier     "Screen0"
    Device         "VideoCard0"
    Monitor        "Monitor0"
    DefaultDepth   8
    Option         "UseDisplayDevice" "DFP-0"
    Option         "ConnectedMonitor" "DFP-0"
    Option         "CustomEDID" "DFP-0:{edid}"
    Option         "Coolbits" "20"
    SubSection "Display"
                Depth   8
                Modes   "160x200"
    EndSubSection
EndSection
Section "ServerFlags"
    Option         "AllowEmptyInput" "on"
    Option         "Xinerama"        "off"
    Option         "SELinux"         "off"
EndSection
Section "Device"
    Identifier  "Videocard0"
    Driver      "nvidia"
        Screen      0
        Option      "UseDisplayDevice" "DFP-0"
        Option      "ConnectedMonitor" "DFP-0"
        Option      "CustomEDID" "DFP-0:{edid}"
        Option      "Coolbits" "29"
        BusID       "PCI:{bus}"
EndSection
Section "Monitor"
    Identifier      "Monitor0"
    Vendorname      "Dummy Display"
    Modelname       "160x200"
    #Modelname       "1024x768"
EndSection
"""

def log_output(command, ok=(0,)):
    output = []
    print('Command launched: ' + ' '.join(command))
    p = Popen(command, stdout=PIPE, stderr=STDOUT)
    try:
        p.wait(60)
        for line in p.stdout:
            output.append(line.decode().strip())
            print(line.decode().strip())
        print('Command finished')
    except TimeoutExpired:
        print('Command timed out: ' + ' '.join(command))
        raise
    finally:
        if p.returncode not in ok:
            print('\n'.join(output))
            raise ValueError('Command crashed with return code ' + str(p.returncode) + ': ' + ' '.join(command))
        return '\n'.join(output)

def decimalize(bus):
    """Converts a bus ID to an xconf-friendly format by dropping the domain and converting each hex component to
    decimal"""
    return ':'.join([str(int('0x' + p, 16)) for p in re.split('[:.]', bus[9:])])

def gpu_buses():
    return log_output(['nvidia-smi', '--format=csv,noheader', '--query-gpu=pci.bus_id']).splitlines()

def config(bus):
    """Writes out the X server config for a GPU to a temporary directory"""
    tempdir = mkdtemp(prefix='cool-gpu-' + bus)
    edid = os.path.join(tempdir, 'edid.bin')
    conf = os.path.join(tempdir, 'xorg.conf')

    with open(edid, 'wb') as e, open(conf, 'w') as c:
        e.write(EDID)
        c.write(XORG_CONF.format(edid=edid, bus=decimalize(bus)))

    return conf

def xserver(display, bus):
    """Starts the X server for a GPU under a certain display ID"""
    conf = config(bus)
    xorgargs = ['Xorg', display, '-once', '-config', conf]
    print('Starting xserver: '+' '.join(xorgargs))
    p = Popen(xorgargs)
    print('Started xserver')
    return p

@contextmanager
def xservers(buses):
    """A context manager for launching an X server for each GPU in a list. Yields the mapping from bus ID to
    display ID, and cleans up the X servers on exit."""
    displays, servers = {}, {}
    try:
        for d, bus in enumerate(buses):
            displays[bus] = ':' + str(d)
            servers[bus] = xserver(displays[bus], bus)
        yield displays
    finally:
        for bus, server in servers.items():
            print('Terminating xserver for display ' + displays[bus])
            server.terminate()

if __name__ == '__main__':
    buses = gpu_buses()
    with xservers(buses) as displays:
        time.sleep(5)

Sorry I couldn't resolve this for you! I'd appreciate it if you could link any bug reports you make back here, so the next person with this same issue can follow along.

If 18.04 has a newer version of xorg-server available, try upgrading and see if this all magically goes away?

It seems X.Org X Server 1.19.6 is the newest version on ubuntu 18.04. I will try it if there is a new version and report here.

If you've got a friend with another 8 GPU machine, you could try asking them if they have the same problem.

I ask for help from one friend. He can access to a 10 gpu machine. coolgpus works well on the 10 gpu machine. The machine is ubuntu 18.04 with NVIDIA-SMI 450.51.06    Driver Version: 450.51.06    CUDA Version: 11.0.
I think the problem may be related to the version of nvidia dirver. I will try to update my driver and run coolgpus again, but I cannot do it know. Because the gpu is working now.

At this time, I first set fan speed of the first 5 gpus then set fan speed for last 5 gpus . Then I interrupt (ctrl+c) coolgpus when it runs normally and the high fan speed (set by coolgpus) will remain high. So I make 8 gpus run with high fan speed and achieve my goal :smile:.

Smart fix, nice job!
If anyone else comes across this and wants to use @mzhaoshuai's approach as a general solution, editing the script with vim $(which coolgpus) and substituting the run function with something like
def run():
    buses = gpu_buses()
    for bus in buses:
        print('Setting speed of ' + str(bus))
        with xservers([bus]) as displays:
            set_speed(displays[bus], 99)

should work.
I'll close this issue for now, but reopen it if you have any further comments.

If 18.04 has a newer version of xorg-server available, try upgrading and see if this all magically goes away?

It seems X.Org X Server 1.19.6 is the newest version on ubuntu 18.04. I will try it if there is a new version and report here.

If you've got a friend with another 8 GPU machine, you could try asking them if they have the same problem.

I ask for help from one friend. He can access to a 10 gpu machine. coolgpus works well on the 10 gpu machine. The machine is ubuntu 18.04 with NVIDIA-SMI 450.51.06 Driver Version: 450.51.06 CUDA Version: 11.0.
I think the problem may be related to the version of nvidia dirver. I will try to update my driver and run coolgpus again, but I cannot do it now. Because the gpu is working now.

Well, I got some news.
I upgraded the nvidia diver on the machine to Driver Version: 450.36.06, and now, coolgpus works perfectly with 8 gpus:smile:.

Great! And thanks for coming back and sharing the solution; it'll be a big help to the next person with the same issues.


Inheritance Exercise

Implement a solution for the Inheritance exercise

Submitted to Base Goerli: https://goerli.basescan.org/address/0xC94C03a29B68E24E4a2CB241a447882d798E815F#code


about the inference demo

sooorry to bother you again :p
I want to test the online recognition. but the inference erro like this: **RuntimeError: cuda runtime error (2) : out of memory at /pytorch/aten/src/THC/generic/THCStorage.cu:58**
only i set the batchsize to 2 and then it can work. but I find the eval will success when the batchsize is 15. below is the code:

I test it on UCF101. thanks in advande

input_var = data.cuda() Does it matter?

I think I find the problem. I am not familar to pytorch. I only have one graph card . so I replace the code model = torch.nn.DataParallel(model, device_ids=args.gpus).cuda() to mode.cuda() . when I recover is was normal........

Hi, how to  test the online recognition? Is Real-time Video Streaming ？


BUGFIX: Never truncate the message on receive

This fix a regression introduced by 851d8819940ddbc0ed66a8e69e274495208c9001

Check my comments on the original PR https://github.com/repejota/phpnats/pull/61#issuecomment-226853897

Coverage decreased (-0.2%) to 85.027% when pulling a0bc44b8ba8caa957bee152435ed1f259cd527fa on dfeyer:bugfix-truncate into bcded22a929f85a4cfdc4884cfb52ce2756ba13d on repejota:develop.

Thanks!


DOC: docs/expression_language/cookbook/tools --next leads to a previous page

Issue with current documentation:
Converting https://python.langchain.com/ to a pdf using https://github.com/jean-humann/docs-to-pdf runs forever because https://python.langchain.com/docs/expression_language/cookbook/tools --next leads to a previous page.
npx docs-to-pdf --initialDocURLs="https://python.langchain.com/" --contentSelector="article" --paginationSelector="a.pagination-nav__link.pagination-nav__link--next" --coverImage="https://upload.wikimedia.org/wikipedia/commons/3/3f/LangChain_logo.png" --coverTitle="LangChain"
Idea or request for content:
No response

@dosu-bot the page with the incorrect link is
https://python.langchain.com/docs/expression_language/cookbook/tools
The next button incorrectly leads to
https://python.langchain.com/docs/expression_language/
It should lead to
https://python.langchain.com/docs/expression_language/why


Temp plotting fix

For be/rx combos without markers or colors in the plotting dict, assigns a black 'x' and throws a warning to avoid crashing.

Oh it's a conflict with my plotting PR, I made a mistake.


Does importing DynamoDB Storage changes Amplify App's permission?

Before opening, please confirm:

[X] I have checked to see if my question is addressed in the FAQ.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting questions.
[X] I have removed any sensitive information from my code snippets and submission.

App Id
PRIVATE
AWS Region
us-east-1
Amplify Hosting feature
SSR
Question
I have deployed a NextJS v12.3.1 successfully with Amplify. Its API routes need to read/write data from a DynamoDB Table in the same account and region as the NextJS app. The table already exists and is managed by another team.
I have done the steps mentioned in these docs: import, push, and update env vars.
I'm using Dynamoose v3.1.0 for interacting with the table. It offers 2 ways of configuring the credentials: hard coded and IAM Role.
Unfortunately, none of the configuration approaches is working for me.
When accessKeyId & secretAccessKey are hard-coded, the API call throws:
CredentialsProviderError: Could not load credentials from any providers

at /var/task/node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/credential-provider-node/dist-cjs/defaultProvider.js:13:11
at /var/task/node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/property-provider/dist-cjs/chain.js:11:28
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async coalesceProvider (/var/task/node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/property-provider/dist-cjs/memoize.js:14:24)
at async SignatureV4.credentialProvider (/var/task/node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/property-provider/dist-cjs/memoize.js:33:24)
at async SignatureV4.signRequest (/var/task/node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/signature-v4/dist-cjs/SignatureV4.js:86:29)
at async /var/task/node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/middleware-signing/dist-cjs/middleware.js:16:18
at async StandardRetryStrategy.retry (/var/task/node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/middleware-retry/dist-cjs/StandardRetryStrategy.js:51:46)
at async /var/task/node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js:6:22
at async main (/var/task/node_modules/dynamoose/dist/aws/ddb/internal.js:6:20)

Since this approach didn't work, why the IAM Role didn't work either!?
Shouldn't wherever the API code is running have the proper permissions to read/write from the imported table?
Can you suggest an alternative to get this to work?
Thanks.

Hello. I downloaded the build artifacts from the Amplify Console

And noticed that it contains the following run.sh:
#!/bin/bash
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
unset AWS_SESSION_TOKEN
mkdir -p /tmp/app
cp -r /var/task/.next /tmp/app
cp -f /var/task/server.js /tmp/app/server.js
ln -sf /var/task/.env /tmp/app/.env
ln -sf /var/task/next.config.js /tmp/app/next.config.js
ln -sf /var/task/node_modules /tmp/app/node_modules
ln -sf /var/task/package.json /tmp/app/package.json
ln -sf /var/task/public /tmp/app/public
ln -sf /var/task/src /tmp/app/src
node /tmp/app/server.js

It unsets some important ENV VARs used by aws-sdk to authenticate service requests.
Could this be the root cause? Amplify Console does not let me set any env var with AWS_ prefix...


File Save and SaveAs menu items

This would allow saving the existing set of open test assemblies as an NUnit project. It is supported in NUnit 2.x. It's not clear if we want to support it here or to limit editing of NUnit projects to the standalone project editor application.

This would be nice. I always did it this way in V2

The key issue is that V2 only allowed opening a single project or a set of assemblies,which comprised a sort of virtual project. Now we allow opening multiple projects and assemblies at the same time, so it would require a redefinition of what Save means in some sense. I haven't quite figured it out.
Maybe we just save the package?

I think maybe that is two different issues?

I want to save state, so I can shut down my pc and return tomorrow and do the same thing again. Saving the test package fits nicely here
I want to be able to add an assembly to my current project and save that. This only makes sense for nunit-projects (at least you can't save a new assembly to a VS-project). If you have multiple nunit-projects open, you should be asked which project ou will add the assembly to.

Also is it possible to have a nunit-project contain other projects an not just assemblies? It would be nice to "point to" a visual studio solution (as a project) - meaning that when another vs-project is added to the solution it is also automatically added to nunit-project?

I agree. I think these menu items are for the package... names of files plus a record of any settings. We will have to design a format for that and pick an extension for saving it. I guess .package may be a bit too general.
I think editing a .nunit file is a separate matter. We could shell out to the project editor for that, just as we do in v2. Expanding the format to allow projects to contain projects is something I had thought about as well, but it has some complications. I'd rather postpone that.


Port over device tracker

async implementation
https://geopy.readthedocs.io/en/stable/
https://geopy.readthedocs.io/en/stable/#nominatim

https://developers.home-assistant.io/docs/core/entity/device-tracker


test_minidump_size_limit occasionally fails

The test fails sporadically on my local system (due to small differences). Based on the comments in the test, this isn't anything new.
I'm wondering why the logic/assertion here isn't simply assert!(meta.len() <= minidump_size_limit). As far as I can tell that's what is logically being tested, and there isn't really any way to guarantee (without significantly more effort, I expect) that the minidumps are the same size (with an error tolerance). Alternatively, I don't see much harm in increasing the error tolerance such that it's much less likely to fail.

Yes, I think that relaxing the assertion would be the way to go here. Enforcing a hard limit on the minidump size is too much of an effort for little value, this is really a soft limit.

Yah that has been problematic in the past it's fine to relax it.

So to clarify, do we want to

assert!(meta.len() <= minidump_size_limit) - this is fairly permissive, given that it's allowing the minidump an extra 2MB over the prior run, and realistically wouldn't sporadically fail, or
continue to instead assert that the minidump size is approximately the same as the prior run, but with a more tolerant setting of "approximately"?

So we do test that. The unit test both tests that a larger limit won't be triggered and a smaller limit will. This issue is specifically with regard to the larger limit case (which makes it all the more frustrating that it sporadically fails, since logically it's a simpler case :smile:). I will adjust the larger limit case accordingly.


Added duplicates filter to list_shares

Can you provide some info for this PR?
Also, can you justify why we would need to get the full list of shares (with duplicates)? If there is none, I guess we don't need to overcomplicate it.

Sorry for lack of description. This is a cleanup task discovered during Piotr's work. The truth is I can't see a case for getting duplicated shares now, but having hardcoded always enabled filtering seemed not clean. Besides if OCM will be enabled, current solution won't filter OCM shares correctly.

I do not understand why REVA doesn't give us already the non duplicated list (ping @glpatcern), but fine.. We can merge.

I do not understand why REVA doesn't give us already the non duplicated list (ping @glpatcern), but fine.. We can merge.

I understand that the list includes an entry for each (path, sharee) tuple, so yes the same path may be shared to multiple people and this appears as multiple shares.

Clarification: reva does not return duplicates. I meant that when sharing one file to multiple people, the share list containes all the shares with the same file. For our use (to present in Shared By Me) we need in fact a list of shared files. During mapping we already ensured that one file will appear only once on the list, but the previous solution was not elegant and incorrect, because it compared file paths not resource ids.

Ah, yes, ofc.. Sorry.
I was wondering if a share should have a list of sharees (created by the grouping of shares)? I guess we don't need that at the moment in UI nor are planing to. But then again, we also don't need the api to have the filter_duplicates param, and it would be unnecessary if we kept the info when grouping.
But for now, let's just merge.


VLAZ: Watch linkedin.com/company/33247506

VLAZ requests the watch of the watch_keyword linkedin\.com\/company\/33247506. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

linkedin\.com\/company\/33247506 has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


[BUG]: Dark Themes Stopped Working

What version of drizzle-orm are you using?
0.31.2
What version of drizzle-kit are you using?
0.22.7
Describe the Bug
The dark theme stopped working all of a sudden and now the whole UI is only in light mode.
Expected behavior
The dark mode should work as expected.
Environment & setup
No response

+1
Experiencing the same issue here.

Looks like this is fixed!

Yeahp. So closing the issue.


Add editor#editCard and editor#displayCard to change a card's render mode before/after render

Cards normally render into "display" mode by default. Calling
editor#editCard before the card is rendered will change it so that the
card gets rendered in edit mode initially. If the card has already been
rendered, it switches it to edit mode.

We discussed a further iteration of this: The editor should expose a method to toggle a card in and out of edit. Something like editor.editCard(cardSection); and editor.cancelEditingCard(cardSection);. These can access the cardNode off the cardSection and move the card between edit and display modes.
IMO the followup is not necessary: If a cardSection has not been rendered it will have no cardNode. In these cases the AST should store a hint that the later-instantiated cardNode can use to decide which was the card will be rendered.

refactoring to add the editCard api as described ^^

@mixonic refactored as described above. I'll merge this in soon to support the ember-content-kit PR. Lmk if you have feedback.

Very cool.


Play as audio feature.

Please add "play as audio" feature.
This app is too good but this feature is missing.
If possible then add this feature.

Duplicate of #44


OLH-1583 Add the Stub RPs to the activity log allowlist

Proposed changes

What changed
Auth run stub RP clients in all environments to allow testing of the One Login journey in all permutations. This PR adds the client IDs for these to our allow list of services that can see the activity log.
Why did it change
This will give us an easy way of adding an allowed service to the history of our users in non-production environments for testing.

Sonar are having an incident, so I'm using my admin powers to merge this PR even though the action is failing


Missing "ts" attribute

Source: https://api.slack.com/docs/message-attachments

If I have cycles I can submit a PR but I wanted to flag this missing attribute to start the conversation. Please let me know if I'm missing something.

and footer seems to be missing as well.
In the example, the by Trevor part comes from the footer field.

Can you send a pull-request? :D

Resolved in v.1.4.0


StockAlert date_closed not saved

When StockAlert is closed no date for date_closed field is provided

Could you make a pull request for this? :)

@monikasulik I've already made.

@codeinthehole @maikhoepfel please take a look. Thanks.

I'm neither of them but looks good to me :-)
Thanks


Crash on 6.7

I did a stream of this run here: https://www.twitch.tv/videos/1808853242 - crashed at 4:45 with a dialog pop up
6.7-20230501-150935-32612-9496.zip (crashed during ZB (Kanaxi - The Deep));
I know it popped up because I checked in Task Manager too.
it may not needed but it does not hurt to check before 6.8 release

It may not be needed but just in case.

I took the time to look at this crash dump, and its nothing to do with toolbox - looks like either a rendering issue loading the resource for an in-game model, or an in game texture that was mis-loaded.
If you get a crash without using texmod, let me know, otherwise I won't look at any other dumps from your 6.7

Okay, sounds good. I'll keep an eye out.

I know we closed this but I fixed it, even the auto-crash. It was an issue with in-game textures loading incorrectly.


Update ont-nokia-g-010g-a.md

added chipset, taken directly from my g-010g-a

Hi @drizuid do you have an internal photo that shows this chip being in use? Alternatively a boot or similar is sufficient as well

Hi @drizuid and thank you for your first contribution and we are very happy to accept it, but you can have a internal photo or alternatively photos do you by any chance access to ssh/telnet/serial on the nokia g-010g-a?

Box itself

Info screen

You guys will see there are some other fields you have blank that I have data for, but since those can vary by region and customer, I didn't feel it was appropriate for me to populate them.

I should also note that this MAY BE the southeast former bellsouth region box (usually indicated by the "alt optic" sticker)
some notes on this
https://www.dslreports.com/forum/r33456904-
https://www.dslreports.com/forum/r33458733-

@drizuid

I should also note that this MAY BE the southeast former bellsouth region box (usually indicated by the "alt optic" sticker) I do not know if this leads to any physical hardware differences aside from the actual fiber
some notes on this
https://www.dslreports.com/forum/r33456904-
https://www.dslreports.com/forum/r33458733-

I highly doubt the hardware part is different, most likely the BOSA changes.
a note should certainly at the end of page we need to add the section Miscellaneous Links with DSLreport link.


Any tip on how to use Basic auth and Digest with devise?

Not sure about Devise, but HTTP Basic auth details are available in env from within the context of an API call: env['HTTP_AUTHORIZATION']

If you're using Rails w/ Devise you might want to do something like http://code.dblock.org/grape-api-authentication-w-devise. If you want to do this purely in Grape, there's a Basic and Digest authenticator, which need to be documented. You add auth :http_basic to your API, there're other options too for realm and stuff like that.


about local BA and global BA

hi, haomin
I'm very happy to read your papers. In RKD-SLAM, u report Efficient Incremental BA, which do local BA and global BA seamlessly without switch。
but In ICE-BA, u split local BA and global BA in two thread. why?

RKD-SLAM does not do local BA actually. The global BA only changes the local map in most cases and it is fast enough so we don't need an explict local BA. However for visual-inertial SLAM, local BA is necessary because velocity must be recovered for each frame rather than just keyframes, and the accumulating error must be reduced as soon as possible.

To my knowledge，visual-inertial SLAM also could realize Efficient Incremental BA as RKD-SLAM do. but u discard the method because of time-costing.  in ICE-BA , imu's pre-integration make optimizer add velocity, accel zero-bias, gyro zero-bias which increase burden，so do local BA to recover velocity and do global BA to remove accumulating error  when loop closed. it's right?

Not exactly. I don't discard the method as RKD-SLAM do. Global BA performs in a very similar way as RKD-SLAM, and the additional velocity and bias do not increase much time. The problem is, 1) global BA only optimizes keyframes, 2) the optimization time increases with the number of keyframes. Visual-inertial SLAM need pose and velocity to be recovered for each current frame in realtime. Only the constant time local BA can meet this requirement.

I got it. for realtime, need to choose local BA. but when keyframe's pose optimized is enough accuracy， whether it's ok to use imu's measurement to predict the current frame's pose and velocity(also inertial navigation system).  After all INS's motion model is highly accurate within a short time if the initial state(pose,velocity) is ok.

Yes. But still the runtime of global keeps increasing. Also if keyframe is chosen based on covisibility, the latest keyframe may be temporally far away from current frame.

"The problem is, 1) global BA only optimizes keyframes, 2) the optimization time increases with the number of keyframes. Visual-inertial SLAM need pose and velocity to be recovered for each current frame in realtime. Only the constant time local BA can meet this requirement."
@liuhaomin you means if we want to test visual-inertial SLAM, global BA should be discarded because of it's increasing time with keyframes number increasing? or whether we can keep the keyframes number constant like local frame?

No need to discard it. It is running in background thread so would not affect the realtime performance.


Fix: [Updated Readme with Key Features and Call To Action]

I made the following changes to the readme:
  1. Replaced "Introduction" with a Header Tagline
  2. Added a "Why StayedCSS" Section
  3. Updated the information in the Key Features Section
  4. Added a Call to Action at the end

Fixes #4

Merged PR #7: Updated README with Key Features and Call To Action
Hello, thank you for your contribution to the README!
I've merged this PR and make some minor adjustments afterward to align with the project's style,  keeping all of your great content.
Your effort in enhancing the documentation is greatly appreciated.
Thank you for your valuable contribution!


Bookmarking / Pinboard like features

Marc says that increasingly he finds himself book,asking things for later. We should make sure that the bookmarking feature is robust.

We need to look at the search feature in akkoma at some point and really think about this.


[x] Return success when already installed, for the install command

[x] Return error when the current candidate is not installed, for the current command

[x] Return error when the candidate is not installed, for the upgrade command

[x] Return error when running self-update in offline mode

[x] Return error when nothing is specified to flush command

[x] Return error when listing in offline mode

[x] Return error when command not found

[x] Return error when not a valid offline mode, for the offline command

[x] Add a new function to echo red with "Stop! " in order to remove repetition

[x] Add "Stop!" to some places I believe they are supposed to have: just before a return 1.

[x] Fix 3 broken test cases that weren't caught before

Please merge using squash if possible.
Fixes #731

Should I improve the output message by prepending "The package" on it?

Looks good so far. Could I please ask you to also add a step in the feature that checks that the return code is 0?

For some reason, I don't know if it is because of VS Code or Gitpod itself, every time I clone the repository, some files are generated under bin/test/, so I added this folder in .gitignore. You can take a look by yourself if you want to:
https://gitpod.io/#https://github.com/sdkman/sdkman-cli

@marc0der I think I've got too much excited...
Please note, I believe the test case I enter "([^"]*)" and answer "([^"]*)"$' are not working, and we only caught it now because of the status code check. At least for the Y answer. I tried to solve but I was not able to, I didn't find any official reference for the Groovy's command.execute() which could help me. So I need your help here. (Just in case you don't know, the command yes accept a parameter string, which can be the desired answer such as yes ${answer} | sdk install java.
I also believe the post-install hook is not working and we only caught it now.

@marc0der It seems good to me. I commented everywhere I thought it was important.

Can someone help to review?

@felipecrs sorry to mess you around like this, but it feels like this PR has drifted off substantially from what it was intended to do, namely sdk install should be no-op if package already installed.
I'm all up for some additional improvements but would prefer them in separate smaller PRs. Having small PRs makes it much easier to review and merge. I'd suggest taking a step back and first fixing the actual problem (with it's associated test) so we can get that deployed asap for @przemek-pokrywka to start using. Then once that is done we can do fixing of tests, changing behaviour etc in subsequent fine-grained PRs. wdyt?

Hi, thanks both, these changes will certainly be useful for many people, but I'll be good even without them for now, as I needed to remove the sdkman dependency from my project (https://github.com/tsk-tsk/tsk-tsk), because sdkman had too many transitive dependencies (bash, curl, unzip, which, zip), which made it less practical on truly minimal systems (most of the Linux distribution Docker images) than https://get-coursier.io/docs/cli-java.
So it's no longer asap for me, apologies for the shameless plugs, I hope they make it clear why it's no longer asap for me at least.
I'll also applaud the suggestion to make smaller PRs, way more easy to review a small change.
All the best to everybody!

@marc0der If that's the only way to get this merged, then I have no choice, right?

Thanks @marc0der. I'll split the PR into more.

Cool, thanks for understanding @felipecrs. I know I'm a bit extreme about git hygiene, but it does result in a cleaner timeline in the end :smile:

@felipecrs Regarding the broken test for pre/post install hooks. Don't worry about that one, I'll fix it. Shouldn't take me much time and it should save you yours.

@felipecrs Okay, I've ended up using grails like you had it, I was confusing it with the java installation feature which also exercises the hooks. I'll put it on master so you can rebase.

@marc0der Alright. I'll try to make it today yet.

@marc0der ready for review 👍🏻

Thanks for the contribution!

@marc0der, any plans about when to release this?


Pianoteq/version update add standard versions

Description of changes
Updated hashes to 8.1.1 and added hashes for standard versions

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] 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/)
23.11 Release Notes (or backporting 23.05 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

[x] Fits CONTRIBUTING.md.

Hello @mausch
I had to create a new pull request, but I believe I have addressed the comments mentioned in #239281.

Hi, this is much better!
There's still a few small things to fix:

Commits should be prefixed with pianoteq: to indicate what package they are about. See https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#submitting-changes
Avoid formatting changes just because or put them in a separate commit.
There's logically two changes here so there should be two commits with the following messages and content:

pianoteq.{stage-trial,standard-trial}: 8.0.8 -> 8.1.1
pianoteq: add standard-6, standard-7 and standard-8

Thanks for the tips! This is my first time contributing anywhere so hopefully I should be much better at reading the guidelines next time. Thanks for being patient. Let me know if there is anything else I need to do(I think I addressed all the points)!


Issue 17269: formattedWrite of struct with Nullable value fails

The bug was caused by formatElement implicitly converting Nullable!string to string, that resulted in an error when the Nullable was null.
New behavior is to use the toString method when available, instead of implicitly converting the value.

Urgh, it's all StringTypeOf's fault. That template is way too permissive.
Looks like formatValue uses this same method so we might as well keep it consistent. Sorry for the noise.

fyi the first fix I thought of was to modify StringTypeOf to return false if the struct is implicitly convertible to string using an alias this to a function that can throw.
But since Nullable does an assert, it wouldn't work (and modifying StringTypeOf has too many consequences)

Reworded the commit message, s.t. the dlang bot recognizes it and it can be auto-closed and part of the changelog (and also rebased to upstream/master).

I added the initial example of as an additional unittest example - this is considered a good practice.
Anyhow now we are failing due to:
core.exception.AssertError@std/format.d(4097): expected = `void delegate() @system`, result = `void delegate()`

I encountered the same unittest error when initially trying to fix formattedWrite
Since it didn't make much sense to me, I changed the test to use a custom struct that has the same problem as Nullable!string and the unittest error disappeared, so I concluded that it was because of a weird import conflict or something like that, without much more investigations

@RazvanN7 With #7771 fixing the problem, after fixing the merge conflict (formatspec is meanwhile scope), IMHO this can be merged now.

@RazvanN7 With #7771 fixing the problem, after fixing the merge conflict (formatspec is meanwhile scope), IMHO this can be merged now.

@CromFr Please rebase this and we will get it in.

@CromFr Please rebase this and we will get it in.

Should be good now :)

Should be good now :)

@RazvanN7 circleci seems not to respond... Is there anything, that can be done?

Superweird. I can't even access the details page.

@berni44 I just restarted it.


[RTOS] Blinker Light Task

This RTOS task should control the blinkers -- mainly ensuring that the correct one is pulsed. The state diagrams and some pseudocode can be found on the Google Drive (Electrical Team > Controls > New Design > Software > RTOS), but don't take either resource as absolute truth. This is the time to reason about this application code, so try to think about what exactly each module should be doing.

Closed by PR #199


Add image support for markup component

Related to https://github.com/datalens-tech/datalens/issues/92


Handle HTTP 409 (conflict) responses

Introduces ThrottlingError from https://github.com/honzajavorek/fiobank/pull/7 by @Visgean.

Closes https://github.com/honzajavorek/fiobank/issues/5
Closes https://github.com/honzajavorek/fiobank/pull/7

Needs test 😐 Hopefully test will be introduced when implementing https://github.com/honzajavorek/fiobank/issues/12.

@Visgean Thank you very much for your contribution. I'm sorry it took so long. If you feel like adding tests to this, it would be awesome.

I am afraid I dont have time for that right now.


CI/CD automated static analysis: vulnerability scanning

The scope of this issue is targeted to security and vulnerability related checks. General code quality analysis is a separate issue.
Automated vulnerability scanning should be run against all releases, with meaningful issues addressed.

The reports from targeted vulnerability scanning should be visible to project maintainers.
Project maintainers should review each unresolved issue to curate it for validity.
All actual (accurate true-positive) issues flagged should be addressed with code changes, dependency changes, or other.
Before a branch is released, all found issues on that branch should be resolved.

For now, Snyk.io is being used, and this will likely remain the case. However, there is room to modify or add additional vulnerability scanners if needed.

Active with snyk on all builds now.


Whats minimum sdk level required for FlexboxLayout ?

[ ] I have searched existing issues and confirmed this is not a duplicate

Issues and steps to reproduce
Please replace this with steps to reproduce your issue.
Expected behavior
Please describe what you expected would happen.
Version of the flexbox library
e.g. 0.2.6, 0.3.0-alpha3
Link to code
Please link to the code we can use to reproduce this issue.
A complete project we can build/run is preferred, if you can't provide one, please show
us relevant code

minSdkVersion = 14 in build.gradle project file


Add 11ty-resume-template

What does this PR do?
Adding a new template to the starter template kit
Details
The template is fully configurable with a 100% lighthouse score, and it is fully accessible to the audience.
Any reference documentation?
https://github.com/learnwithgurpreet/11ty-resume-template

Thanks for your contribution - looks great!


request for cmd line input of .reg files?

any chance you will implement importing .reg files via cmdline.  Love to use this standalone inside of SCCM packages

I like this idea - this is an upvote ;-)


Update issue templates

Thoughts on some potential issue templates for this repository? They are largely similar to the templates provided by GitHub, but as suggested in Slack these would make it easier for members of the community to communicate what they would like out of the project.

I'd love to get something like this made available in the main wasmCloud repo as well.


Question about using stateful functionality

Lets say we have the following code shown below. As we can see the update_sparse_gp() is called and the returned k_zz_inv_U is then passed through the args parameter of the ODE.
In my actual code I have to create a lot more variables in a similar manner and overall structure of called methods before and within the ODE is far more complicated. Currently, I have to wrap them all in a dictionary and pass them all via the arg parameter of the ODE.
I was wondering if I could use something like the equinox stateful functionality (or an alternative method) to handle updating instances of variables within the class, such that other methods can make use of them without having to pass them into each method explicitly.
class SparseGP(eqx.Module):

    log_alpha : jnp.ndarray
    log_gamma : jnp.ndarray
    log_beta : jnp.ndarray
    Z : jnp.ndarray
    U : jnp.ndarray
    FLOW_TIME : float = eqx.static_field()
    ODE_RTOL : float = eqx.static_field()
    ODE_ATOL : float = eqx.static_field()
    jitter : float = eqx.static_field()
    n_evaluation_steps : int = eqx.static_field()
    M : int = eqx.static_field()

    def __init__(self,
                params,
                FLOW_TIME=4.0,
                ODE_RTOL=1.4e-3,
                ODE_ATOL=1.4e-3,
                n_evaluation_steps=1,
                jitter=1e-6):
        self.log_alpha = params['log_alpha']
        self.log_gamma = params['log_gamma']
        self.log_beta = params['log_beta']
        self.Z = params['Z']
        self.U = params['U']
        self.FLOW_TIME = FLOW_TIME
        self.ODE_ATOL = ODE_ATOL
        self.ODE_RTOL = ODE_RTOL
        self.n_evaluation_steps = n_evaluation_steps
        self.jitter = jitter
        self.M = self.Z.shape[0]

    def update_sparse_gp(self):
        kernel = self.kernel_builder_function(self.Z, self.Z)
        k_zz = kernel + safe_div(1.0, jnp.exp(self.log_beta) + self.jitter) * jnp.eye(self.M)
        l_zz = jsp.linalg.cholesky(k_zz, lower=True)
        k_zz_inv_U = jnp.linalg.solve(k_zz, self.U)
        return k_zz_inv_U

    def kernel_builder_function(self, X, Z):
        kernel = create_squared_exp_kernel(X, Z, alpha=jnp.exp(self.log_alpha), gamma=jnp.exp(self.log_gamma))
        return kernel

    def predict(self, x, t, k_zz_inv_U):
        x = x[None, :]
        ts = jnp.array(t) * jnp.ones((x.shape[0], 1))
        xt = jnp.concatenate((x, ts), axis=1)
        k_xz = self.kernel_builder_function(xt, self.Z)
        return jnp.einsum('ij,jk->ik', k_xz, k_zz_inv_U)

    def curl_3d(self, t, x, k_zz_inv_U):
        jacobian_predict_func = vmap(jacrev(self.predict, argnums=(0)), ((0), (None), (None)))
        jac = jnp.squeeze(jacobian_predict_func(x, t, k_zz_inv_U))
        dFz_dy = jac[:, 2, 1]
        dFy_dz = jac[:, 1, 2]
        dFx_dz = jac[:, 0, 2]
        dFz_dx = jac[:, 2, 0]
        dFy_dx = jac[:, 1, 0]
        dFx_dy = jac[:, 0, 1]
        solenoidal_field = jnp.stack([dFz_dy - dFy_dz, dFx_dz - dFz_dx, dFy_dx - dFx_dy], axis=1)
        return solenoidal_field

    def __call__(self, input):
        k_zz_inv_U = self.update_sparse_gp()

        if self.n_evaluation_steps == 1:
            saveat = dfx.SaveAt(t0=False, t1=True)
        else:
            saveat = dfx.SaveAt(ts=jnp.linspace(0.0, self.FLOW_TIME, self.n_evaluation_steps))

        term = dfx.ODETerm(self.curl_3d)
        sol = dfx.diffeqsolve(term,
            y0=input,
            t0=0.0, t1=self.FLOW_TIME,
            dt0=0.1,
            saveat=saveat,
            solver=dfx.Dopri5(scan_stages=True),
            stepsize_controller=dfx.PIDController(rtol=self.ODE_RTOL, atol=self.ODE_ATOL),
            adjoint=dfx.BacksolveAdjoint(),
            max_steps=None,
            args=k_zz_inv_U
        )
        return sol.ys[-1]

Probably not! Passing via args is the expected way to do this kind of thing.
I'd really strongly suggest avoiding the stateful functionality. It is wildly experimental :)

Thanks for the swift response.


Pipes don't connect to chests placed by other plugin

A plugin of mine places a chest by using setType(), pipes do not connect to this chest. But after a server reload or rejoining the pipe does connect. The weird thing is that hoppers do always connect to the chest and don't have this problem.
I'm not sure if it's your plugin that is causing this problem, but the fact that hoppers do work just fine makes it probable.

i think you can just use the transportpipes api to update the pipes connected faces

But using the api would mean all users of my plugin would need Transport Pipes, so i don't think that is a suitable solution.

No, you simply can use TransportPipes as soft dependency and notify the block placement only if TransportPipes is enabled

I now tried to register the chest as a container by using the API. Now the extraction pipe does connect to the chest, but still no blocks are going through the pipe, they only do after a server reload.

did you use this method to notify TransportPipes about the block placement: de.robotricker.transportpipes.pipeutils.ContainerBlockUtils#updatePipeNeighborBlockSync(Block toUpdate, boolean add) If not please try this method.

That solved the issue, thanks.


Create Jupyter Notebook on how to develop a transformer & make available on CyVerse DE

[x] Review how other groups have done this (see slack message)
[x] Show how to develop a transformer using Jupyter notebook so that it's copy and paste to actual transformer.
[x] Provide a docker instance for CyVerse DE app with resulting notebook

[ ] Talk to Adam Thornton from LSST
[ ] Attend Python Meetup in December where Adam will present on his work for this

It will be based on this presentation: https://athornton.github.io/JupyterCon-2018-talk/#/step-1

[ ] Investigate SoS Polyglot Notebooks and SoS Workflow System

https://vatlab.github.io/sos-docs/
I played with this some time ago - it seemed promising

Related: Proposal to evolve transformer architecture #27

This is located in a separate repository, I will link it here
https://github.com/Sithyphus/jupyter-transformer-sandbox/tree/develop
All that's left should be to update the readme (it's a bit bare) and some documentation here and there.
Also talk to the DE team and see what sort of "compatibility" issues that may or may not be a problem, I'll make a separate ticket and link it to this.
Also probably a good idea to have someone review it, most likely Chris and I will get together to do that. I could make a pull request of sorts but most likely I'll just have a quick talk to him whenever we're not too busy.

@Sithyphus  Is this done with all the follow on work?

Would be great to have this as a demo at our next sprint review


Harvester node to use Fiber Channel connected LUNs

Is your feature request related to a problem? Please describe.
Allow harvester node to add LUNs presented to node through fiber channel connection to backend SAN.
Describe the solution you'd like
Usually LUN is presented to node shows later in /proc/partitions
At that point ,  should be able to add it to disks .
Describe alternatives you've considered
none
Additional context
This feature allow using existing SAN infrastructure .

@kingnarmer We're considering bringing in third-party storage via CSI interface in #1199 . Can you check if it meets your requirement?

@kingnarmer are you please able to confirm if your use case is to use fc lun's via csi to passthrough to VM workloads?

@ibrokethecloud  My use case is to add FC-backed LUNs (appearing as /sdd, /sde, /sdf, /sdxx on the OS) to a storage pool, such as /var/lib/harvester/defaultdisk. I am not intending to connect FC LUNs directly to a VM via passthrough.

this should be possible even now, but needs some additional config via a config yaml to enable and configure multipathd.
are the FC LUN's visible on your harvester node or do you need any additional kernel drivers for this to work?

I think this Harvester-Installer issue might be of interest.


i18n(zh-cn): Update css-and-tailwind.mdx

Description

Update css-and-tailwind.mdx
#2282

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

zh-cn
guides/css-and-tailwind.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Roundtrip WebDriverAgent bundle

Being able to code sign the Facebook / Appium WebDriverAgent is an important use case for me.  It will drive most of the contributions I'll be making to the CodeSign project.
Ideally, CodeSign can roundtrip the WebDriverAgent bundle: you feed it a signed copy of WebDriverAgent, with the same code signing certificate, identity and signing date, and you get an exact copy of that bundle back.

#17, #18 and #19 combined allow me to roundtrip the main WebDriverAgent executable.  I'll put up a PR with a unit test once all these inidivual PRs are merged.

Great work! I will try to review everything in the coming days.

Related PRs are merged. Should we close this, or is there anything left to track?


Cipher chosen by server instead by client

Instead of using a TLS configuration that let the HTTPS client select the cipher (see mozilla_intermediate), use a TLS configuration that let the server choose a cipher with an algorithm optimized for the underlying hardware to improve performance.
In benchmarks it was observed that the performance could be improved by ~10% after forcing apache-bench to use AES-256-GCM instead of the automatic selected ChaCha20-Poly1305.

You've probably already guessed, but I'm kina unfamiliar with SSL/TLS. I have more of a set-it and forget-it mentality when it comes to dealing with it.
I've implemented a change that allows clients to customize their TLS1 and TLS1.3 ciphersuites through the configuration. In addition, the defaults should hopefully be much better (no more ChaCha20-Poly1305!)

Looks nice, with the recent change apache-bench now automatically gets the fastest server side cipher.
With this and probably the other recent adjustments, scalpel is now heads on with mdathx (at least regarding SSL performance).


最好能增加ip的地址位置，以国家区分

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

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

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

OS: [e.g. macOS 10.15.2]
Python [e.g. Python 3.6]
Browser [e.g. Chrome 67 ]

Additional context
Add any other context about the problem here.

同求以地理位置（省份-城市）或者是行政编号为参数获取指定地址的ip，感谢！


STREAM-3081 Introduce Stream Connect docs

I've dropped the 'hidden' from the index page.

This is the initial pass at Stream Connect docs.

Force push catches some commits I missed, fork workflow a bit unusual for my usual flow...


Undeclared identifier 'NSEventTypeSystemDefined' error on El Capitan

Hey,
I'm getting this error when attempting to install using homebrew. Any ideas? Let me know if I can provide more information.
make
install

rm -rf ./bin
mkdir -p ./bin
clang src/khd.m -std=gnu89 -O3 -framework Carbon -framework Cocoa -framework IOKit -o bin/khd
In file included from src/khd.m:27:
src/emulate.m:62:53: error: use of undeclared identifier 'NSEventTypeSystemDefined'
    NSEvent *KeyEvent = [NSEvent otherEventWithType:NSEventTypeSystemDefined
                                                    ^
1 error generated.
make: *** [bin/khd] Error 1

HOMEBREW_VERSION: 1.3.4
ORIGIN: https://github.com/Homebrew/brew
HEAD: ac8b58537fe3dd71098a43afcc6a1785dcde1d39
Last commit: 7 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 82f2de590d457eb15b4ce1b83d18cbe779113d39
Core tap last commit: 23 minutes ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local/Homebrew
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: octa-core 64-bit haswell
Homebrew Ruby: 2.3.3 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.3/bin/ruby
Clang: 8.0 build 800
Git: 2.10.1 => /Library/Developer/CommandLineTools/usr/bin/git
Perl: /usr/bin/perl
Python: /usr/local/opt/python/libexec/bin/python => /usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
Java: 9
macOS: 10.11.6-x86_64
Xcode: N/A
CLT: <IP_ADDRESS>.1.1480973914
X11: N/A

HOMEBREW_CC: clang
HOMEBREW_CXX: clang++
MAKEFLAGS: -j8
CMAKE_PREFIX_PATH: /usr/local
CMAKE_INCLUDE_PATH: /usr/include/libxml2:/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers
CMAKE_LIBRARY_PATH: /System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries
PKG_CONFIG_LIBDIR: /usr/lib/pkgconfig:/usr/local/Homebrew/Library/Homebrew/os/mac/pkgconfig/10.11
ACLOCAL_PATH: /usr/local/share/aclocal
PATH: /usr/local/Homebrew/Library/Homebrew/shims/super:/usr/bin:/bin:/usr/sbin:/sbin

This has already been fixed, but a new release has yet to be made.
You can install using brew install khd --HEAD

Great! Thanks for the help 😃


more options for find

make sure to append ts=2 at the end. This should all probably move to spaces... I don't remember where I read I should use tabs.
Any recommendations on how to test cursor types?


Accelerate lookup()

The lookup() method uses document.find(), and in turn document.find() searches the entire document in a linear fashion. This is causing significant slowdowns for me once the documents become large in size and I'm doing significant graph operations on them (e.g., pointer-chasing through a document to process items in the order of dependencies).
I think it should be possible to have a "fast-track" lookup via hash tables for when we know we have a full URI.

I think one way to implement this that wouldn't require extensive refactoring is for the ReferencedObjectMixin interface to capture a tuple of both the URI reference and object.  For example:
Something like this (not tested):
    @staticmethod
    def from_user(value: Any) -> Tuple[rdflib.URIRef, SBOLObject]:
        if isinstance(value, SBOLObject):
            value = (rdflib.URIRef(value).identity, value)
        elif isinstance(value, str):
            value = (rdflib.URIRef(value.identity), None)
        else:
            raise TypeError(f'Expecting string, got {type(value)}')
        return value

The lookup method would also need to be modified to look in the tuple for the object point and if None call the find method.
I haven't carefully thought through all the implications of this (presumably the serializer and parser would also have to unpack and pack these tuples), but hopefully that's the start of an idea.

Caching works really well for this type of problem. The issue is timing out or clearing the cache appropriately. We may be able to manage that at the document level if we're careful about things. But if it gets out of sync it may be hard to recover and lead to unpredictable results. That's not good.
What if you could generate such a cache within your application and then pass it to the lookup method as an optional parameter. lookup could then try the cache and fall back to a find if the cache does not include the object? On the large iGEM document we used on #381 takes 0.03 seconds to generate a full cache of the 10,280 objects. After that, lookups are essentially immediate. That would give the application control over the lifetime of the cache.
We could also keep the cache inside the document and give the application control over clearing it or giving it a time limit.
If we really want the document to manage it that's a larger project and would require a lot of test cases to find issues with various use cases. Even then I think we would still see some issues with it.

Lookup acceleration was added to https://github.com/SynBioDex/SBOL-utilitites in SynBioDex/SBOL-utilitites#116 SynBioDex/SBOL-utilitites#118. See build_reference_cache, cached_references for building the cache for acceleration. See find_child and find_top_level for use of the reference cache.


Uncached message deletion stuff

What type of pull request is this?

[x] Non-breaking code change
[ ] Breaking code change
[ ] Documentation change/addition

Description

I was running into the issue of uncached deleted messages not having the message stuff like id and channel and guild.
So I looked at the docs and added the stuff discord sends back with the event. I am not 100% sure if my patch is the proper way to add this but I tested and it works.
Changes

Added message id
Channel id
Guild id

Checklist

[x] I've formatted my code with Black
[x] I've ensured my code works on Python 3.9.x
[x] I've tested my code

I have created a poll for this PR in #lib-discussion

Closed by 78dba82ef9cbabab625e7e3c5dbb2ba68956807e


test: Log warnings also inline

It is customary in the various Go logging packages that all log levels, if output, are logged in the order in which the logging lines are executed. The fact that we choose to highlight warning level logs at the end of test output should not change this.
Therefore log warnings also inline.
Signed-off-by: Jarno Rajahalme<EMAIL_ADDRESS>

I've proposed to remove this in https://github.com/cilium/cilium-cli/pull/349 instead of making this more complex. Using warnings as an error handling strategy is bound to cause things to rot, especially with (successful) CI test output now being hidden by default.

#349 was merged, so assume this PR became obsolete?

yeah let's close it


[Candidate 1v1 Oil Rampage V3] Map preview image is too detailed

Issue Description
Map preview image is too detailed.
Expected behavior
Map preview is soft like and normal like all other map preview images from official maps.
Screenshots

Oil Rampage v4.zip
I've made changes to everything and also tried to position all the oil derricks and supplies accordingly to make it symmetrical

Uploading Oil Rampage v5.zip…
Remove a single hut in both player's side to make it less bunkery :)

You can do that for next years submission. This years submissions ended March 31. Now is polishing phase to solve issues.

ah alright, thanks. also I've sent u the latest version of Oil Rampage

I will review it shortly.

Fixed with https://github.com/xezon/GeneralsRankedMaps/commit/218c7f4a46da1979962784e20ddbd865eed68b38


SQ-27/Settings Part 4: licences ⚖

This PR closes #27 by implementing the last bit, the licences screen. As a side note I realised we don't need Android-Apt as since the Android Gradle Plugin 2.2 there is a built-in annotation processor, so I switched to that one and removed one dependency.

TODO:

Edge cases [BLOCKED waiting for design on signed off settings]
Sub-screens:

~FOSS licences~
~About screen~

~Use CoordinatorLayout in settings~
~Photo border~
~Obtain cover photo~ defo not worth it

Don't be scared by the number of lines changed, a lot of it is just the licences' text :)


public shutdown method of MicroFrameworkBootstrapper

Need shutdown method for MicroFrameworkBootstrapper, because need to manually shutdown all internal connections
i'm using it in gulp task and couldn't finish the task without manually shutdown of the bootstrap.
e.g.
gulp.task('task:name', function(cb) {
    var container = require('typedi/Container').Container;
    var microframework = require('microframework/MicroFrameworkBootstrapper');
    var bootstrap = new microframework.MicroFrameworkBootstrapper({ baseDirectory: __dirname + '/src' })
        .bootstrap([microframework.RunOptions.TYPEODM])
        .then(function() {
            microframework.container
            .get(require('./built/es5/src/SomeClass').SomeClass)
                .doSomething()
                .then(function() {
                    console.log('the task is done');
                    bootstrap.shutdown(); // need to shutdown here
                    cb();
                })
                .catch(function(error) { cb(error); });
                // also in your internal codes during failed, you're only closing express connection, not all(e.g. mongodb connection, ...
        })
        .catch(function(error) { cb(error); });
});

Also i think don't need bootstrap method, instead you can do in the constructor, after initializing the MicroFrameworkBootstrapper, will bootstrap immediately

fixed in version 0.1.0

@PLEEROCK  where's the "thanks"? :laughing:

thanks :+1:

:laughing:


Develop

Coverage remained the same at 58.434% when pulling 6f19b6e1026ecb5b55c266f296cc5e9be918622a on btomtom5:develop into 29a293da141dc0e7e4db26b2572d14a8527c972d on DistrictDataLabs:develop.

Coverage decreased (-0.5%) to 57.905% when pulling dfebda2398947d1e612266b248c6f304832ead3e on btomtom5:develop into 29a293da141dc0e7e4db26b2572d14a8527c972d on DistrictDataLabs:develop.


Create official doc pages for APIM Traffic Tool

Description:
Create official doc pages for APIM Traffic Tool.
Reference content: https://github.com/wso2/product-apim-tooling/blob/master/apim-traffic-tool/README.md
Affected Product Version:
3.0.0

As of now, we don't have use-cases from customers to use this tool. Thus we have decided not to support the documentation about this tool.
If we decide to create a doc space for this tool in the future then refer to this draft.

@Sarangan0219 , based on your reply we will be closing this issue.


Add token repository

This PR implements a new repository TokenRepository since is needed to retrieve the tokens to proper map multisign transactions in #159

Coverage decreased (-1.0%) to 81.319% when pulling aa17d00b8f03e823a700ccfb5b34f1cf8621f04a on add-token-repository into 40453ba3fdaa9f64763a7527c32377017ba31b10 on main.


Question about exporting mesh

Thank you very much for your excellent work. When I use my own data set to output mesh, I get an error: RuntimeError: resolution must be [<:2048, <:2048], after reading the comments in the code, I understand that the highest resolution is only 2048 , Does this resolution refer to the resolution of the training image? I downsampled the image to below 2048 and still reported the same error. May I ask how should I solve this problem?

@SunyuKy Hi, have you modified the code? 2048 is the max resolution for nvdiffrast CUDA backend, but we use OpenGL backend by default. Also, the true resolution is multiplied by --ssaa 2, so you need to change that too.

Thank you for your reply. I have modified the code. Since the server I am using does not have a GUI interface, an error will be reported if OpenGL is used for rendering. I changed the parameter of ssaa to 1, but it still prompts that the resolution limit is exceeded. The video resolution I use is 1920*1080, how should I modify the parameters to solve this problem?

Maybe you should try to modify the parameters --texture_size 2048. Although the default resolution was 2048 in code but the resolution was set to 4096 in default opts.

I had to log it and check, but for me adding --texture_size 1024 is the only one that worked.


[Bug] The behaviour of bitmap_intersect function is wrong

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
0.15
What's Wrong?
table schema is like:
———————
| id    | int         |
———————
| bit   | bitmap  |
———————
then execute the SQL like:
select bitmap_count(bitmap_intersect(bit)) from table where id in ("aaaaa", "bbbbb");
be will coredump.
What You Expected?
be don't coredump and get a correct result.
How to Reproduce?
No response
Anything Else?
I had tried to debug it. I found that the reason of coredump is the is_null property of StringVal had been lost when conversion between StringValue and StringVal. The StringValue doesn't have a is_null variant. So the logic in bitmap_serialize and bitmap_intersect which rely on the is_null can't have a right behaviour.
When I do a modification like
void BitmapFunctions::bitmap_intersect(FunctionContext* ctx, const StringVal& src, StringVal* dst) {
if (src.ptr == nullptr) {
const_cast<StringVal&> (src).is_null = true;
}
if (dst->is_null == nullptr) {
dst->is_null = true;
}
if (src.is_null) {
    return;
}
// if dst is null, the src input is the first value
if (UNLIKELY(dst->ptr == nullptr)) {
    dst->is_null = false;
    dst->len = sizeof(BitmapValue);
    dst->ptr = (uint8_t*)new BitmapValue((char*)src.ptr);
    return;
}
auto dst_bitmap = reinterpret_cast<BitmapValue*>(dst->ptr);
// zero size means the src input is a agg object
if (src.len == 0) {
    (*dst_bitmap) &= *reinterpret_cast<BitmapValue*>(src.ptr);
} else {
    (*dst_bitmap) &= BitmapValue((char*)src.ptr);
}

}
StringVal BitmapFunctions::bitmap_serialize(FunctionContext* ctx, const StringVal& src) {
if (src.ptr == nullptr) {
const_cast<StringVal&> (src).is_null = true;
}
if (src.is_null) {
    return src;
}
auto src_bitmap = reinterpret_cast<BitmapValue*>(src.ptr);
StringVal result = serialize(ctx, src_bitmap);
delete src_bitmap;
return result;

}
It will not be coredump.
But the result is still wrong.
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

The problem has been solved in 1.1.5，maybe fixed by #9716 #9910 and #13459.


Climate Sensor

Describe the bug
The Device appears in Home Assistant but the sensors are unavailable.
Expected behavior
The device is a Humidity and Temperature sensor. These values should be available in Home Assistant
Screenshots

Home Assistant Version
2021.11.2
Device info (please complete the following information, which can be found in log):
like this:
{
"result": {
"active_time":<PHONE_NUMBER>,
"category": "wsdcg",
"category_name": "Temperature and Humidity Sensor",
"create_time":<PHONE_NUMBER>,
"gateway_id": "",
"icon": "smart/icon/ay1536534747810ekKBj/156584130076b224f5a50.png",
"id": "bf1b0632122d408176sq0v",
"ip": "",
"lat":
"lon":
"model": "YIDONG",
"name": "Climate Sensor Garage",
"online": false,
"owner_id":
"product_id": "3ubxbto1",
"product_name": "Climate Sensor",
"sub": true,
"time_zone":
"update_time":<PHONE_NUMBER>,
"uuid":
},
"success": true,
"t":<PHONE_NUMBER>612
}
Device specifications (please complete the following information, which can be found in log):
Same device's id, like this:
Additional context
Add any other context or logs about the problem here.

I have the same issue... still no update since November?

Same Issue, seems like it might have something to do with being offline? Any Updates would be good.

Yesterday, Home Assistant 2022.2 was released.
Could you try upgrading to that version and see if the issue has been resolved?
If not, Home Assistant 2022.2 contains a new diagnostic tool. There is now a "Download Diagnostics" button on each Tuya device on the device page. Clicking that button will download diagnostics information for that specific device. Drag the downloaded file into this issue. It will help with finding out what the problem is.

Seeing this too - Updated to 2022.2 and exported the diagnostics.
Interestingly the status shows the correct temp and humidity values, they're just not being correctly displayed via the entities:
"status": {
  "va_humidity": 62,
  "va_temperature": 68

@hollishassbox I cannot work with a diagnostics snippet, please provide the full diagnostics download.

@frenck Please see attached - Would also be interesting to know if the temp unit is able to be changed to Celsius instead of Fahrenheit which is currently being passed from Tuya.
tuya-f1d41bee05b47808984ae5256ece15fa-Game Room Temp Sensor-6dba24d234eb765f639db9e1c4b5b361.json.txt

@hollishassbox According to your diagnostic download, Tuya tells Home Assistant your device is offline:
    "online": false,

Hence Home Assistant say its unavailable.

Is there anyway to override this “online” state? Because these sensors work by updating on a polling interval and thus most of the time will report as offline but the data should still be valid.

Hi @frenck
As @thelogicdump advises, these are offline because they're BLE devices that broadcast to a hub and go offline in between. I believe these update every 30 mins so could consider the update_time attribute returned
The device category (wsdcg) is explicitly listed on the supported category list so it would be good to get that updated (or classified for non-BLE only) if these will never work

I've since implemented a pile of Zigbee sensors so my requirement on this has dropped, I'm just aware how many of these would be floating around out there and it would be nice to be able to use these

Hi all, had there been any progress on this or is there a way to pull the information manually as you can see the actual values when doing diagnostics. Have got a number of these devices which I cant use in HA at present :(

Stopping in to add my desire for this device to be better supported. I stupidly bought one of these a couple of years ago and have been waiting for the day that it shows up as online in HA.

Just discovered this issue my self, hopefully I can link to my existing 8 sensors..


CSS resources missing from release

The .whl files for the 0.1 release are missing the files span_array.css and span_array.js, which are supposed to be under text_extensions_for_pandas/resources. SpanArray visualizations won't work without these files.
Temporary workaround: Copy these files into the resources directory manually.

Pip package fixed in release 0.1.1. Working on Conda-Forge release now.

https://github.com/conda-forge/text_extensions_for_pandas-feedstock/pull/7 merged on conda-forge. Closing this issue.


Add boolean to run from workspace root

This is common for tools like linters. Doing the cd themselves is fine,
but maybe this is nicer

My main reason against this is that it makes running the tool without multirun have different behavior.

yea, only in the case you run the underlying py_binary or w/e through bazel tho. if you ran the command it would be the same, and if you ran the tool directly it naturally would be different already. but yea im on the fence with this i just had it locally and figured i'd submit

just going to not for now, we can revisit if we want later


[WIP] Mostly complete Tracer impl for F -> OptionT

This is an incomplete implementation of a transformation from Tracer[F]
to Tracer[OptionT[F, *]]. Unfortunately, I do not believe the current design
of Tracer allows this implementation to be completed.

This inability to implement the transformer instances complicates http4s tracing.  We can do it with the Natchez encoding of spanR, and are kind of stuck here.
@iRevive, do you see a clever way around this, or do we need to revisit this resource encoding?

I will take a look in the upcoming week. By the way, is there an example where the Tracer[OptionT, *] is necessary for http4s?
I guess, is it relevant in some internals?

@iRevive http4s defines the following type aliases:
  type Http[F[_], G[_]] = Kleisli[F, Request[G], Response[G]]
  type HttpApp[F[_]] = Http[F, F]
  type HttpRoutes[F[_]] = Http[OptionT[F, *], F]

where HttpApp represents a function/mapping from all possible requests to a response, and HttpRoutes from some subset of possible requests to a response. (there are some other type aliases for more precise request types, but they don't really affect the argument.)
in order to write code tracing HttpRoutes, I'm fairly certain (someone can perhaps verify this for me) that you need to be able to transform F to OptionT[F, *]; certainly you do if you don't want to have to duplicate all the code implementing the tracing even if I'm wrong. and you'll have the same issue for any framework that uses EitherT for handling errors that you want to trace.

Since this is a forward-facing project, I do want to point out a couple things ...

and you'll have the same issue for any framework that uses EitherT for handling errors that you want to trace.

We have a proposal in Cats MTL so you can have typed errors in IO without EitherT.

https://github.com/typelevel/cats-mtl/pull/489

This is important because EitherT in general is broken for all sorts of things, e.g. see

https://github.com/typelevel/cats/issues/4308#issuecomment-1257864343
https://github.com/typelevel/fs2/issues/3199#issuecomment-1496592183
https://github.com/typelevel/fs2/issues/3246

Along these lines, we also have a proposal in http4s for a Service monad, that would replace (or at least be an alternative to) the Kleisli/OptionT stack.

https://github.com/http4s/http4s/pull/6769

you'll have the same issue for any framework that uses EitherT for handling errors that you want to trace.

We can make an instance of Tracer for any effect type with Async and either LiftIO or Local[*[_], Vault]. Unfortunately, this approach works exclusively at the materialization point (e.g. IOApp):
import cats.data.{EitherT, OptionT}
import cats.effect._
import io.opentelemetry.api.GlobalOpenTelemetry
import org.typelevel.otel4s.java.OtelJava
import org.typelevel.otel4s.trace.Tracer

object Example extends IOApp.Simple {

  def work[F[_]: Async: Tracer] =
    Tracer[F].span("work").surround(Async[F].delay(println("I'm working")))

  def tracerResource[F[_]: Async: LiftIO]: Resource[F, Tracer[F]] =
    Resource
      .eval(Async[F].delay(GlobalOpenTelemetry.get))
      .evalMap(OtelJava.forAsync[F])
      .evalMap(_.tracerProvider.get("example"))

  type Maybe[F[_], A] = OptionT[F, A]
  type Effect[F[_], Error, A] = EitherT[Maybe[F, *], Error, A]

  def run: IO[Unit] =
    tracerResource[Effect[IO, String, *]]
      .use { implicit tracer => work[Effect[IO, String, *]] }
      .value
      .value
      .flatMap {
        case Some(Right(result)) => IO.println(s"Success [$result]")
        case Some(Left(error))   => IO.println(s"Error [$error]")
        case None                => IO.println("Undefined :(")
      }
}

We can have a more generalized alternative over liftOptionT:
trait Tracer[F[_]] {
  def mapK[G[_]](fk: F ~> G, gk: G ~> F): Tracer[F] = ???
}

This, unfortunately, does not solve the underlying issue since we still cannot define def wrapResource[A].
But if we delegate the implementation of the mapK to the 'real' instance (e.g. TracerImpl), things look brighter.
See the proof of concept https://github.com/typelevel/otel4s/pull/264.
But now I wonder which laws the mapK transformer should obey.

Is the vision that in a world with Service[F],  there's no need to translate a Tracer[F] for http4s?  I think that may be true for middleware hardcoded to Service but not for an MTL middleware.
The proposed MTL middlewares in http4s look something like this when they consider both request and response:
def apply[F[_], G[_]](http: F[Response[G]])(
  implicit F: MonadCancelThrow[F], A: Ask[F, Request[G]]): F[Response[G]]

The F constraint allows manipulation of the response
The Ask constraint provides access to the request

The most generic signature of the otel4s middleware currently looks like[^1]:
def buildTracedF[F[_], G[_]: MonadCancelThrow: Tracer](fk: F ~> G)(f: Http[G, F]): Http[G, F]

That's hardcoded to Http, which introduces Kleisli to the stack.  If that middleware were MTL-ified in anticipation of Service, it might look like:
def buildTracedF[F[_], G[_]](fk: F ~> G)(http: G[Response[F]])(
  implicit G: MonadCancelThrow[G], A: Ask[G, Request[F]], T: Tracer[G]): G[Response[F]]

For HttpApp[F], we have type G[_] = Kleisli[F, Request[G], *].  Uh-oh, how do we get Tracer[Kleisli[F, Request[G], *]] without a Kleisli[F, Request[G], *] ~> F?
For Service, we have type G[_] = Service[F, Request[F], *].  Uh-oh, this is the same problem.

I think we have to solve this, or else abandon the MTL middleware approach and harcode everything to a blessed monad stack G.  And otel4s should be bigger than http4s, so maybe we need to solve it anyway.
... which leads back to me thinking maybe Natchez's spanR is the right approach, even if it's not quite as nice for resources.
[^1]: Confusingly, the http4s MTL pull request and otel4s middleware flip F and G.  This ought to be reconciled.
[^2]: For ergonomics, that F ~> G maybe condemns us to helper methods for a monad stack or two anyway.

To keep this moving: should we draft a PR that moves back toward the spanR encoding for resource and gets us around this issue?  We will lose the automatic tracing of use, but I don't think it has been a big problem in practice for Natchez users.

I imagine if we move to a spanR encoding then the API can be substantially refactored and simplified, but that's probably not essential for testing things out

I imagine if we move to a spanR encoding then the API can be substantially refactored and simplified, but that's probably not essential for testing things out

Yeah, in this case we can completely drop:
type Result <: Span[F]
type Builder = SpanBuilder.Aux[F, Result]