Printing Config object prints credentials

It would be nicer and have less chance of exposing secrets, when secrets/credentials are not printed, similar to the old SDK.

do you mean when the user prints the config object, or is there some other place this shows up in the sdk?

I think @rbvermaa means the first option, for the old julia sdk I remember people copy/paste their configs through slack discussion for debugging purposes so this might be a similar case scenario, @bradlo what do you think ?

Apologies for not being clear in the original post. As @NRHelmi mentions, I am talking about the behavior that when a user prints the object, the default display behavior shows the credentials. We've had a number of instances where people were sharing log output where this was printed and shared. In the old SDK, we have a custom display function for the config object that contains credentials, which cuts of the credentials, so that they are not (fully) exposed.

Example from the old SDK (the listed credentials are fake):
julia> using RelationalAIManagement

julia> c = ManagementConnection(profile="cd")
ManagementConnection("https", "azure.relationalai.com", 443, :AZURE, Symbol("us-east"), (fLvChATldLz0mzFIK2zlXd4Gxts7kRiV, X6D...), true, Dict{String, String}())

From discussion: the user should still be able to print the credentials if they want to, but they shouldn't accidentally be displayed when the object is displayed at the REPL.
@NRHelmi: to support this distinction, you should add separate overloads for the two separate printing methods:

the 3-arg show method: Base.show(io::IO, ::MIME"text/plain", credentials::ClientCredentials)

this should obfuscate the credentials

the 2-arg print method: Base.print(io::IO, credentials::ClientCredentials)

this should print them like normal.

the 2-arg show method: Base.show(io::IO, credentials::ClientCredentials)

what should this one do?

@NHDaly FYI, in the old SDK, print also prints them obfuscated by default. When a user wants to print the secret, they can print the attribute with the client_secret, e.g.:
julia> c.creds.client_secret
"X6DMYSECRETMYSECRETMYSECRET"

Yeah, that's a good point. @bradlo: ^ would that satisfy your concerns?

for the old julia sdk this is what we are using: https://github.com/RelationalAI/raicode/blob/master/packages/RelationalAIManagement/src/creds.jl#L35-L54
We can add similar thing @NHDaly what do you think ?

Resolved in this PR https://github.com/RelationalAI/rai-sdk-julia/pull/66

Note: This issue has been migrated to https://relationalai.atlassian.net/browse/RAI-6370.
This link is only accessible to employees of RelationalAI.


The type or namespace name 'DotNet' does not exist

error CS0234: The type or namespace name 'DotNet' does not exist in the namespace 'net.r_eg' (are you missing an assembly reference?)
using net.r_eg.DotNet.System.Reflection.Emit
namespace not found. some module is missing from the Conari-master package

Because src requires the following submodule https://github.com/3F/UnmanagedEmitCalli
You can restore it manually via git command or automatically using either VS plugin vsSolutionBuildEvent or just command something like

.\build Release

Also,
Do not use the changes from master branch in production code;
I made some new fixes and some important changes (draft version) according to new features and valuable optimizations:

https://twitter.com/github3F/status/1396491762315808771
https://twitter.com/github3F/status/1396492298972717057

I'll try push today or tomorrow. Follow the news.

1.5 is just out. Feel free to ask anything if you still have the problem. Thanks for using,


DBeaver - JDBC Driver Setup

System information:

Windows 10
DBeaver version - Version 7.3.5
Java version -- Not Sure
Additional extensions

Connection specification:

Database name and version
Driver name
Do you use tunnels or proxies (SSH, SOCKS, etc)?

Describe the problem you're observing:
I'm not able to install the jdbc drivers that are needed and not able to download and isntall JDBC drivers for teradata.
Steps to reproduce, if exist:
Include any warning/errors/backtraces from the logs

You can do it. Here is the instruction https://github.com/dbeaver/dbeaver/wiki/Database-drivers. Ask to reopen the ticket, if you need some other help.


[Question] Eviction policy from flash memory?

Hi, not sure if I overlooked this, but i could not find information on eviction policies from FLASH memory.
Basically, I would like to set 2 eviction policies; one for eviction from DRAM, and one for eviction from FLASH memory.
E.g. i have 32gb ram, 500gb flash storage, and want to use it like one big 500gb cache, that also caches infrequently used data, but not more than 500gb.
The docs suggest nothing of this sort exists, and keys will never be evicted from flash.
Is there any possibility right now?
If not, is this feature on the list of being implemented?

Hi @thet0ast3r, unfortunately this is not a currently supported feature.

Ok. Thanks for the quick answer.
What is the current behavior then if the flash memory is full? does it just crash/throw an error?
It seems to me like it would be a very useful feature to be able to have a "tiered" cache; for e.g. large amounts of smaller files or avoiding costly requests for the small tradeoff of nowadays very cheap flash storage.
Im thinking about how I could emulate this behavior, maybe with 2 db instances, however, that would be probably very inefficient in a lot of ways.

Yes it will throw an error if it cannot write to disk.
Using expires and resetting them when you access a key could emulate this behaviour.
For example set all keys with 10s expire time, when you access a key reset its expire time to 10s again, more frequently used keys will be less likely to get expired this way, tuning the expire duration based on your workload would bring you close to emulating this behaviour.

I have one more idea to emulate the behavior:
Using the OS's swap file. In theory, i should be able to allocate a big swap file (5x the amount of data e.g.) and then just use Keydb as RAM-only, and set it to 3-4x my amount of avialable ram. Then the os would handle eviction based on its policies; and keydb would not give an out of memory error, atleast i would hope so.
I am aware that this would severely degrade performance, but i could see it working (for rather large values / 5mb), especially if the tail is long.
Or maybe i'm missing something and it would just trash so hard as to not function at all. :D

Features like active defrag or background save would probably cause way to much thrashing, those can be disabled but unless most of the access are on a subset of keys that can fit in memory there will probably still be too much thrashing.


SAPUI5 requires files, which are already bundled into Component-preload.js

I've built a Component-preload.js by<EMAIL_ADDRESS>with compatVersion: "1.44" parameter since my SAPUI5 Core is 1.44.
The script:

openui5_preload: {

	component: {

		options: {

			resources: {

				cwd: "<%= dir.webcontent %>",
				prefix: "<%= dir.webapp %>/<%= dir.webcontent %>",
				src: [
					"**/*.js",
					"**/*.html",
					"**/*.json",
					"**/*.fragment.html",
					"**/*.fragment.xml",
					"**/*.fragment.json",
					"**/*.view.html",
					"**/*.view.xml",
					"**/*.view.json",
					"**/*.properties",
					"manifest.json",
					"!test/**"
				]
			},
			compatVersion: "1.44",

			dest: "<%= dir.dist %>"
		},

		components: "<%= dir.webapp %>/<%= dir.webcontent %>"
	}
}

As the result, I have a file, which contains everything I mentioned in the script, I store it in WebContent folder, and update the paths according to the hierarchy, just like it is described in the SAPUI5 book.
When I test it, I get a strange behaviour — a browser loads both Component-preload.js and all the files, which are mentioned in it. In other words, after generation of the preloader browser downloads it, but ignores its content and still requests the separate files, although they are already located in this preloader,
I want that the files, mentioned in the preloader, will not be requested as separate files by the browser. Otherwise, there is no any reason to use preloader. How can I fix it?
P.S. The issue is similar to Minified *.properties and *.css are still requested.

This sound's like a problem with the module namespace used when creating the Component-preload (see prefix option) and the actual module namespace that is used at runtime.
If there is a difference, the preloaded modules can't be taken from the preload cache and they are requested individually.
Can you share the content of your Component-preload.js?

Closing as there was not response for quite some time


CDDIS

I've raised this question on StackExchange
CDDIS now requires authentication.
I am attempting to hack the download.py with utility functions courtesy pyTMD.
import os
import sys
import ssl
import base64
import posixpath

from urllib.parse import quote_plus
from http.cookiejar import CookieJar
import urllib.request as url

#-- PURPOSE: "login" to NASA Earthdata with supplied credentials
def build_opener(username, password, context=ssl.SSLContext(ssl.PROTOCOL_TLS),
    password_manager=True, get_ca_certs=True, redirect=True,
    authorization_header=False, urs='https://urs.earthdata.nasa.gov'):
    """
    build urllib opener for NASA Earthdata with supplied credentials
    Parameters
    ----------
    username: str or NoneType, default None
        NASA Earthdata username
    password: str or NoneType, default None
        NASA Earthdata password
    context: obj, default ssl.SSLContext()
        SSL context for url opener object
    password_manager: bool, default True
        Create password manager context using default realm
    get_ca_certs: bool, default True
        Get list of loaded “certification authority” certificates
    redirect: bool, default True
        Create redirect handler object
    authorization_header: bool, default False
        Add base64 encoded authorization header to opener
    urs: str, default 'https://urs.earthdata.nasa.gov'
        Earthdata login URS 3 host
    """
    #-- https://docs.python.org/3/howto/urllib2.html#id5
    handler = []
    #-- create a password manager
    if password_manager:
        password_mgr = url.HTTPPasswordMgrWithDefaultRealm()
        #-- Add the username and password for NASA Earthdata Login system
        password_mgr.add_password(None, urs, username, password)
        handler.append(url.HTTPBasicAuthHandler(password_mgr))
    #-- Create cookie jar for storing cookies. This is used to store and return
    #-- the session cookie given to use by the data server (otherwise will just
    #-- keep sending us back to Earthdata Login to authenticate).
    cookie_jar = CookieJar()
    handler.append(url.HTTPCookieProcessor(cookie_jar))
    #-- SSL context handler
    if get_ca_certs:
        context.get_ca_certs()
    handler.append(url.HTTPSHandler(context=context))
    #-- redirect handler
    if redirect:
        handler.append(url.HTTPRedirectHandler())
    #-- create "opener" (OpenerDirector instance)
    opener = url.build_opener(*handler)
    #-- Encode username/password for request authorization headers
    #-- add Authorization header to opener
    if authorization_header:
        b64 = base64.b64encode('{0}:{1}'.format(username, password).encode())
        opener.addheaders = [("Authorization","Basic {0}".format(b64.decode()))]
    #-- Now all calls to urllib2.urlopen use our opener.
    url.install_opener(opener)
    #-- All calls to urllib2.urlopen will now use handler
    #-- Make sure not to include the protocol in with the URL, or
    #-- HTTPPasswordMgrWithDefaultRealm will be confused.
    return opener

#-- PURPOSE: check that entered NASA Earthdata credentials are valid
def check_credentials():
    """
    Check that entered NASA Earthdata credentials are valid
    """
    try:
        remote_path = posixpath.join('https://cddis.nasa.gov','archive')
        request = url.Request(url=remote_path)
        response = url.urlopen(request, timeout=20)
    except url.HTTPError:
        raise RuntimeError('Check your NASA Earthdata credentials')
    except url.URLError:
        raise RuntimeError('Check internet connection')
    else:
        return True

