No complex arguments in scipy.special.polygamma(1,z) [trigamma ψ₁(z)] or scipy.special.polygamma(2,z) [tetragamma ψ₂(z)]

This is a feature request with a suggestion for working code.
The special functions scipy.special.polygamma(1,z) [trigamma ψ₁(z)] and scipy.special.polygamma(2,z) [tetragamma ψ₂(z)] do not accept complex arguments, whereas scipy.special.polygamma(0,z) [psi or digamma ψ(z)] and scipy.special.loggamma do accept complex arguments.
Very efficient closed-form continued fraction representations are known for both the trigamma and and tetragamma functions, and it would very easy to provide these as functions of a complex argument. For the general polygamma function , the summation approach used in mpmath's polygamma could be used.
Suggested code
Trigamma Function of a Complex Argument
Use a continued fraction from Cuyt et al., Handbook of Continued Fractions for Special Functions.
import numpy as np, scipy.special as sps

# bummer -- no complex trigamma in scipy.special!
# roll our own from a continued fraction

def trigamma(z,eps=np.spacing(np.double(1)),realmin=np.finfo(np.double).tiny):
    """ Trigramma function of a complex argument for arg(z) < pi/2.
The trigramma and tetragamma functions are the only two polygamma functions
for which closed-form numerator coeffients are known [2].

References:
[1] Cuyt et al., _Handbook of Continued Fractions for Special Functions_.
[2] Catherine M. Bonan-Hamada and William B. Jones.
"Stieltjes continued fractions for polygamma functions; speed of convergence,"
J. Computational and Appl. Math. 179(1--2):47--55 (2005)
<http://www.sciencedirect.com/science/article/pii/S037704270400442X>.
"""
    # Use trigamma reflection on the left-half plane
    zcomplex = isinstance(z,(complex,np.complex128,np.complex64))
    if (zcomplex and z.real < 0) or (not zcomplex and z < 0):
        return -trigamma(1-z) + (np.pi/np.sin(np.pi*z))**2
    if z == 0: return np.inf
    # Use basic trigamma recurrence for small arguments
    if np.abs(z) < 10.5: return trigamma(z+1) + 1/(z*z)
    zinv = 1/z
    return zinv*(1 + 0.5*zinv + 2*np.pi*trigamma_g1(z,eps=eps,realmin=realmin))

def trigamma_g1(z,maxits=40,eps=np.spacing(np.double(1)),realmin=np.finfo(np.double).tiny):
    z2 = z*z
    a1 = 1/(12*np.pi)
    def an(n):
        """ Defined for n > 1. """
        n2 = np.double(n)*n
        return n2/(4*n2-1)*(n2-1)/4
    # adaptation of NR's Lentz's continued fraction algorithm
    # http://www.aip.de/groups/soe/local/numres/bookfpdf/f5-2.pdf
    # hardcode n = 1 initialization
    a = a1
    b = z2
    d = 1/b
    if np.abs(d) < realmin: d = realmin
    c = a/realmin
    cf = a/b
    for n in range(2,maxits+1):
        a = an(n)
        b = 1 if n%2 == 0 else z2
        d = a*d + b
        if np.abs(d) < realmin: d = realmin
        c = b + a/c
        if np.abs(c) < realmin: c = realmin
        d = 1/d
        dlt = d*c
        cf *= dlt
        if np.abs(dlt-1) < eps: break
    else:
        raise Exception('trigamma_g1 failed to converge.')
    return cf

np.trigamma = np.vectorize(trigamma)

Proposed complex trigamma results compared with standard library calls
# Compare with standard library call
# Note the bug in sps.polygamma's return value as array(float)
import mpmath as mp, numpy as np, scipy.special as sps
eps = np.spacing(np.double(1))
realmin = np.finfo(np.double).tiny

print('Sanity checks:')

print('Closed form values:')
# http://people.math.sfu.ca/~cbm/aands/page_260.htm
x = np.double(1.)
print("""\tψ₁({:g}) = {:.{prec}g} [proposed];
\tψ₁({:g}) = {:.{prec}f} [known]
""".format(x,trigamma(x),x,sps.zeta(x+1.),prec=int(np.ceil(np.log10(1/eps)))+1))

print('Library calls:')
for x in np.array([-11.2, 1.e-1, 1., 5., 20.],dtype=np.double):
    print("""\tψ₁({:g}) = {:.{prec}g} [proposed];
\tψ₁({:g}) = {} [sps.polygamma]
""".format(x,trigamma(x),x,sps.polygamma(1,x).__repr__(),prec=int(np.ceil(np.log10(1/eps)))+1))

print('mpmath calls:')
for z in np.array([-1+2*1j, 0.5+0.1*1j, 100+1000*1j]):
    print("""\tψ₁({:g}) = {:.{prec}g} [proposed];
    \tψ₁({:g}) = {} [mp.psi]
    """.format(z,trigamma(z),z,mp.psi(1,z),prec=int(np.ceil(np.log10(1/eps)))+1))

Sanity checks:
Closed form values:
	ψ₁(1) = 1.6449340668482264 [proposed];
	ψ₁(1) = 1.64493406684822663 [known]

Library calls:
	ψ₁(-11.2) = 28.4814331560634 [proposed];
	ψ₁(-11.2) = array(28.48143315606346) [sps.polygamma]

	ψ₁(0.1) =<PHONE_NUMBER>5079275 [proposed];
	ψ₁(0.1) = array(101.43329915079275) [sps.polygamma]

	ψ₁(1) = 1.6449340668482264 [proposed];
	ψ₁(1) = array(1.6449340668482266) [sps.polygamma]

	ψ₁(5) = 0.22132295573711533 [proposed];
	ψ₁(5) = array(0.22132295573711533) [sps.polygamma]

	ψ₁(20) = 0.051270822935203124 [proposed];
	ψ₁(20) = array(0.051270822935203124) [sps.polygamma]

mpmath calls:
	ψ₁(-1+2j) = -0.24506883785905542-0.31782555014722974j [proposed];
    	ψ₁(-1+2j) = (-0.245068837859055 - 0.31782555014723j) [mp.psi]

	ψ₁(0.5+0.1j) = 4.4780986332966091-1.561594164192146j [proposed];
    	ψ₁(0.5+0.1j) = (4.47809863329661 - 1.56159416419215j) [mp.psi]

	ψ₁(100+1000j) = 9.8524606077884664e-05-0.00099019688259382815j [proposed];
    	ψ₁(100+1000j) = (9.85246060778847e-5 - 0.000990196882593828j) [mp.psi]

Tetragamma Function of a Complex Argument
Use a continued fraction from Cuyt et al., Handbook of Continued Fractions for Special Functions.
import numpy as np, scipy.special as sps

# bummer -- no complex tetragamma in scipy.special!
# roll our own from a continued fraction

def tetragamma(z,eps=np.spacing(np.double(1)),realmin=np.finfo(np.double).tiny):
    """ Tetragramma function of a complex argument for arg(z) < pi/2.
The trigramma and tetragamma functions are the only two polygamma functions
for which closed-form numerator coeffients are known [2].

References:
[1] Cuyt et al., _Handbook of Continued Fractions for Special Functions_.
[2] Catherine M. Bonan-Hamada and William B. Jones.
"Stieltjes continued fractions for polygamma functions; speed of convergence,"
J. Computational and Appl. Math. 179(1--2):47--55 (2005)
<http://www.sciencedirect.com/science/article/pii/S037704270400442X>.
"""
    # Use tetragamma reflection on the left-half plane
    zcomplex = isinstance(z,(complex,np.complex128,np.complex64))
    if (zcomplex and z.real < 0) or (not zcomplex and z < 0):
        return tetragamma(1-z) - 2*np.cos(np.pi*z)*(np.pi/np.sin(np.pi*z))**3
    if z == 0: return -np.inf
    # Use basic trigamma recurrence for small arguments
    if np.abs(z) < 10.5: return tetragamma(z+1) - 2/z**3
    zinv = 1/z
    return -zinv**2*(1 + zinv + 4*np.pi**2*tetragamma_g1(z,eps=eps,realmin=realmin))

def tetragamma_g1(z,maxits=40,eps=np.spacing(np.double(1)),realmin=np.finfo(np.double).tiny):
    z2 = z*z
    a1 = 1/(8*np.pi**2)
    aje = lambda j: j*j/(2*j+1)*(j+1)/2  # """ n = 2*j even; defined for n > 1. """
    ajo = lambda j: j/(2*j+1)*(j+1)**2/2  # """ n = 2*j+1 odd; defined for n > 1. """
    # adaptation of NR's Lentz's continued fraction algorithm
    # http://www.aip.de/groups/soe/local/numres/bookfpdf/f5-2.pdf
    # hardcode n = 1 initialization
    a = a1
    b = z2
    d = 1/b
    if np.abs(d) < realmin: d = realmin
    c = a/realmin
    cf = a/b
    for n in range(2,maxits+1):
        if n%2 == 0:
            a = aje(n/2)
            b = 1
        else:
            a = ajo((n-1)/2)
            b = z2
        d = a*d + b
        if np.abs(d) < realmin: d = realmin
        c = b + a/c
        if np.abs(c) < realmin: c = realmin
        d = 1/d
        dlt = d*c
        cf *= dlt
        if np.abs(dlt-1) < eps: break
    else:
        raise Exception('tetragamma_g1 failed to converge.')
    return cf

np.tetragamma = np.vectorize(tetragamma)

Proposed complex tetragamma results compared with standard library calls
# Compare with standard library call
# Note the bug in sps.polygamma's return value as array(float)
import mpmath as mp, numpy as np, scipy.special as sps
eps = np.spacing(np.double(1))
realmin = np.finfo(np.double).tiny

print('Sanity checks:')

print('Closed form values:')
# http://people.math.sfu.ca/~cbm/aands/page_260.htm
x = np.double(1.)
print("""\tψ₂({:g}) = {:.{prec}g} [proposed];
\tψ₂({:g}) = {:.{prec}f} [known]
""".format(x,tetragamma(x),x,-2*sps.zeta(3),prec=int(np.ceil(np.log10(1/eps)))+1))

print('Library calls:')
for x in np.array([-11.2, 1.e-1, 1., 5., 20.],dtype=np.double):
    print("""\tψ₂({:g}) = {:.{prec}g} [proposed];
\tψ₂({:g}) = {} [sps.polygamma]
""".format(x,tetragamma(x),x,sps.polygamma(2,x).__repr__(),prec=int(np.ceil(np.log10(1/eps)))+1))

print('mpmath calls:')
for z in np.array([-1+2*1j, 0.5+0.1*1j, 100+1000*1j]):
    print("""\tψ₂({:g}) = {:.{prec}g} [proposed];
    \tψ₂({:g}) = {} [mp.psi]
    """.format(z,tetragamma(z),z,mp.psi(2,z),prec=int(np.ceil(np.log10(1/eps)))+1))

