Crash at CategoryAxisModel

Looks like it happens on data change. I suppose we should not crash UI thread in such case?
Usage:
ChartLayout(
        modifier = modifier,
        legendLocation = LegendLocation.NONE,
    ) {
        XYGraph(
            xAxisModel = remember(info.xAxis) { CategoryAxisModel(info.xAxis) },

Crash:
Exception java.lang.IllegalArgumentException:
  at io.github.koalaplot.core.xygraph.CategoryAxisModel.computeOffset (CategoryAxisModel.kt:27)

What do you think it should do instead? It is a programming error to provide a value for a category axis that is not in the set of category values.

What do you think it should do instead? It is a programming error to provide a value for a category axis that is not in the set of category values.

sure, but I don't use this, the chart calls this computeOffset internally. So inside looks like it uses outdated data
ChartLayout(
        modifier = modifier,
        legendLocation = LegendLocation.NONE,
    ) {
        XYGraph(
            xAxisModel = CategoryAxisModel(info.xAxis),
            yAxisModel = remember(info.yRange) {
                FloatLinearAxisModel(
                    range = info.yAxis.autoScaleRange(),
                    minimumMajorTickSpacing = 50.dp,
                )
            },
            yAxisLabels = { },
            xAxisLabels = { },
            yAxisTitle = { },
            xAxisTitle = { },
            xAxisStyle = rememberTransparentAxis(),
            yAxisStyle = rememberTransparentAxis(),
            horizontalMajorGridLineStyle = rememberTransparentLineStyle(),
            verticalMajorGridLineStyle = rememberTransparentLineStyle(),
            horizontalMinorGridLineStyle = rememberTransparentLineStyle(),
            verticalMinorGridLineStyle = rememberTransparentLineStyle(),
        ) {
            chart(
                data = remember(info.yAxis) {
                    info.yAxis.mapIndexed { index, d ->
                        DefaultPoint(info.xAxis[index], d)
                    }
                },
                chartColor = chartColor,
                onStep = {
                    haptic.performHapticFeedback(HapticFeedbackType.TextHandleMove)
                    onStep(it)
                },
            )
        }
    }

I think something may be going on here with recompositions between the setting of the xAxisModel which is remembered on info.xAxis and the setting of the chart data which is remembered on info.yAxis. If the x axis data changes and the y axis data doesn't then the xAxisModel will be changed but the data won't be. Can you try it without the remembers and see what happens? If that works OK, it would be interesting to then try with a remember on info in both places and see if that works. There may still be an issue because there is a chance the XYGraph gets recomposed with values out of sync with the internal content where the chart is called. In this case one solution could be to hoist the remembers to a higher layer before calling ChartLayout.

I think something may be going on here with recompositions between the setting of the xAxisModel which is remembered on info.xAxis and the setting of the chart data which is remembered on info.yAxis. If the x axis data changes and the y axis data doesn't then the xAxisModel will be changed but the data won't be. Can you try it without the remembers and see what happens? If that works OK, it would be interesting to then try with a remember on info in both places and see if that works. There may still be an issue because there is a chance the XYGraph gets recomposed with values out of sync with the internal content where the chart is called. In this case one solution could be to hoist the remembers to a higher layer before calling ChartLayout.

hi! I tried with
ChartLayout(
        modifier = modifier,
        legendLocation = LegendLocation.NONE,
    ) {
        XYGraph(
            xAxisModel = CategoryAxisModel(info.xAxis),
            yAxisModel = FloatLinearAxisModel(
                range = info.yRange,
                minimumMajorTickSpacing = 50.dp,
            ),
            yAxisLabels = { },
            xAxisLabels = { },
            yAxisTitle = { },
            xAxisTitle = { },
            xAxisStyle = rememberTransparentAxis(),
            yAxisStyle = rememberTransparentAxis(),
            horizontalMajorGridLineStyle = rememberTransparentLineStyle(),
            verticalMajorGridLineStyle = rememberTransparentLineStyle(),
            horizontalMinorGridLineStyle = rememberTransparentLineStyle(),
            verticalMinorGridLineStyle = rememberTransparentLineStyle(),
        ) {
            chart(
                data = info.points,
                chartColor = chartColor,
                onStep = {
                    haptic.performHapticFeedback(HapticFeedbackType.TextHandleMove)
                    onStep(it)
                },
            )
        }
    }
    ```
and still got crash report
Exception java.lang.IllegalArgumentException:
  at io.github.koalaplot.core.xygraph.CategoryAxisModel.computeOffset (CategoryAxisModel.kt:27)

Are you adding new x-axis values (categories) to the data? What does your info data structure look like?

Are you adding new x-axis values (categories) to the data? What does your info data structure look like?

yes
data class GraphData<X, Y: Comparable<Y>>(
    val xAxis: ImmutableList<X>,
    val yAxis: ImmutableList<Y>,
    val points: ImmutableList<DefaultPoint<X, Y>>,
    val yRange: ClosedFloatingPointRange<Y>,
)

the crash is not very common but it is currently 35% of our crashes

I've tried to reproduce it. What platform are you using? I've run this code for 30 minutes on the JVM without a crash
    var info: GraphData<String, Float> by remember {
        val x = Clock.System.now().epochSeconds
        val y = if (Random.nextBoolean()) {
            1f
        } else {
            -1f
        }
        mutableStateOf(
            GraphData(
                persistentListOf(x.toString()),
                persistentListOf(y),
                persistentListOf(DefaultPoint(x.toString(), y)),
                -1f..1f
            )
        )
    }

    LaunchedEffect(thumbnail) {
        while (this.isActive) {
            val yLast = info.yAxis.last()
            val yNext = if (Random.nextBoolean()) {
                yLast + 1
            } else {
                yLast - 1
            }

            val x = Clock.System.now().epochSeconds
            info = info.copy(
                info.xAxis.toPersistentList().mutate {
                    it.add(x.toString())
                }.takeLast(10).toImmutableList(),
                info.yAxis.toPersistentList().mutate {
                    it.add(yNext)
                }.takeLast(10).toImmutableList(),
                info.points.toPersistentList().mutate {
                    it.add(DefaultPoint(x.toString(), yNext))
                }.takeLast(10).toImmutableList(),
                min(info.yRange.start, yNext)..max(info.yRange.endInclusive, yNext)
            )
            delay(1000)
        }
    }

    Column {
        ChartLayout(
            legendLocation = LegendLocation.NONE,
        ) {
            XYGraph(
                xAxisModel = CategoryAxisModel(info.xAxis),
                yAxisModel = FloatLinearAxisModel(
                    range = info.yRange,
                    minimumMajorTickSpacing = 50.dp,
                ),
                yAxisLabels = {
                    Text(it.toString())
                },
                xAxisLabels = {
                    Text(it)
                },
                yAxisTitle = { },
                xAxisTitle = { },
            ) {
                LinePlot(
                    info.points,
                    symbol = { Symbol(fillBrush = SolidColor(Color.Black)) }
                )
            }
        }
    }

I switched the update interval to 100 ms and it still doesn't crash, unless I resize the window (on Desktop) and then it will crash. If I do the same in the browser, it doesn't crash.
In the stack trace you get, if you go through it do you get another exception with the message "layout state is not idle before measure starts"?

With this slight change, I can't get it to crash even when resizing the window.
   val info = remember {
        val x = Clock.System.now().toEpochMilliseconds()
        val y = if (Random.nextBoolean()) {
            1f
        } else {
            -1f
        }
        mutableStateOf(
            GraphData(
                persistentListOf(Instant.fromEpochMilliseconds(x).toString()),
                persistentListOf(y),
                persistentListOf(DefaultPoint(Instant.fromEpochMilliseconds(x).toString(), y)),
                -1f..1f
            )
        )
    }

    LaunchedEffect(thumbnail) {
        while (this.isActive) {
            delay(100)
            val yLast = info.value.yAxis.last()
            val yNext = if (Random.nextBoolean()) {
                yLast + 1
            } else {
                yLast - 1
            }

            val x = Clock.System.now().toEpochMilliseconds()
            info.value = info.value.copy(
                info.value.xAxis.toPersistentList().mutate {
                    it.add(Instant.fromEpochMilliseconds(x).toString())
                }.takeLast(10).toImmutableList(),
                info.value.yAxis.toPersistentList().mutate {
                    it.add(yNext)
                }.takeLast(10).toImmutableList(),
                info.value.points.toPersistentList().mutate {
                    it.add(DefaultPoint(Instant.fromEpochMilliseconds(x).toString(), yNext))
                }.takeLast(10).toImmutableList(),
                min(info.value.yRange.start, yNext)..max(info.value.yRange.endInclusive, yNext)
            )
        }
    }

    val data = info.value

    ChartLayout(
        title = { ChartTitle("Random Walk") },
        legendLocation = LegendLocation.NONE,
    ) {
        XYGraph(
            xAxisModel = CategoryAxisModel(data.xAxis),
            yAxisModel = FloatLinearAxisModel(
                range = data.yRange,
                minimumMajorTickSpacing = 50.dp,
            ),
            yAxisLabels = {
                if (!thumbnail) {
                    AxisLabel(it.toString())
                }
            },
            xAxisLabels = {
                if (!thumbnail) {
                    AxisLabel(it, Modifier.padding(top = 2.dp))
                }
            },
            yAxisTitle = { },
            xAxisTitle = { },
        ) {
            LinePlot(
                data.points,
                symbol = { Symbol(fillBrush = SolidColor(Color.Black)) },
                animationSpec = TweenSpec(0)
            )
        }
    }

Note that the browser (Javascript) only has one thread, whereas on JVM there could be multiple threads and a race condition is occurring between changing the value of info and when the various composables between XYGraph and LinePlot are being recomposed. I would have expected LaunchedEffect to run on the main/UI thread, but maybe it doesn't when on JVM. This is going to take more research to figure out how to make it more robust against race conditions, but hopefully the above trick will give you a work around for now.

I get this issue on both Android and iOS
BODY ENDUncaught Kotlin exception: kotlin.IllegalArgumentException: The provided category '1722015360' is not a valid value for this axis.
kfun:io.github.koalaplot.core.xygraph.AxisModel#computeOffset(1:0){}kotlin.Float-trampoline + 99

Note that the browser (Javascript) only has one thread, whereas on JVM there could be multiple threads and a race condition is occurring between changing the value of info and when the various composables between XYGraph and LinePlot are being recomposed. I would have expected LaunchedEffect to run on the main/UI thread, but maybe it doesn't when on JVM. This is going to take more research to figure out how to make it more robust against race conditions, but hopefully the above trick will give you a work around for now.

Note that the browser (Javascript) only has one thread, whereas on JVM there could be multiple threads and a race condition is occurring between changing the value of info and when the various composables between XYGraph and LinePlot are being recomposed. I would have expected LaunchedEffect to run on the main/UI thread, but maybe it doesn't when on JVM. This is going to take more research to figure out how to make it more robust against race conditions, but hopefully the above trick will give you a work around for now.

ok, I will take a look into sources

I think the race condition happens not due to multithreading, it's just because compose functions are getting recomposed in random order and the values are not synced. Need to redesign the functions in a way they share same state. And also would be nice to just display chart without axis, because currently chart is always in scope of axis.

I've come to the same conclusion, it's due to recomposition order. I'll need to look at changing the API design to prevent this from happening.
The axes are abstracted from the plot so you can do things like overlay different plot types on the same common pair of axes, for example a line chart and a bar chart, as well as to support axes of different data types. Maybe I am not understanding what you are suggesting.

we already got 10k crashes on our app. do you need help with this so we can get prioritized?

Did you try the work around I posted above?
This isn't something I am actively working on or can give you a timeline for - I'm not paid for this. You are welcome to submit a pull request.

Did you try the work around I posted above?
This isn't something I am actively working on or can give you a timeline for - I'm not paid for this. You are welcome to submit a pull request.

yeah I tried but still no luck. Also would be nice to make axes optional, because sometimes you just need a chart, but here by design they are required.
anyways I will try to look into source code and do some changes

You can change the rendering of the axes so they don't show anything visible. But there needs to be a way to transform from the coordinates of the data to coordinates on the screen, and the axes do that in addition to calculating the placement of the ticks and gridlines.

I've done more testing on this, and I'm back to thinking it's due to a thread race condition. On Desktop I can consistently reproduce this issue by resizing the window, if the data is updated in a thread that's different than the GUI thread. The function to redraw the plot is being recomposed due to a screen redraw not related to the data change, and after it starts the data is updated and so it is out of date with the XYPlot. If I only update the time series data in the Main thread, using withContext(Dispatchers.Main), then I cannot get it to crash. This aligns with the behavior I saw in the browser where it is a single threaded environment.
If you can reproduce this crash when the data is updated in the same thread as the GUI thread then I can investigate further.

I tested a couple of alternative ways to update state from the non-main thread without crashes based on this documentation.
The first is to wrap the update of the MutableState variable with Snapshot.withMutableSnapshot.
The second technique is to use a MutableStateFlow which is updated from the non-main thread, and then within the Composable use collectAsState(Dispatchers.Main) to convert the StateFlow to observable state.


Login to docker.io failed. (expected acArg to be "docker.io", got "registry-1.docker.io")

Description
I tried to use nerdctl to login to docker.io, but got:
nerdctl login docker.io --debug
Enter Username: lingdie
Enter Password:
DEBU[0005] Found hosts dir "/etc/containerd/certs.d"
DEBU[0005] Ignoring hosts dir "/etc/docker/certs.d"      error="stat /etc/docker/certs.d: no such file or directory"
DEBU[0005] len(regHosts)=1
ERRO[0007] failed to call tryLoginWithRegHost            error="failed to call rh.Authorizer.AddResponses: expected acArg to be \"docker.io\", got \"registry-1.docker.io\"" i=0
FATA[0007] failed to call rh.Authorizer.AddResponses: expected acArg to be "docker.io", got "registry-1.docker.io"

however, this works:
nerdctl login --debug
DEBU[0000] Found hosts dir "/etc/containerd/certs.d"
DEBU[0000] Ignoring hosts dir "/etc/docker/certs.d"      error="stat /etc/docker/certs.d: no such file or directory"
DEBU[0000] len(regHosts)=1
DEBU[0001] no scope specified for token auth challenge   host=index.docker.io
WARNING: Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
---
nerdctl login https://index.docker.io/v1 --debug
DEBU[0000] Found hosts dir "/etc/containerd/certs.d"
DEBU[0000] Ignoring hosts dir "/etc/docker/certs.d"      error="stat /etc/docker/certs.d: no such file or directory"
DEBU[0000] len(regHosts)=1
DEBU[0001] no scope specified for token auth challenge   host=index.docker.io
WARNING: Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

whats the differance betwen these commands? Is this a bug?
I need to ues nerdctl sdk to login and push images to registries, what should I do if I don't want to write hard codes for docker.io.
Steps to reproduce the issue

nertctl login docker.io
nertctl login
nertctl login https://index.docker.io/v1

Describe the results you received and expected
nertctl login docker.io should works as well.
What version of nerdctl are you using?
nerdctl version
Client:
Version:	v1.5.0
OS/Arch:	linux/amd64
Git commit:	b33a58f288bc42351404a016e694190b897cd252
buildctl:
Version:
Server:
containerd:
Version:	v1.7.15
GitCommit:	926c9586fe4a6236699318391cd44976a98e31f1
runc:
Version:	1.1.12
GitCommit:	v1.1.12-0-g51d5e946
Are you using a variant of nerdctl? (e.g., Rancher Desktop)
None
Host information
No response

@fahedouch PTAL

whats the differance betwen these commands? Is this a bug?

I would say yes.
I do not remember why we do this check - maybe there was a security reason to make sure we do not return credentials for a different host.
I would like to rewrite most of our login code (as there are a lot of issues - #3072) but that will take some time.
If @fahedouch knows and can comment on the reason for the acArg / host check, and if we can soften it to maybe the main domain + tld, that could be a fix.
Alternatively, we could match the registry param if *.docker.io -> replace with index.docker.io.

acArg vs. host

This is in place to prevent sending credentials to hosts.toml mirrors. Although in that case, it does not make sense (and is also possibly problematic with redirects).
Some discussion on the overall question here: #3265


how to download your model？

thank you to open your code!
i'd like to test it, but i can't find your model.
so ,where is your model ,could your give a address to us ?
thanks!

Hi,
Thank you for your interest in the code.
I put in the README the links for the data, models and videos.
The models are in http://www.inf.ufpr.br/vri/databases/vehicle-reid/models.tgz .


Location picker frontend

Summary

implement location picker with google api autocompletion integrated
closes #127

Testing

run yarn add react-google-autocomplete install the package

actually we might to do this on our end?

add the provided api key to .env.local in frontend

NEXT_PUBLIC_GOOGLE_API_KEY =<api_key>

go to baseurl/events/create
click in-person and type to click an addresses
open console to see the log of the address

Notes & Resources for Full-stack

The AutoComplete component should be treated as a html <input> for styling. For more documentation, see the links below.
Package link: https://www.npmjs.com/package/react-google-autocomplete#reactgoogleautocomplete
Google api doc: https://developers.google.com/maps/documentation/javascript/place-autocomplete#constrain-place-types

Fild added!


Support for SPARQL SELECT

We're adding native SPARQL support in version 7!

Close in favor of using a dedicated project to track the overall state of SPARQL support.


Added uuid-runtime for uuidgen command support

Install uuid-runtime to support the command uuidgen -r for UUID generation for telemetry uuid configuration as part of KKP values.yaml,
Signed-off-by: archups<EMAIL_ADDRESS>
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 #
Fixed issued
bash: uuidgen: command not found

Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

/lgtm

/approve


Upgrade Python packages

upgrade packages to fix security warning
also bring mkdocs and other packages up to date

Coverage remained the same at 100.0% when pulling 10b17d08e68bf78f4207d740a196865b7f3b1633 on upgrade_packages into 80dfb049b32e275586bd785944e3eb18f422ecef on develop.

Thanks for making this change. However, I wanted to bring up that as a user of nlohnamm-json via vcpkg, I regularly get security warnings due to our security scanners finding the requirements.txt file and identifying what it believes are insecure dependencies of my source code. I'm just writing C++ code that uses nlohmann-json though, so I always have to dismiss these. However, it is a nuisance to deal with.
Do you think maybe we should add a step in the vcpkg portfile at https://github.com/microsoft/vcpkg/blob/master/ports/nlohmann-json/portfile.cmake to delete the docs folder after it downloads the source code for the tagged release so these dependencies don't show up in security scans.


geforce now "streaming games is not supported in this browser"

play.geforcenow.com says "streaming games is not supported in this browser" although it doesn't say that on official chrome version and works fine. it doesn't look like it's about user agents, you use chrome user agent anyway.
I checked headers, "SEC-CH-UA" has a difference between google chrome and chromium, that could be the reason.
I tested it with both 109 and 122 versions (I'm using thorium-win7 but it should be same for all os), thorium versions don't work but official chrome 109 works.
Could it be possible to make it see the thorium as chrome and don't say not supported browser? changing SEC-CH-UA would probably do the trick?

FYI I found this issue while looking for the same problem with Brave. They are calling the window.speechSynthesis.getVoices() method and checking if any of the voiceURIs contain "Google".


ArcGIS tiled example broken in Chrome

http://openlayers.org/en/v3.6.0/examples/arcgis-tiled.html?q=arcgisrest
Works fine in Safari though.
Issue is the non-integer dpi value.
http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StateCityHighway_USA/MapServer/export?F=image&FORMAT=PNG32&TRANSPARENT=true&SIZE=230%2C230&BBOX=-7514065.628545966%2C2504688.542848654%2C-5009377.08569731%2C5009377.08569731&BBOXSR=3857&IMAGESR=3857&DPI=80.99999785423279
Status Code:404 'dpi' parameter is invalid

PR attached

LGTM

thanks @fredj


Routines may accept vectors or matrices

This PR proposes a simple way to allow the seamless use of vectors as 1-column matrices. I test this functionality with the function lange, and use a new example to verify the proposal works.
If this proposal is satisfactory, we could reduce considerably the number of routines in <T>LAPACK. The matrix version of each routine would be the preferable one, e.g., gemm, hemm, trmm and trsm. Routines like gemv, hemv, trmv and trsv could be deprecated. Moreover, routines like lange, nrm2 and asum could be easily integrated into a single one. The goal is to increase maintainability and reduce the number of functions, which also ease the use of the library. The modifications should not change the overall performance of the code.

I agree with @thijssteel that I am not convinced about the argument "reduce considerably the number of routines".
My main issue is that I want to make sure that if we solve Ax=b, then it works for x being a 1D array and x being a 2D array. If we support just one, we should support the 2D array. But it would be nice that getrs.hpp can support both. I think this is the main point of this PR.

I agree with you. When I said "reduce considerably the number of routines" I was thinking on the current code on the library, which has a lot from BLAS. The idea is to design routines for matrices, and then have them working on vectors too.

I think we can accept vectors as matrices at least in some routines like: trsm, lange and gesv. In these cases we would:

avoid writing trsv;

Homogenize the ways of calculating norms for vectors and matrices;

Have gesv working for matrices and vectors. Notice that we would need anyway to write 2 overloads for gesv.

I want to share an alternative to 6a158d3 to accomplish the same behavior. Two advantages of this new approach:

No need to define any function like interpretAsMatrix. Instead, we need a trait is_matrix< array_t > that can be either enforced via specialization or automatically predicted. We also need the trait is_vector< array_t > for vectors to make the code recognize true vectors.

This new version is supposed to be better in terms of performance. This is because, at compile time: the number of columns is set to 1; and the access discard the column index.

This is what we have of new code:

New traits is_matrix< array_t > and is_vector< array_t >:

// Possible implementations of the automatic prediction:

template< class array_t >
constexpr bool is_matrix = !is_same_v< layout_type<array_t>, void >;

template< class array_t >
constexpr bool is_vector = false;

// In the plugin `tlapack_stdvector.hpp` :
template< class T, class Allocator >
constexpr bool is_vector< std::vector<T,Allocator> > = true;

New structure oneColMatrix:

template< class vector_t >
struct oneColMatrix : public vector_t {

    using idx_t = size_type< vector_t >;
    using T     = type_t< vector_t >;

    inline constexpr T&
    operator()( idx_t i, idx_t j ){ return (*this)[i]; }

    inline constexpr T
    operator()( idx_t i, idx_t j ) const { return (*this)[i]; }
};

// is_matrix< array_t > can be specialized if one data structure does not define layout trait:
template< class vector_t >
constexpr bool is_matrix< oneColMatrix<vector_t> > = true;

template< class vector_t >
struct type_trait< oneColMatrix<vector_t> > {
    using type = type_t< vector_t >;
};

template< class vector_t >
struct sizet_trait< oneColMatrix<vector_t> > {
    using type = type_t< vector_t >;
};

template< class vector_t >
inline constexpr auto
nrows( const oneColMatrix<vector_t>& A ){ return size(A); }

template< class vector_t >
inline constexpr auto
ncols( const oneColMatrix<vector_t>& A ){ return 1; }

template< class vector_t >
inline constexpr auto
read_policy( const oneColMatrix<vector_t>& A ) { return dense; }

template< class vector_t >
inline constexpr auto
write_policy( const oneColMatrix<vector_t>& A ) { return dense; }

Routine foo has 1 interface with 2 overloads: one contains the algorithm, the other is a wrapper.

/**
 * Implementation for matrices
 */
template< typename norm_t, typename matrix_t,
    // We need an extra check:
    enable_if_t< is_matrix< matrix_t >, int > = 0
>
auto
foo( norm_t normType, const matrix_t& A )
{
    using T      = type_t< matrix_t >;
    using idx_t  = size_type< matrix_t >;

    // constants
    const idx_t m = nrows(A);
    const idx_t n = ncols(A);

    return (m > 2) ? A(2,0) : -1;
}

/**
 * Wrapper for vectors
 */
template< typename norm_t, typename vector_t,
    // We need an extra check:
    enable_if_t< !is_matrix< vector_t >, int > = 0
>
inline auto
foo( norm_t normType, const vector_t& v )
{
    return foo( normType, static_cast< const oneColMatrix<vector_t>& >(v) );
}

How one will use it:
int main() {
    std::vector<float> v = {1,2,3,4,5,6};
    return (int) foo( 'F', v );
}

Complete code on godbolt


Unable to add P100 plugs to integration

I am unable to add any P100 plugs into the integration. I have successfully added P110 and L530 Bulbs with the exact same credentials. Its only the P100 plugs that give the 'Invalid Credentials' error.
I have confirmed I am able to Ping the P100 plugs from HA and also my HA Host so it is accessible on the network, it just will not add into HA.
Version of the integration
2.4.0
Configuration
P100 Plug on FW: 1.4.18 Build 20230711 rel. 55651
2023-08-04 22:17:12.369 DEBUG (MainThread) [custom_components.tapo.coordinators] Finished fetching tapo data in 0.093 seconds (success: True)
2023-08-04 22:17:33.535 DEBUG (MainThread) [custom_components.tapo.coordinators] Finished fetching tapo data in 0.172 seconds (success: True)
2023-08-04 22:17:39.324 ERROR (MainThread) [custom_components.tapo.config_flow] Tapo exception -1501
2023-08-04 22:17:39.326 ERROR (MainThread) [custom_components.tapo.config_flow] Failed to setup, invalid auth
Traceback (most recent call last):
File "/config/custom_components/tapo/config_flow.py", line 175, in _try_setup_api
return value_or_raise(
^^^^^^^^^^^^^^^
File "/config/custom_components/tapo/helpers.py", line 11, in value_or_raise
raise value_or_error
plugp100.responses.tapo_exception.TapoException: Returned error_code: TapoError.INVALID_CREDENTIAL: Invalid credentials
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/config/custom_components/tapo/config_flow.py", line 88, in async_step_user
api = await self._try_setup_api(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/tapo/config_flow.py", line 179, in _try_setup_api
self._raise_from_tapo_exception(error)
File "/config/custom_components/tapo/config_flow.py", line 186, in _raise_from_tapo_exception
raise InvalidAuth from exception
custom_components.tapo.errors.InvalidAuth
2023-08-04 22:17:42.368 DEBUG (MainThread) [custom_components.tapo.coordinators] Finished fetching tapo data in 0.092 seconds (success: True)

After updating to 2.4.0 I get something similar.. All my Tapo P110 plugs work fine and all P100 don't.. The log says, that the device is not supported!?
Traceback (most recent call last):   File "/usr/src/homeassistant/homeassistant/config_entries.py", line 388, in async_setup     result = await component.async_setup_entry(hass, self)              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/config/custom_components/tapo/__init__.py", line 39, in async_setup_entry     raise error   File "/config/custom_components/tapo/__init__.py", line 37, in async_setup_entry     return await device.initialize_device(hass)            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/config/custom_components/tapo/tapo_device.py", line 31, in initialize_device     raise DeviceNotSupported(f"Device {host} not supported!") custom_components.tapo.errors.DeviceNotSupported: Device <IP_ADDRESS> not supported!

I'm getting the same errors as Der-Isy is, Unable to add any Tapo devices.
Main ones are P100 Plugs. Just receiving invalid authentication.
2023-08-10 15:03:23.027 ERROR (MainThread) [custom_components.tapo.config_flow] Tapo exception -1501
2023-08-10 15:03:24.102 ERROR (MainThread) [custom_components.tapo.config_flow] Failed to setup, invalid auth
Traceback (most recent call last):
File "/config/custom_components/tapo/config_flow.py", line 175, in _try_setup_api
return value_or_raise(
^^^^^^^^^^^^^^^
File "/config/custom_components/tapo/helpers.py", line 11, in value_or_raise
raise value_or_error
plugp100.responses.tapo_exception.TapoException: Returned error_code: TapoError.INVALID_CREDENTIAL: Invalid credentials
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/config/custom_components/tapo/config_flow.py", line 88, in async_step_user
api = await self._try_setup_api(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/tapo/config_flow.py", line 179, in _try_setup_api
self._raise_from_tapo_exception(error)
File "/config/custom_components/tapo/config_flow.py", line 186, in _raise_from_tapo_exception
raise InvalidAuth from exception
custom_components.tapo.errors.InvalidAuth

After updating to 2.4.0 I get something similar.. All my Tapo P110 plugs work fine and all P100 don't.. The log says, that the device is not supported!?
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 388, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/tapo/__init__.py", line 39, in async_setup_entry
    raise error
  File "/config/custom_components/tapo/__init__.py", line 37, in async_setup_entry
    return await device.initialize_device(hass)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/tapo/tapo_device.py", line 31, in initialize_device
    raise DeviceNotSupported(f"Device {host} not supported!")
custom_components.tapo.errors.DeviceNotSupported: Device <IP_ADDRESS> not supported!

EDIT: After updating the P100 devices to 1.4.18 Build 20230711 Rel. 55651 and reloading the integration, it seems to work again.. Maybe it should be noted in the patch notes, that a specific firmware version is needed..

I am having issues with 2 older P100
Hardware 1.0
Firmware 1.3.7 Build 20230711 Rel. 61904
a newer one with same firm as above install with no issues

and some logs
2023-08-24 23:28:46.900 ERROR (MainThread) [custom_components.tapo.config_flow] Failed to setup cannot connect
Traceback (most recent call last):
  File "/config/custom_components/tapo/config_flow.py", line 180, in _try_setup_api
    (await client.login(user_input[CONF_HOST]))
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/plugp100/api/tapo_client.py", line 47, in login
    return await self.login_with_url(f"http://{ip_address}/app")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/plugp100/api/tapo_client.py", line 56, in login_with_url
    login_result = await self._login_with_version(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/plugp100/api/tapo_client.py", line 253, in _login_with_version
    token = (await self._send_safe_passthrough(login_request)).map(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/plugp100/api/tapo_client.py", line 209, in _send_safe_passthrough
    response = await self._passthrough.send(request, self._session)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/plugp100/common/transport/securepassthrough_transport.py", line 126, in send
    response_encrypted = await self._http.async_make_post_cookie(
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/plugp100/common/utils/http_client.py", line 25, in async_make_post_cookie
    async with self.session.post(
  File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 1141, in __aenter__
    self._resp = await self._coro
                 ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 560, in _request
    await resp.start(conn)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 894, in start
    with self._timer:
  File "/usr/local/lib/python3.11/site-packages/aiohttp/helpers.py", line 721, in __exit__
    raise asyncio.TimeoutError from None
TimeoutError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/config/custom_components/tapo/config_flow.py", line 87, in async_step_user
    api = await self._try_setup_api(user_input)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/tapo/config_flow.py", line 187, in _try_setup_api
    raise CannotConnect from error
custom_components.tapo.errors.CannotConnect
2023-08-24 23:29:59.383 DEBUG (MainThread) [custom_components.tapo.coordinators] Finished fetching tapo data in 0.114 seconds (success: True)
2023-08-24 23:30:29.383 DEBUG (MainThread) [custom_components.tapo.coordinators] Finished fetching tapo data in 0.116 seconds (success: True)
2023-08-24 23:30:44.162 DEBUG (MainThread) [custom_components.tapo.setup_helpers] Re-using setup API to create a coordinator
2023-08-24 23:30:59.388 DEBUG (MainThread) [custom_components.tapo.coordinators] Finished fetching tapo data in 0.120 seconds (success: True)
2023-08-24 23:31:29.380 DEBUG (MainThread) [custom_components.tapo.coordinators] Finished fetching tapo data in 0.113 seconds (success: True)
2023-08-24 23:31:59.385 DEBUG (MainThread) [custom_components.tapo.coordinators] Finished fetching tapo data in 0.117 seconds (success: True)
2023-08-24 23:32:29.386 DEBUG (MainThread) [custom_components.tapo.coordinators] Finished fetching tapo data in 0.120 seconds (success: True)
2023-08-24 23:32:59.383 DEBUG (MainThread) [custom_components.tapo.coordinators] Finished fetching tapo data in 0.116 seconds (success: True)
2023-08-24 23:33:29.388 DEBUG (MainThread) [custom_components.tapo.coordinators] Finished fetching tapo data in 0.120 seconds (success: True)
2023-08-24 23:33:59.395 DEBUG (MainThread) [custom_components.tapo.coordinators] Finished fetching tapo data in 0.128 seconds (success: True)
2023-08-24 23:34:29.377 DEBUG (MainThread) [custom_components.tapo.coordinators] Finished fetching tapo data in 0.110 seconds (success: True)
2023-08-24 23:34:59.389 DEBUG (MainThread) [custom_components.tapo.coordinators] Finished fetching tapo data in 0.123 seconds (success: True)
2023-08-24 23:35:29.315 DEBUG (MainThread) [custom_components.tapo.coordinators] Finished fetching tapo data in 0.049 seconds (success: True)
2023-08-24 23:35:44.901 WARNING (MainThread) [homeassistant.config_entries] Config entry '5 Yannis Smart Plug' for tapo integration not ready yet; Retrying in background
2023-08-24 23:35:50.275 DEBUG (MainThread) [custom_components.tapo.setup_helpers] Re-using setup API to create a coordinator

I was able to fix this kind of issue by doing the following:

remove the device from HA,
remove the device from Tapo app
re-add the plug into tapo app,
re-add the device to HA

(there may be a simple procedure, but this has worked for me).

Upgrade to 2.8.2


Please update the software

Waiting for you to update the new Hunterpie please！

Haato updated it the same day MHW updated....

Haato updated it the same day MHW updated....

I'm so sorry for that I forgot to click update.exe.


Please add support for html-webpack-plugin 4

html-webpack-plugin 4 has been released. Please add support/upgrade the peer dependencies.
https://dev.to/jantimon/html-webpack-plugin-4-has-been-released-125d

This template is not compatible with html-webpack-plugin v4 because the htmlWebpackPlugin.files object has changed.  Refer to https://github.com/jantimon/html-webpack-plugin/issues/1369 for more details.

This is unfortunate especially as it fails silently, just bumped to<EMAIL_ADDRESS>and all of a sudden the site comes up blank (as no scripts are inserted).

Are there any ambitions to get fixed?
html-webpack-plugin is currently at v5
If this is a won't fix maybe add disclaimer to the README that this only supports html-webpack-plugin 3 to avoid any confusion and further discussion.
Thanks for great work!

@bj00rn Thanks for the note and question. I appreciate your directness and tact.
I do not have a lot of ambition to open personal bandwidth to update this atm. I would be happy to open add someone as a contributor to the repo or transfer it to an owner of interest and ability. Who is interested in making such contributions?

@bj00rn Thanks for the note and question. I appreciate your directness and tact.
I do not have a lot of ambition to open personal bandwidth to update this atm. I would be happy to open add someone as a contributor to the repo or transfer it to an owner of interest and ability. Who is interested in making such contributions?

Understood!
Fixed a typo for you, im guessing you mean html-webpack-plugin @ v3, not webpack @ v3
Cheers!


Fanye issue#1914

Ⅰ. Describe what this PR did
add unit-test for imageToCriImage areas/test
Ⅱ. Does this pull request fix one issue?

fixes #1914
Ⅲ. Describe how you did it
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #2008 into master will increase coverage by 0.11%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2008      +/-   ##
==========================================
+ Coverage   63.31%   63.43%   +0.11%
==========================================
  Files         200      200
  Lines       15522    15522
==========================================
+ Hits         9828     9846      +18
+ Misses       4455     4434      -21
- Partials     1239     1242       +3

Flag
Coverage Δ

#criv1alpha1test
33.77% <ø> (-0.08%)
:arrow_down:

#criv1alpha2test
34.27% <ø> (-0.01%)
:arrow_down:

#integrationtest
38.43% <ø> (ø)
:arrow_up:

#unittest
21.4% <ø> (+0.54%)
:arrow_up:

Impacted Files
Coverage Δ

ctrd/watch.go
72.72% <0%> (-3.04%)
:arrow_down:

ctrd/image.go
78.81% <0%> (-2.47%)
:arrow_down:

cri/v1alpha1/cri.go
65.4% <0%> (-0.19%)
:arrow_down:

cri/v1alpha1/cri_utils.go
75.89% <0%> (+1.6%)
:arrow_up:

apis/opts/portbindings.go
80.95% <0%> (+80.95%)
:arrow_up:


oculustouchlink doesn't track controllers, only VR object when using virtual desktop quest 1

I have a setup with 2 controllers on my shoes and a third one connected at a VR object on my hip, when using stuff like wmr it works fine, but when using virtual desktop only my vrobject tracks while my other two controllers stay in the center, not even rotating.

Try the external tracking option in the menu?

From: ItsBixby @.>
Sent: Tuesday, September 5, 2023 2:28:38 AM
To: mm0zct/Oculus_Touch_Steam_Link @.>
Cc: Subscribed @.***>
Subject: [mm0zct/Oculus_Touch_Steam_Link] oculustouchlink doesn't track controllers, only VR object when using virtual desktop quest 1 (Issue #18)
I have a setup with 2 controllers on my shoes and a third one connected at a VR object on my hip, when using stuff like wmr it works fine, but when using virtual desktop only my vrobject tracks while my other two controllers stay in the center, not even rotating.
—
Reply to this email directly, view it on GitHubhttps://github.com/mm0zct/Oculus_Touch_Steam_Link/issues/18, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABAYOL427IGB34ITHUB33E3XYZ54NANCNFSM6AAAAAA4LA43AA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

I'll try it in the morning

It worked for a bit but after restarting the VR object stopped tracking again.

After another restart the VR object doesn't even appear on the debug anymore

After another restart the VR object doesn't even appear on the debug anymore

Restart oculus when this happens.
Oculus settings > Beta > restart oculus.
Also make sure both right and left controllers are on aswell as vr object before starting touchlink. Since vr object does not track if controllers are asleep.
Simply closing and opening touchlink can help too. You will get the hang of it with time what works.


Fix support for encryption

Fix https://github.com/conda-forge/open62541-feedstock/issues/30 .
cc @tony-p
Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender


Fix intl formatNumber to use separators from device info

Fix showstoppers https://app.asana.com/0/361770107085503/493048970757179/f , https://app.asana.com/0/361770107085503/553467619718332/f

Q/A - passes iOS


Doesn't have react-native-router-flux in package.json

Causes an issue when trying to run with just react-native-mobx and not react-native-router-flux in package.json. This package depends on RNRF, so it should probably have it as a dependency.

Thanks, will add it.

Wouldn't it be better to have them as peerDependency to let the user handle their own versions?


MuhammedKalkan.OpenLens version 6.4.15

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Automatic Validation failed with:

Installation failed with exit code -1978335146

@wingetbot waivers Add Validation-Installation-Error

/AzurePipelines run

I'm not able to find the cause for this error. It installs and runs normally on a Windows 11 VM.

I had added ElevationRequirement to the installer, let me remove it and see what happens

Looks like this is related to the https://github.com/microsoft/winget-pkgs/issues/72224


README instructions on installation should include --with-changes at top

For paper_trail to work as intended, you need to have a column with_changes in your Versions table. Currently, this information is provided in the diffing_versions section (https://github.com/airblade/paper_trail#diffing-versions) but not up top when someone is installing the gem for the first time (https://github.com/airblade/paper_trail#installation).  It'd be helpful to newcomers if this information was presented sooner than later, since the default option doesn't seem to provide much value.

For paper_trail to work as intended, you need to have a column with_changes in your Versions table.

The column is called object_changes. The generator option is --with-changes. PaperTrail is designed to work (and is faster) without the object_changes column.

Currently, this information is provided in the diffing_versions section (https://github.com/airblade/paper_trail#diffing-versions) but not up top when someone is installing the gem for the first time (https://github.com/airblade/paper_trail#installation). It'd be helpful to newcomers if this information was presented sooner than later, since the default option doesn't seem to provide much value.

I want to keep the top of the readme simple, but I wouldn't mind adding a section of the readme about the generator, and linking to that section from the top.  Do you want to try writing such a section? The source for the generator and its specs can be found here:

https://github.com/airblade/paper_trail/blob/master/lib/generators/paper_trail/install_generator.rb
https://github.com/airblade/paper_trail/blob/master/spec/generators/install_generator_spec.rb

Thanks!

+1

Closed by a287d6e


test alchemy subgraphs

Test alchemy subgraphs for OP:
Gauges: https://subgraph.satsuma-prod.com/<KEY>>/balancer/balancer-gauges-optimism/api
Balancer: https://subgraph.satsuma-prod.com/<KEY>/balancer/balancer-v2-optimism/api

Will add Fantom and Arb as well

https://subgraph.satsuma-prod.com/balancer/balancer-v2-fantom/playground
https://subgraph.satsuma-prod.com/balancer/balancer-v2-arbitrum/playground

reverting it


Insiders release of later date is triggering prompt for update to most recent stable release

Issue Type: Bug
Insiders release of later date is triggering prompt for most recent stable release
SQL Operations Studio version: sqlops 0.32.5-insider (d10e08e63ec26830efbcd070175ed935c36031f7, 2018-08-17T00:57:43.255Z)

OS version: Windows_NT x64 10.0.14393

System Info

Item
Value

CPUs
Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz (48 x 2197)

GPU Status
2d_canvas: unavailable_softwareflash_3d: unavailable_softwareflash_stage3d: unavailable_softwareflash_stage3d_baseline: unavailable_softwaregpu_compositing: unavailable_softwaremultiple_raster_threads: unavailable_offnative_gpu_memory_buffers: disabled_softwarerasterization: unavailable_softwarevideo_decode: unavailable_softwarevideo_encode: unavailable_softwarevpx_decode: unavailable_softwarewebgl: unavailable_offwebgl2: unavailable_off

Memory (System)
383.91GB (238.34GB free)

Process Argv
C:\Program Files\SQL Operations Studio\sqlops.exe

Screen Reader
no

VM
0%

Extensions (2)

Extension
Author (truncated)
Version

server-report
Mic
0.1.3

whoisactive
Mic
0.1.1

@databull the current insiders release is 0.32.6 and current stable is 0.32.7.  Are you being prompted to update again after installing 0.32.6?
We'll have a new insiders build (0.33.1) out in the next few days that includes the VS Code 1.26.1 source refresh.

@databull please reactive if the issue persists.


Terminal bell is ringing when try to select item using up-down arrow(↑↓) keys

I'm on macOS High Sierra, using iTerm2 3.1.5, zsh 5.3, Go 1.9.2 darwin/amd64 and the latest version of promptui.
While taking a look at #41, I found that my terminal alerts me with a ringing bell when I try to select item using up-down arrow(↑↓) keys, even I'm not on the top-most or the bottom-most.
It is happening on different terminals, for instance macOS' default terminal 'Terminal.app' and different shells, like sh, bash or csh.
It's not that important problem at all, but users might get annoyed by this.

Things get worse when I turn on the 'Vim Mode', by passing IsVimMode: true to Select.
At the initial state, like when I first run the program with go run main.go, j and k keys are working well without any terminal bell but after pressing one of the arrow keys(←→↑↓), terminal begins to ringing if I press any key--even j, k keys.
I think this is readline-related issue, I'll try to figure out what is wrong by myself.

Ok, finally I found the answer. The terminal bell was coming from chzyer/readline/operation.go:265-278. After commenting out the o.t.Bell() lines, annoying bell is gone. But without hard-patching the code, there seems no other solution for now. It is desired choice to reporting terminal bell when user tries to access invalid history for readline, but it does not fit for promptui's case(doesn't using readline's history feature at all by setting readline.Config.HistoryLimit to -1).
I think it'd be good to slightly modify the original readline source and put it in the Go's vendor directory or elsewhere and then put some comment there.
Or... what about reinventing the wheel--write its own key handler just for promptui's needs.

Thanks for the detective work!
We could propose a patch to readline to make the bell optional. I rather not forking / come up with our own implementation if we can avoid. If we can find a solution for Windows, readline users would also benefit from the fix.

Ah, optional bell that would be a great solution too. BTW, I was planning to build a relatively small packge for key handling in Go since it looks there are not. The package will not be strongly related to prompui, but I'll let you know if my package works well and can be adopted in promptui smoothly--without breaking the design goal of this package.

Hey everyone. Has there been any update regarding this issue? The bell is really annoying :-/

A hacky solution for this is to override readline.Stdout with your own implementation and skip the bell. Here I'm also using os.Stderr instead of os.Stdout to be able to pipe the information in the standard output to other programs:
type stderr struct{}

func (s *stderr) Write(b []byte) (int, error) {
	if len(b) == 1 && b[0] == 7 {
		return 0, nil
	}
	return os.Stderr.Write(b)
}

func (s *stderr) Close() error {
	return os.Stderr.Close()
}

func init() {
	readline.Stdout = &stderr{}
}

@luizbranco: my hack above works like a charm, but it would be great to be able to be able to set custom Stdin, Stdout, and Stderr in prompts and selects, if they are not set, then use the defaults. That will probably allow promptui to switch implementations if you need to. I'm willing to provide a PR if you think that's the right approach.

@maraino where are you putting the proposed code above?

@danlsgiga it really does not matter, just in a package that gets initialized when the program starts.
In my case, I have it on a wrapper of the promptui methods that I use, this wrapper adds some extra functionality that I need and fixes the display of prompts when the program receives data on STDIN.
https://github.com/smallstep/cli/blob/master/ui/ui.go#L15-L36

any update about this issue? thanks

re: @maraino

my hack above works like a charm, but it would be great to be able to be able to set custom Stdin, Stdout, and Stderr in prompts and selects, if they are not set, then use the defaults.

This appears to be possible-(ish) now.  I am currently using the following very slightly modified version of your sample code as such:
// bellSkipper implements an io.WriteCloser that skips the terminal bell
// character (ASCII code 7), and writes the rest to os.Stderr. It is used to
// replace readline.Stdout, that is the package used by promptui to display the
// prompts.
//
// This is a workaround for the bell issue documented in
// https://github.com/manifoldco/promptui/issues/49.
type bellSkipper struct{}

// Write implements an io.WriterCloser over os.Stderr, but it skips the terminal
// bell character.
func (bs *bellSkipper) Write(b []byte) (int, error) {
	const charBell = 7 // c.f. readline.CharBell
	if len(b) == 1 && b[0] == charBell {
		return 0, nil
	}
	return os.Stderr.Write(b)
}

// Close implements an io.WriterCloser over os.Stderr.
func (bs *bellSkipper) Close() error {
	return os.Stderr.Close()
}

I then pass it at struct init such as:
prompt := promptui.Select{
	// ...snip...
	Stdout: &bellSkipper{},
}

This slightly modified method allows me to avoid having to import chyzer/readline in my own package, and avoids usage of a global init() function.
Additionally, I believe it should now be possible to PR a modification to promptui.Select and promptui.Prompt to fall back to using this implementation during Run() when p.Stdout is nil, fixing this issue by default for most downsteam users of promptui, but avoiding modifying readline globally. (Before working on a PR for that, am I perhaps missing something obvious?)

@mroth: The workaround above does not work anymore.
The outcome is something like this:

Any suggestion on this?

@mroth: The workaround above does not work anymore.
The outcome is something like this:

Any suggestion on this?

@mroth: The workaround above does not work anymore.
Any suggestion on this?

It appears the terminal you are using does not support ANSI escape codes. This appears to be an altogether different problem than what is being discussed in this issue.

@mroth: The workaround above does not work anymore.
Any suggestion on this?

It appears the terminal you are using does not support ANSI escape codes. This appears to be an altogether different problem than what is being discussed in this issue.

@mroth: The workaround above does not work anymore.
Any suggestion on this?

It appears the terminal you are using does not support ANSI escape codes. This appears to be an altogether different problem than what is being discussed in this issue.

That's actually not the case. After changing to bellSkipper as @maraino implemented it. I get same results as @marcauberer  in powershell

@Itshardtopickanusername Try to use windows.SetConsoleMode() something like this:
func init() {
	var inMode, outMode uint32
	if err := windows.GetConsoleMode(windows.Stdin, &inMode); err == nil {
		inMode |= windows.ENABLE_VIRTUAL_TERMINAL_INPUT
		if err := windows.SetConsoleMode(windows.Stdin, inMode); err != nil {
			fmt.Fprintf(os.Stderr, "Failed to set console mode: %v", err)
		}
	}
	if err := windows.GetConsoleMode(windows.Stdout, &outMode); err == nil {
		outMode |= windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING
		if err := windows.SetConsoleMode(windows.Stdout, outMode); err != nil {
			fmt.Fprintf(os.Stderr, "Failed to set console mode: %v", err)
		}
	}
}

https://docs.microsoft.com/en-us/windows/console/setconsolemode

For those looking for a less intrusive and Windows compatible workaround. Inspired by @maraino and @mroth solution.
In my case, importing the chyzer/readline library is indifferent to me since it is already imported by promptui anyway.
import "github.com/chzyer/readline"

type noBellStdout struct{}

func (n *noBellStdout) Write(p []byte) (int, error) {
	if len(p) == 1 && p[0] == readline.CharBell {
		return 0, nil
	}
	return readline.Stdout.Write(p)
}

func (n *noBellStdout) Close() error {
	return readline.Stdout.Close()
}

var NoBellStdout = &noBellStdout{}

This is just a wrapper of the original readline Stdout, which in turn is different depending on the OS.
prompt := promptui.Select{
	// ...
	Stdout: NoBellStdout,
}


[BUG] Cannot use uuid with Jest

Before you begin...

[X] I have searched the existing issues
[X] I am not using version 13.x of node  (if so, please upgrade)

Description of the problem
When I import the aws-sdk/client-dynamodb (which uses uuid), I can no longer test with the latest version of Jest.
 jest
 FAIL  __tests__/example.test.js
  ● Test suite failed to run

    Jest encountered an unexpected token

    Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.

    Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.

    By default "node_modules" folder is ignored by transformers.

    Here's what you can do:
     • If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
     • If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
     • To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
     • If you need a custom transformation specify a "transform" option in your config.
     • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.

    You'll find more details and examples of these config options in the docs:
    https://jestjs.io/docs/configuration
    For information about custom transformations, see:
    https://jestjs.io/docs/code-transformation

    Details:

    /sandbox/node_modules/uuid/dist/esm-browser/index.js:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){export { default as v1 } from './v1.js';
                                                                                ^^^^^^

    SyntaxError: Unexpected token 'export'

      at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1796:14)
      at Object.<anonymous> (node_modules/@aws-sdk/client-dynamodb/dist-cjs/protocols/Aws_json1_0.js:7:16)

Test Suites: 1 failed, 1 total

Recipe for reproducing
Please see this sandbox:

https://codesandbox.io/s/boring-resonance-g84z3y?file=/__tests__/example.test.js

I basically just go from this starting point example: https://github.com/vercel/next.js/tree/canary/examples/with-jest
And then import dynamodb somewhere.

Additional information
I also raised an issue in Next.js but got redirected here: https://github.com/vercel/next.js/issues/38368
Environment
npx: installed 1 in 0.997s

  System:
    OS: Linux 5.4 Debian GNU/Linux 10 (buster) 10 (buster)
    CPU: (16) x64 Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
    Memory: 9.27 GB / 62.72 GB
    Container: Yes
    Shell: 5.0.3 - /bin/bash
  Binaries:
    Node: 14.18.1 - ~/.nvm/versions/node/v14.18.1/bin/node
    Yarn: 1.22.17 - ~/.nvm/versions/node/v14.18.1/bin/yarn
    npm: 6.14.15 - ~/.nvm/versions/node/v14.18.1/bin/npm
  npmPackages:
    @aws-sdk/client-dynamodb: ^3.121.0 => 3.121.0
    @testing-library/jest-dom: 5.16.4 => 5.16.4
    @testing-library/react: 13.2.0 => 13.2.0
    @testing-library/user-event: 14.2.0 => 14.2.0
    @types/react: 18.0.9 => 18.0.9
    jest: 28.1.0 => 28.1.0
    jest-environment-jsdom: 28.1.0 => 28.1.0
    next: latest => 12.2.0
    react: ^18.1.0 => 18.2.0
    react-dom: ^18.1.0 => 18.2.0
    typescript: 4.6.4 => 4.6.4

I have the same issue. Started with Jest@28. I'm using uuid in a private library where Jest works fine. However, that private library, when used as a dependency in a project reproduces the error reported. Other library ESM dependencies work as expected.

This may be a problem with Jest (they changed Babel configuration in v28). It seems that Jest does not transform the uuid dependency.
The following workaround in jest.config got tests passing for me:
  transformIgnorePatterns: [
    `node_modules/(?!(uuid)/)`,
  ],

transformIgnorePatterns: [
node_modules/(?!(uuid)/),
],

Thanks for the message John.
I added that line in the config in the sandbox environment I linked but the test still failed, did you try it there or are you meaning in your own project?
Also might I just further ask - why is this necessary? I thought by default all of node_modules is ignored anyway?
Thanks for the help!

This was in my own project. The thinking was to get Jest to transform that node_module - so it ends up as a commonjs module which Jest was expecting. Sorry that didn't work for you.

This was in my own project. The thinking was to get Jest to transform that node_module - so it ends up as a commonjs module which Jest was expecting. Sorry that didn't work for you.

Ah makes sense, thanks for clarifying. still pretty new to JS ecosystem!

Jest is pulling in the "default" ESModules export, which only has experimental support in Jest you need to opt into.
Is it possible to add a require to the exports in package.json so Jest will pull in the correct file per this comment?
...
"exports": {
    ".": {
      "require": "./dist/index.js",
      "node": {
        "module": "./dist/esm-node/index.js",
        ...

wow! this fixed it.
So i went into my node_modules folder, into the uuid package, and added that "require" line into the package.json.
Only issue with this approach is this is going to get deleted whenever I delete/reinstall node_modules, and probably when I update packages.
Cheers for the help. wish i understood better why thats required.

For anyone else looking for a fix for this, this PR solves it: https://github.com/uuidjs/uuid/pull/616/files
So you can copy those changes into your package.json for UUID until it gets merged.
Also a better fix, that worked for me, that doesnt require changing something in node_modules (so will persist through reinstalling your node_modules): https://github.com/uuidjs/uuid/issues/451#issuecomment-1112328417

For anyone else looking for a fix for this, this PR solves it: https://github.com/uuidjs/uuid/pull/616/files So you can copy those changes into your package.json for UUID until it gets merged.
Also a better fix, that worked for me, that doesnt require changing something in node_modules (so will persist through reinstalling your node_modules): #451 (comment)

Thanks
or your could use https://www.npmjs.com/package/patch-package to patch it till the PR is merged in

Would it be possible to release a v8.3.3 with this fix? It's hard to get deps to bump to v9 because of breaking changes

Unfortunately supporting jest out of the box was technically a breaking change for this library as we added a CommonJS browser build that users receive who previously received an ESM build.
As far as I know the change to jest that broke interoperability with uuid also got introduced with a major version bump of jest, so I think this is working as intended.

For me a combination of the suggestions by @chrisahardie and @kikoanis was the fix:

Install patch-package
Create patch for uuid
Integrate the use of patch-package into test/CI commands

Tip: If you are manually creating your patch, by default patch-package ignores package.json so you need to run the command npx patch-package --exclude // uuid instead.
Additional tip: If your CI/CD builds Docker images for test runs, make sure the ./patches folder is copied into the image.

Patch `./patches/uuid+8.3.2.patch`
diff --git a/node_modules/uuid/package.json b/node_modules/uuid/package.json
index f0ab371..0561718 100644
--- a/node_modules/uuid/package.json
+++ b/node_modules/uuid/package.json
@@ -20,6 +20,7 @@
   "main": "./dist/index.js",
   "exports": {
     ".": {
+      "require": "./dist/index.js",
       "node": {
         "module": "./dist/esm-node/index.js",
         "require": "./dist/index.js",


bal grpc throws bad sad with an NPE

Just run bal grpc anywhere. Here is the output I've got:
ballerina: Oh no, something really went wrong. Bad. Sad.

We appreciate it if you can report the code that broke Ballerina in
https://github.com/ballerina-platform/ballerina-lang/issues with the
log you get below and your sample code.

We thank you for helping make us better.

[2022-05-20 13:39:41,360] SEVERE {b7a.log.crash} - null
java.lang.NullPointerException
	at java.base/java.io.File.<init>(File.java:278)
	at io.ballerina.stdlib.grpc.protobuf.cmd.GrpcCmd.execute(GrpcCmd.java:127)
	at java.base/java.util.Optional.ifPresent(Optional.java:183)
	at io.ballerina.cli.launcher.Main.main(Main.java:51)

2201.1.0

Added test cases. Hence closing.


DNS Resolution Issue with Datumaro 1.0 exported from CVAT

I tried to view the CVAT project state exported using "datumaro 1.0" and got the following issue.
Below are steps I took to view the project stats:

cd "../task_test-sever-20200929-2020_09_28_05_00_34-datumaro 1.0"
datumaro project stats

OS: Ubuntu 18.04
Installation: pip install 'git+https://github.com/openvinotoolkit/datumaro'
Datumaro version (datumaru --version)  : 0.1.0
Any advice would be appreciated !
2020-09-28 14:31:35,279 ERROR: HTTPConnectionPool(host='http', port=80): Max retries exceeded with url: //<IP_ADDRESS>:8080/api/v1/auth/login (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7effe13189a0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 156, in _new_conn
    conn = connection.create_connection(
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 61, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/usr/lib/python3.8/socket.py", line 918, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 665, in urlopen
    httplib_response = self._make_request(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 387, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.8/http/client.py", line 1240, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1286, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1235, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1006, in _send_output
    self.send(msg)
  File "/usr/lib/python3.8/http/client.py", line 946, in send
    self.connect()
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 184, in connect
    conn = self._new_conn()
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 168, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7effe13189a0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 719, in urlopen
    retries = retries.increment(
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 436, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='http', port=80): Max retries exceeded with url: //<IP_ADDRESS>:8080/api/v1/auth/login (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7effe13189a0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 193, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.8/dist-packages/datumaro/__main__.py", line 12, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/dist-packages/datumaro/cli/__main__.py", line 115, in main
    return args.command(args)
  File "/usr/local/lib/python3.8/dist-packages/datumaro/cli/contexts/project/__init__.py", line 725, in stats_command
    stats.update(compute_image_statistics(dataset))
  File "/usr/local/lib/python3.8/dist-packages/datumaro/components/operations.py", line 1051, in compute_image_statistics
    stats['dataset'].update(_extractor_stats(dataset))
  File "/usr/local/lib/python3.8/dist-packages/datumaro/components/operations.py", line 1039, in _extractor_stats
    mean, std = mean_std(extractor)
  File "/usr/local/lib/python3.8/dist-packages/datumaro/components/operations.py", line 962, in mean_std
    image = item.image.data
  File "/usr/local/lib/python3.8/dist-packages/datumaro/util/image.py", line 225, in data
    return self._data()
  File "/usr/local/lib/python3.8/dist-packages/datumaro/util/image.py", line 180, in __call__
    image = self.loader(self.path)
  File "/home/canoo/Downloads/task_test-sever-20200929-2020_09_28_05_00_34-datumaro 1.0/.datumaro/plugins/cvat_rest_api_task_images.py", line 33, in <lambda>
    lambda item_id: self._image_loader(item_id, self))
  File "/home/canoo/Downloads/task_test-sever-20200929-2020_09_28_05_00_34-datumaro 1.0/.datumaro/plugins/cvat_rest_api_task_images.py", line 62, in _image_loader
    extractor._download_image(item_id)
  File "/home/canoo/Downloads/task_test-sever-20200929-2020_09_28_05_00_34-datumaro 1.0/.datumaro/plugins/cvat_rest_api_task_images.py", line 39, in _download_image
    self._connect()
  File "/home/canoo/Downloads/task_test-sever-20200929-2020_09_28_05_00_34-datumaro 1.0/.datumaro/plugins/cvat_rest_api_task_images.py", line 56, in _connect
    cli = CVAT_CLI(session, api, credentials=(username, password))
  File "/home/canoo/Downloads/task_test-sever-20200929-2020_09_28_05_00_34-datumaro 1.0/cvat/utils/cli/core/core.py", line 24, in __init__
    self.login(credentials)
  File "/home/canoo/Downloads/task_test-sever-20200929-2020_09_28_05_00_34-datumaro 1.0/cvat/utils/cli/core/core.py", line 175, in login
    response = self.session.post(url, auth)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 581, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='http', port=80): Max retries exceeded with url: //<IP_ADDRESS>:8080/api/v1/auth/login (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7effe13189a0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))

Hi, looking at host='http' in the error messages I feel like you should check ./sources/<task_..._images>/config.json and adjust the hostname.

The config.json file has only a single line :
{"server_url": "http://<IP_ADDRESS>:8080", "task_id": 38}
which is the correct IP pointing to the CVAT server.

Try to remove http://.

Thanks @zhiltsov-max
it passed the authentication but I got another error
2020-09-29 16:12:56,234 ERROR: division by zero
Traceback (most recent call last):
  File "/usr/local/bin/datum", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/dist-packages/datumaro/cli/__main__.py", line 115, in main
    return args.command(args)
  File "/usr/local/lib/python3.8/dist-packages/datumaro/cli/contexts/project/__init__.py", line 726, in stats_command
    stats.update(compute_ann_statistics(dataset))
  File "/usr/local/lib/python3.8/dist-packages/datumaro/components/operations.py", line 1141, in compute_ann_statistics
    label_info[1] = label_info[0] / label_stat['count']
ZeroDivisionError: division by zero


Add GL/EGL extension loader generator

This is trying to remove a lot of the boilerplate and inconsistency for using GL/EGL extension functions, by automatically generating code to load it and check errors for us.
I've written the shell script to be POSIX compatible, so hopefully it will be portable enough. It passes checkbashisms.
It takes a text file with each function we want to load on its own line. If a function begins with a -, it won't fail if it's not loaded.

Thanks!


addRewriter and addFilter To Default Logger Instance

With the removal of addRewriter and addFilter, how is one supposed to add rewriters and filters to the default logger instance? It was the case that one could simply call winston.addRewriter or winston.addFilter and move on with life, but that doesn't seem be the case with v2.x.

Pull request #832 would also fix this.

Filters and Rewriters were removed in<EMAIL_ADDRESS>in favor of custom formats


Middlewares per endpoint

It would be useful to add middleware per endpoint

Could you give some use case example?

Well, it would be extremely useful and convenient for middleware supporting object-level permissions.
e.g.
having an endpoint for get a resource, I would like to determine that Read permissions are enough.
GET(":id/", someHandler, ObjectPermissionMiddleware(Read))
but it has to require a Write permission to edit it
PUT(":id/", someHandler, ObjectPermissionMiddleware(Write))

Do we have any progress on this? It's a possible fix for #32


[Not an Issue] You are awesome! I love your libraries

Hello!
This is the first time I have done this, but I felt the need to reach out to you.  I did not know how to get in contact with you.  I just wanted to say that your collection of libraries are some of the best and most useful libraries I have seen. I spend alot of time looking for libraries online and have seen many libraries.
Yours are incredibly useful and very well done! I just wanted to compliment you on your development style and way of producing useful libraries with unique functionality.  Your awesome, I hope we get the chance to work on a project at some point!!

Hi,
Thanks for the kind words.
Out of interest, which packages/functionality are you using?

(Im on my phone so sorry for lack of links and formatting. I’ll be away from the computer for 3 weeks and can do some pull requests when I return!)
No problem!   Mine are hosted on azure dev pipelines.
I’ve used your DotNetProject repository, it’s very cool and helpful! I found a small bug where it grabs solution folders as “dotnetsolutionprojects” in addition to regular projects. I’ll do a pull request when i return in 3 weeks fix that.
I have not used your IO repo, but I saw the functionality and like it very much. I plan to use it in my “SmartPath” library (I have an old version of the SmartPath library on my GitHub, and I think nuget.org too. 99% of my repos are on azure pipelines.)
I also really like (but have not used):
• strings
• collections
• http methods
• fluentValidation (big time like this one)
• time
• system.text.json (I used system.text on a few projects but it lacked tooling I needed so I used Newtonsoft, but I will explore it more  with your library)
• subRip (I just saw this, I think I wrote a similar library a few months ago. I’m not sure if I finished it or not or decided to use another tool. I’ll share it with you if I find it. It’s very cool that you created this)
• nuspec (I also jist saw this, I also wrote a similar library to read and write nuspec files. I’ll share it with you. Mine reads all the extra elements and files included in .csproj files (visual studio build doesn’t do this) and puts them in a nuspec file. Then auto-updates the nuspec file as the csproj changes.
• XML: this looks very cool too
——-
I also create a lot of libraries around media content, videos, and ffmpeg. It seems you do too.  Very cool! I’ll share a ffmpeg probe library I wrote with you too.
What types of things do you work on if you don’t mind me asking? I really like how organized you are and how well you’ve documented your readmes.

OK, sounds like you are using a lot LOL.
Concerning the bug you mentioned in the ByteDev.DotNet repo, not 100% sure that's a bug. But if you think it is feel free to open an issue on the repo and provide more specific details (i.e. what methods you are calling, in what scenarios and what you expected). Thanks.
READMEs I find are more for me than anyone else as I often write something ages ago and can't remember how to quickly use it in a particular project I might be working on :-). I'm partly obsessed with re-usability (after >25 years of programming I'm bored of writing anything more than once) and I've found that to achieve greater re-usability requires that things are small, well tested, with some level of documentation. Standardisation and templating helps a lot as well :-)


Update configuration side pane styles and close on start call

What

Put side pane in a panel so it overlaps content per figma
Close the side pane when the start call is clicked

How Tested

Looks great!


libreoffice: Add meta.mainProgram

Description of changes
So users can leverage lib.getExe.
The expectation for the main program is the general libreoffice program, not specific binaries for e.g. Writer or Impress.
@7c6f434c

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Not 100% sure whether mainProgram is fully applicable to LibreOffice, but whatever, calling the launcher it seems harmless.

Not 100% sure whether mainProgram is fully applicable to LibreOffice

I don't think it is.
We should probably open the possibility of using null.
Btw, one can always use lib.getExe' to select specific binaries...


Provide Example DM58 Responses

In support of #976, Provide example DM58 data responses covering each Table 25 row, using 1, 2, and 4 byte examples. Scaled data shall match slot limits and resolution in J1939DA
DM58 Example Responses.xlsx

SPs for Enumerated Values are not measured, and are unlikely to appear in a DM58 response.
There are no measured 4-byte SPs in J1939DA at present, test data substitutes a NOx bin SP for the 4-byte demonstration data.
All 00s and all FF are expected to fail.

Data provided as shown


Project template are not showing in todo in service page

Describe the bug
Project template are not showing in todo in service page
https://www.berrycast.com/conversations/076edeb9-573d-5b36-92c4-d0f070c7cd78


[Bug]:  page.off("request") is messed up because of interceptCooperative mode

Bug description
Steps to reproduce the problem:
PAGE.JS
on(eventName, handler) {
    if (eventName === 'request') {
        return super.on(eventName, (event) => {
            event.enqueueInterceptAction(() => handler(event));
        });
    }
    return super.on(eventName, handler);
}

This is the page.on() method. Because it is overriding the handlers for events with eventName "request", the original handler is not removable by
INDEX.JS
off(type, handler) {
    const handlers = all.get(type);
    if (handlers) {
        handlers.splice(handlers.indexOf(handler) >>> 0, 1);
    }
}

and I'm wondering what ' >>> 0' is needed for.
Puppeteer version
10.4.0
Node.js version
v14.16.0
npm version
6.14.11
What operating system are you seeing the problem on?
Windows
Relevant log output
No response

works great when
on(eventName, handler) {
    if (eventName === 'request') {
        return super.on(eventName, (event) => {
            event.enqueueInterceptAction(() => handler(event));
        });
    }
    return super.on(eventName, handler);
}

deleted from PAGE.JS

fixed https://github.com/puppeteer/puppeteer/pull/7624

i still can see the same issue with "puppeteer": "13.5.2",


Add load static to all templates using it

Thanks Gywn,
I might have given some misleading advice, we should only need to load static in the page's template. All templates included by that template will have access to static. Sorry for the confusion.
I'll approve and merge now and we can remove the redundant calls at a later date.


linearmodels fails to import, throws error: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject

I get this error when I try to import linearmodels: "numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject"
I run Anaconda, python 3.8.8 on Windows 10. It is a fresh installation of Anaconda Python on a new machine.
I tried to solve this problem by using an older NumPy version (1.6.1) in a separate environment. Alas.
This is the output that shows which versions of libraries I use, and note the real path is not c:\users\, but c:\users\myusername\
Requirement already satisfied: linearmodels in c:\users\anaconda3\lib\site-packages (4.21)
Requirement already satisfied: pandas>=0.24 in c:\users\anaconda3\lib\site-packages (from linearmodels) (1.2.3)
Requirement already satisfied: pyhdfe>=0.1 in  c:\users\anaconda3\lib\site-packages (from linearmodels) (0.1.0)
Requirement already satisfied: scipy>=1.2 in c:\users\anaconda3\lib\site-packages (from linearmodels) (1.6.1)
Requirement already satisfied: statsmodels>=0.11 in c:\users\anaconda3\lib\site-packages (from linearmodels) (0.12.2)
Requirement already satisfied: mypy-extensions>=0.4 in c:\users\anaconda3\lib\site-packages (from linearmodels) (0.4.3)
Requirement already satisfied: property-cached>=1.6.3 in c:\users\anaconda3\lib\site-packages (from linearmodels) (1.6.4)
Requirement already satisfied: numpy>=1.16 in c:\users\anaconda3\lib\site-packages (from linearmodels) (1.19.2)
Requirement already satisfied: patsy in c:\users\anaconda3\lib\site-packages (from linearmodels) (0.5.1)
Requirement already satisfied: Cython>=0.29.21 in c:\users\anaconda3\lib\site-packages (from linearmodels) (0.29.22)
Requirement already satisfied: python-dateutil>=2.7.3 in c:\users\anaconda3\lib\site-packages (from pandas>=0.24->linearmodels) (2.8.1)
Requirement already satisfied: pytz>=2017.3 in c:\users\anaconda3\lib\site-packages (from pandas>=0.24->linearmodels) (2021.1)
Requirement already satisfied: six>=1.5 in c:\users\anaconda3\lib\site-packages (from python-dateutil>=2.7.3->pandas>=0.24->linearmodels) (1.15.0)

This is what proceeds he error:
from linearmodels import PanelOLS
Traceback (most recent call last):

  File "<ipython-input-2-6de63ba6aa3f>", line 1, in <module>
    from linearmodels import PanelOLS
  File "C:\Users\Anaconda3\lib\site-packages\linearmodels\__init__.py", line 38, in <module>
    from .asset_pricing.model import (
  File "C:\Users\Anaconda3\lib\site-packages\linearmodels\asset_pricing\__init__.py", line 1, in <module>
    from .model import LinearFactorModel, LinearFactorModelGMM, TradedFactorModel
  File "C:\Users\Anaconda3\lib\site-packages\linearmodels\asset_pricing\model.py", line 13, in <module>
    from linearmodels.asset_pricing.covariance import (
  File "C:\Users\Anaconda3\lib\site-packages\linearmodels\asset_pricing\covariance.py", line 9, in <module>
    from linearmodels.iv.covariance import (
  File "C:\Users\Anaconda3\lib\site-packages\linearmodels\iv\__init__.py", line 1, in <module>
    from .absorbing import AbsorbingLS, Interaction  # flake8: noqa
  File "C:\Users\Anaconda3\lib\site-packages\linearmodels\iv\absorbing.py", line 54, in <module>
    from linearmodels.panel.utility import (
  File "C:\Users\Anaconda3\lib\site-packages\linearmodels\panel\__init__.py", line 1, in <module>
    from linearmodels.panel.model import (
  File "C:\Users\Anaconda3\lib\site-packages\linearmodels\panel\model.py", line 28, in <module>
    from linearmodels.panel.utility import (
  File "C:\Users\Anaconda3\lib\site-packages\linearmodels\panel\utility.py", line 24, in <module>
    from linearmodels.panel._utility import _drop_singletons
  File "linearmodels\panel\_utility.pyx", line 1, in init linearmodels.panel._utility

ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject

This suggests that the wheel was built with NumPy 1.20.x, which is a bit surprising.  What happens if you upgrade to NumPy 1.19.5 or 1.20.1?
You should be able to install with
pip uninstall linearmodels
pip install linearmodels --no-binary linearmodels --no-build-isolation

If you don't have a C compiler available, it will install without some speedups.

Which linear models are you trying to use?  I suspect if the latest doesn't work, then one of the slightly older ones will.

Trying to run version 4.21.
After installing the CodeBlocks C compiler and running pip install linearmodels --no-binary linearmodels --no-build-isolation, I get this at the end of 197 lines with a font coloured in red, see below (See for all lines, pastebin: https://pastebin.com/sHNyesRs).
ERROR: Failed building wheel for linearmodels
Failed to build linearmodels
ERROR: Could not build wheels for linearmodels which use PEP 517 and cannot be installed directly

Anaconda offers NumPy only until 1.19.2, see link.

Should be fixed in the 4.22 release which is now posted.  Thanks for reporting.


taxi: init at 6.1.1

Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

I'd have one question regarding this PR. In the near future I plan on adding https://github.com/liip/taxi-zebra as well to nixpkgs. taxi-zebra is a backend for taxi.
taxi-zebra has a dependency on taxi as it uses its API. when installing taxi-zebra, they both need to be on the same path.
What would be the best way to go about adding this? Should I for example just in the prePatch add optionally taxi-zebra to taxi dependencies?

Added a backend variable to add backends when needed. Please let me know if there is a better way to do this as passing it to the propagatedBuildInputs is kinda wrong I feel like.

Hi, is there anything else I could improve?

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/998

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

2 packages built:

taxi-cli (python310Packages.taxi)
python39Packages.taxi


Voice/StaffEndMessage added

Fixes #21
I decided to name them EndMessages rather than ChangeMessages. LGTM % of duplication of code has been reduced and the processing of notes is simpler.

@jaredjj3 rebased to master and ready to review

@jaredjj3 I realised that the generated code was not working and I fixed it in the last commit. It would be nice to have a button to copy the code or even better a link to a jsfiddle with the code already there :)


Screen colors

Please answer the following before submitting your issue:
Note: Please include any substantial examples (debug session output,
stacktraces, etc) as linked gists.

What version of Delve are you using (dlv version)?
version 0.12.1
What version of Go are you using? (go version)?
version go1.7.4
What operating system and processor architecture are you using?
Windows 10 Pro 64 bit Insider Preview build 15007
What did you do?
ls command to show source followed by c to continue.
What did you expect to see?
Would like to be able to change the dark blue color of the current line indicator to a brighter color. I know it's not the most crucial issue ever but my eyesight isn't getting any better!
What did you see instead?
Not a lot because of the low contrast effect of dark blue on black.

@carlca you can switch colours off, with
set TERM=dumb

or you can change colour here https://github.com/derekparker/delve/blob/master/terminal/terminal.go#L21
Alex

The terminal emulator you are using should give you the option to adjust the colors, we don't control the exact rgb value we are just asking for 'blue'.

Understood. Thanks Guys.


Chaitany.fix shape inference range op

The output dimensions are incorrectly computed for range operator, resulting in incorrect operand dimensions being passed to downstream operations.
This is reported in https://jira.xilinx.com/browse/CR-1188170

Sorry, i forgot to close the PR. This is getting addressed by recent changes pulled from upstream.
We no longer need this change.


License of this tool?

I am looking for a tool that extracts "blocked by" in PRs and are able to provide auxiliary functionalities, such as showing a chain, or a circle, of the blocking relationships between the different repos and the involved PRs.
I wonder if you have decided a license for your tool.
And you can register for GitHub sponsorship so people who use this tool can support you back: https://github.com/sponsors

Good question! I just added the LICENSE file, it's the MIT license. I just want something that keeps my copyright but allows for using the action in any type of project with any modifications. I do not require that changes be merged upstream, that's too much IMO, but if you add any generally useful features, I'd appreciate a PR so others could benefit from it.
Thanks for the sponsorship suggestion; I'm looking into setting that up.
If you need any help, feel free to ask here, I probably did not document this tool as well as I could have. The GitHub Actions docs are also pretty useful, along with the REST API (and the Octokit docs as well).

Thanks. I will try it a bit. As you can see, there is a real use case.
As a debugger, I am generally desperate enough to not read the documentation...


Added new icon sizes

Also bumped build version

Current coverage is 31.28% (diff: 100%)

Merging #64 into master will not change coverage

@@             master        #64   diff @@
==========================================
  Files            33         33
  Lines          1368       1368
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            428        428
  Misses          940        940
  Partials          0          0

Powered by Codecov. Last update 7d29078...88d7070


+ being stripped from emails in IA links

Issue: the + symbol is being stripped from email addresses at some point between the link being clicked on in the IA email, and the email being sent to the backend. This causes an unhandled exception.

Expected: emails with a + in them are valid. We should fix this.

Hey @crablab this looks like a UI issue. Please could you investigate and let me know.

Actually think this might be solved in the back-end by encoding the email address using encodeUriComponent()... but be good to know if there's a UI-based fix too

As discussed, backend bug in emails. @warrensearle to look at in Digital Platform :smile:

Will look at this in the digital platform however in the meantime I've applied a very quick fix to the UI which does the job.


Update releases.md

Small update to instructions on releasing a new version of Splink

Can we tweak some of the markdown formatting for this section of the docs?
This bit specifically could probably do with a break or two


MM-43168 : Update web app dependencies (June 2022)

Summary

@floating-ui/react-dom : Bug fix
@mattermost/compass-icons : Icons updated
core-js : Internal code changes as per latest TC39 meetings
html-to-react : Ramda dependency removed
react-window-infinite-loader : internal react 18 update
nock : bug fixes

Ticket Link
https://mattermost.atlassian.net/browse/MM-43168
Related Pull Requests
N/A
Screenshots
N/A
Release Note

NONE

E2E tests not automatically triggered, because PR has no approval yet. Please ask a developer to review and then try again to attach the QA label.

/e2e-test

Successfully triggered e2e testing!
https://git.internal.mattermost.com/qa/cypress-ui-automation/-/pipelines/215352

/update-branch

/e2e-test

Successfully triggered e2e testing!
https://git.internal.mattermost.com/qa/cypress-ui-automation/-/pipelines/215679

@jgilliam17 i just tried with the steps you provided, i am unable to reproduce. Also the error messages seems to be about few resources not loading. Can you please try again and check

Thanks for checking @M-ZubairAhmed
Re-tested - looks good to merge.
E2E report looks good, no PR related failures.


Create organization tasks page. ON HOLD

Goal
Create a Page for the Organization Tasks query.
Before you begin

Update .env.local to have REACT_APP_GRAPHQL_URL=https://petbook-back-dev.herokuapp.com/graphql
This way you will use the latest shared development backend and won't need to run your own pets-back project.

Description

Create a new OrganizationTasks page for organization-tasks route.

Describe a new Organization Tasks query inside the queries folder. Look here to see a Type and query fields.

Generate new type of organization tasks with codegen.

Import a new query with loader inside the OrganizationTasks page.

Using useQuery get data, error, and loading states.

Loading state visual with Material UI Skeleton component.

Display an error to the user, and show no data message, if an empty array came from the animal array.

Display all Organisation Tasks to the page.

BONUS: If you have time, you can additionally write tests for the shelter tasks page. You can use an example from AnimalPage.test.tsx file.

Making this task and relevant PR's on HOLD.
The backend is lacking functionality and this was not intended as a feature for the MVP version.


Update CyberChef to use CyberChef icon

This converts the CyberChef PNG file that is provided with the download and converts it to a .ico so that Chocolatey can use it for an icon for the shortcut.
Closes https://github.com/mandiant/VM-Packages/issues/966

@emtuls :eyes:

@mandiant/flare-vm Any preference or thoughts on which icon to use for Cyberchef?
One icon uses the robot-chef mix, but has a slight blurry look when viewed in the Tools folder in small/detail view (looks good on taskbar and desktop though).

The other icon is just a Chef hat (also provided by Cyberchef as a .ico, so not a random chef hat), which looks a little better in small/detail view, but maybe slightly blurry when on Desktop and okay in taskbar

Another thing to note is that the Robot-Chef mix icon requires some additional code to convert an image file to a .ico file.

@d35ha can you test this locally and share your opinion on this? :smile:

@stevemk14ebr @mr-tz @binjo @d35ha any preference on the icon? The icons look a bit different (see screenshots in the previous comments). @emtuls prefers to generate Robot-Chef icon (requires some additional code to convert an image file to a .ico file), while I prefer the Chef hat.

I don't mind either, I vote for whichever is easiest to maintain

I don't mind either, I vote for whichever is easiest to maintain

I second this. FWIW taskbars may be configured in other colors (mine is black). I agree that gray on gray is a bit hard to see.

I think the Chef hat is easier to maintain because it requires less code. But as it seems nobody else has a strong opinion, I'll let @emtuls decide. @emtuls can you please rebase the final version so that we can merge this change? :smile:

After googling CyberChef and seeing most websites/videos use the Robot-Chef icon, I'm inclined to keep that style for now. :)