Then we can change the GNSSpy function so:
def get_sp3(sp3file, directory=os.getcwd()):
    """
    This function downloads IGS orbit file from NASA CDDIS ftp server.
    """
    fileName = sp3file + ".Z"
    if os.path.exists(fileName) == True:
        if os.path.exists(fileName[:-2]) == True:
            print(fileName[-2] + " exists in working directory")
            return
        else:
            print(fileName + " exists in working directory | Extracting...")
            Archive(fileName + ".Z").extractall(os.getcwd())
            return
    internet = check_internet()
    if internet == False:
        raise Warning('No internet connection! | Cannot download orbit file')

    username = 'someusername'
    password = 'somepassword'

     #-- build opener
    build_opener(username, password)
    #-- check credentials
    check_credentials()

    server  = 'https://cddis.nasa.gov/archive/'
    sp3FileDir = 'gnss/products'
    if sp3file.startswith("wum"):
        sp3FileDir += '/mgex'
    file_topath = os.path.join(directory, fileName)
    fileDir = [server, sp3FileDir, fileName[3:-7], fileName]
    site= '/'.join(fileDir) # FTP link of file

    try:
        print('Downloading:', fileName, end = '')

        request = url.Request(site)

        #url.urlretrieve(ftp, file_topath)

        # Create an http response object
        with url.urlopen(request) as response:
        # Create a file object
            with open(file_topath, "wb") as f:
            # Copy the binary content of the response to the file
                shutil.copyfileobj(response, f)

        print(' | Download completed for', fileName)
        Archive(fileName).extractall(os.getcwd())
    except:
        print(" | Requested file", fileName, "cannot be not found!")

When I follow the instructions and execute:
import gnsspy as gp
stn = gp.read_obsFile('./log_rinex/Ctwn-SB_obs_log_202111081430.obs')

./log_rinex/Ctwn-SB_obs_log_202111081430.obs exist in working directory | Reading... Observation file  ./log_rinex/Ctwn-SB_obs_log_202111081430.obs  is read in 6.46 seconds.
and:
orbit = gp.sp3_interp(stn.epoch, interval=stn.interval, sp3_product="igs", clock_product="igs")

I get:
Downloading: igs21830.sp3.Z | Download completed for igs21830.sp3.Z
 | Requested file igs21830.sp3.Z cannot be found!
patool: Extracting igs21830.sp3.Z ...
patool: running C:\Users\miniconda3\envs\rt_ppp-env\Library\bin\7z.EXE e -oC:\rtklib_realTime_PPP\log_rinex -- igs21830.sp3.Z
Traceback (most recent call last):

  Input In [104] in <cell line: 1>
    orbit = gp.sp3_interp(stn.epoch, interval=stn.interval, sp3_product="igs", clock_product="igs")

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\gnsspy\position\interpolation.py:23 in sp3_interp
    yes   = readFile.read_sp3File(yesterday)

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\gnsspy\io\readFile.py:569 in read_sp3File
    isexist(sp3file)

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\gnsspy\funcs\checkif.py:86 in isexist
    extract_archive(fileName + ".Z", outdir=_CWD)

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\patoolib\__init__.py:684 in extract_archive
    return _extract_archive(archive, verbosity=verbosity, interactive=interactive, outdir=outdir, program=program)

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\patoolib\__init__.py:484 in _extract_archive
    run_archive_cmdlist(cmdlist, verbosity=verbosity)

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\patoolib\__init__.py:421 in run_archive_cmdlist
    return util.run_checked(cmdlist, verbosity=verbosity, **runkwargs)

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\patoolib\util.py:227 in run_checked
    raise PatoolError(msg)

PatoolError: Command `['C:\\Users\\miniconda3\\envs\\rt_ppp-env\\Library\\bin\\7z.EXE', 'e', '-oC:\\rtklib_realTime_PPP\\log_rinex', '--', 'igs21830.sp3.Z']' returned non-zero exit status 2

The .sp3.7 has a file size of 13KB. It should be 96KB.

Went with the CDDIS instruction.
.netrc in the HOME folder (Users/username) then;
 # Makes request of URL, stores response in variable r
 r = requests.get(site, timeout=20)
 # Opens a local file of same name as remote file for writing to
  with open(file_topath, 'wb') as fd:
         for chunk in r.iter_content(chunk_size=1000):
               fd.write(chunk)
 # Closes local file
 fd.close()

But now:
import gnsspy as gp
stn = gp.read_obsFile('Ctwn-SB_obs_log_202111081430.obs')

Ctwn-SB_obs_log_202111081430.obs exist in working directory | Reading... Observation file  Ctwn-SB_obs_log_202111081430.obs  is read in 2.76 seconds.
then:
orbit = gp.sp3_interp(stn.epoch, interval=stn.interval, sp3_product="gfz", clock_product="gfz")

patool: running C:\Users\miniconda3\envs\rt_ppp-env\Library\bin\7z.EXE e -oC:\rtklib_realTime_PPP\log_rinex -- gfz21830.sp3.Z
patool: ... gfz21830.sp3.Z extracted to `C:\rtklib_realTime_PPP\log_rinex'.
gfz21830.sp3 file is read in 16.93 seconds
Downloading: gfz21831.sp3.Zpatool: Extracting gfz21831.sp3.Z ...
patool: running C:\miniconda3\envs\rt_ppp-env\Library\bin\7z.EXE e -oC:\rtklib_realTime_PPP\log_rinex -- gfz21831.sp3.Z
patool: ... gfz21831.sp3.Z extracted to `C:\rtklib_realTime_PPP\log_rinex'.
gfz21831.sp3 file is read in 11.42 seconds
Downloading: gfz21832.sp3.Zpatool: Extracting gfz21832.sp3.Z ...
patool: running C:\Users\miniconda3\envs\rt_ppp-env\Library\bin\7z.EXE e -oC:\rtklib_realTime_PPP\log_rinex -- gfz21832.sp3.Z
patool: ... gfz21832.sp3.Z extracted to `C:\rtklib_realTime_PPP\log_rinex'.
gfz21832.sp3 file is read in 14.77 seconds
Downloading: cod21831.clk_05s.Z | Download completed for cod21831.clk_05s.Z
patool: Extracting cod21831.clk_05s.Z ...
patool: running C:\Users\miniconda3\envs\rt_ppp-env\Library\bin\7z.EXE e -oC:\rtklib_realTime_PPP\log_rinex -- cod21831.clk_05s.Z
patool: ... cod21831.clk_05s.Z extracted to `C:\rtklib_realTime_PPP\log_rinex'.
cod21831.clk_05s file is read in 18.68 seconds
Traceback (most recent call last):

  Input In [15] in <cell line: 1>
    orbit = gp.sp3_interp(stn.epoch, interval=stn.interval, sp3_product="gfz", clock_product="gfz")

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\gnsspy\position\interpolation.py:85 in sp3_interp
    epoch_interp_List[:,:,svIndex] = sv_interp

ValueError: could not broadcast input array from shape (10800,6) into shape (360,6)

With sp3_product="igs", clock_product="igs" same error.
Have I missed something?

I eventually got this to execute successfully with:
orbit = gp.sp3_interp(stn.epoch, sp3_product="gfz", clock_product="gfz") with piece-meal access to CDDIS.

Subsequently its all been:
Downloading: {any-file-here}.sp3.Z | Requested file {any-file-here}.sp3.Z cannot be found!
An exception has occurred, use %tb to see the full traceback.

Traceback (most recent call last):

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\urllib3\response.py:441 in _error_catcher
    yield

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\urllib3\response.py:522 in read
    data = self._fp.read(amt) if not fp_closed else b""

  File ~\miniconda3\envs\rt_ppp-env\lib\http\client.py:459 in read
    n = self.readinto(b)

  File ~\miniconda3\envs\rt_ppp-env\lib\http\client.py:503 in readinto
    n = self.fp.readinto(b)

  File ~\miniconda3\envs\rt_ppp-env\lib\socket.py:669 in readinto
    return self._sock.recv_into(b)

  File ~\miniconda3\envs\rt_ppp-env\lib\ssl.py:1241 in recv_into
    return self.read(nbytes, buffer)

  File ~\miniconda3\envs\rt_ppp-env\lib\ssl.py:1099 in read
    return self._sslobj.read(len, buffer)

ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\requests\models.py:760 in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\urllib3\response.py:579 in stream
    data = self.read(amt=amt, decode_content=decode_content)

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\urllib3\response.py:544 in read
    raise IncompleteRead(self._fp_bytes_read, self.length_remaining)

  File ~\miniconda3\envs\rt_ppp-env\lib\contextlib.py:131 in __exit__
    self.gen.throw(type, value, traceback)

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\urllib3\response.py:458 in _error_catcher
    raise ProtocolError("Connection broken: %r" % e, e)

ProtocolError: ("Connection broken: ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)", ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\gnsspy\download.py:380 in get_sp3
    r = requests.get(address, timeout=20)

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\requests\api.py:75 in get
    return request('get', url, params=params, **kwargs)

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\requests\api.py:61 in request
    return session.request(method=method, url=url, **kwargs)

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\requests\sessions.py:529 in request
    resp = self.send(prep, **send_kwargs)

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\requests\sessions.py:667 in send
    history = [resp for resp in gen]

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\requests\sessions.py:667 in <listcomp>
    history = [resp for resp in gen]

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\requests\sessions.py:237 in resolve_redirects
    resp = self.send(

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\requests\sessions.py:687 in send
    r.content

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\requests\models.py:838 in content
    self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''

  File ~\miniconda3\envs\rt_ppp-env\lib\site-packages\requests\models.py:763 in generate
    raise ChunkedEncodingError(e)

ChunkedEncodingError: ("Connection broken: ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)", ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

During handling of the above exception, another exception occurred:

SystemExit
C:\Users\miniconda3\envs\rt_ppp-env\lib\site-packages\IPython\core\interactiveshell.py:3405: UserWarning: To exit: use 'exit', 'quit', or Ctrl-D.
  warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)

I haven't been able to access CDDIS anymore.
Is this usual behaviour?
Perhaps a Discussion` where the community share their experience?

How did u get the skyplots, for me it didn't work

I went a completely different route.
Harvest 'Dilution of Precision' and 'Azimuth' from rtklib and then generate a skyplot.

I think you can generate directly a skyplot using rtklib.
I was looking for an other way, I found a new python package https://github.com/geumjin99/PyRINEX and also a code using the output of teqc http://www.westernexplorers.us/GNSSplotters/


webpack-dev-server doesn't find packages right after they're installed