Sanity checks:
Closed form values:
	ψ₂(1) = -2.4041138063191885 [proposed];
	ψ₂(1) = -2.40411380631918803 [known]

Library calls:
	ψ₂(-11.2) =<PHONE_NUMBER>5535918 [proposed];
	ψ₂(-11.2) = array(247.04062855536026) [sps.polygamma]

	ψ₂(0.1) = -2001.8614573783436 [proposed];
	ψ₂(0.1) = array(-2001.8614573783439) [sps.polygamma]

	ψ₂(1) = -2.4041138063191885 [proposed];
	ψ₂(1) = array(-2.404113806319188) [sps.polygamma]

	ψ₂(5) = -0.0487897322451145 [proposed];
	ψ₂(5) = array(-0.04878973224511449) [sps.polygamma]

	ψ₂(20) = -0.0026281224023146552 [proposed];
	ψ₂(20) = array(-0.0026281224023146543) [sps.polygamma]

mpmath calls:
	ψ₂(-1+2j) = 0.03902435405364952-0.15743252404130301j [proposed];
    	ψ₂(-1+2j) = (0.0390243540536495 - 0.157432524041303j) [mp.psi]

	ψ₂(0.5+0.1j) = -13.328673738077029+8.5596469146813554j [proposed];
    	ψ₂(0.5+0.1j) = (-13.328673738077 + 8.55964691468135j) [mp.psi]

	ψ₂(100+1000j) = 9.707828436581374e-07+1.9511754716369508e-07j [proposed];
    	ψ₂(100+1000j) = (9.70782843658137e-7 + 1.95117547163695e-7j) [mp.psi]

np.trigamma(-10+1000j) and np.tetragamma(-10+1000j) give (nan+nanj)
This is because the trigonometric term in the reflection formula becomes a quotient of large exponentials. When abs(im(z)) is large enough, this term could just be discarded.

See also https://github.com/JuliaLang/julia/issues/7033 for how we did this in Julia.
The latest version is in https://github.com/JuliaMath/SpecialFunctions.jl


Let configuration cache post build output display saved time

by capturing time elapsed configuring and storing it in the state
and by moving the responsibility for the post build output from InstantExecutionProblems to DefaultInstantExecution

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

On-off work in first-use scenarios make the displayed information more confusing than helpful. Closing for now


Provide images 1.0.26 and artemis.2.33.0 to quay.io

activemq-artemis version 2.33.0 has been released on 2024-03-19 (github.com). Thus, it would be nice to generate corresponding images based on this version.

ArtemisCloud broker container images based on Apache ActiveMQ Artemis 2.33.0 are available:
quay.io/artemiscloud/activemq-artemis-broker:1.0.26
quay.io/artemiscloud/activemq-artemis-broker-kubernetes:1.0.25
quay.io/artemiscloud/activemq-artemis-broker.init:1.0.26
The same broker container images are also available with the artemis tag:
quay.io/artemiscloud/activemq-artemis-broker:artemis.2.33.0
quay.io/artemiscloud/activemq-artemis-broker-kubernetes:artemis.2.33.0
quay.io/artemiscloud/activemq-artemis-broker.init:artemis.2.33.0
ArtemisCloud broker container snapshot images based are built every day on the latest Apache ActiveMQ Artemis snapshot to test feature and bug fixes before an official Apache ActiveMQ Artemis release:
quay.io/artemiscloud/activemq-artemis-broker:snapshot
quay.io/artemiscloud/activemq-artemis-broker-kubernetes:snapshot
quay.io/artemiscloud/activemq-artemis-broker.init:snapshot

@brusdev thanks a lot for the quick response!


Update Composer dependencies (2021-10-13-00-10)

Visual regression test passed!
View the visual regression test report


Using foldl for filter

Shouldn't filter use foldl and then reverse the filtered list (in case of long lists)? This has the benefit that we do not iterate twice over the whole list but instead iterate once over the complete list and once over the filtered list (which should be shorter).
In fact, filter should probably use a similar implementation as foldrHelper to optimize for short lists but instead of calling fold fn acc (reverse r4) for long lists it should call reverse (fold fn acc r4)

The implementation uses foldr which itself uses foldrHelper.
Other things might be faster, but we'd want to do profiling on performance and then think about the impact on asset size.


ci: update manifest tests

Manifest-db is finally unblocked and we can update the reference commit. Done manually this time to speed up the process.
I'm also updating the set of distributions we are testing on, upgrading it to what's is generated on manifest db.

There's an issue with the /var/tmp/dracur.XYZ folders breaking the image-info comparison.

The fix for masking some of the tmpfilesd has landed in manifest-db. Now this should pass.


feat: registry.mirrors endpoint compatibility enhancement

Signed-off-by: rongfu.leng<EMAIL_ADDRESS>issue: https://github.com/containerd/containerd/issues/6984

/ok-to-test

Please make the PR title more descriptive

It was coded up this way intentionally to allow end users to explicitly configure endpoints without the /v2 prefix. It is already possible to let the configuration logic add the path by not providing any path, with this change, the configuration is overwriting the user provided path. I understand the desire to make it clearer to users when the configuration is wrong, I'm not so sure about overwriting user provided configuration by guessing what they meant. This could end up causing an error for other users who intentionally had it configured this way.

I understand that the previous logic is to hope that the user can add the /v2 path without configuring the path, but for the user to configure http://host:port and http://host:port/ may be considered the same  Yes, if it is configured as http://host:port/v3, this is clearly different. I think the current modification is just an enhancement to the previous logic.

I understand what you mean is that it is not compatible with the user scenarios in the issuer, then I will close the pr.


default_value is not displaying correctly

Describe the bug
I modified some parts of the Todo App.
The key is to change rx.text(item, as_="span") in the todo_item function to rx.input( default_value=item).
In this case, no matter which item you delete, it will appear as if the last item was deleted (even though the correct item was actually deleted).
This problem is solved by using value instead of default_value. However, if you use value, you will not be able to modify the value.
To Reproduce
Steps to reproduce the behavior:
import reflex as rx

class TestState(rx.State):
    """The app state."""

    # The current items in the todo list.
    items: list[str] = []

    def add_item(self, form_data: dict[str, str]):
        """Add a new item to the todo list."""
        new_item = form_data.get("new_item")
        if new_item:
            self.items.append(new_item)

    def finish_item(self, item: str):
        """Finish an item in the todo list.

        Args:
            item: The item to finish.
        """
        self.items.pop(self.items.index(item))
        print(self.items)

def todo_item(item: rx.Var[str]) -> rx.Component:
    """Render an item in the todo list.

    NOTE: When using `rx.foreach`, the item will be a Var[str] rather than a str.

    Args:
        item: The todo list item.

    Returns:
        A single rendered todo list item.
    """
    return rx.list_item(
        # A button to finish the item.
        rx.hstack(
            rx.icon_button(
                rx.icon(tag="check"),
                on_click=lambda: TestState.finish_item(item),
                margin_y="0.5em",
                variant="outline",
            ),
            # The item text.
            rx.input(
                default_value=item,
            ),
            # rx.text(item, as_="span"),
            align="center",
        ),
        class_name="list-none",
    )

def todo_list() -> rx.Component:
    """Render the todo list.

    Returns:
        The rendered todo list.
    """
    return rx.ordered_list(
        # rx.foreach is necessary to iterate over state vars.
        # see: https://reflex.dev/docs/library/layout/foreach
        rx.foreach(TestState.items, lambda item: todo_item(item)),
    )

def new_item() -> rx.Component:
    """Render the new item form.

    See: https://reflex.dev/docs/library/forms/form

    Returns:
        A form to add a new item to the todo list.
    """
    return rx.form(
        rx.hstack(
            rx.input.root(
                rx.input(
                    name="new_item",
                    placeholder="Add a todo...",
                    bg="white",
                ),
                width="100%",
            ),
            rx.button("Add"),
        ),
        on_submit=TestState.add_item,
        reset_on_submit=True,
        width="100%",
    )

@rx.page(route="/test")
def test() -> rx.Component:
    """A view of the todo list.

    Returns:
        The index page of the todo app.
    """
    return rx.center(
        rx.vstack(
            rx.heading("Todos"),
            new_item(),
            rx.divider(),
            todo_list(),
            bg=rx.color("gray", 7),
            margin_top="5em",
            margin_x="25vw",
            padding="1em",
            border_radius="0.5em",
            spacing="3",
        ),
    )

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots

Specifics (please complete the following information):

Python Version: 3.11.4
Reflex Version: 0.4.9
OS: Windows 10
Browser (Optional): Chrome

Additional context
Add any other context about the problem here.

@Evenzel looks like this is because we need to set the key prop as well for React to know when to re-render, as default_value is only for the initial load (see here)
The following change works for me:
rx.input(
    default_value=item,
    key=item,
)

@picklelo Oh, I did it as you said and it worked well.
Thanks!

this is because we need to set the key prop as well

cool trick, TiL! 👏


Build Fails "code object is not signed at all In subcomponent: CocoaAsyncSocket.framework"

I've imported the library into my project, however when I click "build" on Xcode it fails, the error is:
CodeSign /Users/MyName/Library/Developer/Xcode/DerivedData/App_Hue-dilrdxszovgssvcqobfbekteobjr/Build/Products/Debug/App\ Hue.app
    cd "/Volumes/Macintosh HD/Users/MyName2/HDDDocuments/PersonalGithub/AppHue"
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate

Signing Identity:     "Mac Developer<EMAIL_ADDRESS>(TXXXNXXZXX)"

    /usr/bin/codesign --force --sign 1F45D22C9009847DE3351794C18F6D703CA4AFB2 --entitlements /Users/MyName/Library/Developer/Xcode/DerivedData/App_Hue-appdilrdxszovgssvcqobfbekteobjr/Build/Intermediates.noindex/App\ Hue.build/Debug/App\ Hue.build/App\ Hue.app.xcent --timestamp=none /Users/MyName/Library/Developer/Xcode/DerivedData/App_Hue-dilrdxszovgssvcqobfbekteobjr/Build/Products/Debug/App\ Hue.app

/Users/MyName/Library/Developer/Xcode/DerivedData/App_Hue-dilrdxszovgssvcqobfbekteobjr/Build/Products/Debug/App Hue.app: code object is not signed at all
In subcomponent: /Users/MyName/Library/Developer/Xcode/DerivedData/App_Hue-dilrdxszovgssvcqobfbekteobjr/Build/Products/Debug/App Hue.app/Contents/Frameworks/CocoaAsyncSocket.framework
Command /usr/bin/codesign failed with exit code 1

This is happening with SwiftyHue 0.4.1 and downloaded using Carthage.
Any ideas?
Thanks!

I'm sorry for jumping the gun, I held the option/alt key and pressed product > clean build folder, then I rebuilt and it worked :).


Obj-C example typo

