Upgrade pandas to 2.0

Pandas 2.0 uses arrow as a backend format and promises some performance improvements, though might be slower for some operations. One day we'll have to migrate anyway, but it's probably good idea to wait until 2.0 becomes mature enough and is adopted by majority of users.
(We had a request for pandas 2.0 in owid-catalog-py)

Tried pandas 2.0 on etl data://meadow/ihme_gbd/2019/gbd_child_mortality and its performance is a bit disappointing. Current ETL with pandas 1.x.x takes 55s and pandas 2.0.1 takes 68s.

I wanted to at least give it a try to see how much we would have to change. Work in progress is here https://github.com/owid/etl/pull/2468. So far no major problems, though some things are annoying (e.g. read_sql with connections)
We'd need to run Datadiff on all datasets to verify that there are not any side effects.


RFC: Transaction diffusion with isolated, minimally-distinguishable Tor connections (Stolon)

Feature Name: stolon
Start Date: 2020-09-03
Design PR: ZcashFoundation/zebra#1006
Zebra Issue: ZcashFoundation/zebra#0000

Rendered.

Stolon is a transaction diffusion algorithm inspired by Dandelion, with
additional privacy properties. Dandelion diffuses transactions across a p2p
network in two phases, a "stem" phase where transactions are relayed in a line
and a "fluff" phase where transactions are broadcast as widely as possible.
Stolon, named for runners that extend horizontally at or just below the
soil to spread new plants, tweaks this approach to perform the "stem" phase
over ephemeral Tor connections and the "fluff" phase over the clearnet p2p
network.
Stolon is designed to for use both by full nodes such as Zebra and Zcashd as
well as by wallet software. This RFC describes:

the threat model Stolon addresses;
how Zebra's architecture makes Stolon easy to implement;
how Stolon can be used by Zebra or Zcashd;
and how Stolon can be used by wallet software.

Hi Henry! Can you please provide analysis for the following:

How does Tor-Over-Dandelion provide better security than just submitting a tx to the network using an existing (non-leaky) protocol such as the Zcash light client protocol? Imagine a node mimics a light client, submits a tx to a light wallet server, and then "learns" about this tx from the network (let's actually call this approach Tor-Over-Light-Client, and assume that full nodes can act as either "nodes" and "clients", such as by bundling a light client sidecar).
If Tor-over-Dandelion actually just provides the same security as #1, can you compare the cost/benefit of Tor-Over-Dandelion in other areas such as ease of implementation, verifiability of privacy/security claims, etc?
What privacy/security tradeoffs does Tor-Over-Dandelion have as opposed to Tor-Over-Light-Client? Considering attack vectors such as timing leaks, small network sizes, etc.

cc @imichaelmiers

Hi Henry! Can you please provide analysis for the following:

How does Tor-Over-Dandelion (and by extension, your variant, Stolen) provide better security than just submitting a tx to the network using an existing (non-leaky) protocol such as the Zcash light client protocol? Imagine a node mimics a light client, submits a tx to a light wallet server, and then "learns" about this tx from the network (let's actually call this approach Tor-Over-Light-Client, and assume that full nodes can act as either "nodes" and "clients", such as by bundling a light client sidecar).

Sorry, what protocol is Tor-Over-Dandelion? Do you mean Stolon, as specified in this document, or are you referring to a different protocol?
Zcash full nodes can't be assumed to act as light wallet servers, so I don't understand how your hypothetical alternative would work.  Do you mean that all nodes would send transactions through a centralized light wallet server, or that we would first change all Zcash deployments to add light wallet support, or something else?
Stolon uses the Zcash P2P protocol, not the light wallet protocol, because it's designed to work with the Zcash network as it actually exists.

If Tor-over-Dandelion provides the same-ish security as Tor-Over-Light-Client (considering their ability to hide where a tx originates from), can you compare the cost/benefit of Tor-Over-Dandelion to Tor-Over-Light-Client in other areas such as ease of implementation, verifiability of privacy/security claims, etc?

I don't think this comparison is possible without understanding what protocols these actually are.

Can you describe additional attack vectors such as timing leaks, small network sizes, and how Tor-over-Dandelion versus Tor-Over-Light-Client compare?

It sounds like you have some attack vectors in mind, would you like to describe them?

How does Tor-Over-Dandelion (and by extension, your variant, Stolen) provide better security than just submitting a tx to the network using an existing (non-leaky) protocol such as the Zcash light client protocol? Imagine a node mimics a light client, submits a tx to a light wallet server, and then "learns" about this tx from the network (let's actually call this approach Tor-Over-Light-Client, and assume that full nodes can act as either "nodes" and "clients", such as by bundling a light client sidecar).

Sorry, what protocol is Tor-Over-Dandelion? Do you mean Stolon, as specified in this document, or are you referring to a different protocol?

I'm referring to Stolen as specified in this document, which is a variant of Dandelion with Tor integration.

Zcash full nodes can't be assumed to act as light wallet servers, so I don't understand how your hypothetical alternative would work. Do you mean that all nodes would send transactions through a centralized light wallet server, or that we would first change all Zcash deployments to add light wallet support, or something else?

Let's say that Zcash full nodes were augmented so that they could also speak the light wallet client protocol (just enough to submit a transaction to a light wallet server), and could choose at random which light wallet server to send a transaction to. Can you speak to how this protocol compares in privacy properties versus ease of implementation to Stolen?

If Tor-over-Dandelion provides the same-ish security as Tor-Over-Light-Client (considering their ability to hide where a tx originates from), can you compare the cost/benefit of Tor-Over-Dandelion to Tor-Over-Light-Client in other areas such as ease of implementation, verifiability of privacy/security claims, etc?

I don't think this comparison is possible without understanding what protocols these actually are.

See above

Can you describe additional attack vectors such as timing leaks, small network sizes, and how Tor-over-Dandelion versus Tor-Over-Light-Client compare?

It sounds like you have some attack vectors in mind, would you like to describe them?

Sure. Let's consider small network sizes (as in Zcash today, with roughly 500 nodes), and the risks that are aggravated from that, such as Sybils and end-to-end timing attacks.

I'm referring to Stolen, using Tor-Over-Dandelion as an example of the broader notion of injecting the transaction using the P2P protocol via some two-step inject-then-broadcast process.

OK.  This is confusing terminology, because Stolon is not "Dandelion over Tor" -- it's a different protocol, and it functions differently from Dandelion (or any of its variants).  So, it would be better to be precise about which protocol is under discussion.

Let's say that Zcash full nodes were augmented so that they could also speak the light wallet client protocol (just enough to submit a transaction to a light wallet server), and could choose at random which light wallet server to send a transaction to. Can you speak to how this protocol compares in privacy properties versus ease of implementation to Stolen?

This alternative differs in at least two ways.

It changes the transport mechanism from the Zcash P2P protocol (which Zcash nodes speak) to the light client protocol (which they don't).
It restricts the set of relay destinations from all Zcash nodes to a small, centralized set of light wallet servers.

In terms of privacy properties, (1) provides no benefit.  As described in the section on isolated, minimally-distinguishable connections, Stolon already protects against transport-layer distinguishers.  However, (2) provides somewhat worse privacy, because transactions are relayed through a small, centralized set of servers.
In terms of ease of implementation, (1) requires more implementation effort, because Zcash nodes would be required to implement support for an additional protocol that's completely different from the protocol they already speak.  In contrast, Stolon uses the existing P2P protocol and is already implemented (and integrated into zcashd).  (2) requires maintaining additional infrastructure (the light wallet servers) and building additional infrastructure to make sure that Zcash nodes know about that infrastructure (how do they know what servers to use?).  Making this infrastructure decentralized like the rest of the Zcash network is even more work, and in the limit amounts to building a second P2P network. But Zcash already has a P2P network, which Stolon uses.

Sure. Let's consider small network sizes (as in Zcash today, with roughly 500 nodes), and the risks that are aggravated from that, such as Sybils and end-to-end timing attacks.  I'll say what my back-of-the-envelope analysis is for Tor-Over-Light-Client, please let me know if you disagree. Using the Tor-Over-Light-Client protocol should be immune to timing and Sybil attacks (as much as any genuine light client would be), as the submission of the transaction would be completely independent of the responsibility of the full node (i.e, this transaction will never be included into the full node's mempool until it learns about it from the network). I'm not certain the same guarantees hold against active adversaries for Stolen. Further, I don't know what kind of probing attacks are possible against a full node (to exploit the time between publishing a tx via Tor versus broadcasting over not-Tor), but it is worth considering.

I would be happy to consider small network size, the corresponding risks, etc., but I don't see any consideration of the Stolon proposal here -- for instance, mempool probing is already addressed in the text of the document.

@hdevalence @teor2345  realized i forgot to tag you all, sorry.

Hi @imichaelmiers the Zebra team are all pretty focused on the first Zebra alpha until mid-December.
We'll have more time to look into network privacy after the first alpha is released.

@imichaelmiers see my comment above, specifically the second chunk of text, which already does that comparison.
Of course, running all Zcash transactions through a central server run by the ZF is not actually a workable proposal.

@hdevalence I saw your early comment: " However, (2) provides somewhat worse privacy, because transactions are relayed through a small, centralized set of servers."  Can you elaborate on that, because it doesn't really answer the core question that a comparison would: what in Stolon provides privacy?  Hence the  request for a comparison to the simplest possible straw man that uses Tor --- even if the straw-man might not be feasible .  Am I correct in inferring from your comment  that the only privacy difference between Stolon  and my completely centralized straw man, at least assuming Tor is secure,  is some hypothetical risk of monitoring by the central server? Is that what you mean by slightly worse privacy?

@imichaelmiers have you read the Dandelion/Dandelion++ papers? They do a lot of analysis on the privacy properties of stem+fluff phases of transaction diffusion, and they strongly influenced this design.
https://arxiv.org/pdf/1701.04439.pdf
https://arxiv.org/pdf/1805.11060.pdf


Parameters between Lidar and Imu/GNSS

Hello,
i have a livox mid 40 and an INS/GNSS system (xsens mti g 710) . I would like to ask you whats these parameters mean

<rosparam param="Extrinsic_T_livox2gnss"> [0.997573, -0.024254, 0.065274, 0.322019,
                                           0.023477, 0.999644, 0.012663, 0.043158,
                                           -0.066402, -0.011080, 0.997733, 0.456606,
                                           0.0, 0.0, 0.0, 1.0]</rosparam>

I understand that some of them are the distances between lidar and imu but could you explain every number on this table what represents?
Thanks in advance.

Hi,
Thanks for your interest in our project.
The T matrix contains the Rotation matrix and translation vector.
R = T [0:2, 0:2]
t = T[0:2, 3]
so you would figure out that the rotation matrix is almost an identity matrix and translation vector is small.
Best

Hi,
Thanks for your interest in our project.
The T matrix contains the Rotation matrix and translation vector.
R = T [0:2, 0:2] t = T[0:2, 3]
so you would figure out that the rotation matrix is almost an identity matrix and translation vector is small.
Best

[0.997573, -0.024254, 0.065274, 0.322019,
0.023477, 0.999644, 0.012663, 0.043158,
-0.066402, -0.011080, 0.997733, 0.456606,
0.0, 0.0, 0.0, 1.0]
that means 0.322019 is x translation， 0.043158 is y translation, 0.456606 is z translation ?

Hi，think you for great project.
I have another question about parameters:
why parameters in livox_odometry.launch is not same with that in livox_mapping.launch ?

Hi,
Thanks for your interest in our project.
The T matrix contains the Rotation matrix and translation vector.
R = T [0:2, 0:2] t = T[0:2, 3]
so you would figure out that the rotation matrix is almost an identity matrix and translation vector is small.
Best

[0.997573, -0.024254, 0.065274, 0.322019, 0.023477, 0.999644, 0.012663, 0.043158, -0.066402, -0.011080, 0.997733, 0.456606, 0.0, 0.0, 0.0, 1.0]
that means 0.322019 is x translation， 0.043158 is y translation, 0.456606 is z translation ?

@InterKnight Right

Hi，think you for great project. I have another question about parameters: why parameters in livox_odometry.launch is not same with that in livox_mapping.launch ?

@InterKnight Usually the translation part does not affect the final result much. And the rotation part is almost identical.

Hi，think you for great project. I have another question about parameters: why parameters in livox_odometry.launch is not same with that in livox_mapping.launch ?

@InterKnight Usually the translation part does not affect the final result much. And the rotation part is almost identical.

thank you very much!

When no further questions, I will close this issue.


HERE Maps Example not working properly

Describe the bug
The example using HERE map tiles has drop downs from which to choose. Those do not generate a working map view and throw errors in the console.
To Reproduce
Steps to reproduce the behavior:

Go to https://openlayers.org/en/latest/examples/here-maps.html
Click on any other display view that is offered by the drop down below the map (e.g."Normal Day Transit")
Open up the console which shows a list of 403s (screenshot included)

Expected behavior
The map is redrawn according to the choice that was made.
Tested and reproduced on Chrome, Firefox, Edge and Safari.
Opening one of those not-found-links leads to an endoint that says:
{
"error": "Forbidden",
"error_description": "These credentials do not authorize access. Please contract your customer representative or email<EMAIL_ADDRESS>to discuss upgrading your account."
}

Maybe the key must be updated?

Yes, the old app_id app_code pair is no longer working, and in the latest HERE API is replaced by an API key.  It has already been fixed by #11899  Working example at https://deploy-preview-11899--ol-site.netlify.app/examples/here-maps.html

Excellent! And beautiful! Thank you! closing the issue.
Are you, by any chance, the same mike who helped me out on gis.stackexchange.com?

Out of interest: are there any guidelines on when we can expect the documentation to be updated? This issue is still not available in the official examples...

It is now working in main (the dev build) https://openlayers.org/en/main/examples/here-maps.html but not yet in latest (release version).

Hi, this issue appears to have re-surfaced. We have several sites where the maps are no longer appearing (e.g. https://hostunusual.com/destinations/austria/) and the above examples have also stopped working.

https://hostunusual.com/destinations/austria/ is failing because it cannot load ol.js from jsdelivr  The code is using tiles from MapTiler.  To avoid dependency on other sites it would be better to download the dist.zip for the version you are using from https://github.com/openlayers/openlayers/releases and use it from your server.

Ah, OK thanks Mike. I will pass that on to my developer. Thanks for your
assistance :)
Phil.
On 11/01/2022 11:00, mike-000 wrote:

https://hostunusual.com/destinations/austria/
https://hostunusual.com/destinations/austria/ is failing because it
cannot load |ol.js| from jsdelivr The code is using tiles from
MapTiler. To avoid dependency on other sites it would be better to
download the |dist.zip| for the version you are using from
https://github.com/openlayers/openlayers/releases
https://github.com/openlayers/openlayers/releases and use it from
your server.
—
Reply to this email directly, view it on GitHub
https://github.com/openlayers/openlayers/issues/12040#issuecomment-1009849015,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AT7D3QURQWV7RSM5DPAZK6TUVQEVTANCNFSM4XWWAR6A.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>


No gradient defined for operation 'MatrixLogarithm'

I would like to optimize a function containing tf.linalg.logm. However,
LookupError: gradient registry has no entry for: MatrixLogarithm

This question is better asked on StackOverflow since it is not a bug or feature request. There is also a larger community that reads questions there.

Hello, have you solved this issue yet?

I think it can be considered a feature request.


Make Storybook more developer friendly by removing dependencies

Is your feature request related to a problem? Please describe.
In order to see how Native Base works in some custom app existing storybook can be imported into it. The problem is that it holds dependencies that doesn't have to be added into the target project, like formik, @expo/vector-icons and few more. Example.
Describe the solution you'd like
Change Storybook stories to be pure Native Base, remove custom dependencies.
Describe alternatives you've considered
Looks like @expo/vector-icons is used the most. SVG icons could be used instead.

Some examples are trying to showcase the ability to integrate with these packages. Removing this might create a new problem of showcasing it somewhere. Can you individually remove the components causing the issue for your use case?


Happy Path test definitions for Present Proof Feature File

@AdamJLemmon if you get a chance please give some feedback on these tests. I couldn't add you as a reviewer for some reason. Thanks!

Not that it matters, but recommend that in the case you are having the issuer and verifier be the same party, I recommend that you use "Acme" in both roles (vs. Faber), if for no other reason then you can do that today, without waiting for updates to the ./manage script to add Faber to the equation.

@swcurran Yes, will do that if I'm ready to execute before faber is spun up. To do that though, I'd have to add another test scenario instead of relying on the data table. Wanted it as Faber, because if this is running as a suite of tests and the connection and issue cred tests we executed before this suite, then Acme and Bob already have some connections and creds. As a verifier Faber would be more "fresh".


Vagrantfile: Support compatible docker version

Latest kubeadm package isn't compatible with latest docker version
resulting in kubeadm init to fail. This PR addresses this problem
by adding the ability to choose a compatible docker version
Signed-off-by: Nikos Bregiannis<EMAIL_ADDRESS>

Coverage decreased (-0.04%) to 76.125% when pulling 8da542f02368972f7cfac0061359b12037fb69ab on brecode:master into 2f676df71d5182f917f633dd4ad597a18aa92394 on contiv:master.


feat: update local net

The PositionOpened event is already being emitted from the opened position, other changes are not necessary.


Fix compiler error between FluidNavBarStyle and Diagnosticable which has an empty constructor

Maybe my dart version is to high so that it has this error.

For issue #1

Close #1

Thanks @Dorbmon for your contribution 🥇
I will make some other minor changes before publishing it to pub.


problem in execution of export_fig command

Please solve the following issue
export_fig error. Please ensure:

that the function you used (G:\figtopng\export_fig.m) version 3.36 is from the expected location
and that you did not made a mistake in export_fig's expected input arguments

If the problem persists, then please report a new issue.
Error using size
Dimension argument must be a positive integer scalar within the indexing range.
Error in export_fig (line 807)
sz = size(A,1:2);
Error in VisualiseData (line 60)
export_fig (filename, '-m3', '-nocrop')

This was due to a relatively old Matlab release that you are using. It is now fixed in the latest commit (https://github.com/altmany/export_fig/commit/293f8087b62fa4663b4a0d49db4b63ad7ef12eb1).


Visual Studio problems/feedback

Product and Version [VS/VSCode]:
OS Version [macOS/Windows]:
Live Share Extension Version:
Target Platform or Language [e.g. Node.js]:
Steps to Reproduce / Scenario:

Closing due to missing info. @undefinedobj when you are able to provide more info, happy to reopen.


No headers option?

What if we don't want any headers? Is there an option for this?

@Pixelatex not at the moment. I can see it being useful to add, just need to decide the best way of it being implemented.
Don't want to rely on null being passed in the headers object, as I can imagine it breaking for someone who is using it and doing that to say they don't want custom headers. Also, it would be quite cool to allow someone to say they don't want headers, whilst still passing headers so they can denote the order of the columns.
Line 31 of core.js can simply be amended with however we decide to say "no headers"
return [headerLabels, ...data];
Perhaps an optional "displayHeaders" option? @abdennour your opinion?

I think we can detect if the application uses headers as props. If so, we render them, otherwise, we don't set a default value.
The rule is: if a one props can be concluded from another, we don't need both.
That's why the existence of headers means "displayHeaders" and vice versa.


Update native trackers to version 5

Currently both native trackers are checked out on version 4. Are there any plans to update to version 5?

Yes, thank you for raising the issue @jaspermeijaard! We plan to update the native trackers to 5 in an upcoming release.

@matus-tomlein Awesome! Much appreciated! Do you have any idea on the timeline of that? This quarter, next quarter or maybe later?

Unfortunately I can't give a hard deadline, but we will aim for updating it this quarter.


first and last item from the list to stick to top/left and bottom/right side of the slider width

Is this a bug report, a feature request, or a question?
A feature request.
I need first item from the list to stick to top/left side of the slider and last item to stick bottom/right side of the list if loop is false and list is vertical/horizontal respectively. don't want to see empty space before or after the list items. please also suggest if there is a work around for the time being.
Thanks and regards.

@summerkiflain This is not possible at the moment due to miscellaneous ScrollView limitations.
See #102 if you want more info.


Implement gif spoilers feature

As mentioned on Discord, this is just a reminder to implement this feature.

Example: https://www.npmjs.com/package/discord-spoiler-bot

Changed to low priority because there is already a spoiler feature on discord


Improvement: Improve styling of all the buttons

Hey, @sk66641 I would like to improve styling of all buttons where I can make it 3D button like given examples. Please assign me this under GSSOC'24.

@siya25097
The third one looks better. I'm assigning this to you.


node core libs

Might be worth switching to browserify's as they seem to be updated more frequently.

Totally not a priority

Lo and behold, in the process of removing the epic-in-size, but totally dead dependencies directory, I ended up nuking node-core-libs and switching to browserify's browserify/lib/builtins API. Ended up requiring 2 lines changed and allowed plenty more to be removed.


Add support for customizing file name via config file. #107 #110 #111

…d get tests to pass. #107 #110

Coverage decreased (-0.3%) to 92.695% when pulling ed9d9773369503dd203f885ded2f3dcf45483788 on custom-filenames-107 into efd1a1ca13204d29189fe21fa3dbbc92a6af51e2 on master.

Coverage decreased (-0.3%) to 92.695% when pulling f97340a4a91d5c5f5536be53315c5e47eb2e1e40 on custom-filenames-107 into efd1a1ca13204d29189fe21fa3dbbc92a6af51e2 on master.

Closing this in favor of #225.


update grpc&containerd vendor

support grpc.health.v1.Health to make docker happy.
Signed-off-by: Gao feng<EMAIL_ADDRESS>

What's blocking this? With docker 1.13 released it's become important.


Added new author Sutrisno Efendi

I've added some translations to Indonesian

Do you mind pointing me to your contribution / commits to the Django code base. Unfortunately, I couldn't find any.

@MarkusH it's probably on Transifex.

Yes, I contribute via transifex

Added in afa82aa41a8cd596163990c311c698d25660cccc!


fix(github releases) include "latest" release by default

Fixup of #969
As per https://github.com/updatecli/updatecli/pull/969#issuecomment-1318989437, the "latest" release was excluded from the returned collection of releases which leds to regression on the manifests not updated to use "typeFilter".
This PR sets up "Latest" enabled by default (assuming it is a release).
@olblak What is the use case for "Latest" in the typeFilter exactly? I smell a LOT of incoming bugs depending on if "Latest" is a prerelease or not.
Test
To test this pull request:
---
name: Bump JDK11 version

scms:
  default:
    kind: github
    spec:
      user: "{{ .github.user }}"
      email: "{{ .github.email }}"
      owner: "{{ .github.owner }}"
      repository: "{{ .github.repository }}"
      token: "{{ requiredEnv .github.token }}"
      username: "{{ .github.username }}"
      branch: "{{ .github.branch }}"

sources:
  lastVersion:
    kind: githubrelease
    name: Get the latest Adoptium JDK11 version
    spec:
      owner: "adoptium"
      repository: "temurin11-binaries"
      token: "{{ requiredEnv .github.token }}"
      username: "{{ .github.username }}"
      versionfilter:
        kind: regex
        # jdk-11.0.12+7(https://github.com/adoptium/temurin11-binaries/releases/tag/jdk-11.0.12%2B7) is OK
        # jdk-<IP_ADDRESS>+1 (https://github.com/adoptium/temurin11-binaries/releases/tag/jdk-<IP_ADDRESS>%2B1) is OK
        pattern: "^jdk-11.(\\d*).(\\d*).(\\d*)(.(\\d*))+(\\d*)$"

should return 11.0.17+8 (e.g. the "latest" when writing these lines).
Additional Information
Tradeoff

Remove the "Latest" filter at all from the code (not clear what would be the use case)

Potential improvement

Thanks for catching this regression.

Remove the "Latest" filter at all from the code (not clear what would be the use case)

GitHub release now allows a user to label a specific release as latest (cfr). It's useful when you have multiple release line on a repository.
Let's say a project release the version 2.378 and then 2.361.4. The 2.361.4 was considered as the latest because released after 2.378.
This issue happened to me multiple time in the past
My initial intend was if latest set to true, we only pick the release flag "latest" otherwise we ignore that rule

My initial intend was if latest set to true, we only pick the release flag "latest" otherwise we ignore that rule

🤔 then, the implementation is not following this behavior as far as I can tell. Implementation filters results from request, but if you set "latest" to "true", then you might want to do a different request to GitHub (expecting it to answer only the "latest"). Hence my question about intent: I already know what is the "latest" request. But I'm asking for a use case with updatecli.
In order to help implementing / fixing, could you provide a set of examples of updatecli manifsts (source only) showing different result behaviors you have in mind please?

What do you think of this approach?
I didn't tested it yet https://github.com/updatecli/updatecli/pull/989/files

Oh, I see https://github.com/updatecli/updatecli/pull/989. Care to add tests please: it is really hard to follow up without docs/example/tests

I can't reproduce this issue.
Your manifest returns me 11.0.17+8
I also tried using https://github.com/olblak/nocode/releases where I created a new stable release without the latest flag but without success

SOURCES
=======

lastVersion
-----------
Searching for version matching pattern "^jdk-11.(\\d*).(\\d*).(\\d*)(.(\\d*))+(\\d*)$"
✔ Github Release version "jdk-11.0.17+8" found matching pattern "^jdk-11.(\\d*).(\\d*).(\\d*)(.(\\d*))+(\\d*)$"

I would prefer fixing the code than enabling "latest" by default.
Before introducing the releasefilter "latest", the default behavior was to retrieve the latest published release (without considering the flag "latest")

➜  updatecli git:(73205ba) git rev-parse --verify HEAD
73205ba66ac88e57963f4bde9e98013cee8ef5c9
➜  updatecli git:(73205ba) go build -o dist/updatecli
➜  updatecli git:(73205ba) cat .tmp/updatecli.yaml
---
name: Bump JDK11 version

scms:
  default:
    kind: github
    spec:
      user: "{{ .github.user }}"
      email: "{{ .github.email }}"
      owner: "{{ .github.owner }}"
      repository: "{{ .github.repository }}"
      token: "{{ requiredEnv .github.token }}"
      username: "{{ .github.username }}"
      branch: "{{ .github.branch }}"

sources:
  lastVersion:
    kind: githubrelease
    name: Get the latest Adoptium JDK11 version
    spec:
      owner: "adoptium"
      repository: "temurin11-binaries"
      token: "{{ requiredEnv .github.token }}"
      username: "{{ .github.username }}"
      versionfilter:
        kind: regex
        # jdk-11.0.12+7(https://github.com/adoptium/temurin11-binaries/releases/tag/jdk-11.0.12%2B7) is OK
        # jdk-<IP_ADDRESS>+1 (https://github.com/adoptium/temurin11-binaries/releases/tag/jdk-<IP_ADDRESS>%2B1) is OK
        pattern: "^jdk-11.(\\d*).(\\d*).(\\d*)(.(\\d*))+(\\d*)$"
➜  updatecli git:(73205ba) ./dist/updatecli --values .tmp/values.yaml --config .tmp/updatecli.yaml diff

+++++++++++
+ PREPARE +
+++++++++++

Loading Pipeline ".tmp/updatecli.yaml"

SCM repository retrieved: 1

++++++++++++++++++
+ AUTO DISCOVERY +
++++++++++++++++++

++++++++++++
+ PIPELINE +
++++++++++++

######################
# BUMP JDK11 VERSION #
######################

SOURCES
=======

lastVersion
-----------
Searching for version matching pattern "^jdk-11.(\\d*).(\\d*).(\\d*)(.(\\d*))+(\\d*)$"
✔ Github Release version "jdk-<IP_ADDRESS>+1" found matching pattern "^jdk-11.(\\d*).(\\d*).(\\d*)(.(\\d*))+(\\d*)$"

CHANGELOG:
----------

Release published on the 2022-08-19 17:25:17 +0000 UTC at the url https://github.com/adoptium/temurin11-binaries/releases/tag/jdk-<IP_ADDRESS>%2B1

Official Release of jdk-<IP_ADDRESS>+1

=============================

REPORTS:

- Bump JDK11 version:
        Source:
                ✔ [lastVersion] Get the latest Adoptium JDK11 version (kind: githubrelease)

Run Summary
===========
Pipeline(s) run:
  * Changed:    0
  * Failed:     0
  * Skipped:    1
  * Succeeded:  0
  * Total:      1

=> I don't mind closing this PR in favor of an issue

I would prefer fixing the code than enabling "latest" by default. Before introducing the releasefilter "latest", the default behavior was to retrieve the latest published release (without considering the flag "latest")

The problem with #969 is that it is buggy: by default, IF the "latest" release is marked as "Latest" in GitHub releases, then it is removed from the list returned by GitHub.
That is why my example fails: updatecli returns the "most recent element" from the filtered collection, but this filtered collection is stripped out of the "Latest GitHub release".


Nested resources are in alphabetical order rather than order of template in edit mode

When we create templates, we enter links to multiple nested resources that hang off one property in a particular order based on cataloger expectations, so that, for example, bf:PrimaryContribution comes before bf:Contribution in editing mode. This order has been maintained in templates for a couple years now, but somewhere in this work cycle it has been lost. Now the templates seem to line up in alphabetical order or some other order I don't quite understand. This is both in dev and in stage.
As illustration, in Stanford:pcc:bf2:Monograph:Work, bf:contribution looks like this:

However, in edit mode, it looks like this (with Primary contribution & Contribution swapped)

No explanation as to why it worked previously. However, Nested resources attributes > Resource attributes > Resource template ids is unordered. This means that the ordering of the nested resources is not guaranteed.
Currently, we only support ordering for nested resources. https://github.com/LD4P/sinopia_editor/issues/3039 is for adding it for other types. However, this is a massive amount of work and complexity as RDF does not have order as a primitive.

now that we will allow two nested fields to have the same property (#3221), you could make Primary Contribution a separate field from Contribution and then they can be in whatever order you want @NancyL

yes, what I was thinking. A great new use case for being able to duplicate properties!


[WIP] Support additional fields (e.g. not_methods) in ServiceRole and ServiceRoleBinding

Issue #11516
Support not_methods.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: pitlv2109
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: diemtvu
If they are not already assigned, you can assign the PR to them by writing /assign @diemtvu in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/pkg/networking/plugin/authz/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @pitlv2109. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

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

/ok-to-test

@pitlv2109: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
fb2f88c4fdc76b9ec55c53adea5e883f8f39d997
link
/test istio-pilot-multicluster-e2e

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: pitlv2109, yangminzhu
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/pkg/networking/plugin/authz/OWNERS [yangminzhu]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

I was trying to add a hold label but the bot merged it too quick.
@liminw @diemtvu Please feel free to comment if you want any changes. Thanks


'https://data.vision.ee.ethz.ch/cvl/combogan/$FILE.zip' is useless

Hi, $FILE is a bash variable.
In the script provided it either gets set to "alps_seasons" or "painters_14" depending on which argument you give it when running.
i.e  download_dataset.sh painters_14
(Or you can manually replace it in the url yourself, of course)


Katana v0.6.0 docs

added/updated docs for :
Checklist

[x] Messaging
[x] Forking
[x] Storage
[x] Execution engine
[x] starknet RPC
[x] torii RPC
[x] katana RPC
[x] dev RPC
[x] Genesis config
[x] CLI

I've moved the docs for these features to their own page to avoid convoluting the Reference page. Generally, I think it's better to have them in separate page to keep the docs cleaner and makes it easier to add more stuff on each section.

@ponderingdemocritus pls review ser

juicy


[Question] Which DockingEdge Page is Docked on?

How do I tell which DockingEdge a Page is docked on? It looks like DoDragDropEnd() is part of the equation but I can't figure out where to go from here. The below code doesn't help because it always shows the edge.Edge as the DockingEdge where the page was created.
private void KryptonDockingManager_DoDragDropEnd(object sender, EventArgs e)
{
    var kPage = kryptonDockingManager.Pages.Where(x => x.Controls.ContainsKey("IndexingCtrl")).FirstOrDefault();
    var edge = kryptonDockingManager.FindDockingEdgeDocked(kPage.UniqueName);

    var flowLayoutPanel = ((IndexingCtrl)kPage.Controls[0]).GetFlowLayoutPanel();

    if (edge.Edge == DockingEdge.Bottom || edge.Edge == DockingEdge.Top)
    {
        flowLayoutPanel.FlowDirection = FlowDirection.LeftToRight;
        // Yes, add the scrollbar if needed.
        flowLayoutPanel.AutoScroll = true;
        flowLayoutPanel.WrapContents = true;
    }
    if (edge.Edge == DockingEdge.Right || edge.Edge == DockingEdge.Left)
    {
        flowLayoutPanel.FlowDirection = FlowDirection.TopDown;
        // Yes, add the scrollbar if needed.
        flowLayoutPanel.AutoScroll = true;
        flowLayoutPanel.WrapContents = false;
    }
}

Any ideas?

Peter @Wagnerp, Do you have time to help me figure this scenario out?

Hi @fdncred
Is it possible to upload a test project, recreating this issue?

Thanks for responding @Wagnerp. I don't have an example I can share but perhaps we could use one of the Krypton Examples like "Standard Docking 2019".
In this example, if we focus on the "Input 5" page, it appears to be docked at the bottom.

When I drag it to the top right docking window like this...

I want to know how to tell that "Input 5" is now on DockingEdge.Right.  That's really all my code in the original issue is asking. How can I get the DockingEdge after it's docked. I want to know this because I want to change the orientation of my flowlayout panel as demonstrated in my code above.

Have you tried using the DockingEdge enumeration for a method which checks where the page is located?

@Wagnerp I'd love to. What method checks where the page is located?

I think I made a small discovery. The code above works sometimes when I dock on the edges. Sometimes it doesn't. Sometimes it works when I dock in the workspace. Sometimes it doesn't. I'm not sure what the magic is to detect where the page is docked exactly.

I could probably insert a method into the library to do this. I'm not familiar with this part of the toolkit, so can you give me the name of the control that you're using?

I followed the example in the Standard Docking example located in Krypton-NET-5.470\Source\Krypton Docking Examples\Standard Docking. I create the Docking Pages nearly identical to this example.
private KryptonPage NewDocument()
{
    KryptonPage page = NewPage("Document ", 0, new ContentDocument());

    // Document pages cannot be docked or auto hidden
    page.ClearFlags(KryptonPageFlags.DockingAllowAutoHidden | KryptonPageFlags.DockingAllowDocked);

    return page;
}

private KryptonPage NewInput()
{
    return NewPage("Input ", 1, new ContentInput(), null);
}

private KryptonPage NewPropertyGrid()
{
    return NewPage("Properties ", 2, new ContentPropertyGrid(), new Size(300, 300));
}

private KryptonPage NewPage(string name, int image, Control content, Size ?autoHiddenSizeHint = null)
{
    // Create new page with title and image
    KryptonPage p = new KryptonPage
    {
        Text = name + _count.ToString(),
        TextTitle = name + _count.ToString(),
        TextDescription = name + _count.ToString(),
        ImageSmall = imageListSmall.Images[image]
    };

    // Add the control for display inside the page
    content.Dock = DockStyle.Fill;
    p.Controls.Add(content);

    _count++;
    if (autoHiddenSizeHint.HasValue)
    {
        p.AutoHiddenSlideSize = autoHiddenSizeHint.Value;
    }
    return p;
}

private void Form1_Load(object sender, EventArgs e)
{
    // Setup docking functionality
    KryptonDockingWorkspace w = kryptonDockingManager.ManageWorkspace(kryptonDockableWorkspace);
    kryptonDockingManager.ManageControl(kryptonPanel, w);
    kryptonDockingManager.ManageFloating(this);

    // Add initial docking pages
    kryptonDockingManager.AddToWorkspace("Workspace", new KryptonPage[] { NewDocument(), NewDocument() });
    props3 = NewPropertyGrid();
    kryptonDockingManager.AddDockspace("Control", DockingEdge.Right, new KryptonPage[] { props3, NewInput() });
    kryptonDockingManager.AddDockspace("Control", DockingEdge.Bottom, new KryptonPage[] { NewInput(), NewPropertyGrid() });

    // Set correct initial ribbon palette buttons
    UpdatePaletteButtons();
}

The only thing different is I'm setting up an event so when a page is dropped it fires the code at the top of this issue.
        kryptonDockingManager.DoDragDropEnd += KryptonDockingManager_DoDragDropEnd;

If you're talking about some other control then I'm confused. By my way of thinking you could just modify the Standard Docking example to report where a page is dropped and that would probably suffice.

KryptonPage is what I need. I will try to create a method that returns the DockingEdge for the chosen KryptonPage, is this what you mean?

Yes, that would be ideal but keep in mind that it appears that pages can be docked in a nested fashion. So it could be docked at the bottom of a page that is docked to the right of the form. I'm not sure how this would work exactly but what I'm really trying to learn is if the controls on the page should be drawn left to right or top to bottom.
If the page is docked to the bottom of another page and both are docked on the right, then the controls should be drawn top to bottom. If the control is docked to the bottom of a page that is docked to the bottom of the form then the controls should probably be drawn left to right.
Does that make sense?
BTW - I appreciate your help!

What I'm thinking of is a method like this:
public DockingEdge LocatePage(KryptonPage page)
{
        return page.DockingEdge;
}

That's definitely a start and probably better than what I have now. Is there a way to get the hierarchy of nested pages so I could call that on all of my page's parents to understand where it's docked? Like if it's on the bottom but it's parent is docked at the right?

There is something called KryptonPageCollection I don't know if that would help?

Sounds right. I'll do some research. Maybe I can foreach through that collection calling your method to figure out what i need.

Do you know what property a KryptonPage uses to control the layout?

I'm afraid I do not. All I know is how the standard docking does it via the AddDockspace method on kryptonDockingManager. It just passes an edge. So, it may be a property of the docking manager versus the page. I'm not sure if the page knows where it's at. You can see in my code that nearly works that I'm querying the docking manager to figure things out.
var kPage = kryptonDockingManager.Pages.Where(x => x.Controls.ContainsKey("IndexingCtrl")).FirstOrDefault();
var edge = kryptonDockingManager.FindDockingEdgeDocked(kPage.UniqueName);

I figured out why my code sometimes works and sometimes doesn't. It only works when DockingLocation = Docked (aka dockLoc below). Otherwise, when DockingLocation = Workspace and it doesn't work because the edge property isn't set right - or something else is going on.
var dockLoc = kryptonDockingManager.FindPageLocation(kPage.UniqueName);

@Wagnerp Any luck?

Hi @fdncred
I'm away at the moment, so I'm taking a short break from development. Will have a look when I get back.

Hey @Wagnerp
Had any time yet?

Hi @fdncred
No, not yet, been really busy dividing up the toolkit into separate NuGet package modules. But I'm sure that there is a variable somewhere to control the location of the page.

Hi @fdncred
It appears to use the DockingEdge enumeration:-
   // Add three horizontal-stacked pages to bottom edge of the panel
            kryptonDockingManager.AddDockspace("Control",
                                               DockingEdge.Bottom,
                                               new KryptonPage[] { NewDocument() },
                                               new KryptonPage[] { NewDocument() },
                                               new KryptonPage[] { NewDocument() });

Hey @Wagnerp
Of course it doesn't work, just trying to find the DockingEdge. I tried that before I even asked a question. You can see in my original question I tried that and it didn't work. Then I had a follow up with more details.

I figured out why my code sometimes works and sometimes doesn't. It only works when DockingLocation = Docked (aka dockLoc below). Otherwise, when DockingLocation = Workspace and it doesn't work because the edge property isn't set right - or something else is going on.
var dockLoc = kryptonDockingManager.FindPageLocation(kPage.UniqueName);

Hi @fdncred
The example seems to use custom user controls that are placed on the workspace, if I recall the unique name returns a random string.

Hi @fdncred
If you look at the example in the IDE, the designer does not show the pages. Instead everything is done via code. I don't think that the UniqueName will help you, what you need is the Name of the page.


Cannot roundtrip "Json" type fields

Initial Checks

[X] I have searched GitHub for a duplicate issue and I'm sure this is something new
[X] I have searched Google & StackOverflow for a solution and couldn't find anything
[X] I have read and followed the docs and still think this is a bug
[X] I am confident that the issue is with pydantic (not my code, or another library in the ecosystem like FastAPI or mypy)

Description
I am round-tripping a Pydantic object with a field of type Dict[str, Json] like this:
def roundtrip(clazz: Type):
    obj = faker.create_fake_model(clazz)
    raw_json = obj.json()
    obj_out = clazz.parse_raw(raw_json)
    assert obj == obj_out

The fake data for the Json dictionary values are generated with Faker:
    def json_data_faker(self):
        num_elems = self.faker.pyint(min_value=1, max_value=5)
        keys = [self.faker.pystr() for _ in range(num_elems)]
        values = [self.faker.name() for _ in range(num_elems)]
        fake_dict = dict(zip(keys, values))
        return dumps(fake_dict)

I can confirm that at time of output, the field is str -> str, i.e. there is a quoted string containing the generated JSON. But when I inspect raw_json, it's been unpacked into a dictionary already, and so when I call parse_raw() I get errors like:
E   modelParameters -> HVGAtZgLTYZVzBlfmqPf
E     JSON object must be str, bytes or bytearray (type=type_error.json)

So it seems like the handling is not symmetrical: it encodes as JSON objects, but expects to parse a string.
Example Code
No response
Python, Pydantic & OS Version
pydantic version: 1.10.2
pydantic compiled: True
install path: XXX/.venv/lib/python3.10/site-packages/pydantic
python version: 3.10.6 (main, Sep 24 2022, 10:13:12) [Clang 14.0.0 (clang-14<IP_ADDRESS>)]
platform: macOS-13.0.1-x86_64-i386-64bit
optional deps. installed: ['typing-extensions']

Affected Components

[ ] Compatibility between releases
[X] Data validation/parsing
[X] Data serialization - .dict() and .json()
[ ] JSON Schema
[ ] Dataclasses
[ ] Model Config
[ ] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[ ] Other Model behaviour - construct(), pickling, private attributes, ORM mode
[ ] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

Can you share the definition of your class clazz? Include the Config param, if one is defined.

test helper: https://github.com/cloudwall/serenity.types.python/blob/557c61e6f1437c7fb1bddb01ce53aa876512c66d/tests/serenity_types_tests/testutils/serialization.py
base class: https://github.com/cloudwall/serenity.types.python/blob/07a3550670e8b3857937fc4deb2c6e1f2b65d1c0/src/python/serenity_types/utils/serialization.py
class with the issue: https://github.com/cloudwall/serenity.types.python/blob/abf9ef7b9f8ca5ba5bc72e3c915b51554cef2d53/src/python/serenity_types/catalog/model.py

I hope that helps!

This is a known issue, I can't find the issue right now, but it'll be fixed in V2. It's already implemented in https://github.com/pydantic/pydantic-core/pull/327.

This should be fixed now in v2, please comment here if it is not.


Remove some unused require statements, used when loading fake workers, in non-PRODUCTION mode

The code in question is only relevant in non-PRODUCTION mode, i.e. the development version of the viewer run with gulp server, and has been completely unused at least since SystemJS was added.
I really cannot see any reason to keep this, since it's code which first of all isn't shipping and secondly isn't even being used in the development viewer.

/botio-linux preview

Thank you for simplifying this a bit!


Getting started with Kubernetes Clusters

Article checklist
ATTENTION: In your PR - add the ISSUE (topic form) # that this PR corresponds to. You can do this by also adding a comment that states "This fixes #(enter your Idea Content Form #)" to link and close your Idea Content (issue) when the PR is merged.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
If you have not already please go over our Resources Page for more tips and tricks on how to improve our overall technical writing.
Preliminary Checks - Formatting and Structure

[x] Does your article follow any of the suggested structure formats? - see example formats
[x] Is your article properly formatted in Markdown? - see Github Markdown guide
[x] Have you used the correct folder and file structure? - see Contribution Guidelines
[x] Is your article over 750 words? - Tool: Wordcounter.net
[x] Have you used our preferred heading structure? - H3 (###) and up
[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.
[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.
[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images
[x] In your PR - add a comment that states "This fixes #(enter your Idea Content Form #)" to link and close your Idea Content (issue) when the PR is merged.

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid -  Grammarly
[x] Please place your article through a 3rd party plagiarism checker? We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide

Contribution guidelines
For first-time contributors and for more details, see Contributing Guidelines
This fixes #2143

@lalith1403 This is a new PR in line with the new repo structure.
CC @hectorkambow
I will be closing the old one.

Perfect. I will take a look. Thank you :)

I updated the old one directly @lalith1403


slider invert should invert incrementing or just sliding direction?

Bug, feature request, or proposal:
dicussion, maybe a new feature
What is the expected behavior?
Invert the slider should invert the behavior, invert the values, not the just direction of sliding.
What is the current behavior?
Inverting the slider only changes the sliding direction, not the values, so the sliders always increase the value as we slide and we cannot invert the behavior to decrease the value.
What is the use-case or motivation for changing an existing behavior?
I have a price filter, min price should go from 0 to max value, and max value should go from x to min value, take a look:

I CSS rotated the max slider to create the example.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Mat. 5.1
Is there anything else we should know?
Material docs say nothing about inverted sliders, not even in the bidirectionality section, so I truly believe that sliders can have this customization.

Closing since this feature is likely too niche for general adoption


Routing dialog appears on top of other apps

Run the app and open the routing dialog. Now drag another app on top of Military Planner. The routing dialog appears on top of that other app.

Fixed with pull request #61


Help with monorepo

hey,
i want to setup a monorepo (lerna) with vite and vue3 and i can´t find any working solutions.
The main problem is to consume the local repos in development and benefit from vites fast hot-reloading and all the other sugar it gives to us.
I played with optimizeDeps.link and rollup alias but cannot figure out an acceptable setup without hacky parts.
Can anyone please give an example how this is done right?
My folder structure looks like this:
project-root/
    lerna.json
    packages/
        example-ui/
            index.html
            vite.config.ts
            ....
        ui/
            modules/
                common/
                    src/comp.vue
                    package.json
                dashboard/
                    src/dashboard.vue
                    package.json
                .../

THX for the great work!

Make sure you have your local linked packages also listed in your example (vite) package's dependencies list
If listed, Vite 2 will auto detect linked packages and you shouldn't need to use optimizeDeps.link
If your ui module packages define entry points to built files in their package.json, you will need to configure an alias in the example project to redirect to their source entry instead.

We should probably provide some documentation for this. /cc @LinusBorg @csr632 @AlexandreBonaventure who I know have been using Vite in monorepos

Make sure you have your local linked packages also listed in your example (vite) package's dependencies list
If listed, Vite 2 will auto detect linked packages and you shouldn't need to use optimizeDeps.link
If your ui module packages define entry points to built files in their package.json, you will need to configure an alias in the example project to redirect to their source entry instead.

We should probably provide some documentation for this. /cc @LinusBorg @csr632 @AlexandreBonaventure who I know have been using Vite in monorepos

I'm running a monorepo with yarn workspaces - lerna is only used to run multiple commands in packages in parallel, pretty much).
I have aded the package(s) to the "example-ui" app's package.json, and yarn will add symlinks for them automatically. Then I also have set up aliases in the example app's vite config like this:
alias: {
    'ui-common': 'ui-common/src/common.vue,
    'ui-dashboard': 'ui-dashboard/src/dashboard.vue',
  },

This means that the example app is able to properly resolve the src entry point for each package, so you don't need to have a build process running for them or anything.
in my repo, all packages have entry files (src/index.ts), but it should work all the same if you link to a .vue file directly.

I'm running a monorepo with yarn workspaces - lerna is only used to run multiple commands in packages in parallel, pretty much).
I have aded the package(s) to the "example-ui" app's package.json, and yarn will add symlinks for them automatically. Then I also have set up aliases in the example app's vite config like this:
alias: {
    'ui-common': 'ui-common/src/common.vue,
    'ui-dashboard': 'ui-dashboard/src/dashboard.vue',
  },

This means that the example app is able to properly resolve the src entry point for each package, so you don't need to have a build process running for them or anything.
in my repo, all packages have entry files (src/index.ts), but it should work all the same if you link to a .vue file directly.

I am using pretty much the same setup as @LinusBorg (every package as an entry file with a main field in the package.json). We are using yarn 2 but that should not matter really. With Vite v2 linked packages are automatically detected so it should work out of the box.
I would recommend you migrate to it already, if not you can use this kind of script in the config to automatically resolve your workspaces:
async function getWorkspaces () {
  const pkg = await fs.promises.readFile(path.resolve(process.cwd(), './package.json'), { encoding: 'utf-8' });
  try {
    const { dependencies } = JSON.parse(pkg);
    const qualified = Object.keys(dependencies).filter(depName => depName.startsWith('@your-organization-name'));
    return qualified;
  } catch (e) {
    console.error(e);
    return [];
  }
}

return {
  optimizeDeps: {
      link: getWorkspaces()
    }
}

I am using pretty much the same setup as @LinusBorg (every package as an entry file with a main field in the package.json). We are using yarn 2 but that should not matter really. With Vite v2 linked packages are automatically detected so it should work out of the box.
I would recommend you migrate to it already, if not you can use this kind of script in the config to automatically resolve your workspaces:
async function getWorkspaces () {
  const pkg = await fs.promises.readFile(path.resolve(process.cwd(), './package.json'), { encoding: 'utf-8' });
  try {
    const { dependencies } = JSON.parse(pkg);
    const qualified = Object.keys(dependencies).filter(depName => depName.startsWith('@your-organization-name'));
    return qualified;
  } catch (e) {
    console.error(e);
    return [];
  }
}

return {
  optimizeDeps: {
      link: getWorkspaces()
    }
}

I'm experimenting with Vite.js and Yarn Worskpaces and it works quite well: https://github.com/MatejBransky/worskpaces-in-workspaces
Basically my app (examples/monorepo/app) loads my plugin which add aliases for all workspaces defined in root package.json (pkg.workspaces attribute) and aliases values are gathered from the workspaces pkg.source attributes.
It's just an experiment so take it only as an inspiration.

I'm experimenting with Vite.js and Yarn Worskpaces and it works quite well: https://github.com/MatejBransky/worskpaces-in-workspaces
Basically my app (examples/monorepo/app) loads my plugin which add aliases for all workspaces defined in root package.json (pkg.workspaces attribute) and aliases values are gathered from the workspaces pkg.source attributes.
It's just an experiment so take it only as an inspiration.

I have created a demo project for vite + monorepo:

Use yarn workspace
Use Typescript

This is a valilla setup to show how to make vite wrok with monorepo. For a more smooth workflow for bigger project. Checkout this demo project.

I have created a demo project for vite + monorepo:

Use yarn workspace
Use Typescript

This is a valilla setup to show how to make vite wrok with monorepo. For a more smooth workflow for bigger project. Checkout this demo project.

RFC
Hello guys, i'm coming to this thread referenced from #1554 where @yyx990803 call my attention to here. Would be great a cli tool to produce multi apps/libs and keep compatibility with vite-cli. Current i'm doing some research and prototyping with vite. Instead of using lerna (nothing against it, pretty good tool) but i would like to enrich vue/vite ecosystem with a tool more or less like nx.dev does to angular. I will leave here a idea spec for further discussion. This approach have some history (long a bit) that what i saw in many companies that follow lerna approach for multi vue apps and  most of them regret on that decision.

RFC
Hello guys, i'm coming to this thread referenced from #1554 where @yyx990803 call my attention to here. Would be great a cli tool to produce multi apps/libs and keep compatibility with vite-cli. Current i'm doing some research and prototyping with vite. Instead of using lerna (nothing against it, pretty good tool) but i would like to enrich vue/vite ecosystem with a tool more or less like nx.dev does to angular. I will leave here a idea spec for further discussion. This approach have some history (long a bit) that what i saw in many companies that follow lerna approach for multi vue apps and  most of them regret on that decision.

Hi, I have a similar setup: monorepo using lerna + local packages with some vue 3 components & styles. No entry point in the local packages and they are listed in my app package.json.
Everything works pretty well, but I have some problem with local packages after vite build. For local development it works, but for vite build it just takes the components from local packages, but doesn't render them correctly. I've tried also yarn workspaces, same issue.
code in my app:

<template>

          <Icon name="Logo" size="medium" />

</template>

result:

    <logo color="#00B6EB" name="icon" class="medium"></logo>

but it should be

    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
       <path fill-rule=...
    </svg>

I can create a new issue for this, but I hope it's related to monorepo stuff. It's up to you. Thx

Hi, I have a similar setup: monorepo using lerna + local packages with some vue 3 components & styles. No entry point in the local packages and they are listed in my app package.json.
Everything works pretty well, but I have some problem with local packages after vite build. For local development it works, but for vite build it just takes the components from local packages, but doesn't render them correctly. I've tried also yarn workspaces, same issue.
code in my app:

<template>

          <Icon name="Logo" size="medium" />

</template>

result:

    <logo color="#00B6EB" name="icon" class="medium"></logo>

but it should be

    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
       <path fill-rule=...
    </svg>

I can create a new issue for this, but I hope it's related to monorepo stuff. It's up to you. Thx

@JkmAS I don't think it has something to do with monorepo. It looks like the component is not resolved correctly at runtime. Sometimes it happens when you have circular dependencies. You should probably create a reproduction if you want some help.

@JkmAS I don't think it has something to do with monorepo. It looks like the component is not resolved correctly at runtime. Sometimes it happens when you have circular dependencies. You should probably create a reproduction if you want some help.

这是我的 monorepo 项目，目前遇到了一个问题，依赖的包里面的 .scss 文件 ， @import  时找不到模块，有谁知道这么处理么
https://github.com/zhengxs2018/vitejs-monorepo-fullstack

Make sure you have your local linked packages also listed in your example (vite) package's dependencies list
If listed, Vite 2 will auto detect linked packages and you shouldn't need to use optimizeDeps.link

@yyx990803, I just made an example repo with 2 workspaces, with one one importing the other. I didn't have to list it in dependencies, and I didn't use optimizeDeps.link either. The import worked, as did react-refresh. I also don't see any documentation on the site for ``optimizeDeps.link` either. Did something change in the last month that made this configuration unnecessary? Thanks!

@threepointone yeah, the internals changed quite a bit over the course of 2.0 beta and this thread is a bit out of date. optimizeDeps.link is no longer necessary, explicit dependencies should also be no longer necessary.
I guess I'll close this thread to avoid confusion for new users.

Apologies for digging up a closed thread, but it already contains some monorepo examples so feels like the best place to do it.

I guess I'll close this thread to avoid confusion for new users.

This does confuse me a bit I'm afraid, and the documentation isn't entirely clearing it up for me either. Setting up a fully functional (developer friendly) development workflow for a monorepo is rather complicated, especially if you add TS in the mix. The fact that Vite seems to help out here is pretty awesome, I'm just wondering if my understanding is correct:

You can import projects within the same monorepo (by package name I presume?) without adding them as a dependency, in which case Vite will assume control over said project and compile it locally (and bundle its dependencies).
You can still add monorepo projects as dependencies in package.json within the same monorepo and link them (i.e. through pnpm's symlinks) in which case Vite will presumably not assume control over the project and its compilation?

If, in the first case, the imported project happened to be a Vite library-mode project with its own config (and plugins), would this still be respected during compilation, or would the consumer config and plugins be used instead?
Lastly, do we know of any example/open-source projects that happen to be running a (non-trivial) monorepo Vite setup? 🙂

Fair warning: I'm still tinkering with this. But it's been working good-ish so far.

In case it helps others, I put together an example monorepo using npm 7 workspaces (I recently removed lerna on our team in favor of npm 7 workspaces).
There's some other features here I needed like TS Project Reference integration, React component library support, and Storybook integration -
https://github.com/adiun/vite-monorepo


Table Pager not showing the correct active page

[x ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, post on Stackoverflow or Gitter
Current behavior
When using virtual scroll with pager (like the 'Hidden On Load' example) there is a wrong offset (active page) value when scrolling fast with the vertical scrollbar thumb either to the top or the bottom.
Expected behavior
The offset value should be fixed to indicate the correct page being displayed.
Reproduction of the problem
Using the 'Hidden On Load' example: http://swimlane.github.io/ngx-datatable/#hidden
with one of the tables (Hidden or NgIf) and scrolling with the vertical scrollbar thumb fast and stopping at the top or the bottom the pager indication shows a wrong page being active (offset value is incorrect)
What is the motivation / use case for changing the behavior?
To show the correct page index being displayed when scrolling with thumb.
Please tell us about your environment:
Windows 10 Home, Visual Studio 2017, IIS

Table version: 0.8.x

"@swimlane/ngx-datatable": "11.1.7"

Angular version: 5.1.3

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Language: [all | TypeScript X.X | ES6/7 | ES5]

is there any solution for this problem?


.github: remove stale.yml workflow

    > can we also delete https://github.com/celestiaorg/celestia-app/blob/sevey/ci-release/.github/workflows/stale.yml?

I will onces https://github.com/celestiaorg/.github/pull/3 is merged.
Originally posted by @MSevey in https://github.com/celestiaorg/celestia-app/issues/884#issuecomment-1284072615

This should be coupled into the housekeeping workflow updates https://github.com/celestiaorg/.github/issues/11

Note we still have a stale workflow: https://github.com/celestiaorg/celestia-app/blob/main/.github/workflows/stale.yml
I suppose we could migrate to https://github.com/celestiaorg/.github/blob/main/.github/workflows/reusable_stale.yml but I don't see a strong reason to do so so closing as won't do.


Size limit of callback_data (inlineKeyboard)

Dear edisonchee,
your API keeps its promise. It's straightforward but effective. Thank you.
I experienced something (maybe) odd regarding the attribute callback_data of a button in an inlineKeyboard. In my case, every button represents an object of the class Event, which is retrieved from a database.
Obviously I want to determine which button was clicked by listening for the event callback_query. query.data is a stringified JSON object. Parsing does work but if the string contains too many characters I would get the following error.
Unhandled rejection Error: 400: {"ok":false,"error_code":400,"description":"Bad Request: BUTTON_DATA_INVALID"}
Here is my sourcecode for reference.
slimbot.on('callback_query', query => {
    const data = JSON.parse(query.data);
    switch (data.type) {
        case "info": Responser.info(data.value, query.message.chat.id); break;
        case "register": Responser.register(data.value.eId, data.value.u , query.message.chat.id);
    }
});

Creation of the buttons:
for (i = 0; i < events.length; i++) {
                    inlineKeyboard.push([{
                        text: events[i].toString(),
                        callback_data: JSON.stringify({
                            type: 'register',
                            value: {
                                eId: events[i].eventId,
                                u: user.username
                            }
                        })
                    }]);
}

This works but I actually want to store more data in value. Is there an alternative?
Thank you in advance!
Joachim

Hi @jbBorya, thank you and I'm glad you found the library useful.
According to Telegram's Bot API documentation, the callback_data to be sent for each button has a size limit of 64 bytes.
I'm not aware of any way to go beyond the size limit. Sorry about that!

Thank you for the response ^^


[PROPOSAL] After_search parameter added to _search, _msearch specifications

What/Why
What are you proposing?
_search, _msearch can be received as an after_search parameter in the actual code, but it is not expressed on the specification information page.

Can you elaborate on in the actual code? Which code are we talking about?

@channel-dante We've made a lot of progress here. Any interest in filling out the API specs with tests for _search and _msearch?

The parameter is called search_after, https://opensearch.org/docs/latest/search-plugins/searching-data/paginate/#the-search_after-parameter


Update apm to remove node-gyp logic

Template does not apply - this is a package version bump.
See atom/apm#845 for the majority of the details. We now delegate to npm to handle Electron header installation rather than trying to do it ourselves through node-gyp.
2.3.0 also contains a Node version bump to 10.2.1, in order to match Electron 3.

Looks like all the CI builds failed to download https://iojs.org/download/release/v3.1.10/iojs-v3.1.10-headers.tar.gz, however I'm not sure why it was trying to grab that in the first place.

Yep! I have a fix locally and will push it tonight.
Background as to why this is happening:

node-gyp uses really simple logic to determine the dist URL. Any target version >=1 <4 is assumed to be iojs. That's where the iojs URL is coming from.
But wait! apm passes the --dist-url to npm! Yep...except it doesn't seem like npm passes this flag to node-gyp, rendering it effectively useless.

(npm's install logic is also extremely convoluted, and I can't for the life for me figure out where npm shells out to node-gyp or how it does the command-line argument -> environment variable fallback, so this is just an educated guess).

I'm confused as to how node-gyp is picking up on the correct Electron version but not the dist URL (is it only picking up a subset of the flags we pass to npm?), but specifying all of these options using environment variables seems to work, so that's my fix.


Unfortunately, it's not working for me (currently using lazysizes).

Lazy load happens on images that come into view.
When lazy loaded images clicked, there's a jump in the page, zoom occurs instantly (no transition), and the image then slides into place vertically. Seems like the DOM container where the image was is collapsed for half a second.

Here's a gif that illustrates the issue: first the lazy loaded image, then one fetched on page load.

This is what the image tag looks like:
<img class="lazyload size-full" src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgkAQAABwAGkn5GOoAAAAASUVORK5CYII="<EMAIL_ADDRESS>alt="Berlin" width="2280" height="1521" data-action="zoom" />
When loaded, the markup looks like this:
<img class="size-full lazyloaded"<EMAIL_ADDRESS><EMAIL_ADDRESS>alt="Berlin" width="2280" height="1521" data-action="zoom">
This is what an imaged loaded on page init image looks like:
<img class="size-full"<EMAIL_ADDRESS>alt="Berlin" width="2280" height="1521" data-action="zoom">
In the DOM they all have width/height attributes — what could be at fault here, any suggestions?
Thanks in advance!

Related discussion here: https://github.com/fat/zoom.js/issues/12

Switched to unveil and it seems to be fully compatible with zoom.js — closing this.


Update to Bevy 0.12

Closes #59
The only relevant migration seems to be:
FixedTime to Time (Bevy pull 8964)
To do:

[x] Test Doppler
[x] Update Bevy dependency to 0.12
[x] Remove smooth-bevy-cameras dev dependency so we don't have to wait for it (it got updated)

Blocked on Bevy 0.12 release and #61, other than that it should be good to go

Not blocking on 61 anymore since smooth-bevy-cameras got updated to 0.12

@GitGhillie I think the README also needs to be updated if this version is compatible with Bevy 0.12.

Thanks, I forgot about that! @Salzian did you want to do a final release before switching to 0.12? That will affect the version table.

@GitGhillie @Salzian I can use this branch for now, but I would really appreciate this PR being merged so it officially supports Bevy 0.12. Is there anything I can do to help? Testing, etc?

Delaying the delta time by one frame fixed the unstable Doppler effect

Accepting this for now, as I can't reproduce the unstable Doppler effect.


remove() not working properly

If you look in the gaze source code, you need to pass an argument for the path to remove to the watcher.remove() function. Right now you aren't passing any arguments so it does nothing.

PR?

What does PR stand for?

Contributing to Open Source on GitHub -> Pull Request


Hint all name arguments as str only

Currently, we hint name: str | None on the benchmark name, which is bad practice. Names of benchmarks can realistically never be None, and are overwritten immediately with the function name in the post-init.
We were going to add this in the State PR, but realized that the changeset is going to be too big, since all decorator call sites will also have to be changed. So we're leaving this for a follow-up.

Fixed in #135.


[FEAT] Magento Customer GraphQL Caching

:bulb: Feature request
Feature Name

Magento Customer GraphQL Caching
The Desired Behavior

We need to set the X-Magento-Cache-Id HTTP header to enable caching on Magento for logged in users.
Your Use Case

As an app dev, I'd like to have cacheable requests be cached.
Prior Work

https://developer.adobe.com/commerce/webapi/graphql/usage/caching/

possibly related to #2338


Orderterms

Two separate commits.
The first is to order the terms as described in issue #177. It also corrects issued dates for each term that had carried forward the issued date of its predecessor.
The second is to replace "" with ' except where " is needed in the content of a field (e.g. 34" for 34 seconds). This is to be consistent and less confusing if we decide to use " as a field enclosing symbol as  a rule.

I think at this point we should abandon this pull request. Please confirm.

I feel like the ordering of terms is being handled by a defined mechanism now. Also, it seems like the quoting issue has been resolved already. So it seems like this is a dead branch.


Quickbar for (Account)Inventory-Slots

Hey,
I recently had the idea to make an own addon which would just show a few inventory slots anywhere on the screen, which you could just click on and use the referencing item, instead of opening the inventory and then using the item.
Since I saw that you were happy about suggestions, I'm also suggesting this, since I'm totally not sure if I'll be able to do this (on a knowledge/skill level and also because freakin time)
Just suggesting this, feel free to work on it, contacting me or ignore it, I'll have to think and work something out in the coming days/weeks. :)

This involves reading/modifying game memory which is well beyond the scope of this addon, sorry. It'd also require closing the source and would run afoul of ANet's addon policy.


Bundle splitting

My project is getting relatively big for one bundle, hence I wanted to look into bundle splitting, i.e. using separate bundles for separate pages, If anyone could kickstart me in the right direction, I can work a pull request for this if needed.

There is this page https://webpack.github.io/docs/code-splitting.html which i didnt try.
There is also a plugin that looks promising https://webpack.github.io/docs/list-of-plugins.html#dllplugin which as i understood it puts all your vendor modules in a different file.
On this note, i also wanted to ask you about your build times, how are they? initial build and reloading?

@slavab89 builds take up 7405ms and 7552ms seconds for both build stages, and rebuilding is usually quick. I will look into links you provided, thank you.


added action_delay when recycling items

Short Description:
Action_delay used when recycling items to give more human like behaviour.
Uses existing action_wait_min and action_wait_max config options.
Fixes (provide links to github issues if you can):
-Quick fix to make bot appear more human when recycling items

:+1:


Can anyone help pls

can anyone help me convert this gist(link removed) using PHP-FFMpeg

Sorry, but please do that on your own. I really do not like somebody blindly copying and pasting something. You should know what your code is doing.


fix: vm should be properly typed

This is on top of #64
The types have been tweaked to avoid the need of casting like (wrapper.vm as any).msg.
The test showcases the correct behavior: you can reproduce the issue by adding the test to the master banch. It will:

not compile without a as any cast
fail as it returns the vm of the parent which has no msg, isEnabled fields and toggle function.

I splitted the two fixes in 2 separate PRs:

#64 fixes the vm returned
this PR improves the typings

Hey, thanks for helping out! Typing this correctly is something I am struggling with. I don't think this is entirely correct, though. wrapper needs to be able to accept objects like :
const Foo = {
  template: '
Foo

}

And with this change, that won't work.

Full error:
const App: {
    render(): VNode<RendererNode, RendererElement>;
}
Argument of type '{ render(): VNode<RendererNode, RendererElement>; }' is not assignable to parameter of type 'new () => ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}>'.
  Type '{ render(): VNode<RendererNode, RendererElement>; }' provides no match for the signature 'new (): ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}>'.ts(2345)

I get your point. Maybe I can simply add an override, so people with defineComponent will have a proper typing and others will be at the same point as now. Most TS users are going to use it anyway, otherwise you don't have proper typings in your components, and we can probably improve later.

@lmiller1990 PTAL: I added a simple override instead of changing the signature. So everything works the same, but, if you use defineComponent, you get proper typings of vm

Awesome, love it. TS changed my life


Successfully Flashed Merkury White Bulb (9W, E26)

I was able to successfully flash and configure a Merkury White LEB Bulb.
Here are the details for the bulb
Merkury
E26 Socket
A19 Smart Wi-Fi LED Bulb Dimmable White
MIC-BW902-999W (Canada)
MI-BW902-999WS (US) I think they are the same but I don't know for sure
GPIO5=PWM1

Hi Rob,
thanks for adding the device to the wiki!
Cheers!


Fine tuning the pretrained model

Hi,
I am using the CRAFT + this library pipeline to locate and do char level recognition using a pretrained model you provided (TPS-ResNet-BiLSTM-Attn-case-sensitive.pth). However, I am stuck in a point where the recognizer does not seem to give better results and I want to train my own model with my own data. My own data would consist in a set of image of extremely low resolution (about 20x40 or so) as they are character (numbers/letters) images, not words. Luckly, all the characters I want to recognize look similar, i.e. similar fonts and size. These are examples of images I would like to recognize:

as "3, U, 7".
The approach I think I am going to use is fine tuning the pretrained model TPS-ResNet-BiLSTM-Attn-case-sensitive.pth:
-> in this case, I wonder how many images per kind of character should I use? I really need this info.
-> if I only train for some digits (for example, for digits "1" and "7" as they are often confused), can the rest of my letters/digit get worse?
-> would it be good if a use my own data + a public char recognition dataset such as: http://www.ee.surrey.ac.uk/CVSSP/demos/chars74k/ ? I think it would be easier for me as I don't have so many data,
-> maybe is it better to train from scratch with my own data + char74k?
Hope someone can guide me a bit. Btw, congratulations for both respositories, they are pretty good!
Ana

Hello :)
They are open questions, and probably they all are up to the dataset, so they are hard to answer...
If I were you, I would start an experiment using char74k.
Training from scratch would work, I have trained with char74k before, and it worked well.
But I am not sure that is better than fine-tuning from the pretrained model. (I have not tested/compared it)
Remember to change image size 32x100 to 32x32 or something for the character recognition.
I wish you good luck,
Best.

Hi @ku21fan !
Thank you for your suggestion! In fact, I was preparing a train with the char74k dataset + ICDAR2003 + some images of my own dataset (about 100). Maybe I will add some more datasets in the future such as ICDAR2005 or MNIST. As you have not compared training from scratch vs. fine tuning the pretrained model, I will update with my results so that everybody can have a reference, but it is good to know that you have been able to train from scratch with char74k :)
Regards!
Ana

@anavc94, Hi.
Did you tried to predict words with "character level detection and recognition", i.e to learn to predict words with only learning on the characters data-set ?
Did it work ?
I tried it with in my own language and a characters data-set, and it learned to identify words with accuracy about 80%,
but It didn't learned to predict sequences of words. I wonder if you had any other results or interesting insights.

@ilyak93 ,Hai..
I am trying character-level detection.. If your code is working with 80% then if you share the code or logic it will be help for me.
Thank you

i have the same thing. using an existing pretrained model (TPS-ResNet-BiLSTM-Attn.pth), some numeric characters cannot be recognized properly. i want to do FT (fine-tune) with my data. if there is any source code for this thing. Please help me. Thankyou


Fix race condition in service manifest fetching

Fixes #2803

Agreed. With this new version, the service manifest is fetched only once, at least in the situations I tested.

Merging this soon to get 3.4 released unless there are any concerns.


TypeError: 'str' object cannot be interpreted as an integer

Crash Report
This crash report was reported through the automatic crash reporting system 🤖
Traceback
  File "/home/marcel/workspace/electrum/gui/qt/main_window.py", line 2136, in <lambda>
    b.clicked.connect(lambda: self.do_encrypt(message_e, pubkey_e, encrypted_e))
  File "/home/marcel/workspace/electrum/gui/qt/main_window.py", line 2099, in do_encrypt
    hex('error')

TypeError: 'str' object cannot be interpreted as an integer

Reporter
This issue was reported by 1 user(s):

Electrum Version
Operating System
Wallet Type
Locale

3.1.5
Linux-4.15.7-1-ARCH-x86_64-with-arch-Arch-Linux
standard
en_US

Additional Information

Test Description @marceloneil

It works!