Not sure if it's a problem with my setup (well, it kind of has to be, since in your video it works fine, hah), but when the plugin installs a package automatically (which works very well), the webpack dev server throws an error that the package isn't there. If I ctrl+s the file again without any modification, then it works.
Kind of like if there was a race condition, and webpack tried to recompile too quickly. Any thought? This is on Windows, in case its OS specific (didn't try on OSX yet)

I'm having the same issue on OSX

Yep, this is an issue I was having as well.  Webpack's a confusing ball of mud, so it'll get fixed (eventually).  It was the sacrifice made to support resolve.root and resolve.alias.

A quick fix could be to restart webpack? - If you could give any pointers as to where in my version i can hack that would be great.

@samuelbirch Easier fix would be to just Ctrl-S any file being watched by WDS, so you don't have to startup the server again.

@prashcr I could live with that, but that doesn't work for me. I have to restart webpack in order to get it working.

@samuelbirch I'm taking a stab in the dark, but are you using WebStorm by any chance?

I'd recommend using the 2.0.2 release.
#29 will solve both the problems in 3.x as well as keep the features missing in 2.x, but require a significant amount of diving into code that only sokra knows.

I think I have this mostly resolved in v3.1.0.  Please track that release.
There's really no way for me to get this working 100%.  Resolving loaders is great, but normal modules is abysmal.
It's as if Webpack's like "Sure, I'll let you install this dependency first, but I already checked and it wasn't there so I don't care what you think!".
Unless someone is very knowledgeable with Webpack's inner workings & can help resolve this (the /example is a fantastic testing ground), I'm on my own.


fix: change default limits for listing objects to 100

this mirrors the default limit in the backend
Fixes issue reported at https://github.com/supabase/supabase/discussions/996

:tada: This PR is included in version 1.7.7 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


applying dark theme causes screen flicker

Issue

Reproduce
Refresh the page
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 127
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
notify me if you need more details :)

Interesting. Thanks for pointing this out!


Clearer visualization of macros

Right now, there's no indication in the diagram that a frame is for a macro. The old interpreter at least tagged the function with "macro". It might be helpful to distinguish between the macro's return and the expression evaluated afterwards.

Closed by https://github.com/Cal-CS-61A-Staff/dart_scheme/commit/1609b0e5fde689ccc6c55dc391246f3f9fdc319e


Support for Japanese coding Windows-31J and x-euc-jp

Japanese coding sites of Windows-31J and x-euc-jp are garbled now.
I was support for that codings.

Not applicable to the current version.


Attempt to add regex replacement of denom validation

Closes: #XXX
What is the purpose of the change
Updates SDK commit to include regex replacement of denom validation
Documentation and Release Note

[ ] Does this pull request introduce a new feature or user-facing behavior changes?
[ ] Changelog entry added to Unreleased section of CHANGELOG.md?

Where is the change documented?

[ ] Specification (x/{module}/README.md)
[ ] Osmosis documentation site
[ ] Code comments?
[ ] N/A

this isn't state compatible?

Lets get this back into sdk main, tag sdk main, and then update tag here

@czarcas7ic Sounds good, just wanted to open this test PR to ensure this doesnt break anything our side. Will re-revert PR there and create a new PR for this

@mattverse I am doing so now, thanks for testing!


Building the library

Please add instructions on how to build the library (generate the contents of dist), so local changes can be implemented.

The dist folder is made of the minimised and stripped down versions of calendar.js in src.  You can use the Closure Compiler for dist > calendar.js, and the same for calendar.min.js.

Hello, thank you for your amazing work. Can you provide the exact command to generate the dist folder ?

I did use a tool for this, but it stopped working the way I wanted.
So, I use the following tools:
https://closure-compiler.appspot.com/home
https://iblogbox.com/devtools/closure/
The CSS is built automatically using the SASS watcher you ca get for VS Code.
The CSS is minimized using:
https://www.minifier.org/
Hope this helps.
Thanks
Will


Jobs Overhaul: UI Updates for database backend

Tests have been revised for the work done in #3085, however, this issue should assert the following:

Make sure that the notable field/semantics changes are documented (status value changes, created => date_created, etc.) in migration guide
Document how to use Celery task_prerun signals (and other signals) to debug Jv2 Jobs
Document how to use rdb to do remote debugging on v2 Jobs ran inside of workers

To Do:

[ ] Core documentation and examples must be revised for v2
[ ] Developer documentation should be shored up for v2 changes
[ ] v2 UI elements such as whether to display tracebacks or task_kwargs payloads, that may contain sensitive variables or secrets (data exposure concerns, such as CSRF tokens, etc.). We may also decide to display them but sanitize them first? This one is tricky, but should be considered here.

Updated the collection of these issues to #765


Consider renaming the "Data science" feature in vscode

I do not know if it is the right place, but there is something strange from my point of view with the Data Science feature in this package.
Why is it called data science feature ? :flushed: it is just the possibility to use a Jupyter notebook in vscode. It is an incredible feature, incredible enough to not be restrained to data science... I see several issues with that

someone not working in data science may not look at this feature, just because he is not related to this field, even if in reality it could be interesting for him.
it can make it hard to find information about it while searching on the web or in the issue tracker

I speak from experience, I am not a data scientist, luckily enough I stumbled on this feature after some research on jupyter notebooks and how to use them with git. But for example, I know that in my university they use jupyter notebooks to learn scientific computing, to approximate ODE (ordinary differential equations) and thus, some students could use vscode. And more generally, I think notebooks can be used in other fields than data science (even if it is may be the trendiest right now).
I saw that in the documentation it is described as Jupyter notebook, but I feel it is used a lot in the issue tracker, so not a big deal, but it may be a bad idea to get used to it and it is easier to change a name earlier than later.

In my opinion, the name should stress the interactive nature of the tool.
Maybe 'Interactive session with Jupyter'?
Interactive keyword should ring a bell in people who did not know about the technology while Jupyter is widely recognisable by the scientific community

Thanks everybody for the input on this issue. Since this issue arose, we have been referring to these features more generally, typically "interactive experience (aka Jupyter support)". As for @neo-anderson's comments, I'm happy to say that much of his feedback will be taken in to account in near future updates. Therefore, I'm closing this issue out.  :)

That's great to hear! Thanks @greazer :)
PS: I can beta test those features, if you'd like me to.


Call rfid_trigger_play instead of mpc directly

playerstop:
    $PATHDATA/resume_play.sh -c=savepos && mpc stop
playerstopafter:
    echo "mpc stop" | at -q s now + $VALUE minute

both call a mpc stop to reduce the direct mpc calls and reduce redundancies playstopafter should look like:
echo "$PATHDATA/playout_controls.sh -c=playerstop" | at -q s now + $VALUE minute

Did you change this in your pull request?

No I didn't.
I saw this during adding subdirectory support

I haven't understood the playstopafter feature yet. What is a use case? Thatswhy i haven't supported it in the web app and made only a sloppy adaption for mpd.

I think the "playstopafter" is needed for the timer feature.
I didn't check all mpc calls. But I think it's useful to minimize the direct mpc-calls.
If there is a change on the control it's not easy to fix if there are same calls all over the place.
If I understand the example right, the timebased stop will not update the savepos. So your resume_play is the perfect example for this issue.


Use the return value from the command to determine exit code

Resolves #437

@dkniffin do you have a test for this? If not I'd be happy to help out and create one.

@rupert no, I didn't write any. Feel free to add some


Trouble starting a project

Trying to get off the ground with bazel, but having trouble with a minimal example: when I bazel build :scalabook for example I get the following error:
WARNING: /private/var/tmp/_bazel_parth.mehrotra/56e65e76c6e5acbbd30fd286bccbe6a3/external/bazel_tools/tools/jdk/BUILD:116:1: in alias rule @bazel_tools//tools/jdk:java: target '@bazel_tools//tools/jdk:java' depends on deprecated target '@local_jdk//:java': Don't depend on targets in the JDK workspace; use @bazel_tools//tools/jdk:current_java_runtime instead (see https://github.com/bazelbuild/bazel/issues/5594)
WARNING: /private/var/tmp/_bazel_parth.mehrotra/56e65e76c6e5acbbd30fd286bccbe6a3/external/rules_scala_annex/src/main/scala/higherkindness/rules_scala/common/args/BUILD:4:1: in scala_library rule @rules_scala_annex//src/main/scala/higherkindness/rules_scala/common/args:args: target '@rules_scala_annex//src/main/scala/higherkindness/rules_scala/common/args:args' depends on deprecated target '@local_jdk//:java': Don't depend on targets in the JDK workspace; use @bazel_tools//tools/jdk:current_java_runtime instead (see https://github.com/bazelbuild/bazel/issues/5594)
ERROR: /private/var/tmp/_bazel_parth.mehrotra/56e65e76c6e5acbbd30fd286bccbe6a3/external/rules_scala_annex/src/main/scala/higherkindness/rules_scala/common/args/BUILD:4:1: in scala_library rule @rules_scala_annex//src/main/scala/higherkindness/rules_scala/common/args:args:
Traceback (most recent call last):
        File "/private/var/tmp/_bazel_parth.mehrotra/56e65e76c6e5acbbd30fd286bccbe6a3/external/rules_scala_annex/src/main/scala/higherkindness/rules_scala/common/args/BUILD", line 4
                scala_library(name = 'args')
        File "/private/var/tmp/_bazel_parth.mehrotra/56e65e76c6e5acbbd30fd286bccbe6a3/external/rules_scala_annex/rules/scala.bzl", line 203, in _scala_library_implementation
                _run_phases(ctx, [("resources", _phase_resourc...)])
        File "/private/var/tmp/_bazel_parth.mehrotra/56e65e76c6e5acbbd30fd286bccbe6a3/external/rules_scala_annex/rules/private/phases/api.bzl", line 28, in _run_phases
                function(ctx, g)
        File "/private/var/tmp/_bazel_parth.mehrotra/56e65e76c6e5acbbd30fd286bccbe6a3/external/rules_scala_annex/rules/private/phases/phase_javainfo.bzl", line 25, in function
                java_common.run_ijar(ctx.actions, jar = ctx.outputs.jar, <2 more arguments>)
expected value of type 'JavaToolchainSkylarkApiProvider' for parameter 'java_toolchain', for call to method run_ijar(actions, jar, target_label = None, java_toolchain) of 'java_common'
ERROR: Analysis of target '//:scalabook' failed; build aborted: Analysis of target '@rules_scala_annex//src/main/scala/higherkindness/rules_scala/common/args:args' failed; build aborted
INFO: Elapsed time: 0.076s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded, 0 targets configured)

Hey @Parth I'm having trouble reproducing this issue using the same version of higherkindness/rules_scala you're using in your WORKSPACE file. What version of bazel are you using?

Build label: 0.27.0
Build target: bazel-out/darwin-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Mon Jun 17 13:03:58 2019<PHONE_NUMBER>)
Build timestamp:<PHONE_NUMBER>
Build timestamp as int:<PHONE_NUMBER>

Hmmm higherkindness/rules_scala doesn't support that version of Bazel, but I'd expect different errors if that were the cause. Let me test it real quick

That was the issue.. Just reproduced it with Bazel 0.27. I expected a different error to be thrown, however ("The requested Bazel version '$bazel_version' is not supported")
Currently, higherkindness/rules_scala officially supports Bazel versions 0.24.1 and 0.25.2. I'll open a new issue to figure out why the build didn't fail sooner and with the correct error. Sorry about the confusion.

No worries, got similar feedback here, this is the rules set I'm interested in using so I'll grab 0.25

Sweet. Make sure you grab 0.25.2 :)
Hopefully we can get compatibility with newer versions in the near future. Let us know if you run into any other issues!

Awesome, thanks again!


Homepage and footer work