From the readme.md:
vc.adCompleted = ^{
    dispatch_async(dispatch_get_main_queue(), ^{
        [self dismissViewControllerAnimated:YES completion:nil];
    });
};

This tripped me up for a minute. I believe the dismissViewControllerAnimated should be called on vc, not on self, right? I.e.
[vc dismissViewControllerAnimated:YES completion:nil];

It's not a typo in this case. I understand that it might be a bit unintuitive, though. Let's see what happens there. First, we present vc modally on self:
            dispatch_async(dispatch_get_main_queue(), ^{
                [self presentViewController:vc animated:YES completion:^{

                }];
            });

Then, when the ad completes, we have to dismiss vc. And the documentation says that

The presenting view controller is responsible for dismissing the view controller it presented.

That's why we call dismissViewControllerAnimated:completion: on self (which is the presenting view controller) and not on vc.
I hope it's clear now.

I'm sorry, I should've looked in the docs first. For some reason it didn't work me (the ad view was still shown) when I called dismissViewControllerAnimated on the presenting ViewController. Not sure why.
In any case, the docs also say:

If you call this method on the presented view controller itself, UIKit asks the presenting view controller to handle the dismissal.

So I should be fine, calling it on vc.
Thanks!


StaticSite: support removing old files

Since these tickets are all that describe the change in the release notes, some description of the impact would be greatly appreciated.

Hey @kernwig, yeah that makes sense! Just updated the release note with more details, and announced in Slack.
Will make sure to be more transparent about release changes.


bump jws version

fixes #107

I signed it!

Coverage remained the same at 92.673% when pulling 9493e7eb42c203392b3a100b875cfff79c0bd24b on LiquidHelium:master into 968bf1ca81ce626fb303ef1e392fd74033364d74 on google:master.


"settings framework"

importd gets a "settings framework" now.

[x] code
[x] changelog
[x] documentation
[ ] fix in TEMPLATES setting too
[ ] tests
[ ] release

CC: @juancarlospaco, @alendit, @jezdez, @lukaszb, @jcugat, @if1live.
What do you think?

Build failing complaining:
  do_dp("TEMPLATE_CONTEXT_PROCESSORS")
KeyError: 'TEMPLATE_CONTEXT_PROCESSORS'

:sob:

This looks a lot better now :grey_exclamation:
:ship: :it: :grey_exclamation: :smiley_cat:
d-( ʘ‿ʘ )_m

I suggest three modifications.
I think that if modify env method, it will be more convenient.
default value + strip
If key is not in environment variables and default value is defined, importd should use default value. But currently, not works.
env("SOME_BOOL_ENV", False)

If SOME_BOOL_ENV not exist, importd use False as val.
bool doesn't have strip method. It will raise exception.
Call strip method only if value is string.
pass return type
Assume that SOME_NUMBER_ENV is defined as 123
num_attr = env("SOME_NUMBER_ENV", 0)

It will return string 123.
If num_attr = env("SOME_NUMBER_ENV", 0, int) is possible,
we can get integer 123.
bool("False") != False
if IS_PROD=False, what is not env("IS_PROD", False)?
Somebody think thiat IS_PROD is False and not operator exists.
Final value is True.
Wrong. because bool("False") != False. Only bool("") == False.
summary
I think that first suggestion (default value + strip) should be applied to execute DEBUG=not env("IS_PROD", False),
Other suggestions(pass return type, bool("False") != False) are optional.
Apply or not, selection is @amitu role.
test code
# Run from shell
# SOME_NUMBER_ENV=123 IS_PROD=False python test.py

import os

def env(key, default=""):
    if default is None and key not in os.environ:
        raise KeyError

    val = os.environ.get(key, default).strip()
    return val

def env_alternative(key, default="", ret_type=unicode):
    if default is None and key not in os.environ:
        raise KeyError

    val = os.environ.get(key, default)
    # if key is not in env, importd will use default
    # if default is not string (ex: True), strip() is not exist
    if isinstance(val, basestring):
        val = val.strip()

    # bool("False") != False
    # bool("") == False
    if ret_type == bool:
        return val not in ("False", "")
    else:
        return ret_type(val)

try:
    bool_attr = env("SOME_BOOL_ENV", False)
    print("{} : {}".format(type(bool_attr), bool_attr))
except AttributeError:
    print("cannot get value from env()")

bool_attr = env_alternative("IS_PROD", False)
print("{} : {}".format(type(bool_attr), bool_attr))

num_attr = env("SOME_NUMBER_ENV", 0)
print("{} : {}".format(type(num_attr), num_attr))
# if SOME_NUMBER_ENV defined
# <type 'str'> : 123

num_attr = env_alternative("SOME_NUMBER_ENV", 0, int)
print("{} : {}".format(type(num_attr), num_attr))
# if SOME_NUMBER_ENV defined
# <type 'int'> : 123

DEBUG = not env("IS_PROD", False)
print("env() : {} : {}".format(type(DEBUG), DEBUG))

DEBUG = not env_alternative("IS_PROD", False, bool)
print("env_alternative() : {} : {}".format(type(DEBUG), DEBUG))

output
$ SOME_NUMBER_ENV=123 IS_PROD=False python test.py
cannot get value from env()
<type 'unicode'> : False
<type 'str'> : 123
<type 'int'> : 123
env() : <type 'bool'> : False
env_alternative() : <type 'bool'> : True

:-1: to pass return type.
Better to do something like this which is now built-in: https://gist.github.com/juancarlospaco/94f98cff7f9accd8d618#gistcomment-1476439
I have tested to do that on https://github.com/juancarlospaco/websktop#websktop and works ok.
We are 2015, by 2020 python2 will be dead anyways, better prepare for future than re-wrote from scratch on less than 4 years.

@juancarlospaco
how do you think about this code?
import os

def env_alternative(key, default=""):
    if default is None and key not in os.environ:
        raise KeyError

    val = os.environ.get(key, default)
    # if key is not in env, importd will use default
    # if default is not string (ex: True), strip() is not exist
    if isinstance(val, basestring):
        val = val.strip()

    ret_type = type(default)

    # bool("False") != False
    # bool("") == False
    if ret_type == bool:
        return val not in ("False", "")
    else:
        return ret_type(val)

I didnt' use python3. I can't understant how to apply type_check decorator to env method.
Could you show me code, env method type_check version? If it exists, I can understand advantage of your suggestion.

Going off topic,
...but add typecheck() function (with imports) from here https://gist.github.com/juancarlospaco/94f98cff7f9accd8d618#file-static_typing_python3-py
then decorate with @typecheck the function or method you want to static type.
You may need Annotations too.
Anyways if Python2 does not support the feature, just dont make it available there, better than weird hacks, more reason to move to Python3.

Hey @juancarlospaco, we still have to support python2, almost all my projects in prod are python2 :-p
@if1live, what do you think of the latest commit?

Can you add some more tests in EnvTest to check for anything else that may be a corner case?

:+1:  Ok.
¯|_(҂⌣̀‿⌣́)/¯

:+1: looks good.

:+1:


Use relative dates in parser_test.go

oh jeez @whoshuu I should have reviewed PRs before working on this.  I just merged my own fix for this into master!


Add search for edition title and body

Add search for edition title and body

Using postgres tsvector search.
Title takes precedence over body.
rake schema:load doesn't bring in triggers from the development               database, so we use the hairtrigger` gem to handle triggers.

Broken because of https://github.com/alphagov/service-manual-publisher/pull/68

So now we have triggers in the model itself as well as migrations AND schema.rb. Are they all required? Could you please explain how it works in the commit note?

If we do indeed need all those triggers, then perhaps we could extract the whole thing to a class/module, or at least move SQL to a constant

The sql in the model describes how the migrations will look when generated. Everytime you update the model migrations you regenerate trigger migrations, which drops and recreates previous triggers.
Read how hairtrigger works.
Extracting the sql will hide behaviour.

LGTM


i18n(es): Update getting-started.mdx

What kind of changes does this PR include?

Changes or translations of Starlight docs site content

Description

What does this PR change? Give us a brief description.
Update getting-started.mdx 0100298

Thanks for the review 🤠!,


chore: upgrade flutter to 3.22.1

Description

Upgrades Flutter to 3.22.1
Upgrades dart to 3.3.4

Please confirm the following checks

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream module

I have converted this to a draft PR, just so its not accidentally merged pending the updates to use cat-ci flutter/dart tooling.

I believe some of this is superseded by the Flutter builders now released in Catalyst-CI. Catalyst-CI should be the source of truth for pinned versions and controlled build files. Please update this PR to use https://github.com/input-output-hk/catalyst-ci/releases/tag/v3.1.0
I am also assigning @bkioshn to this ticket as she can help with this process.

The cat-ci tooling has been integrated into this PR, we can proceed with the review.


Added Java Resources

@abhilashmandaliya thank your sharing link. But can you please share direct link of video tutorials?

Link updated !


Auto start in full screen

Is there a way you can autostart the app in full screen on boot??

I'm interested as well, i tried sereval things, but can't get them to work properly

Remove
This
self.tk.bind("", self.toggle_fullscreen)
self.tk.bind("", self.end_fullscreen)
With
This
self.toggle_fullscreen()

Am new to this board but have been playing with Smart-Mirror for a while now.  Desperately want to get it up and installed in my bathroom mirror but STILL can't figure out how to get it to autostart the app in full screen.  I'm not sure whether I have an old version, or a new version, or what, but the text listed in this example is no where to be found in my smartmirror.py  Can someone please help?

Ok, so I did find the above "self.tk.bind" statements (grep works wonders).  Now if I can just figure out how to make it auto launch on boot and shut it down, I will be all set.  Any helpers?


Error during installation

I am trying to install the package after downloading the .zip file.
System: Macbook pro - OSx yosemite 10.10.1.
Installing from the terminal I get the following error:
Mattias-MBP:srtm.py-master mattiazanon$ python setup.py install
/Applications/anaconda/lib/python3.4/distutils/dist.py:260: UserWarning: Unknown distribution option: 'include_package_data'
warnings.warn(msg)
running install
running build
running build_py
running build_scripts
running install_lib
byte-compiling /Applications/anaconda/lib/python3.4/site-packages/srtm/retriever.py to retriever.cpython-34.pyc
File "/Applications/anaconda/lib/python3.4/site-packages/srtm/retriever.py", line 65
print get_geo_elevation_data()
^
SyntaxError: invalid syntax
running install_scripts
changing mode of /Applications/anaconda/bin/gpxelevations to 755
running install_egg_info
Removing /Applications/anaconda/lib/python3.4/site-packages/SRTM.py-0.2.4-py3.4.egg-info
Writing /Applications/anaconda/lib/python3.4/site-packages/SRTM.py-0.2.4-py3.4.egg-info

You are using python3. This library works with python2, but it shouldn't be hard to refactor it for py3. I changed a few things earlier today but it is not yet finished... I'll do it when I find some time in the next few weeks (of course, help is welcome :)

python 3 should work now (see https://github.com/tkrajina/srtm.py/pull/18)


Add brandfetch extension

Description
A simple extension that let's you quickly search for brand logos on Brandfetch
Screencast

Checklist

[ ] I read the extension guidelines
[ ] I read the documentation about publishing
[ ] I ran npm run build and tested this distribution build in Raycast
[ ] I checked that files in the assets folder are used by the extension itself
[ ] I checked that assets used by the README are placed outside of the metadata folder

Hi 👋
Thanks for the contribution 🔥
Sorry for the long response time. Due to the Easter vacation, we have a slightly increased response time, but it should soon return to normal.
We already have #11248 in the queue, maybe some features from yours could enhance that one? Currently i'm waiting for the author to respond

Hi 👋
Thanks for the contribution 🔥
Sorry for the long response time. Due to the Easter vacation, we have a slightly increased response time, but it should soon return to normal.
We already have #11248 in the queue, maybe some features from yours could enhance that one? Currently i'm waiting for the author to respond

Yeah, there's opportunity to add some of his stuff into mine I guess. (Because he's using the paid API)
How do you usually handle multiple similar extensions proposed at once?

Perhaps it makes sense to keep them separate and then we just need to ensure clarity regarding the naming, so end users can easily select the appropriate option. Does that make sense?

Sure does naming this Brand Fetch (Free) make sense?

Name doesn't have to be the name, could also be something like "Search Brands" and mention in description somehow


Amplify build fails with no error given in console, both push initiated and manually

Before opening, please confirm:

[X] I have checked to see if my question is addressed in the FAQ.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

App Id
d1tz522m96bzo6
Region
us-east-1
Amplify Console feature
Backend builds
Describe the bug
Push to the frontend initiates a Build, but the build fails in the Backend Stage with no errors evident in the console
Expected behavior
Push, Build, Deploy
Reproduction steps
push new code, wait for build
Build Settings
version: 1
frontend:
  phases:
    # prebuild:
    #   commands: ["npm i"]
    build:
      commands:
        [
          'node --version',
          'npm install @quasar/cli',
          'npm install',
          'npm run build',
        ]
  artifacts:
    # IMPORTANT - Please verify your build output directory
    baseDirectory: /dist/spa
    files:
      - '**/*'
  cache:
    paths: []

Additional information
                             ## Checking for associated backend environment...
                             ## Backend environment association found

2021-06-23T12:58:55.112Z [INFO]: Amplify AppID found: d1tz522m96bzo6. Amplify App name is: lifegoals
2021-06-23T12:57:25.446Z [INFO]: Git SSH Key acquired
2021-06-23T12:57:25.522Z [INFO]: # Cloning repository: git@gitlab.com:arbormoon/um/lifegoals/mobile.git
2021-06-23T12:57:25.532Z [INFO]: Agent pid 134
2021-06-23T12:57:25.593Z [INFO]: Identity added: /root/.ssh/git_rsa (/root/.ssh/git_rsa)
2021-06-23T12:57:25.879Z [INFO]: Cloning into 'mobile'...
2021-06-23T12:57:26.247Z [INFO]: Warning: Permanently added the ECDSA host key for IP address '<IP_ADDRESS>' to the list of known hosts.
2021-06-23T12:57:36.848Z [INFO]: # Switching to commit: 3ce07e9a3dd576a0057e3f0cc3943d21835a1f26
2021-06-23T12:57:36.964Z [INFO]: # Retrieving cache...
2021-06-23T12:57:36.966Z [INFO]: Agent pid 147
2021-06-23T12:57:36.966Z [INFO]: Identity added: /root/.ssh/git_rsa (/root/.ssh/git_rsa)
2021-06-23T12:57:37.007Z [INFO]: Note: switching to '3ce07e9a3dd576a0057e3f0cc3943d21835a1f26'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 3ce07e9 added group for build sake
2021-06-23T12:57:37.013Z [INFO]: Successfully cleaned up Git credentials
2021-06-23T12:57:37.014Z [INFO]: # Checking for Git submodules at: /codebuild/output/src800996640/src/mobile/.gitmodules
2021-06-23T12:57:37.016Z [INFO]: # Extracting cache...
2021-06-23T12:57:37.023Z [INFO]: # Extraction completed
2021-06-23T12:57:37.024Z [INFO]: # Retrieving environment cache...
2021-06-23T12:57:37.080Z [INFO]: # Retrieved environment cache
2021-06-23T12:57:37.160Z [INFO]: # Ensuring NPM package '@aws-amplify/cli' is version: '4.51.1'
2021-06-23T12:57:42.526Z [INFO]: # Patching NPM package '@aws-amplify/cli' from 4.29.4 to 4.51.1...
2021-06-23T12:58:34.146Z [INFO]: # Done patching NPM package '@aws-amplify/cli'
## Checking for associated backend environment...
## Backend environment association found
2021-06-23T12:58:55.112Z [INFO]: Amplify AppID found: d1tz522m96bzo6. Amplify App name is: lifegoals

Above output is from the Git push build
This is the manual retry:
                             ## Checking for associated backend environment...
                             ## Backend environment association found

2021-06-23T13:39:05.433Z [INFO]: Amplify AppID found: d1tz522m96bzo6. Amplify App name is:
2021-06-23T13:39:05.487Z [INFO]: Backend environment production found in Amplify Console app:
2021-06-23T13:39:07.022Z [INFO]: App not deployed yet.
2021-06-23T13:39:07.215Z [INFO]: App not deployed yet.
2021-06-23T13:39:07.298Z [INFO]:
GraphQL schema compiled successfully.
Edit your schema at /codebuild/output/src790323669/src/mobile/amplify/backend/api/dev/schema.graphql or place .graphql files in a directory at /codebuild/output/src790323669/src/mobile/amplify/backend/api/dev/schema
2021-06-23T13:39:07.299Z [INFO]: App not deployed yet.
2021-06-23T13:39:07.371Z [INFO]: Successfully generated models. Generated models can be found in /codebuild/output/src790323669/src/mobile/src
2021-06-23T13:39:07.377Z [WARNING]: - Fetching updates to backend environment: production from the cloud.
2021-06-23T13:39:08.372Z [WARNING]: ✔ Successfully pulled backend environment production from the cloud.
2021-06-23T13:39:08.387Z [WARNING]: - Retrieving channel information for APNS.
2021-06-23T13:39:08.465Z [WARNING]: ✔ Channel information retrieved for APNS
2021-06-23T13:39:08.466Z [WARNING]: - Retrieving channel information for FCM.
2021-06-23T13:39:08.519Z [WARNING]: ✔ Channel information retrieved for FCM
2021-06-23T13:39:08.519Z [WARNING]: - Retrieving channel information for Email.

Well, I reverted to the default amplify package in the build settings (was using 4.51), and it finally threw errors back - now to sort out why the env isn't giving up my FCM key - maybe a newer version of CLI?
fairly frustrating tool you guys are stuck maintaining.
                             ## Checking for associated backend environment...
                             ## Backend environment association found

2021-06-23T15:46:45.456Z [INFO]:
2021-06-23T15:46:45.458Z [INFO]: For more information on AWS Profiles, see:
https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html
2021-06-23T15:46:45.645Z [INFO]: Amplify AppID found: d1tz522m96bzo6. Amplify App name is: lifegoals
2021-06-23T15:46:45.694Z [INFO]: Backend environment production found in Amplify Console app: lifegoals
2021-06-23T15:46:46.562Z [INFO]:
2021-06-23T15:46:46.566Z [WARNING]: - Fetching updates to backend environment: production from the cloud.
2021-06-23T15:46:47.527Z [WARNING]: ✔ Successfully pulled backend environment production from the cloud.
2021-06-23T15:46:47.566Z [WARNING]: - Retrieving channel information for APNS.
2021-06-23T15:46:47.635Z [WARNING]: ✔ Channel information retrieved for APNS
2021-06-23T15:46:47.636Z [WARNING]: - Retrieving channel information for FCM.
2021-06-23T15:46:47.689Z [WARNING]: ✔ Channel information retrieved for FCM
2021-06-23T15:46:47.689Z [WARNING]: - Retrieving channel information for Email.
2021-06-23T15:46:47.775Z [WARNING]: ✔ Channel is not setup for Email
2021-06-23T15:46:47.775Z [WARNING]: - Retrieving channel information for SMS.
2021-06-23T15:46:47.814Z [WARNING]: ✔ Channel is not setup for SMS
2021-06-23T15:46:47.852Z [WARNING]: - Updating FCM channel.
2021-06-23T15:46:47.854Z [WARNING]: ✖ update channel error
2021-06-23T15:46:47.854Z [WARNING]: ✖ There was an error initializing your environment.
2021-06-23T15:46:47.865Z [INFO]: Failed to pull the backend.
2021-06-23T15:46:47.872Z [INFO]: Missing required key 'ApiKey' in params.GCMChannelRequest
2021-06-23T15:46:47.872Z [INFO]: MissingRequiredParameter: Missing required key 'ApiKey' in params.GCMChannelRequest
at ParamValidator.fail (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/param_validator.js:50:37)
at ParamValidator.validateStructure (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/param_validator.js:61:14)
at ParamValidator.validateMember (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/param_validator.js:88:21)
at ParamValidator.validateStructure (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/param_validator.js:75:14)
at ParamValidator.validateMember (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/param_validator.js:88:21)
at ParamValidator.validate (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/param_validator.js:34:10)
at Request.VALIDATE_PARAMETERS (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/event_listeners.js:132:42)
at Request.callListeners (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
at callNextListener (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/sequential_executor.js:96:12)
at /root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/node_modules/aws-sdk/lib/event_listeners.js:86:9
2021-06-23T15:46:47.887Z [ERROR]: !!! Build failed
2021-06-23T15:46:47.888Z [ERROR]: !!! Non-Zero Exit Code detected
2021-06-23T15:46:47.888Z [INFO]: # Starting environment caching...
2021-06-23T15:46:47.888Z [INFO]: # Uploading environment cache artifact...
2021-06-23T15:46:47.975Z [INFO]: # Environment caching completed
Terminating logging...

amplify notifications update
choose to update FCM
re-enter key
commit json changes
push to repo
Build succeeds...
Well then.
Have a better day than I did, though the end is what counts!


Document subroutines

This PR adds documentation to a number of subroutines (readSpecies(), readConcentrations(), setConcentrations(), readPhotolysisRates/Constants(), readJFacSpecies(), getReaction(), readProductsOfInterest(), readReactantsOfInterest()) and makes their file-handling more robust, particularly re nonexistent files.
Also contains some purely cosmetic changes.
Also adds all necessary changes to test-suite.


Warn unsaved if navigating away from 'Create Pack' with unsaved changes

dupe?

dupe?

Looks like a duplicate of #10

Looks like a duplicate of #10


Unable to create new sessions

Unable to create or restore sessions, getting the following error :
error decoding login resp: json: cannot unmarshal array into Go value of type map[string]interface {}

https://github.com/Rhymen/go-whatsapp/blob/29b13751fedc61341e8b6fc365629f84b3d71eaf/session.go#L21
var waVersion = []int{2, 2142, 12}

https://github.com/Rhymen/go-whatsapp/blob/29b13751fedc61341e8b6fc365629f84b3d71eaf/session.go#L21
var waVersion = []int{2, 2142, 12}

thank you it is working,
how can i find out the whatsapp version?

@GizmoOAO thank you it is working.

The error still persists even when updating :
var waVersion = []int{2, 2142, 12}

The error still persists even when updating : var waVersion = []int{2, 2142, 12}

I'm having the same issue

I have no problem restoring the session.
On Tue, Nov 2, 2021 at 3:47 PM tavidian @.***> wrote:

The error still persists even when updating : var waVersion = []int{2,
2142, 12}
I'm having the same issue
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Rhymen/go-whatsapp/issues/627#issuecomment-957611408,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDLT24INWVUXDMKP2IQWK3UJ7TXVANCNFSM5HFVPLKQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

and I have no problem creating a new session!
On Tue, Nov 2, 2021 at 3:59 PM beshoo @.***> wrote:

I have no problem restoring the session.
On Tue, Nov 2, 2021 at 3:47 PM tavidian @.***> wrote:

The error still persists even when updating : var waVersion = []int{2,
2142, 12}
I'm having the same issue
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Rhymen/go-whatsapp/issues/627#issuecomment-957611408,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDLT24INWVUXDMKP2IQWK3UJ7TXVANCNFSM5HFVPLKQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Need a method to get the timestamp from a Token string

I want to refresh tokens every other day before they expire, to do this I'll probably need to get a timestamp from the token string somehow. The decoder doesn't expose this information, I'm hoping you'll perhaps add a method to get the timestamp alongside the payload.
maybe something like this
type Token struct {
   Timestamp time.Time
   Payload string
}

tkn, err := branca.DecodeToken(token) // -> Token, error

// what I want to do
if closeToExpiration(tkn.Timestamp) {
   refreshTokenAndUpdateDB(
      UserIdFromPayload(tkn.Payload)
   )
}

Oh, another thing that might be useful: expose the errors like @dwin did.

Nice idea, but I see you have already made some of the suggested changes on your branch, I would be happy to merge it in, as long as they pass the tests. :)