Connect #318
Added footer on homepage to link to privacy policy.
minor homepage alignment adjustments

Nice work here. I'd like to see some visual polish here with the body justified and some separation for the contact info so it's more clear by , color or the like.


Shuffleboard screen change on Teleop Init

Feature Request: The ability to have the shuffleboard screen change automatically when autonomous ends and teleop starts.

Unapplicable in current robot code as both teleoperated and autonomous use the same screen on Shuffleboard


Don't capture entire environ in wsgi event processor

@mitsuhiko could you look over https://github.com/getsentry/sentry-python/blob/98399ca5f03f2ac69ae98308cc4fd6dfb76ad457/sentry_sdk/integrations/_wsgi.py#L205? I wonder if it would make sense to just write to the scope eagerly instead. Weakref on the environ dict is kind of shitty: Any middleware or web framework could do dict(environ) and the weakref is broken

@mitsuhiko needed + worth it or not, what do you think?

It’s okay postponing then.


Replacement for _firstRendered?

As I'm upgrading a Polymer 2 project I have a lot of this.$.elementID calls.
To help with this (until we can replace a lot of code) we had been using this mixin:
/** Get a lookup of all the elements in the shadow DOM by ID
 * @param element The element to scan
 * @returns Elements lookup*/
function getIdElements(context: DocumentFragment): { [key: string]: Element } {
    return [...context.querySelectorAll('[id]')].
        map(x => ({ id: x.id, element: x })).
        reduce<{ [key: string]: Element }>((a, c) => {
            a[c.id] = c.element;
            return a;
        }, {});
}

interface Constructor<T> { new(...args: any[]): T; }

export function With$<T extends Constructor<any>>(Base: T) {
    return class extends Base {

        /** After first render this holds references to elements by ID */
        $: { [key: string]: Element };

        /** Store a $ reference to the elements for easy access */
        _firstRendered() { this.$ = getIdElements(this.shadowRoot); }
    }
}

As of 0.6 this no longer works, partly because LitElement is now abstract, but also because _firstRendered has gone.
How should we hook up a mixin with 0.6 to run immediately after the lit-html render has built the shadow DOM?

_firstRendered was changed to firstUpdated in v0.6.0.

Cheers, that did the trick.


BeaconConsensusEngineEvent generic data prims

Describe the feature
Make BeaconConsensusEngineEvent generic over primitive types as BeaconConsensusEngineEvent<N: NodePrimitives = reth_primitives::EthPrimitives>. Pass generics N::BlockHeader and N::BlockBody, to the contained SealedHeader and SealedBlock. Update the impl body accordingly.
https://github.com/paradigmxyz/reth/blob/6695d07c656e7461efeb8cd5e76d54628b1cce20/crates/consensus/beacon/src/engine/event.rs#L11-L57
Additional context
No response

Can I take this one?


Enums treated as structural equivalent although they aren't

TypeScript Version:  2.0.3
Code
File: api.d.ts
export enum SymbolKind {
	A = 0,
	B = 999
}

File: internal.ts
export enum SymbolKind {
	A,
	B
}

File: main.ts
import * as api from './api';
import * as internal from './internal';

let s1: api.SymbolKind;
let s2: internal.SymbolKind;

s1 = s2;

This should produce an error.
The reason why we think this should produce an error is as follows: if you change the api.d.ts to
export enum SymbolKind {
	A,
	B
}

You get a compile error. The only reasonable explanation we could come up with was that in the case of a d.ts file the compiler can't make any assumption about the real enum values since the implementing ts file could have assigned some. So this is a real problem. But flagging this as a problem should flag not matching enum values as a problem as well.

Unfortunately, this is the way that "semi-structural" assignability of enums was intended to work when we added it to 1.8. We don't check the initialisers of the enum, just the member names.
In 2.0 we made it slightly stricter, so that computed enums (those with non-constant initialisers) are not assignable to union enums (those with constant or no initialisers). But that doesn't apply here.
We could make it stricter still by checking the types of individual enum members. If they are constant, they'll be a literal number type. But this would be a breaking change, and one that's more likely to affect people than the computed/union break in 2.0. Maybe we should revisit this decision.


[Enhancement] Search for multiple vanity npub targets

Example usage:
$ cargo run --release -- --vanity-n=rana,h0dl,n0strfan

Rationale in the updated README:

Specifying multiple vanity-n targets allows you to leverage the work you've already done to generate each new npub candidate. Searching a candidate npub for additional targets is incredibly fast because it's just a trivial string compare.
Statistically speaking, searching for rana,h0dl should take half the time that searching for rana and then doing a second, separate search for hodl would take.

Slightly enhanced console output
When doing a vanity-n search, the vanity target itself will be listed in the output. This makes it easier to see which target was found. Especially useful if a long list of target vanity-n are specified.
==============================================
Vanity npub found:         h0dl
Found matching public key: bbdbfc0412e0ff99bd51bdba4ff732bf3d5d0b3d3be188c970fba3351eb0e41e
Nostr private key:         fab16d1784115fe25cfa4e9e3937e1b506359326af4e6869beadf33f4b9f8484
Nostr public key (npub):   npub1h0dlcpqjurlen023hkaylaejhu746zea80sc3jtslw3n284sus0quhrkwd
Nostr private key (nsec):  nsec1l2ck69uyz907yh86f60rjdlpk5rrtyex4a8xs6d74hen7julsjzqj09dw5
1143455 iterations (about 1x10^6 hashes) in 6 seconds. Avg rate 190575 hashes/second
==============================================
Vanity npub found:         sat0
Found matching public key: 8756f8e3df4fc82d935c89872be2aa8d52afe3e9c40d0a4a5047f57f0ab4fdf2
Nostr private key:         09b0157b6cafa9912e3b19500b6ceef4c7bb00de4eff11a026e5b4e213596b15
Nostr public key (npub):   npub1sat03c7lflyzmy6u3xrjhc4234f2lclfcsxs5jjsgl6h7z45lheqyem0g2
Nostr private key (nsec):  nsec1pxcp27mv475ezt3mr9gqkm8w7nrmkqx7fml3rgpxuk6wyy6edv2szyttv3
1581627 iterations (about 1x10^6 hashes) in 9 seconds. Avg rate 175736 hashes/second
==============================================
Vanity npub found:         h0dl
Found matching public key: bbdbfa8848ebfdfc17bc5d47becb6b3e0d2e6e8bea0ffca42a08c56d004de443
Nostr private key:         19133ed50184450037c0881341d685273ae93896e92b11c8f746aa9045052d4c
Nostr public key (npub):   npub1h0dl4zzga07lc9aut4rmajmt8cxjum5tag8lefp2przk6qzdu3psfmmhvm
Nostr private key (nsec):  nsec1ryfna4gps3zsqd7q3qf5r459yuawjwykay43rj8hg64fq3g994xqagdgyk
1770852 iterations (about 1x10^6 hashes) in 10 seconds. Avg rate 177085 hashes/second

Caveat
This is literally the first Rust code I've ever attempted to work with. My efforts here were basically guess-and-check the whole way.

Thank you for this great contribution 😃
I tested it and I found something that broke
Rana v0.3.1

This PR:

@grunch, I'll take a look!
If I knew more about Rust, I'd help build out the test suite, but we're right at the limit of my noob abilities right now.

tACK
It works like a charm 🥳

this is awesome.  any upper limit to the N npubs?  I was working on my own Python version before I discovered this tool, I'm sure this is much more optimized!

this is awesome. any upper limit to the N npubs?

No limit on -n search targets, but it would be interesting to get some benchmarking to see what performance impact they have as the number increases. If 50 or 100 is not really much different than, say, 2-5, then load up!

I was working on my own Python version before I discovered this tool, I'm sure this is much more optimized!

Same! My python version had trash performance compared to rana!!!


iOS Dictation TextInput ends abruptly between words (0.59 and<EMAIL_ADDRESS>

Using dictation mode on a TextInput in iOS works partially. It only writes 1 word down then the dictation ends. (on react-native apple tv)
I am using react-native for apple tv and I tried with 0.59.9
xcode 11.3
it only grabs one word. I tried the debounce from
#18890 and it didn't help. However, when I am in debug mode it works fine so I think something is wrong with the timeline issue.
Try using iOS dictation in the TextInput. Be sure to use a long sentence...
Expected Behavior
I expect the TextInput to capture the entire dictation.
Actual Behavior
The dictation will end abruptly between words.

This is merged, and appears in https://github.com/react-native-community/react-native-tvos/releases/tag/v0.61.5-1 .  Closing.


Icon Request: Social Media

I've seen that in some TWUI examples they use some social media icons, can you include them? Also linkedin and Behance

is the source for these social icons known?

Id also love to see social media icons added!

Here's a great alternative https://svgporn.com/
The only con with using it is you have to open SVG & change colors if you don't want to use the original logo colors which are tedious to handle. Idk much SVG so not sure if it's easy or hard.

https://simpleicons.org/

Just came here to request these

Also looking forward to seeing the heroicons library expanded with social media (using tailwindUI btw, and I need the linkedin icon in the same style as the others, most likely will just self host the svg for it)


idris2: Enable --install, bugfixes

Motivation for this change
This removes the need of the bin/idris2_app folder
and replaces it with proper links to the nix-storage folders
This also allows the user to override IDRIS2_PREFIX which
will allow them to use --install to install packages.
Example of how directories are created by the wrapper when user changes the prefix:
$ IDRIS2_PREFIX=~/.idris2 idris2 --paths
+ Working Directory      :: "/home/wchresta/src/nixpkgs"
+ Source Directory       :: Nothing
+ Build Directory        :: "build"
+ Output Directory       :: "build/exec"
+ Installation Prefix    :: "/home/wchresta/.idris2"
+ Extra Directories      :: [".", "/nix/store/h4851cakq6w4cw3hcy2c65b87l80br96-idris2/idris2-0.2.1/base", "/nix/store/h4851cakq6w4cw3hcy2c65b87l80br96-idris2/idris2-0.2.1/contrib", "/nix/store/h4851cakq6w4cw3hcy2c65b87l80br96-idris2/idris2-0.2.1/network", "/nix/store/h4851cakq6w4cw3hcy2c65b87l80br96-idris2/idris2-0.2.1/prelude", "/home/wchresta/.idris2/idris2-0.2.1/prelude", "/home/wchresta/.idris2/idris2-0.2.1/base"]
+ CG Library Directories :: ["/nix/store/h4851cakq6w4cw3hcy2c65b87l80br96-idris2/idris2-0.2.1/lib", "/home/wchresta/.idris2/idris2-0.2.1/lib", "/home/wchresta/src/nixpkgs"]
+ Data Directories       :: ["/nix/store/h4851cakq6w4cw3hcy2c65b87l80br96-idris2/idris2-0.2.1/support", "/home/wchresta/.idris2/idris2-0.2.1/support"]

Things done

Fix: idris2_app/ was exposed in bin/
Remove native Idris2 wrapper that set LD_LIBRARY_PATH
Improve new Idris2 wrapper to set Idris2 paths to out folders

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[X] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

@GrahamcOfBorg build idris2

nixpkgs-review succeeds:
https://github.com/NixOS/nixpkgs/pull/95776
1 package built:
idris2

I think we're ready to merge here.
pinging @veprbl and @Lassulus (as they've merged previous idris2 PRs)


Internal server error on Invoke with nested object as argument.

Given a firefly schema
    {
      "name": "createVoting",
      "description": "Create a vote, using a ballot.",
      "params": [
        {
          "name": "ballot",
          "schema": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string"
              },
              "id": {
                "type": "string"
              }
            }
          }
        }
      ],
      "returns": [
        {
          "name": "",
          "schema": {
            "type": "string"
          }
        }
      ]
    },