Interesting. This is indeed useful.
However, I have a different take on the issue. I would rather this package not implement a separate Token struct but instead provide methods for manually getting/setting Timestamp while decoding/encoding. e.g.
// Currently:
se, err = branca.EncodeToString(sd)
sd, err = branca.DecodeToString(se)

// I propose:
se, err = branca.EncodeToString(sd, ts) // string, time.Time -> string, error
sd, ts, err = branca.DecodeToString(se) // string -> string, time.Time, error

// Or different, new methods, if we want to avoid breaking existing code:
se, err = branca.EncodeWithTimestamp(sd, ts)
sd, ts, err = branca.DecodeWithTimestamp(se, ts)

Although packing se into a struct does roughly the same job, that's an extra type we don't really need. There may a non-zero (maybe insignificant, but not zero) overhead for destructuring the proposed type Token into values for further consumption.
Also, the proposal does not provide a way to set the timestamp at encoding. Right now, the timestamp is automatically set to time.Now().Unix() and that works for most purposes. But in some use cases, you may want to set it yourself, e.g. set the timestamp to when the request for when (1) a token was initiated, rather than when (2) the encoding function call was made, when the difference between (1) and (2) may be measurable to upto ±0.5s, which can easily happen when there's password hashing or db access between (1) and (2).
And unrelated to the current issue, IMO we really need versions of the Encode/Decode methods that work with io.Reader/io.Writer and/or byte-slices. I see something like this is already on the TODO list, and I may get around to creating a PR soon, if no one has already taken it up.


update screenshot

update screenshot

Learn Build status updates of commit 418f352:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

support/mem/intune/error-0x87d13ba2-deploy-macos-lob-app.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 3bda482:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

support/mem/intune/error-0x87d13ba2-deploy-macos-lob-app.md
:white_check_mark:Succeeded

support/mem/intune/media/error-0x87d13ba2-deploy-macos-lob-app/error-0x87d13ba2.png
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Feature request: When run in GKE the GoogleWriter should use cluster identity

Google Metric Writer should be able to source authentication token from http://metadata.google.internal when run in Google Container Engine.
Token should have preference over GOOGLE_APPLICATION_CREDENTIALS for authentication purposes.

This has been completed. PR: https://github.com/jmxtrans/jmxtrans-agent/pull/117


Increase timeouts on XCUITest existence checks

We're currently waiting 1s, which may not be enough time on slower CI machines. Increases timeouts to 60s. Ideally we'd just have no timeout at all here, but if it takes more than a minute for these conditions something else must be wrong.
@jmagman
This will be landed on red to help make the tree green - current redness is due to https://github.com/flutter/flutter/issues/70630
Fixes https://github.com/flutter/flutter/issues/70630

I'd really rather just remove the timeout altogether.
This should never take more than 60s, but really we should just use the whole test timeout to find out exactly what's wrong. I just don't want to keep incremently moving this up all week as it continues to flake :)

I'd really rather just remove the timeout altogether.

You mean make make the wait [NSDate distantFuture].timeIntervalSinceNow?  That could hit a different timeout and cause flakes.

The latter wouldn't be hard to implement, just pop an event on the main queue. Run the main event queue for a couple of milliseconds then check if your event has been executed yet.

I think that's essentially what -waitForExistenceWithTimeout is doing--it's spinning the runloop until the element is rendered, and it stops spinning as soon as it does.

The bots are slow - sometimes.
The bot that failed this actually passed it again on a retry with the 1s timeout. I'm just going with a generous value that should avoid the need to revisit this - really we try to avoid timeouts in general except for the main test/bot timeout.

It's not a huge deal but I don't think my point was conveyed.   Let me try saying it another way.  When making a game you have 2 different ways to progress time for an event.  You can base it off of the clock or you can base it off the update rate.
void Update() {
  _progress += 1;
}

void Update() {
  _progress += _rate * (Time.current - Time.lastFrameTime);
}

Tying your event to the real clock means that a drop in framerate will make sure your event still lasts the same amount of real time.  Tying your event to the update event means that even when the framerate drops your event will progress with the same steps with time dilation.
We are effectively performing our wait like an event based on real time, that's how Apple has implemented it.  In our case, with bots that are sometimes slow, time dilation is a good thing.  The proposed wait mechanism would be more like basing our wait on the update calls and would experience time dilation with a slow execution.
Not a huge deal, I just want to make sure my point was communicated and understood.

How would we achieve what you're suggesting with an XCUITest?

My first 2 thoughts were tying the duration of the waiting to the framerate of the device (which should slow down on slow devices) or basing the waiting on flushing the whole event loop, which would also slow down on slow devices.


Bump dependency versions

Fix #3
See https://github.com/schteve/nucleo-f446re/discussions/5 for details

@winksaville Let me know if it all works on your side.
Looking back at my history I had a few unpublished changes before these two PRs you helped with. Might be due for a release soon.

LGTM, tested all examples here without issues!

Great, thanks!


Internationalization in application_controller

Gettext modified or added.

Specs fails are not my fault.

@miq-bot remove_label qip

@mzazrivec please review

@ZitaNemeckova Please rebase to latest master, that should help fixing some of the CI failures in this PR.

Issues mentioned in comments resolved. Thanks @mzazrivec @matthewd

Changes look good, OK to merge.


My ID Returns "null"

Your ID works fine:
http://www.justinscarpetti.com/projects/amazon-wish-lister/api/?id=37XI10RRD17X2
but mine returns a "null"
http://www.justinscarpetti.com/projects/amazon-wish-lister/api/?id=AT9ERHVAMVGT5
I followed you instructions from your page (http://www.justinscarpetti.com/projects/amazon-wish-lister) but my user ID did not show.
So, I went to my Profile (http://www.amazon.com/gp/pdp/profile/AT9ERHVAMVGT5) and took the 13 digit number
Q: Does the ID have to be a Seller ID or can it be a standard buyer ID?
I tried to see what would happen if I switched out my ID with your in the profile http://www.amazon.com/gp/pdp/profile/37XI10RRD17X2 and it took me to an error page
Thanks for any help!

UK Amazon support has now been added


Duke Nukem - Manhattan Project crashes on startup

It also crashes when attempting to trace, which is unfortunate.
The game has both D3D8 and OpenGL renderers, but looks to be rather janky with D3D8 and:

crashes outright on ANV - nevermind, it also works on ANV with WineD3D, I just had to pull latest mesa
works on Nvidia with WineD3D, but complains about being unable to present and crashes on alt+tab (and sometimes on startup, if you unfocus its main window)

It does appear to render everything corrently otherwise with WineD3D.
Using d8vk makes it crash on startup with an ACCESS_VIOLATION exception according to the game's own logs: prism3d.crash.log
Software information
Duke Nukem - Manhattan Project (GOG version, sadly no longer sold)
System information

GPU: RTX 3060
Driver: 525.60.11
Wine version: 7.22 Staging
DXVK version: d0f5903

Apitrace file(s)
None - the game crashes on trace as well...
Log files

d3d8.log: prism3d_d3d8.log
d3d9.log: prism3d_d3d9.log

@WinterSnowfall Can you confirm that merging #91 fixed this?

Looks good on latest master, yes :+1:


Separate explorer.confirmDelete into 2 options (Explorer: Confirm Delete)

Explorer: Confirm Delete

Controls whether the Explorer should ask for confirmation when deleting a file via the trash.

Separate this option into 2 options:
Explorer: Confirm Delete with Trash

Controls whether the Explorer should ask for confirmation when deleting a file with the trash.

Explorer: Confirm Delete without Trash

Controls whether the Explorer should ask for confirmation when deleting a file without the trash.

Why should this happen? It would allow Linux/WSL users, who have no trash by default to delete things without an intrusive popup. We still have undo and version control, so it still shouldn't result in many problems with accidently deleted files.

Additionally, adding this option would allow for faster deletion on any operating system. We could disable files.enableTrash to speed up the file operation, then disable the new theoretical option explorer.confirmDeleteWithoutTrash to speed up the UI by removing the popup.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Prepare-build now can copy a local rootfs file.

With the proposed changes one now can ./prepare-build.exe prepare UbuntuPreview build.txt ~/Downloads/impish_exit_0_oobe.tar.gz::amd64 for example. That command will copy the file from that path supplied if valid, instead of downloading from some cloud, which improves testability by enabling developers to customize their images as they wish and ensure the WSL building workflow stays the same.

This looks exactly what I had in mind. Thanks a lot for doing this :+1:


Refactor rotation

WIP.
I based this off of #151, so I'm going to wait for that to get merged, resolve any conflicts, and then take this out of "draft" status. At that point the diff will become much, much smaller.
Also, I still need to go over this again and see if I missed any documentation or examples that need to be updated.
@alice-i-cecile QUESTION: #151 itself seems to be branched off of the dev branch. Should I change the merge target to the dev branch instead of the main branch?

Resolves #155

Yes please, target dev. This is to avoid creating misleading examples in the default branch on GitHub.

Yes please, target dev. This is to avoid creating misleading examples in the default branch on GitHub.

✅ Rebased.
I still intend to go over this again and polish it a bit more. Hopefully within the next couple days, but I'll go ahead and take this out of draft status.

@alice-i-cecile You're welcome to push commits directly to this PR! Sorry for the delay in cleaning this up. I'm traveling for my day job and having a hard time to find the time to get to this!  If I'm able to find time before you do, I'll fix this up, but otherwise feel free to take it over!

Excellent :D Plan right now is finish #173, merge this, split the primitives into leafwing_input_playback, publish a 0.0 of that and then depend on it from this crate.

Hmm. The UI claims conflict with dev, but I merged dev into this branch just fine.  🤷🏻♂

Oh...I had an out-of-date version of dev locally. 🤦🏻♂

Looks like I have some work to do to adapt to your rapid changes! 🙀

Merging #177; Git wouldn't let me push to your branch and there was a tiny bit of cleanup to do.

Merging https://github.com/Leafwing-Studios/leafwing-input-manager/pull/177; Git wouldn't let me push to your branch and there was a tiny bit of cleanup to do.

Weird! I had the "maintainer can push" or whatever thing selected. 🤷🏻♂


Added string build method for StoreKeyFactory interface

Codecov Report

Merging #935 into master will decrease coverage by 0.05%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##             master     #935      +/-   ##
============================================
- Coverage     67.17%   67.11%   -0.06%
+ Complexity     4334     4329       -5
============================================
  Files           365      365
  Lines         28479    28480       +1
  Branches       3608     3608
============================================
- Hits          19131    19115      -16
- Misses         8337     8350      +13
- Partials       1011     1015       +4

Impacted Files
Coverage Δ
Complexity Δ

...n/java/com.github.ambry.commons/BlobIdFactory.java
80% <0%> (-20%)
2 <0> (ø)

...c/main/java/com.github.ambry.network/Selector.java
78.4% <0%> (-3.6%)
44% <0%> (-1%)

.../java/com.github.ambry.router/DeleteOperation.java
91.91% <0%> (-1.48%)
43% <0%> (-1%)

...b.ambry.network/BlockingChannelConnectionPool.java
62.6% <0%> (-0.87%)
7% <0%> (-1%)

...ain/java/com.github.ambry.router/PutOperation.java
89.44% <0%> (-0.6%)
81% <0%> (-1%)

...in/java/com.github.ambry.network/SocketServer.java
82.78% <0%> (-0.41%)
13% <0%> (ø)

...java/com.github.ambry.router/GetBlobOperation.java
90.22% <0%> (-0.21%)
33% <0%> (-1%)

...in/java/com.github.ambry.store/BlobStoreStats.java
70.09% <0%> (+0.23%)
80% <0%> (ø)
:arrow_down:

.../main/java/com.github.ambry.router/PutManager.java
87.75% <0%> (+0.68%)
23% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


Borderlands 2 - DXVK 1.7.1 breaks inventory item rendering

When using DXVK 1.7 in Proton 5.9 or the DXVK bundled with Proton-5.9-GE-5-ST (seems to be commit 3322da4 ) the inventory renders correctly but somewhere between then and DXVK 1.7.1 this has broken.
Note, as a hail mary I tried d3d9.supportDFFormats = False but it made no difference.
Software information
Borderlands 2 on Steam.
System information

GPU: Radeon RX 580

Driver: Mesa 20.1.5

Wine version: Proton-5.9-GE-5-ST

DXVK version: 1.7.1

Apitrace file(s)

Put a link here

Log files

d3d9.log: Borderlands2_d3d9.tar.gz

If need be I'll have a go at doing an API trace later.

Screenshot:

Known issue, should already be fixed in master.

Ah didn't realise one of those last couple of commits had already solved the issue. I shouldn't have been afraid to build and test as I've now successfully built master and it is indeed fixed!
Thanks all!


React Version 15.x

Any plans to support React 15.x?
It might just work out of the box, I haven't tried it yet, but you do set:
  "peerDependencies": {
    "react": "^0.14.0"
  }

Good point, will look into it asap... been very busy recently, sorry

Thanks for PR - merged it (and updated some more dependencies). Only thing left: update to d3 version 4 (https://github.com/bgrsquared/d3-react-squared/issues/6).
Also, published to npm, v.0.5.0.


Test up to Python 3.10

Split of #2149

@tonybaloney do you know if the rest two workflow will be removed, if this PR is merged to main?

@tonybaloney do you know if the rest two workflow will be removed, if this PR is merged to main?

yes, they will be removed as those matrix jobs no longer exist.


update to latest validation and testing versions

validate and test node pipelines are pretty far behind

resovled by #22


Make volume conditional on Values.useWebhook

Fixes: #50
The issue is that this volume (and volume mount) can't be bound unless
the secret exists. The creation of the secret is tied to
Values.useWebhook.
An earlier change made the volume mount conditional on this switch, but
didn't include the volume.

moved to  crossplane/oam-kubernetes-runtime#88 and merged there, closing


Changed shared memory permissions to 600

Hi Richard!
I have changed the shared memory permissions to 600 to prevent student submissions tampering with the shared memory. The default permissions are 666 which allowed everyone to write into the shm.
This could potentially be exploited into a Denial-of-Service by overwriting the 'busy' boolean of the users.
Sincerely,
Marlon

Thanks for another useful contribution, Marlon. It's great to have people tightening the security on Jobe.


supportedLocales is not used when running webpack

Issue Description
When running webpack with terra-i18n-plugin supportedLocales appears to be ignored. For example, when Arabic support was added our automated builds stopped working even though our supportedLocales did not include Arabic.
  plugins: [
    new I18nAggregatorPlugin({
      baseDirectory: translationsConfig.basePath,
      supportedLocales: ['en-US', 'es', 'de', 'en-GB', 'en', 'fi-FI', 'fr', 'pt'],
    }),
  ],

Here's an example error log from building on the latest terra-i18n-plugin release:
ERROR in ../terra-i18n/lib/translationLoaders.js
Module not found: Error: Cannot resolve module 'ar.js' in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/terra-i18n/lib
resolve module ar.js in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/terra-i18n/lib
  looking for modules in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/react-clipboards
    /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/react-clipboards/ar.js doesn't exist (module as directory)
    resolve 'file' ar.js in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/react-clipboards
      resolve file
        /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/react-clipboards/ar.js doesn't exist
        /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/react-clipboards/ar.js.js doesn't exist
        /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/react-clipboards/ar.js.jsx doesn't exist
  looking for modules in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules
    /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/ar.js doesn't exist (module as directory)
    resolve 'file' ar.js in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules
      resolve file
        /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/ar.js doesn't exist
        /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/ar.js.js doesn't exist
        /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/ar.js.jsx doesn't exist
  looking for modules in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/node_modules
    /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/node_modules/ar.js doesn't exist (module as directory)
    resolve 'file' ar.js in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/node_modules
      resolve file
        /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/node_modules/ar.js doesn't exist
        /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/node_modules/ar.js.js doesn't exist
        /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/node_modules/ar.js.jsx doesn't exist
  looking for modules in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/aggregated-translations
    /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/aggregated-translations/ar.js doesn't exist (module as directory)
    resolve 'file' ar.js in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/aggregated-translations
      resolve file
        /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/aggregated-translations/ar.js doesn't exist
...............................
 @ ../terra-i18n/lib/translationLoaders.js 6:15-31
ERROR in ../terra-i18n/lib/translationLoaders.js
Module not found: Error: Cannot resolve module 'pt-BR.js' in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/terra-i18n/lib
resolve module pt-BR.js in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/terra-i18n/lib
  looking for modules in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/react-clipboards
    /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/react-clipboards/pt-BR.js doesn't exist (module as directory)
    resolve 'file' pt-BR.js in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/react-clipboards
      resolve file
        /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/react-clipboards/pt-BR.js doesn't exist
        /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/react-clipboards/pt-BR.js.js doesn't exist
        /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/react-clipboards/pt-BR.js.jsx doesn't exist
  looking for modules in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules
    /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules/pt-BR.js doesn't exist (module as directory)
    resolve 'file' pt-BR.js in /opt/jenkins_virtualenvs/2fc5515f/virtualenvs/d41d8cd9/src/trunk/iqh/clipboard/node_modules
      resolve file
.......................................

The log has been shortened for clarity.
Issue Type

[ ] New Feature
[ ] Enhancement
[x] Bug
[ ] Other

Expected Behavior
supportedLocales should limit terra-i18n-plugin from seeking translations for unlisted locales.
Current Behavior
supportedLocales appears to be ignored as it looks for unsupported / unlisted locales.
Steps to Reproduce

Add terra-i18n-plugin to a working webpack build with a partial list of supportedLocales from the list of all supportedLocales. Having no supportedLocales should have the same outcome.
Attempt to run webpack with the plugin.
The build will not be successful as it will search for all supportedLocales.

Environment
terra-i18n-plugin 1.1.0 through the current release are affected.

This bug is actually an issue with the terra-i18n here. The i18n-plugin will aggregate for the translations specified in as supportedLocales, which appear to be doing so correctly. However
the issue you are seeing is with the I18nLoader. The I18nLoder appears to be loading each supportedLocale specified here, which differs from your specified languages.


Implementing Hash Join

Add an operator in execution engine to implement hash joins in Rust. This implementation should work for 2 tables.
Measure the time taken by the hash join implementation against SSB data using tools in quickstep.

Branch : hash-join

Hash join implementation now works.


cant specify undefinedFamily in svg

Hi, thx for this nice tool. I've met a small problem in specifying font of Chinese characters in rendered svg.
mjpage(input, {
          format: ["TeX"], Mathjax: {
            font: 'STIX-Web',
			SVG:{
	            undefinedFamily: '"Arial Unicode MS", Arial, sans-serif',
			}
          }
        }, { svg: true }, function (output) {
          // console.log(output); // resulting HTML string
          // console.log(filename)
          console.log('Finished rendering: ', filename);
          fs.writeFileSync(filename, output, 'utf-8');
        });

This is resulting in <text font-family="monospace" stroke="none" transform="scale(71.759) matrix(1 0 0 -1 0 0)">情</text>
While instead I was expecting the font family to be something like STIXGeneral,'Arial Unicode MS',serif.
Any idea on how to change this font-family?
Thx in advance.
FYI: client-side mathjax results in <text font-family="STIXGeneral,'Arial Unicode MS',serif" stroke="none" transform="scale(51.054) matrix(1 0 0 -1 0 0)">情</text>
upd: https://github.com/mathjax/MathJax-node/blob/08f566cffb7c4c55098b1ce9315dc0efc9c443a0/lib/main.js#L328

I modified this line manually: https://github.com/mathjax/MathJax-node/blob/08f566cffb7c4c55098b1ce9315dc0efc9c443a0/lib/main.js#L328
However, it seems that the problem is not from the font.
I'm receiving this, the characters overlap with each other.

This issue seems to be about mathjax-node not mathjax-node-page.
Mathjax-node has a cjkCharWidth option to tweak CJK characters fallback behavior, cf. https://github.com/mathjax/MathJax-node/#typesetoptions-callback.
If that doesn't help, please file an issue upstream at mathjax-node.

@pkra Thx for replying. But that option doesn't work either.(or perhaps I used them in a wrong way)
I've opened at https://github.com/mathjax/MathJax-node/issues/424


Add glitch filters to I^2C inputs

I^2C Fast-mode requires a 50 ns glitch filter on SCL and SDA inputs. This is an attempt at implementing such a filter.
Note, as it is operating in the digital domain and on an unregistered input, it could fall victim to inexact clock division and metastability. Happily the clock divides nicely at our current 40 MHz system clock.
So far only tested in simulator in ideal conditions, not on real hardware nor exposed to glitches.

Ah yes I hadn't realised that existed!
Apologies @elliotb-lowrisc but I think we're best off using the existing primitive, sorry for the wasted design time. Would you mind incorporating prim_filter with the synchronizer enabled for use on the I2C inputs and patching the existing I2C to remove its synchronizers as discussed above?

Righto, I'll have a go at the prim_filter approach. At least this was a nice little design exercise and reminder to refresh myself on the style guide.

This PR is currently causing my (2021.1) builds to fail timing by a considerable margin for some unknown reason. I shall attempt to investigate.

Timing seems fine now

Notable increase in area utilisation observed from this PR. Seems to be related to an I^2C distributed memory no longer being inferred, which may be related to some signals being merged that were not before. Will revisit after 1.0 release.


Coins from QBitNinjaClient passed to Transaction Builder - Error: WitnessProgramMissmatch

The goal is to look up the available coins that can be spent, determine if we have enough to cover the request and feed them into the spend transaction.
                // use QBitNinja to get the blance on this address
                var client = new QBitNinjaClient(network);
                **var balanceModel = await client.GetBalance(spenderBitcoinAddress);**
                var balance = balanceModel.Operations.Sum(x => x.Amount.ToDecimal(MoneyUnit.BTC));

                // Do we have enough to spend?
                if (balance < walletSpend.Amount)
                    throw new Exception("Insufficient Funds");

                // Find the unspent transactions we need to use to fund this payment
                List<ICoin> outputReceived = new List<ICoin>();
                foreach (var op in balanceModel.Operations)
                {
                    foreach (var coin in op.ReceivedCoins)
                    {
                        if (coin.TxOut.ScriptPubKey == spenderBitcoinAddress.ScriptPubKey)
                        {
                            outputReceived.Add(coin);
                        }
                    }
                }

...
var transactionToSpend = txBuilder
.AddCoins(outputReceived)
.AddKeys(spenderBitcoinSecret)
.Send(receiverBitcoinAddress, Money.FromUnit(walletSpend.Amount, MoneyUnit.BTC))
.SendFees(minerFee)
.SetChange(spenderBitcoinAddress)
.BuildTransaction(true);
The error that comes back is WitnessProgramMissmatch

what type of address is it ? segwit? p2sh?

Solved:  You are correct, I was using the root private key instead of the derived private key for the transaction.  Thanks!


No types

Hey folks,
I just noticed that this SDK does not provide any types. Are you planning to extend this? This would be a great improvement for type safety.

Hey there @fooku18 🙂. Types have been added to the SDK as of version 1.12.x!


Fix typo in README.md

It's pedantic, but I can't help myself ever since @StealthMountain.

Coverage remained the same at 93.086% when pulling 7ff8f89d70ad6488a2c2b8d16be884cff6918562 on knpwrs:patch-1 into 84229e2b15c3fc809ff237649ce111543abf9688 on mweststrate:master.

Thanks!


IMPRO-263 (defunct): nccmp replaces temporary use of cmp for masked arrays with nans

nccmp no longer has an issue with masked arrays using nan fill values. This test has been updated to use the standard means of testing using nccmp. Ticket IMPRO-263 can be closed as the issue no longer exists.
Testing:

[x] Ran tests and they passed OK

Caroline, as discussed in the splitting meeting I had a look at IMPRO-263 and found it was no longer required. This PR changes this test to use nccmp. When it is merged we should close 263.


[C++][Parquet] memory_map parameter seems missleading in parquet file opener

If memory_map parameter is true, normal file operation is executed, while in negative case, the according memory mapped file operation happens. Seems either be used via inverted logic or being bug.
Reporter: Philipp Hoch / @philhoch
Note: This issue was originally created as PARQUET-1334. Please see the migration documentation for further details.

Deepak Majeti / @majetideepak:
Issue resolved by pull request 471
https://github.com/apache/parquet-cpp/pull/471


Increase logging during integration tests

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Hopefully will help us spot the flaky failure #158
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

When I read this  PR title I thought on
  --ginkgo.v
    If set, emits more output including GinkgoWriter contents.
  --ginkgo.vv
    If set, emits with maximal verbosity - includes skipped and pending tests.

/retest
Although it already helped me identify the bug :)

/retest

/lgtm


Print value and gas even for unknown calls

Resolves https://github.com/zemse/hardhat-tracer/issues/26

Hey @k06a, thanks for the PR! I had added this to the v2 branch previously (https://github.com/zemse/hardhat-tracer/commit/51a309d4d8a3a14381b519a12f12dd5d3899d33e). Also, I just made a v2 release which includes that and a few more things. You can upgrade to it.
Anyway, I'll include this in the v1 branch.


[WIP] investigating migration failures

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

/retest


refactor(core): check roleClaims count

roleClaims is never null so marked with ! (null-forgiving) operator and statement has changed from null to Count

Actually, roleClaims can be null in some conditions. So if we do not check its nullability we will get an unexpected exception.


Could not load results

Panel or Daemon: Panel
Version of Panel/Daemon: 0.6.4
Server's OS: 16.04
Your Computer's OS & Browser: Windows 10, Firefox Quantum

Add Details Below:
Whenever I try and create a server and add the user it says "The results could not be loaded" when I put a real user in.

You should also do some screenshots and add some logs

There are no panel logs.
Screenshot: https://cdn.discordapp.com/attachments/122903114423599104/414269184499777537/unknown.png

Make sure you're using PHP 7.1 rather than 7.2.
php -v
If that shows 7.2, run:
sudo a2dismod php7.2 ; sudo a2enmod php7.1 ; sudo service apache2 restart

Thank you! I followed the documentation from start to finish every command but I guess it installed 7.2 instead, well that works thansk man


corrected empty space in return actuation

the empty space that continues in the return of the devices performance has been fixed.
And also in the docs/apiary.apib files there was this same space, and I removed it.
And in the test files "test_device_handler.py" there was also, but I have already removed those spaces mentioned above.

Please check if the PR fulfills these requirements

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

What is the current behavior? (You can also link to an open issue here)

What is the new behavior (if this is a feature change)?

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

Is there any issue related to this PR in other repository? (such as dojot/dojot)

Other information:
dojot/dojot#1814

You can do the PR directly for the development of your fork, it's even more adequate.

alright, i'll do it in the next few.
And is this one ready to be merged into dojot?


detaulf ulimit value cause a warning in kong start

the dev machine default value for ulimit is 1024.
since this value is less then 4096, a warning is raised when kong start.

vagrant@precise64:/kong$ kong start -c kong_DEVELOPMENT.yml
...
...
[WARN] ulimit is currently set to "1024". For better performance set it to at least "4096" using "ulimit -n"

Closed via #26.

I know it's closed, but for anyone this may help:
If you are using Ubuntu or Debian, go to the file: /etc/security/limits.conf and add the line (at the end)
* 		soft 	nofile 		4096
Save and test it by executing the command;
ulimit -n 4096
Restart Kong and check if you get the warning.


Handling boundary components

@rherrell @cayton
There are a number of cases where components are at the boundaries of multiple fabrics, or between switches within the same fabric. These components are what we refer to as "Boundary Components".
Let's make the case of a ComputerSystem (a server) connected to a CXL fabric via a switch, see picture below. The CXL switch will be under the control of a dedicated Sunfish Hardware agent. We will call it CXL Agent for the sake of this example. While the host will be managed by its own BMC and/or another Sunfish Hardware Agent. We will call it BMC for the sake of this example.

At system startup, the CXL Agent will advertise its own fabric including the one switch and the downstream devices. For the upstream ports, there's little assumption that the agent can do regarding the upstream ports and what is or will be connected to them. This is because 1) There might not be an entity connected to the specific ports. 2) There is an entity connected but it is powered off and therefore no link is detected. 3) The CXL Agent might not be able to identify the object on the other side of the link (i.e. its port).
Similarly for the ComputerSystem, the BMC is not aware of what the host port is connected to because: 1) a single host might not have full visibility of the entire fabric it is connected to. 2) The host might initially be powered off and therefore no link is detected on the port.
The only initial assumption that can be done is that the port is the component that sits at the boundary of a physical connection and therefore the one to be used for resolving the physical connection of boundary components at runtime.
One potential approach for resolving these conflicts is to follow the below flow:

Both parties sharing a boundary component register to sunfish and report their resources as usual.
Ports that are either not connected or the connection is not known at the time of the registration of the agent are marked as unresolved. This could be done by extending the Sunfish_RM field we use in the Oem property of each object to mark it with the agent it belongs to. We could add something like the below snippet.

"Sunfish_RM":{
<EMAIL_ADDRESS>"#SunfishExtensions.v1_0_0.ResourceExtensions",
"Status" : {
  "State":"unresolved"
}

Each agent populates PortID field (See redfish schema guide) with a unique identifier that is going to be fabric specific. Examples are MAC address for Etherned, CXL IDs for CXL fabrics, etc. The RemotePortID field is left empty
When Sunfish scans resources from a system or agent, it caches the resources that are unresolved in a special data structure for later processing.
Whenever the state of a port changes. i.e., both parties have booted and the host can "read" the unique id of he port at the other side of the link (e.g., the switch port). The agent updates its own version of the port object by populating the RemotePortID with the new port ID discovered. The agent sends an event to sunfish to signal the updated object.
Sunfish at every event update checks whether the object at hand is one of the unresolved ones. This can be done by using the RemotePortID in the updated port for indexing the data structure with all unresolved items. If there's a hit sunfihs updated both ports with the complete information and marks the objects as resolved.

One drawback I see with this approach is that using the PortID for carrying the unique identifier, we lose to possibility of pysically identifying the port, which is most probaly the reason why the PortID field is there.
From the redfish spect I read

The original problem statement is pretty clear.  The discussion about a possible solution is incomplete.
Border components are components attached to boundary links, and by definition managed by different first level hardware managers.  Boundary links are links that cross between two different manager domains.   For example, the ComputerSystem and the Switch in the figure under discussion have different managers, but these two components are connected by a link of the CXL fabric.  The link between them is a boundary link, and the two components are thus boundary components.  It is the boundary link that is in common between the two managers' Redfish models of their managed domains.  If the ComputerSystem manager supplies a placeholder Redfish model of the CXL Switch and its Port, these would be duplicate objects to the CXL Switch and Port models supplied by the Switch manager.
However, matching up the two Redfish models as the exact components at the appropriate end of a boundary link requires Sunfish (or whatever entity is doing the merger of the two Redfish boundary component models) to know two things about both boundary components, so as to unambiguously locate the boundary link:

The physical port number (or port ID) of the boundary link, as known by the boundary component hardware
A globally unique component ID of the boundary component hardware sourcing the port connected to the boundary link.
Thus, the local component needs to be informed of the Remote Component's Port ID plus the Remote Component's globally unique ID.

The discussion in the original issue does not deal with this required 2nd ID.  The discussion about placing these IDs of the remote component in the Port object of the local component needs to address this 2nd ID.  We could just add this 2nd ID, which is already available in the CXL fabric (PBR mode) link ports.
However, there are other issues that need to be resolved when aggregating Redfish inventory from multiple Hardware Managers or multiple Agents that I think call for boundary components on the remote side of a boundary link be modeled with placeholder Redfish objects, rather than just have a pair of conclusive IDs installed in boundary link local Port properties.
The latter will work, but actual placeholder components appear to make the merging problem easier for the upper layers.
I will have a slide deck that illustrates the boundary component placeholder mechanism ready very soon.


UnicodeDecodeError when reading from tfrecords

All I'm really trying to do is read a large array from a tfrecords file. I can do it so long that it's below a 8million ints but above that I get a unicode error, which doesn't seem to make much sense to me. Also, it worth noting that this script works using r0.9. I have about 64GB of ram on my computer so I doubt it's a memory issue.
What related GitHub issues or StackOverflow threads have you found by searching the web for your problem?
None
Environment info
Operating System:
Linux Mint 18 Sarah (GNU/Linux 4.4.0-47-generic x86_64)
Installed version of CUDA and cuDNN:
not installed
If installed from binary pip package, provide:

A link to the pip package you installed:
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0-cp27-none-linux_x86_64.whl

The output from python -c "import tensorflow; print(tensorflow.__version__)".
python -c "import tensorflow; print(tensorflow.version)"

If possible, provide a minimal reproducible example (We usually don't have time to read hundreds of lines of your code)
import tensorflow as tf
import numpy as np

dim_size = 9000000

# Create the array
array = np.zeros([dim_size], dtype=int)

example = tf.train.Example(
    features = tf.train.Features(
        feature = {
            'array': tf.train.Feature(
                bytes_list= tf.train.BytesList(value=[array.tostring()])
            )
        }
    )
)

# Write the example to disk
writer = tf.python_io.TFRecordWriter('temp.tfrecords')
writer.write(example.SerializeToString())
writer.close()

# Define input pipeline
queue = tf.train.string_input_producer(['temp.tfrecords'], shuffle=False, num_epochs=1)
reader = tf.TFRecordReader()
_, se = reader.read(queue)

#Define the parsed dict
parsed = tf.parse_single_example(
    serialized=se,
    features={
        "array":tf.FixedLenFeature([], tf.string),
    }
)

# Decode the example
tens = tf.decode_raw(parsed['array'], tf.int64)

# Define the init op.
init_op = tf.group(
    tf.initialize_all_variables(),
    tf.initialize_local_variables()
)
with tf.Session() as sess:
    sess.run(init_op)
    # Define coordinator and threads
    coord = tf.train.Coordinator()
    threads = tf.train.start_queue_runners(coord=coord, sess=sess)

    # Run the reading operation
    print sess.run([tens])
    coord.request_stop()
    coord.join(threads)

What other attempted solutions have you tried?
This works using r0.9 and it also works if you lower the dim_size below 800000. So it seems to be an issue with the size and r0.11. I also get the same results if I use a float array as opposed to an int.
Logs or other output that would be helpful
W tensorflow/core/framework/op_kernel.cc:968] Invalid argument: Could not parse example input, value: '
?Ī"
?Ī"
array?Ī"
?Ī"
?Ī"
Traceback (most recent call last):
  File "temp.py", line 52, in <module>
    print sess.run([tens])
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 717, in run
    run_metadata_ptr)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 915, in _run
    feed_dict_string, options, run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 965, in _do_run
    target_list, options, run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 972, in _do_call
    return fn(*args)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 954, in _run_fn
    status, run_metadata)
  File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
    self.gen.next()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/errors.py", line 462, in raise_exception_on_not_ok_status
    compat.as_text(pywrap_tensorflow.TF_Message(status)),
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/util/compat.py", line 82, in as_text
    return bytes_or_text.decode('utf-8')
  File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x9b in position 40: invalid start byte