When called with:
curl -X 'POST' \
  'http://<IP_ADDRESS>:5000/api/v1/namespaces/general/apis/chaincode/invoke/createVoting' \
  -H 'accept: application/json' \
  -H 'Request-Timeout: 2m0s' \
  -H 'Content-Type: application/json' \
  -d '{"input":{"title":"Food preferences - title","ballot":{"id":"00000000-00000000-00000000-00000000","title":"Food preferences."}},"options":{}}'

Firefly returns status code 400 Bad Request:
{
  "error": "FF10284: Error from fabconnect: failed to validate argument \"ballot\": - (root): Invalid type. Expected: object, given: string\n"
}

Firefly shows these log lines:
[2023-05-18T17:41:52.790Z]  INFO --> POST /api/v1/namespaces/general/apis/chaincode/invoke/createVoting httpreq=hD6T8jaI pid=1 req=ZO0HVzmC
[2023-05-18T17:41:52.790Z]  INFO <-- POST /api/v1/namespaces/general/apis/chaincode/invoke/createVoting [400] (0.01ms): invalid character ':' looking for beginning of object key string httpreq=hD6T8jaI pid=1 req=ZO0HVzmC
[2023-05-18T17:42:38.197Z]  INFO --> POST /api/v1/namespaces/general/apis/chaincode/invoke/createVoting httpreq=YY3hA6_v pid=1 req=whl_kIeZ
[2023-05-18T17:42:38.221Z]  INFO Emitted transaction_submitted event 147457e2-a1e3-4dfb-9c85-c32129e88a56 for general:4af22562-16b3-4ef1-aa89-58ee218bbcca (correlator=,topic=contract_invoke) dbtx=kqV8Ssxn httpreq=YY3hA6_v pid=1 req=whl_kIeZ
[2023-05-18T17:42:38.222Z]  INFO Executing blockchain_invoke operation 60b657d9-705d-4e23-800f-36fb4684106d via handler ContractManager httpreq=YY3hA6_v pid=1 req=whl_kIeZ
[2023-05-18T17:42:38.223Z] ERROR <== POST http://fabconnect-0.fabconnect.default:3000/transactions [400] (1.28ms) breq=tSKqVL6u pid=1 proto=fabric
[2023-05-18T17:42:38.242Z]  INFO Emitted blockchain_invoke_op_failed event c4937a8c-8a17-4ce7-b7ba-16847f8e1c6d for general:60b657d9-705d-4e23-800f-36fb4684106d (correlator=,topic=) dbtx=W1ImNQtu ns=general pid=1
[2023-05-18T17:42:38.242Z]  INFO <-- POST /api/v1/namespaces/general/apis/chaincode/invoke/createVoting [500] (44.83ms): FF10284: Error from fabconnect: failed to validate argument "ballot": - (root): Invalid type. Expected: object, given: string

Fabconnect shows these log lines:
[2023-05-18T17:42:38.223Z]  INFO --> POST /transactions
[2023-05-18T17:42:38.223Z] ERROR <-- POST /transactions [400]:
failed to validate argument "ballot": - (root): Invalid type. Expected: object, given: string

It seems that firefly passes the nested object as a string, instead of a nested of an object.
Firefly Version: 1.2.0
Fabconnect v0.9.17

I suspect that the input arguments are always serialized as a seprate string, instead of preserving the structure:
https://github.com/hyperledger/firefly/blob/4df24f30508b046fe57def1d386d2fb73a5d1979/internal/blockchain/fabric/fabric.go#L820

I think that json.Marshal is called twice. Once on the nested json-object and once on the body of the request by the rest client.
This is the equivalent of:
package main

import (
	"encoding/json"
	"fmt"
)

func main() {
	var inner = make(map[string]string)
	inner["inner"] = "data"
	var output, _ = json.Marshal(inner)
	var outer = make(map[string]string)
	outer["outer"] = string(output)
	var output2, _ = json.Marshal(outer)
	fmt.Println(string(output2))
}

Which results in:
{"outer":"{\"inner\":\"data\"}"}

While what should happen is:
package main

import (
	"encoding/json"
	"fmt"
)

func main() {
	var inner = make(map[string]string)
	inner["inner"] = "data"
	var outer = make(map[string]map[string]string)
	outer["outer"] = inner
	var output2, _ = json.Marshal(outer)
	fmt.Println(string(output2))
}

Which results in:
{"outer":{"inner":"data"}}

Because Resty is called using an unmarshalled object, it is marshalled again. I think this line is not required: https://github.com/hyperledger/firefly/blob/4df24f30508b046fe57def1d386d2fb73a5d1979/internal/blockchain/fabric/fabric.go#L712 And the comment is wrong.


Propagate errors

My intent is you work on this feature branch as well @franknoirot :)
This explains how to test failures at random points in the initialization process:
https://github.com/KittyCAD/modeling-app/assets/547923/1194277a-6e70-4040-9477-1c34bdac88c9
Lemme know if you need anything else :slightly_smiling_face:
Oh yeah, and for sure the tests will need to be fixed up

I approved this and branched off it to finish the UI stuff, but didn't realize my PR for that branch was pointed at main instead of this. I've merged that, making this PR already-shipped


Force clean before making deploy-esx and deploy-mv

Fixes #445
Forces makefile  run clean-esx or clean-vm before building deploy-esx and deploy-vm
respectively.
It could take a few extra cyclesto try to clean when it's not really needed- but IMO it's well worth the improved reliability of manual builds
Tested: make all, and CI (Ci if failing until CI is fixed)

LGTM

LGTM. I will clean up the ci scripts to not call clean explicitly as this will call clean.


Added image data value to 'forEachLayerAtPixel' method callback

The update has been added to the docs for all 'forEachLayerAtPixel' prototypes
and currently returns null for non-supporting definitions. #5586
@tsauerwein @ahocevar @fredj closed Pull request #5650 when trying to reference the issue.
@fredj Array.from() has been replaced by  Array.prototype.slice.call()

LGTM, @Benjaki2 thanks for changing the implementation.
@ahocevar , @tsauerwein any other comment?

That looks good from my side (just a small remark about wording), thanks for updating @Benjaki2!

Question: what would be wrong about passing imageData directly, instead of Array.prototype.slice.call(imageData)? Since this event is dispatched on a hot path, it would be better to not create a new array every time.

@ahocevar good point. We would just need to edit the typeDef of ol.Color to be an Array|Uint8ClampedArray.

Alright. Those adjustments are in. Any other concerns?

@Benjaki2 I wanted to take another look, but the branch has conflicts now due to the restructuring we've done in the meantime. Can you resolve the conflicts please?

np @ahocevar

Thanks @Benjaki2. The documentation could be improved (i.e. explain that it is the color of the detected pixel, and list the supported layer types), but that can be done in a follow-up pull request.

My pleasure @ahocevar. I will work on making the documentation more explicit here. Thanks!

I think things might be getting a bit mixed up here with ol.Color.
ol.color.isValid(new Uint8ClampedArray([255, 255, 255, 255])) // -> false
ol.color.asArray(new Uint8ClampedArray([255, 255, 255, 255])) // throws ol.AssertionError

Both of those functions accept ol.Color as an argument.  I think both results are unexpected.  If we're using Uint*Array for colors, we need to reconcile this with the current array use where the alpha value ranges from 0..1 (not 0..255).

I don't see real benefit to overloading ol.Color for this functionality.  Wouldn't it be more straightforward to have the type of the new argument be Uint8ClampedArray?

I've simplified the ol.Color type in #5872.


Adding UUIDV4 as random filename generation strategy

I needed to generate longer and more random file names, so I added the UUIDV4 strategy.
The default behavior remains the same.
Note that I don't know python very much, if there's a way to detect the os.environ['strategy'] at startup and then read the variable, it woud be best.

I updated the code in order to use same mechanism as other parameters, and updating the doc accordingly


ENH: stats.mstats: add weighted Harrell Davis quantile estimation

Reference Issue
No issue
What does this implement/fix?
Updates the implementation of Harrell Davis quantile estimation, enabling weighted data. This changes assume equal weights as default, leaving the previous implementation invariant.
Additional Information
Referenced implementation on the work done by Andrey Akinshin @AndreyAkinshin  present in the reference material of https://doi.org/10.48550/arXiv.2304.07265.

Python API inspect found only one use of hdquantiles outside of tests. There are no questions about it on Stack Overflow, and interest has seemed limited here on GH.
@tupui are you able to see whether the documentation gets many hits?
@ivanbelenky @AndreyAkinshin is it possible that there are different ways of defining weights for this function? Are there any published references?

@mdhaber I am not sure I understand the question. So sorry in advance if the following is not providing meaningful info.
The weight addition to the function is a generalization over the default, equally weighted, quantile calculation. Previously the weights were implicitly defined on the internal variable v.
v = np.arange(n+1) / float(n) # == np.cumsum([0, *weights]) --> implicitly defining weights = [1/n, 1/n, ...]

The latter is used as the free parameter for beta.cdf evaluation. The proposed enhancement makes the weights definition explicit with the aim of generalization. It is evident that the equally weight case degenerates to the current implementation.
AFAIK, there is no other way of interpreting/defining the weight components on a quantile calculation. The paper mentioned above was the only reference found for this method.

@tupui are you able to see whether the documentation gets many hits?

50 hits during the last month (mstats included) vs 1.7 millions page views 😅

AFAIK, there is no other way of interpreting/defining the weight components on a quantile calculation

Please see gh-6931. Do the considerations discussed in that issue apply here?

The paper mentioned above was the only reference found for this method.

That is also a bit of evidence that this feature may not be in very high demand. With finite maintainer time, we need to prioritize things that will have high impact.
Also, while it can't be said that SciPy never incorporates unpublished mathematical results (e.g. there are some analytical maximum likelihood estimates that are not found in textbooks), they are typically very straightforward and objective (e.g. solutions to an existing equation). If this doesn't fit into that category, I would not be able to support it without a published reference.
If you're interested in pursuing this, I'd suggest bringing attention to this issue on Discuss asking if there is support for adding this feature and if so, if someone is willing to review.

Please see gh-6931. My understanding is that Do the considerations discussed in that issue apply here? I haven't read very carefully, but my understanding is that there are different interpretations of weights that can result in different implementations.

Is that so?
How can a weight be interpreted differently from what it is?
I mean, of course, there could be the Trump weight or the Fake-News-weight which might be different, but the "weight" per se is independent of politics and it is what it is: a weight! Indifferent from interpretation.