@mrry Should we be escaping strings in error messages?  I vaguely recall having part of that discussion before.
@CRSilkworth The unicode error is secondary.  Your immediate problem is the Could not parse example input error.  @martinwicke Is this the dreaded protobuf limit?  The error is from https://github.com/tensorflow/tensorflow/blob/dfc5cd48a095b133ece9caff663e3cc512e8a268/tensorflow/core/kernels/example_parsing_ops.cc#L326.

@girving Yes, I think we should be escaping strings here. I don't remember what the outcome of the earlier discussion was (in particular, where the encoding should happen) but it seems like we use str_util::CEscape(binary_string) in a few kernels, so perhaps we should use it here?

@ebrevdo Care to add escaping to that error message?  Assigning to you for now.

Yes on Monday.
On Fri, Nov 18, 2016 at 11:12 AM, Geoffrey Irving<EMAIL_ADDRESS>wrote:

@ebrevdo https://github.com/ebrevdo Care to add escaping to that error
message? Assigning to you for now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/5676#issuecomment-261615834,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABtim1N3sy6ABDqCbq0fmAo7lqUZtyYOks5q_fiZgaJpZM4K1yxn
.

Did we ever determine if the real issue is this protobuf limit? Am I able to avoid this some how or will I have to revert back to 0.9?

I don't know why there would be a difference between 0.9 and 0.11 then.
Otherwise it looks plausible. Sadly the real error is hidden by the Unicode
problem. Did you install the >64MB version of protobuf? Assuming that that
is used and nothing else (hard to tell), the limit shouldn't trigger at 8M
ints.
On Wed, Nov 23, 2016 at 05:00 Christopher Silkworth <
<EMAIL_ADDRESS>wrote:

Did we ever determine if the real issue is this protobuf limit? Am I able
to avoid this some how or will I have to revert back to 0.9?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/5676#issuecomment-262506458,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAjO_QA2w6TLQ8cqVLuaZvIdF6vOX8Iaks5rBDj_gaJpZM4K1yxn
.

Hmm I'm not sure if my protobuf version is > 64MB, I just installed the one that tensorflow as a dependency (protobuf==3.0.0).
Is there anything I can do to help out in tracking this down?

There's a protobuf version on our website with the 64MB limit removed:
https://www.tensorflow.org/versions/r0.12/get_started/os_setup.html#protobuf-library-related-issues
Can you try installing one of those packages? Make sure to uninstall protobuf beforehand.

I have the same problem. Using the other protobuf library doesn't help.

Is this still an issue in current TF?
@ebrevdo did you ever fix the error message?

Replicated only part of the error in python3:
with open('temp.tfrecords', 'rb') as v:
    s = v.read()
z = tf.parse_single_example(serialized=s, features={

        "array":tf.FixedLenFeature([], tf.string),
    })
s = tf.Session()
s.run(z)

returns
2017-03-27 16:35:53.868045: W tensorflow/core/framework/op_kernel.cc:1150]
Invalid argument: Could not parse example input, value: ' �J
ERROR - failed to write data to stream: <_io.TextIOWrapper name='<stdout>'
mode='w' encoding='UTF-8'>

On Mon, Mar 27, 2017 at 11:17 AM, Martin Wicke<EMAIL_ADDRESS>wrote:

Is this still an issue in current TF?
@ebrevdo https://github.com/ebrevdo did you ever fix the error message?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/5676#issuecomment-289538813,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABtim-BoKP_X6_XVB_j2D9DRPlogg6Lzks5rp_1EgaJpZM4K1yxn
.

That said, running:
returns
DecodeError: Unexpected end-group tag.
in other words, looks like the proto is invalid once written?  weird.
looks like an error by the TFRecordWriter?
this works just fine:
sess.run(
  tf.parse_single_example(serialized=example.SerializeToString(),
    features={

        "array":tf.FixedLenFeature([], tf.string),
    })

so looks like the issue is somewhere in the TFRecordWriter or
TFRecordReader.
On Mon, Mar 27, 2017 at 4:36 PM, Eugene Brevdo<EMAIL_ADDRESS>wrote:

Replicated only part of the error in python3:
with open('temp.tfrecords', 'rb') as v:
    s = v.read()
z = tf.parse_single_example(serialized=s, features={

        "array":tf.FixedLenFeature([], tf.string),
    })
s = tf.Session()
s.run(z)

returns
2017-03-27 16:35:53.868045: W tensorflow/core/framework/op_kernel.cc:1150]
Invalid argument: Could not parse example input, value: ' �J
ERROR - failed to write data to stream: <_io.TextIOWrapper name='<stdout>'
mode='w' encoding='UTF-8'>

On Mon, Mar 27, 2017 at 11:17 AM, Martin Wicke<EMAIL_ADDRESS>wrote:

Is this still an issue in current TF?
@ebrevdo https://github.com/ebrevdo did you ever fix the error message?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/5676#issuecomment-289538813,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABtim-BoKP_X6_XVB_j2D9DRPlogg6Lzks5rp_1EgaJpZM4K1yxn
.

@saxenasaurabh I saw you were working on the reader/writer a bit, can you take a look at this?

I also have this problem. I generated the tfrecords on Windows system, and the problem is occured. But it's fine to parse on Ubuntu system using the same parsing code.

@martinwicke Are there any updates on this? The problem still occurs on windows.

@martinwicke Can it be that #5676 #7311 and #13575 are all relating to the same issue which is still present on windows?

It has been 14 days with no activity and this issue has an assignee.Please update the label and/or status accordingly.

Nagging Assignee: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Closing as this looks like a duplicate of #13575 which I have been unable to reproduce. Please re-try and re-open #13575 if this is still an issue.