I haven’t heard of Harrell Davis quantile estimator before, so I did a quick search and find it very interesting! I also read the original paper, which I find quite clearly written. In particular, the probabilistic model is a sample of i.i.d. observations and the task is to estimate the population quantile from this sample. The variance and efficiency of the estimator is studied.
I then read the arxiv document of the proposed weighted estimator, and find it quite clear and intuitive too. However, I don’t readily find a probabilistic model for the weighted estimator. This leaves me with the (possibly wrong) impression that the weighting scheme feels more “tactical” than “fundamental”.
For example, I find the main example used in the document, i.e. exponential decay in time series, somewhat questionable. The intention looks clear to me, and I certainly may have wanted to underweight “historical” observations in an exponential decay fashion. However, time series observations are often not i.i.d., and the fact that the author wants to apply decaying weights confirms this. It is unclear to me how to “extend” a quantile estimator designed for i.i.d. sample consistently to this use case.
In addition, the document illustrates with (a)  time series with jump, and (b) a time series with trend. I think a proper way to model these time series is to explicitly model the jump/trend. While a decaying descriptive statistic could be useful, I’m not sure it’s suitable for a general-purpose library as SciPy.

Haven't seen anything posted on Discuss, and there are several contraindications here, so I'll close. Feel free to bring it up on the forum though, and if it looks like it should be included and there is a maintainer willing to review it, it can always be re-opened.  You might also check to see if Pingouin wants to add this to their implementation.


Fixing the use of "&" on article titles + Adding Demo link to the project

Just like the issue https://github.com/Matterwiki/Matterwiki/issues/25 , when you use the "&" on article titles it breaks.
Before:

After the fix:

+++++++
Adding a live Demo of Matterwiki and referencing it's url on the main Readme
https://matterwiki.herokuapp.com

Hey @Agezao ! Thanks for this :)
It'd be nice if you could split this into two PRs, because it gets easier for the maintainers to discuss/consider/track every functionality separately.


MAINT: fix up package metadata in setup.py

Obtain long description from README.rst, so that it gets included on pypi
uploads. Add trove classifiers.  Change example site url in README.

Coverage remained the same at 58.265% when pulling 45af2b03622667e90501497e5ac8acab735f248c on pv:metadata-update into 797593bb286a6606dafb4a94580ff9d90ea1387d on spacetelescope:master.


BlitzAPI: add a availability check / ping endpoint

See https://github.com/fusion44/blitz_api/issues/145
Can just respond with 200, so it's a ping

Is that still on my todo list?

@rootzoll yes

@fusion44 go ahead

@fusion44 what is the status here?

I've implemented the basics today. Should be ready by Friday at latest.


Bug fix 3.7/indexes on disjoint smart edges

Scope & Purpose
This is just CHANGELOG PR.
The fix is enterprise only
Backport of https://github.com/arangodb/arangodb/pull/12900

[x] :hankey: Bugfix
[ ] :pizza: New feature
[ ] :hammer: Refactoring
[x] :book: CHANGELOG entry made
[ ] :muscle: The behavior in this PR was manually tested
[ ] :computer: The behavior change can be verified via automatic tests

Backports:

[ ] No backports required
[x] Backports required for:

[x] devel
[x] 3.7

Related Information
(Please reference tickets / specification etc)

[ ] Docs PR:
[x] Enterprise PR: https://github.com/arangodb/enterprise/pull/572
[ ] GitHub issue / Jira ticket number:
[ ] Design document:

Testing & Verification
(Please pick either of the following options)

[ ] This change is a trivial rework / code cleanup without any test coverage.
[ ] This change is already covered by existing tests, such as (please describe tests).
[x] This PR adds tests that were used to verify all changes:

[x] Added Regression Tests
[ ] Added new C++ Unit Tests
[ ] Added new integration tests (i.e. in shell_server / shell_server_aql)
[ ] Added new resilience tests (only if the feature is impacted by failovers)

Additionally:

[ ] There are tests in an external testing repository:
[ ] I ensured this code runs with ASan / TSan or other static verification tools

http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/12468/
Documentation

All new Features should be accompanied by corresponding documentation.
Bugs and features should furthermore be documented in the changelog so that
developers and users have a concise overview.

[x] Added a Changelog Entry (referencing the corresponding public or internal issue number)
[ ] Added entry to Release Notes
[ ] Added a new section in the Manual
[ ] Added a new section in the HTTP API
[ ] Added Swagger examples for the HTTP API
[ ] Updated license information in LICENSES-OTHER-COMPONENTS.md for 3rd party libraries

External contributors / CLA Note
Please note that for legal reasons we require you to sign the Contributor Agreement
before we can accept your pull requests.

Jenkins Blue.


[FEATURE] [CHORE] Add .eslintcache to gitignore

Description
This file contains nothing useful rather than cache, and it's causing unnecessary git errors/warnings. It would be better to add it to gitignore
Screenshots
No response
Additional information
No response
👀 Have you checked if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Contributing Guidelines?

[X] I have read and understood the rules in the Contributing Guidelines

Are you willing to work on this issue ?
Yes I am willing to submit a PR!

Won't assign this to you as it's a good first issue

Hi @Dun-sin , can you assign this one to me?
I am new to open source & have done some contributions

Hi @Dun-sin , can you assign this one to me?
I am new to open source & have done some contributions

Definitely, thanks for wanting to contribute, Make sure you follow the rules 👉🏽here👈🏽, else your PR will not be accepted and will be closed. Good Luck

Sure! thanks for the guidance!


Make databases depend on workflows/plugins that were previously used in analysis

Version and Platform (required):

Binary Ninja Version: 3.1
OS: *
OS Version: *
CPU Architecture: *

Steps To Reproduce:
Please provide all steps required to reproduce the behavior:

Enable objc plugin, restart
Set the workflow to the objc one, disable the objc plugin, restart again
Open any binary without modifying the default workflow

Linear Analysis will be entirely broken with only a line in the error log vaguely indicating what went wrong.
Settings UI will still indicate that the workflow is available until you un-select it and restart again.
Screenshots:

This is actually a larger issue where, if we were to disable the workflow, you might open the file (which you had previously used the workflow on) and re-analyze without the workflow, which could clobber earlier analysis with less-correct, new analysis.
Ideally:

We would turn off the workflow after the plugin has been disabled (so that default analysis on other binaries will run)
The database would depend on the workflow to prevent default analysis from being run (because we don't want to re-analyze this binary without the plugin)
A more prominent warning could be displayed so the user understands analysis will be broken because the plugin is missing and the workflow is not being run (possibly in a popup, or possibly by forcing the global area open and switching to the log window)
The error message should hint at/explain how to turn off the dependency within the database if the user really doesn't want to use the workflow anymore


Night CI 2023-09-08: Failed

action url: https://github.com/spidernet-io/egressgateway/actions/runs/6125918143

same with #773


the tf2crf supports multi-label classification?

the tf2crf supports multi-label classification?

I think you don't need crf to do classification task.

Can you deploy an example of CRF implementation use sparse_target=False?

You need to one-hot encoding your y_true. For example:
If you have n classes, and y_true is the true labels with shape
(batch_size, sequence_len):
from tf.keras.preprocessing.text import one_hot
y_yrue = one_hot(y_true, n)

On Fri, Mar 12, 2021 at 10:48 PM Kevin Takano @.***>
wrote:

Can you deploy an example of CRF implementation use sparse_target=False?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/xuxingya/tf2crf/issues/33#issuecomment-797535983, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADFZVRCUJJSDNTYKDZ4JCUDTDISTVANCNFSM4ZBEYCMQ
.


set request and limits

Towards: https://github.com/giantswarm/giantswarm/issues/12001

Please add changelog entry.

Thanks for the fix <3


Word duplication in JSDoc comment

Thanks for stopping by to let us know something could be better!
PLEASE READ: If you have a support contract with Google, please create an issue in the support console instead of filing on GitHub. This will ensure a timely response.

Is this a client library issue or a product issue?
This is the client library for . We will only be able to assist with issues that pertain to the behaviors of this library. If the issue you're experiencing is due to the behavior of the product itself, please visit the  Support page to reach the most relevant engineers.

Did someone already solve this?

Search the issues already opened: https://github.com/googleapis/nodejs-firestore/issues
Search the issues on our "catch-all" repository: https://github.com/googleapis/google-cloud-node
Search or ask on StackOverflow (engineers monitor these tags): http://stackoverflow.com/questions/tagged/google-cloud-platform+node.js

Do you have a support contract?
Please create an issue in the support console to ensure a timely response.

If the support paths suggested above still do not result in a resolution, please provide the following details.
Environment details

OS: Windows 11
Node.js version: v16.13.1
npm version: 8.18.0
@google-cloud/firestore version: 4.15.1

Steps to reproduce

Go here
See the word before is duplicated on the highlighted line

Making sure to follow these steps will guarantee the quickest resolution possible.
Thanks!

Thank you for the PR! I will approve and merge.


NN-4603 YourCompletedReport update

Note the screen designs have not been updated but the Acceptance Criteria are inline with AllCompletedReports updates in order to be more uniform in look&feel


[WIP] Experiment with travis provisioning

Do not merge as is - this commit drops appveyor config to speed up testing turnaround.
Signed-off-by: Mats Wichmann<EMAIL_ADDRESS>Contributor Checklist:

[ ] I have created a new test or updated the unit tests to cover the new/changed functionality.
[ ] I have updated master/src/CHANGES.txt directory (and read the README.txt in that directory)
[ ] I have updated the appropriate documentation

This one served its purpose for doing experiments, no longer needed.


Gossipsub parameter tuning

Overview
The gossipsub mesh parameters were originally chosen for message propagation speed and redundancy (a large number of faulty nodes shouldn't impact the message propagation too much). However, now that our networks have advanced, become stable and have a significant number of nodes, it might be time to re-visit the gossipsub parameters.
We (Lighthouse) have been looking into bandwidth consumption of our nodes and are in the process of doing some more analysis (which we'll share when we have it) and ways to reduce this without degrading our current networks.
The primary source of excessive bandwidth consumption is our gossipsub network which has a large degree of amplification on all our topics.
Potentially Low-Hanging Fruit
I've been monitoring the number of duplicates we have been receiving on various topics as well as the number of IWANT messages we have been sending. Both of these are good measures of redundant bandwidth. The goal, is to minimise these for each topic, without degrading the network.
A node typically sends IWANT messages when they receive an IHAVE from one of their peers for a message before they receive it from one of their mesh peers. This suggests the mesh is propagating slower or on the order of a node's peer's heartbeat interval.  Messages can be delayed on the mesh for a number of reasons; message validation, network size, mesh connectivity, etc. Each client has their own speeds for validation, but also peer counts. A client that maintains more peer's is more likely to receive IHAVE's from one of their peers before their mesh (as the mesh size is bounded, regardless of peer count).
One suggestion to reducing IWANT/IHAVE is to either increase our gossipsub heartbeat_interval and/or decrease our D_lazy parameter to reduce the amount of gossiping each node does. These changes can however have an impact of message propagation latency, if nodes are currently relying on the gossip IWANT/IHAVE system to get their messages.
Message Amplification
We have set D to be 8 in the specs which naturally gives us relatively high message amplification. On the block topic (the simplest to reason about), we see on average about 8 duplicates (as would naively be expected) and therefore a bandwidth amplification of about 8x. The other topics are less straightforward.
We can significantly reduce our node's bandwidth by reducing the mesh sizes. The impact of this at a network-level is non-trivial. As we flood-publish, a client's default peer count plays a large role in how many hops or how fast a message propagates as we publish to every peer we know who is connected on that topic. Therefore, it may be possible to have higher peer counts, and lower mesh sizes whilst maintaining a similar number of hops to reach the entire network.
In any case our mesh sizes appear to be larger than needed and we may want to lower them (incrementally on testnets).
Proposal
I think it would be useful to put some lower bounds on the gossipsub mesh topic parameters. For lighthouse, we are considering having some of the parameters CLI tuneable. i.e users with no bandwidth limitation can have a high degree of connectivity (which provides them with lower message latency) and have some users with lower bandwidth but higher message latency.  We were going to leave the default as is, so that most users will have no change to the current gossipsub settings.
However to do this safely, there needs to be some lower bound on the mesh sizes such that if all nodes choose the lowest setting, the network still has sufficient redundancy/amplification and message propagation speed.
Ultimately, I think we should try test some parameters on testnets (slowly) before moving towards mainnet. The parameters can be lowered slowly and iterated on over time.
I know that a full simulation/analysis of the live network would be ideal before changing/justifying these parameters, however I don't know of anyone that can/has modelled our current eth2 network and can definitively say how much effect adjusting these parameters across all nodes on the network will have. Our testnet's also don't have the same topology as mainnet, so tests there may not reflect on mainnet.
With that caveat aside, I'm suggesting we add some lower bounds to the gossipsub values, something like:

D : 5 (maybe even 4 as a lower bound)
D_low: 3
D_high: 6
D_lazy: 3 (or maybe 2)
heartbeat_interval : Maybe up to half a slot (clients can choose when they want to send gossip)

Note that these would be lower bounds and clients can maintain their current values and no work needs to be done. However we discuss and allow for some implementations to reduce these values.
We may also want to modify our implementations such that we can specify these on a per-topic basis, if more analysis is done and better values can be found per-topic.

Some topics naturally have much more duplicates

How is message volume related to duplication?

How is message volume related to duplication?

Duplication might be the wrong word, but more IHAVE messages relaying the same message ids.

The proposed change would be to not only store the message-id from peers, but also the peers that have sent us this exact message. Then when we propagate/publish, we check that a peer hasn't already sent us this exact message. If a peer has sent us this exact message, its a waste for us to send it to them.

Another navie way could be to append the last few overlays prefix (first 2 bytes maybe) that the message has travelled and ignore retransmitting to similar overlays.  This method can still have duplicates, but theoretically contained under a small neighbourhood of the entire network which have similar overlay prefixes (how small is based on the prefix length we chose to use).
ofcourse this has a disadvantage that peers will know to some extent from which direction the message is coming from.

I think this is relevant even without message validation

How so? Presumably, without validation you receive a message and rebroadcast it to everyone without delay - ie there's no "gap" where nodes can send you messages and thus signal that they have it already - unless one is introduced artificially.

overhead of storing

Just thought a little bit about this, and the overhead should actually be negligible - we only need to store this information for messages that are in-validation - basically, the first time we see the message and send it off to validation, we register it for monitoring - then, when others send it as well, we record that, then when validation is done, we send it to anyone that wasn't in the monitoring record and remove the information completely. Subsequent messages will be discarded by the "seen" cache regardless and won't ever enter the validation pipeline so there's no overhead for them.

counter that bumps

This is an interesting idea, but it also introduces state that must be maintained across across the two clients, which I think adds a complication that we should strive to avoid, exhausting other possibilities first.

How so? Presumably, without validation you receive a message and rebroadcast it to everyone without delay - ie there's no "gap" where nodes can send you messages and thus signal that they have it already - unless one is introduced artificially.

Yep you're right. Its only in the validation gap this needs to be dealt with. Your suggestion is good. I've modified my implementation as to how we are storing the peers. Shifted it to the mem-cache and its a bit cleaner and should reduce significantly the memory footprint.


BUG: Horizontal Scrollbars Visible for Breadcrumbs when on smaller screens

Describe the bug
There are horizontal scrollbars visible in the breadcrumbs at the top of the page when using the application as an admin. These are visible on a
To Reproduce
Steps to reproduce the behavior:

Visit Provider Platforms as an Admin
Click on Manage Users for Canvas
Note the breadcrumb text at the top of the screen is wider than the container allows

Expected behavior
The container should accommodate the text in the breadcrumb and not show a horizontal scrollbar.
Screenshots

Desktop (please complete the following information):

OS: windows 11
Browser Edge
Resolution 2256 x 1504 (no zoom)

Additional context
When I view this on my external monitor everything looks correct. This only happens when I view it on my laptop monitor.

Depends on #428

For some reason I can't reproduce this bug? I don't have Edge, but doesn't seem to appear on Chrome Version 129.0.6668.70 (Official Build) (arm64) or on Safari Version 17.5.


Lists including Pinyin

Thanks for sharing these lists! Do you also have lists including Pinyin?

Not at the moment. It would be easy enough to add that automatically - there are a bunch of websites that'll do that for you - but I didn't want to put anything in here that didn't actually come from the original files.
I might try to OCR the Pinyin at some point but it's a bit dicey because a number of the letter + mark combinations (ü's and third tones especially) used in Pinyin are obscure enough that they're not supported by most OCR systems - would need a lot of hand checking to get right.


Support to YouTubePlayerSupportFragment

Hi we need support for YouTubePlayerSupportFragment.
I cant find the source code or i could have implemented it.
Please help

@AlenToma the source code for the binding is here -> https://github.com/xamarin/XamarinComponents/tree/master/XPlat/YouTube.Player/android/source/YouTube.Player.Android  but i'm not sure why the binding doesn't include that class already.

I know the binding exist(for some reason) but there is no C# actual class exist in the nuget package for YouTubePlayerSupportFragment.
SupportFragment exist in Xamarin.Android.Support.Fragment

@AlenToma looking at the api.xml it looks its in the api and in the api.xml.fixed(both are in the obj folder) files which are the the result of the transform.xml file.
Not sure why its not showing up

Friend.
I hade decomiled the Xamarin.YouTube.Player.Android dll and loked inside and there is no YouTubePlayerSupportFragment, there is only YouTubePlayerFragment which inherit from Fragment
in android >8 we will need YouTubePlayerFragment that inherit from Android.Support.V4.App.Fragment so we could use it for SupportFragmentManager

@AlenToma  its because the binding generator fails on YouTubePlayerSupportFragment -> BINDINGSGENERATOR : warning BG8604: top ancestor YouTubePlayerSupportFragment not found for nested type YouTube.Player.YouTubePlayerSupportFragment.A.

@AlenToma  Found the issue,  the binding doesn't reference the Android Support Libraries.  I'm working on an update now

Yes i know, i tried to explain that, you also need to build a new class call it YouTubePlayerSupportFragment  that inherit from Android.Support.V4.App.Fragment.

Is this really fixed ? there is no nuget package for Xamarin.YouTube.Player.Android 1.2.3

What is the status on this issue?

I saw that you have added     public
but nuget package need to be uppgraded to, and also inlude a new class YouTubePlayerSupportFragment in the nuget package.
Im i right or im i understanding this wrong ?

Found a solutoin that worked for me.
The binding generation for YouTubeSupportFragment failed because it depends on a class that is in Xamarin.Android.Arch.Lifecycle.Extensions nuget package. Added the package and it worked.

Yes i have fixed this a long time ago.


rewrite cookie endpoints: deleteCookies & clearCookies and fix clearCookies

cookiesClear did not check if it could be executed, so added that check, but also rewrote the API names to make it more clear what both endpoints do(n't).

Just a note: changing the API method names would be considered a breaking change meaning a bump in the major version. It's probably OK to rename for now without a major bump, but this would be the exception. @joelgriffith @timsuchanek?

@adieuadieu so you mean deleteCookies(name:string) and clearCookies(), but do I also need to change the set/get cookie functions or is that another PR?

@joeyvandijk let's rename the others in another PR. Technically we're introducing breaking changes...

👍


pull request for e2e test at 11/07/2016 01:26:09

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add sonarcloud.io

Add sonarcloud.io to our Travis pipeline, in order to ensure high code quality.
The organization is already set up: https://sonarcloud.io/organizations/kohlstechnology
Any GitHub users in our org will get automatically added, once they register to sonarcloud.io.

After some initial browsing of the SonarQube report generated for eunomia, I would advise that we should approach this tool cautiously, carefully, and with consideration. In the current (default?) configuration, I see it as dangerously overzealous and opinionated to the extreme; it seems to be taking many vague ideas and "good practices" too literally and  strictly, and taking them way too far into FUD territory.
However, with the above caveat, I believe we can totally still extract value from this tool if we approach it thoughtfully — assuming it has enough configurability and customizability. Specifically, my advice would be to start from a clean slate, with all and every rule disabled. Only then, gradually, cherry-pick and enable some if we like them (but disable them again with prejudice if we think they are more harm than gain). For example, from the first dozen or so on the list, I kinda potentially like the following ones:

https://sonarcloud.io/organizations/kohlstechnology/rules?languages=go&open=go%3AS3923
https://sonarcloud.io/organizations/kohlstechnology/rules?languages=go&open=go%3AS1940
https://sonarcloud.io/organizations/kohlstechnology/rules?languages=go&open=go%3AS1125
( https://sonarcloud.io/organizations/kohlstechnology/rules?languages=go&open=go%3AS134 - this one is tricky: the rule is potentially useful, though more as a hint during code review, not as an absolute rule; however I strongly dislike the description text; this could be a nice case to let us explore whether we can edit description text, as well as any "actions" and properties attached, ideally to have it only run as a hint during code reviews)

In comparison, some quick examples of  false positives that jumped at me as dangerous and "crying wolf" immediately when I started browsing the report generated by SQ for eunomia:

zz_generated.*.go files in our repo are auto-generated by third party tools, so we don't want to do any checks on them - e.g.: https://sonarcloud.io/project/issues?id=eunomia&issues=AW-43e0ZRIhFgpOtR6WU&open=AW-43e0ZRIhFgpOtR6WU
duplicated lines in tests - there will always be a lot of duplication in tests and this is OK more often than not - tests are somewhat different kind of code, and because of different goals, they are measured by different standards - for example, I much prefer tests that are explicit, quickly and easily readable, and dumb - even if duplicated - than if they are too smart - example "duplication" report: https://sonarcloud.io/code?id=eunomia&line=307&selected=eunomia%3Atest%2Fe2e%2Fstatus_test.go
TODOs marked as "code smells" - I am not sure I understand the goal of this; I much prefer if someone writes TODO for missing code, than if they were discouraged from writing it to "avoid introducing code smell" - this wouldn't remove the problem, but rather sweep it under the rug instead - example: https://sonarcloud.io/project/issues?id=eunomia&issues=AW-43ezHRIhFgpOtR6V4&open=AW-43ezHRIhFgpOtR6V4
"Code Complexity" with level "critical" when a function has 13 if-s, over half of them being "if err != nil" - first of all, absolutely not something "critical", this is pure fearmongering; an app crashing on PROD may be considered critical; data races are critical; 13 if-s are definitely not critical; I get it, the function is complex, let's talk about it, maybe we can think of something better (or maybe not?) — how about a dismissable warning during code review instead?  - https://sonarcloud.io/project/issues?id=eunomia&issues=AW-43ezHRIhFgpOtR6WC&open=AW-43ezHRIhFgpOtR6WC


Kustomize template ref=v0.28.0 references to 0.27.1

The command:
kubectl create --dry-run=client -o yaml -k 'github.com/kubernetes-sigs/descheduler/kubernetes/job?ref=v0.28.0' | grep image

returns the output: image: registry.k8s.io/descheduler/descheduler:v0.27.1
The correct result should be: image: registry.k8s.io/descheduler/descheduler:v0.28.0

Addressed in v0.28.1
Please feel free to reopen if you still see this issue


feat: Metrics

Hi y'all
I'm currently working on metrics for an etherum load balancer
Figured since you're doing lots of RPC calls and db queries it might be nice to point towards some resources like
https://docs.rs/prometheus/latest/prometheus/
and https://docs.rs/prometheus-metric-storage/latest/prometheus_metric_storage/
I also found reth's metrics crate as a good example of building metrics
this could be built as a oneshot channel-typed  sender and reciever deal as well using tokio's sync module

Great idea fancy doing it @nuts-rice ?


VS Code TypeScript built in extension stops and restarts every time a file is saved

VSCode Version: 1.52.1
OS Version: Mac OS 11.0.1

Steps to Reproduce:

Open any typescript file
Save File (even with no changes)
TS/JS Features initalizes and EVENTUALLY starts, but intellisense does not work until it does

Is there a setting to prevent TS Server from starting/stop every time a file is saved?

Does this issue occur when all extensions are disabled?: Yes

Does this reproduce in the latest VS Code insiders build with all extensions disabled?

Also check the developer logs to make sure the server is not crashing:

In VS Code
Run Developer: Toggle Developer tools in the command palette
Look in the developer console for errors related to TypeScript

Behavior cannot be replicated in VS-Insiders!
Here is what happens in VS-Code:
[Extension Host] File /Users/someproject/node_modules/api/src/utils/isAdmin.ts has been changed. Restarting TS Server.
Just realizing that what is going on here has to do with mono-repo architecture...  Yarn is reinstalling "api" in the top level node_modules folder when I save a file in /Users/someproject/apps/api/....
Is the intended behavior for vs-code TS to watch all files in node_modules, and if they change, to restart the server?
For future visitors, is there a better config for vs-code?  Seems as though this is the intended behavior and I need to research my yarn workspaces settings.
Thanks!

Thanks for the information. I am closing this since it does not happen insiders.
However I suspect it's not actually related to insiders at all, rather it seems that an extension or setting could be the root cause. As far as I can tell, the string `Restarting TS Server'  does not appear anywhere in our codebase, so my guess is that an extension is triggering the server restart

Thanks for the information. I am closing this since it does not happen insiders.
However I suspect it's not actually related to insiders at all, rather it seems that an extension or setting could be the root cause. As far as I can tell, the string `Restarting TS Server'  does not appear anywhere in our codebase, so my guess is that an extension is triggering the server restart


[NPM] Optimize Failed Connection kprobes

What does this PR do?
An optimization to https://github.com/DataDog/datadog-agent/pull/25517, this PR better handles TCP failures that trigger the tcp_done and/or tcp_close syscalls. It improves the synchronization of closed connection flushes between the two and increases the size of the map used to track that state.

Motivation
https://datadoghq.atlassian.net/browse/NPM-3297

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge

/merge


fix(packages/next-safe-action/src/validation-errors.types.ts)

packages/next-safe-action/src/validation-errors.types.ts#SchemaErrors: support zod branded type
returnValidationErrors() typechecking fails when a property is a zod-branded-primitivwe-type,
type SchemaErrors<S> considers a zod-branded-primitive-type as an object instead as a primitive, leading to a typecheck error.
Fixed type SchemaErrors<S> definition to detect branded-primitives and behave correctly
Proposed changes
Put your proposed changes here.
Related issue(s) or discussion(s)
re #

[ ] I read the contributing guidelines and followed them before creating this pull request.

Thanks for the contribution. By including this change (importing a specific Zod feature), all the other supported validation libraries still work as expected? If not, would it be better to modify the adapter type for Zod, if possible?
https://github.com/TheEdoRan/next-safe-action/blob/197ec513e605c0814ab5a1ec1190f979b483437b/packages/next-safe-action/src/adapters/types.ts#L10-L28

@TheEdoRan everything seems to work well as expected with this edit
I understand your concerns introducing a reference to zod.
Indeed, I realize the issue is quite generic, and not zod-specific:
the purpose of the type as is:
type SchemaErrors<S> = {
	[K in keyof S]?: S[K] extends object | null | undefined ? Prettify<VEList & SchemaErrors<S[K]>> : VEList;
} & {};

is to map properties to Prettify<VEList & SchemaErrors<S[K]>> if the prop extends object | null | undefined
on the other hand if the prop is a primitive it should be mapped to VEList
the issue arises when a property is a branded primitive type.
Branded primitive types are typically an intersection of a primitive with an object holding the brand (e.g. type email = string & { [k in brand_prop_type]: unique symbol })
This pattern is generic and it's not a zod peculiarity
So, thinking twice, I see my fix is a bit contrived, and it can be actually rewritten in a neater way, without adding any additional reference simply reversing the condition:
type SchemaErrors<S> = {
  [K in keyof S]?: S[K] extends number | string | boolean | bigint
    ? VEList
    : Prettify<VEList & SchemaErrors<S[K]>>;
} & {};

this way any primitive - even when intersected - is eagerly catched and properly managed
I'll close this pull request and open a new one


[docs] Describe changes to reporter API

\cc @AndreyBelym
Please check the examples in README.md, helpers.md and reporter-methods.md. If possible, not only the ones that I've changed but also the rest of them.
They were very inconsistent - even used different versions of the API.

FPR


book-store: Use redux on book store app

In this project, I

[ ] wrapped the App component with the Provider component from react-redux,
[ ] passed configured store into the Provider,
[ ] created an initial State for your books Slice component,
[ ] displayed the books, received from the slice, in Book-Item component,
[ ] dispatched actions using useDispatch,
[ ] attached an event  to the form element to add a book to the books array (with attributes id, title, and author) and,
[ ] attached an event on the remove button to remove a book from the books array (by id).

Thank you!!


QuickView: HTTP 404 for CrossApplicationNavigation.js when QuickView is opened

Please go to the explored example, open your browsers dev console and then press any of the buttons in the OpenUI5 explored examples:

https://openui5beta.hana.ondemand.com/explored.html#/sample/sap.m.sample.QuickView/preview
https://openui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.QuickView/preview

Result:
GET https://openui5beta.hana.ondemand.com/resources/sap/ushell/services/CrossApplicationNavigation.js 404 (Not Found)
I guess the problem seems to be in QuickViewPage.js, please see here:
https://github.com/SAP/openui5/blob/master/src/sap.m/src/sap/m/QuickViewPage.js#L135
I think CrossApplicationNavigation.js is not part of OpenIU5, i.e. the corresponding SAPUI5 explored example works just fine (see https://sapui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.QuickView/preview).
I hope this doe not make it into the official 1.30.x release...
@adrian-bobev @matz3
What do you think?

Hi Nabi,
Before the require maybe checking whether sap.ushell exists or not would fix the problem since ushell needs to be already loaded before the init of the QuickView control.
But anyway, I opened the internal incident<PHONE_NUMBER> for this issue.
Thanks for your feedback
Best regards,
Cahit

Hi Cahit,
Great! I guess this can then be combined with line 141, see https://github.com/SAP/openui5/blob/master/src/sap.m/src/sap/m/QuickViewPage.js#L141
Cheers, Nabi

This has been fixed since quite some time but the issue was never referenced / closed.
See 01b86b76b4b14232fcf4e1dc9ebe978bdda1e8d4


Integrate with hosted prometheus monitoring

https://forum.minetest.net/viewtopic.php?f=14&t=22473
This is the same system that pandorabox uses, and would be useful for tracking down causes of server lag ("was it mesecons?  digtron?  technic?")

Blocked by https://github.com/minetest-monitoring/monitoring/issues/21


add converted chapters of old doc tutorials

text and figure source: https://github.com/MITgcm/manual-archive/tree/master/s_examples
converted from LaTeX to reST by pandoc by @jrscott
cosmetic editing by @jrscott
What changes does this PR introduce?
doc
Suggested addition to tag-index
Add remaining old doc tutorials to current rst MITgcm users guide.

Any chance to get this reviewed and approved asap? Thx


View structure changes from code

Suppose I have a view controller conforming to LayoutLoading and its view structure is created using Layout framework.
Later I want to change its view structure by changing some view frames, adding or removing some views. Am I allowed to do this? Or maybe the only thing I can do is to set the state of my layout node?
I'm asking because I'm getting some weird behavior when I try to change my view structure. Sometimes even when I just change the isHidden property of a view. When I use layoutNode?.setState however everything is fine.
Probably this https://github.com/schibsted/layout/issues/105 is also related to my question.

@algrid this isn't really recommended. Layout wants to control the frames of all views that it creates, so if you change them there's a good chance it will override your changes.
Other properties should be OK to change directly, but note that if you set isHidden then Layout won't automatically move the neighboring views to fill the gap, which it would do if you used Layout to hide the view.
In general, if you are trying to do this, it's probably a sign that you are not using Layout as intended. To set properties in a Layout-controlled view you should normally just call setState() on the Layout node and then specify the values of those properties using expressions in your XML.
If that's not possible for some reason, I'd be interested in understanding your use case, as it may be that Layout can be improved to better support it.

@algrid auto size is based mainly on the intrinsic size of a view, so changing the intrinsic size and calling update should work. In some cases it may update automatically, but that isn't always reliable. I'll have a look at AttributedTextView and see there's a bug in how Layout interacts with it.
Setting isHidden to true in Layout doesn't remove the view from the hierarchy, but it may set it's size to zero, which would explain why you couldn't find it in the view debugger.

@algrid When you're talking about "calling update" do you mean self.layoutNode?.update()? I have to try it :)

@nicklockwood  just tried update() and with UILabel at least (after its contents change) it works well, thanks!
But with UITextView I found a problem: if I set
        isScrollEnabled="false"
        isEditable="false"

then it seems to have well defined intrinsicContentSize. But Layout seems to ignore it.

@algrid thanks for reporting it, I'll investigate.