Loosing focus of the selected item from the side menu.

Package
filament/filament
Package Version
v2.17.46
Laravel Version
v10.13.5
Livewire Version
No response
PHP Version
8.1
Problem description
The issue even appears whene reloading the page with f5 or refreshing the page in general via any means ( opening a new page , clicking on a button which lunch an event .... etc ) it would allways reset the side menu view to the top of the list which loses focus on the selected item from the list . It will be still selected but the view will be set to the top of the list.
Expected behavior
Keep the side menu view at the same spot of the selected item from the list.
You found ezzi-resto.sql in database folder.
user/pass : ibrahim<EMAIL_ADDRESS>Steps to reproduce
The issue occurs whene there is enough elements on the side menu so wene the view change we can notice it .
Reproduction repository
https://github.com/ibrahimBougaoua/ezzi-resto
Relevant log output
No response

This isn't really a bug to be honest, it's just a page reload.
I believe this has been brought up before, but it's hard to fix in a nice way.
You can however implement a solution in your own project if you like to automatically scroll down to the current page in the sidebar on page load.
Potentially Livewire v3 will solve this with wire:navigate.
So closing this issue for now.

This isn't really a bug to be honest, it's just a page reload. I believe this has been brought up before, but it's hard to fix in a nice way. You can however implement a solution in your own project if you like to automatically scroll down to the current page in the sidebar on page load.
Potentially Livewire v3 will solve this with wire:navigate. So closing this issue for now.

It would be considered as ui or ux issue since if the user had a long liste of element as i did he will each time loose the track of the element selected. And from another point of view every major library had fixed this issue so it's considered as a major thing to have implemented.


Customize Add a card modal sheet

Describe the bug
add a card modal "Country or region" section defaults to Afghanistan
To Reproduce
const { error, paymentOption } = await initPaymentSheet({
paymentIntentClientSecret: _paymentIntent?.client_secret,
customFlow: true,
applePay: true,
merchantCountryCode: 'US',
googlePay: true,
testEnv: true,
});
const { error, paymentOption } = await presentPaymentSheet({
confirmPayment: false,
});
Expected behavior

hide country or region or default it to USA, currently defaults to Afganistan
customize  the color of add card button

Screenshots

@togonow are you checking it on ios simulator right? It seems to be an issue with some simulator behavior itself, when you change country in system settings it starting to work as expected. It works on real device as expected.


Output compile-time

Is there a way to output compile-time (possibly with multiple runs) ?
If not and if it is relevant, I could submit a PR for that.

Yeah, you can obtain the compilation time with perf: perf stat -e instructions:u opt ....
I am sorry I cannot provide the baseline result for each run because PMU is not accessible on our CI workers.
But I can provide an option then you can run and compare the result locally :)

See https://github.com/dtcxzyw/llvm-opt-benchmark/commit/e286d17e0c81f18c97e12942ccc6e93d88ef7116
Usage:
./scripts/gen_optimized.py bench/ <path-to-opt> comptime comptime-v1.log
./scripts/gen_optimized.py bench/ <path-to-new-opt> comptime comptime-v2.log
python3 ./scripts/comptime_diff.py comptime-v1.log comptime-v2.log

See e286d17 Usage:
./scripts/gen_optimized.py bench/ <path-to-opt> comptime comptime-v1.log
./scripts/gen_optimized.py bench/ <path-to-new-opt> comptime comptime-v2.log
python3 ./scripts/comptime_diff.py comptime-v1.log comptime-v2.log

I will update the README at my convenience.


Support "graphql-transport-ws" websocket subprotocol

For a project, where the server only accepts the graphql-transport-ws protocol, I would like to add the option to define a specific protocol behavior.
What kind of change does this PR introduce?
Feature
What is the current behavior?
Only graphql-ws subprotocol is supported
What is the new behavior?
graphql-ws is still the default protocol, but it can be configured to use "graphql-transport-ws" as well.
Does this PR introduce a breaking change?
No
Other information
The practical difference here between the protocols is only the command structure of the init command, which only affects the name of the type. ws-graphql names is start, graphql-transport-ws calls is subscription 🤷♂
The risk of this PR is relatively low, but it makes the library backwards compatible with older implementations which is a good thing to have I guess.
Sorry for now writing tests, I am not that proficient in python, so I would appreciate a little help here.
Thanks

@jenskdsgn thanks for the contribution could you by chance write some unit tests for  ws_subprotocol?

Yeah I can try 🙃


Adding support for ODE differentiation and interface for DifferentialEquations.jl

Hi!
I had been playing around with using TaylorDiff.jl for higher-order differentiation of numerical solutions of ODEs. I have a simple implementation of the method introduced in Appendix D in Taylor-Mode Automatic Differentiation for
Higher-Order Derivatives in JAX together with some simple examples of ODEs. I think this quite add some value to the library, since it is particularly important to compute higher-order derivatives of solutions of differential equations for some very specific applications.
I would be happy to make a PR with this, probably into a new module ode.jl. Would this be useful for the library? I would love to contribute :)

Hi,
Sure! This would be very helpful, and really appreciate your pull request.
In addition to adding code to src/, you can also optionally add tutorial-like examples in documentations. Doc tests ensure that examples are always run when the code gets updated, which is better than the current separate examples/ dir.
I will start to move the examples to documentations, but in the mean time feel free to start your work!

That is great! Yes, I was planning to also provide with an example we can include in the documentation.
I may need some feedback on specific TaylorDiff or SciML generic styles, which I am happy to provide. All this to say that I am sure there will be changes to make to my original PR, which I am looking for ;)

Sure! Don't worry too much about styles at the beginning, we can definitely refine after examples are up and running.

Hi, I just moved an example from examples/ folder to documentation, which could serve as a reference for your example.
In addition, I also cleaned up a script https://github.com/JuliaDiff/TaylorDiff.jl/blob/main/examples/integration.jl which I initially wrote in the last year to demonstrate how to use TaylorDiff.jl to compute jet coefficients for Taylor integration. I didn't go further to make it fully functional, but you can use it as a starting point to implement your solver!

Doc example: https://juliadiff.org/TaylorDiff.jl/dev/examples/halley/

Chris mentioned to me today that you are working on a review paper that will use higher-order autodiff to show several things. Let me know if there's anything specific I can help. In addition, I will also prepare a paper on the implementation and applications of TaylorDiff.jl early next year, and by then we can also collaborate

Hi @tansongchen ! Sorry for the delay in response.
I will take a look at the documentation for the examples and PR with the same format, thank you so much for the references.
Yes, we wrote this review about differentiable programming for differential equations. We are not planning to include examples of Taylor AD here, although I will include a sentence with a reference to Taylor AD in the next iteration of the manuscript. This PR is not related to the review, rather I recently learned about Taylor AD and I was playing with the library for some other examples.
Very excited to see where this projects move and happy to be in touch in the future about for possible collaborations!


minor: Allow overwriting RUST_BACKTRACE for the server manually

Trying to figure out why we aren't getting backtraces for windows builds from CI, this let's one set the backtraces to FULL
Might be cc https://github.com/rust-lang/rust/issues/87481
bors r+

bors r+

bors r+


Add filters to productVariants query

I want to merge this change because adding filters to productVariants query

Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

Task linked: SALEOR-1253 Add SKU and name to Variants search


Editing developer URLs regression?

Open Eigen
Shake for the admin settings
Edit Metaphysics under "DEVELOPER" to point to a junk url
Reload the app
Everything still works and it appears Metaphysics is still pointing to production/staging

Could this be settings not carrying over into Emission?

I don't know if this is carried over to Emission, good q

Nope, that'd require some changes inside Emission - the bridge between them only has a "useStaging" flag, and so you can't DI in the URL from Eigen

Yeah we should probably get rid of the useStaging flag and just let the host app inject the URL to use.


Wrong .so file name for implicit package.

I'm using Python 3.5.3, Nuitka 0.6.0 in a venv environment on a linux machine.
There is only one file in my project and here is my project structure:
package_test/
    util.py

The content of package_test/util.py is
$ cat package_test/util.py
def add(a, b):
    return a + b

Since Python 3.3, __init__.py is not needed anymore for a package. I can import and run the code in util.py without any problems. e.g.
$ python -c 'from package_test.util import add; print(add(1,2))'
3

When I run Nuitka, here is what I get:
$ python -m nuitka --module package_test --include-package=package_test
Nuitka:WARNING:Recursed to package 'package_test' at '/home/leojay/test/py3test/src/package_test' twice.
$ ls -l -a
total 188
drwxr-xr-x 4 leojay leojay   4096 Sep 28 15:46 .
drwxr-xr-x 7 leojay leojay   4096 Sep 28 13:59 ..
drwxr-xr-x 3 leojay leojay   4096 Sep 28 15:46 .build
drwxr-xr-x 3 leojay leojay   4096 Sep 28 15:41 package_test
-rw-r--r-- 1 leojay leojay    673 Sep 28 15:46 .pyi
-rw-r--r-- 1 leojay leojay 170648 Sep 28 15:46 .so

You can see the .so file has no base name. The full name is just ".so", while I'm expecting package_test.so
And as long as I run touch package_test/__init__.py and run Nuitka again, I will get correct ".so" file name.
$ rm -rf .build/ .pyi .so
$ touch package_test/__init__.py
$ python -m nuitka --module package_test --include-package=package_test
Nuitka:WARNING:Recursed to package 'package_test' at '/home/leojay/test/py3test/src/package_test' twice.
$ ls -l -a
total 188
drwxr-xr-x 4 leojay leojay   4096 Sep 28 15:54 .
drwxr-xr-x 7 leojay leojay   4096 Sep 28 13:59 ..
drwxr-xr-x 3 leojay leojay   4096 Sep 28 15:49 package_test
drwxr-xr-x 3 leojay leojay   4096 Sep 28 15:54 package_test.build
-rw-r--r-- 1 leojay leojay    640 Sep 28 15:54 package_test.pyi
-rw-r--r-- 1 leojay leojay 170680 Sep 28 15:54 package_test.so

So I have 2 questions:

Can you please make Nuikta support the case where there is no __init__.py file in package?
Why the "Recursed to package twice" warning? How do I get rid of it?

Thanks!
Leo

Nice report, thank you. For these so called "name space packages" Nuitka only so far has been applied to ones inside programs or for sub-packages, but as you point out, that is wrong and easy to fix. I will include it in the <IP_ADDRESS> hotfix later this weekend.
Funnily the files become hidden due to the base name being empty. I imagine people could also easily have believed there was no output.
As for the warning, using the --include-package is a kludge and work-around until including the package becomes automatic, which in turn depends on adding name based variants. I expect it to be changed during the 0.6.x series eventually, by adding a --module-by-name and --module-by-filename distinction, after which the warning would actually be useful.
For the time being it's annoying and apparently disables you from using --nofollow-import-to.
Yours,
Kay

Released as part of <IP_ADDRESS>


How to use it ?

I created the tap
now how can I push input and read output ?
in example, if I have a serveur and a client, I've create a server, and both script can connect, now I can read data from one tap, and send it to the other ?

I readed the StreamAPI test unit, but there's no docs, I guess I have to use tap.pipe()/unpipe() and push/unshift, but how ?

I’ll give you an example in one week. If not, please ping me on next Monday. Sorry for late reply :D I’m overwhelmed these days
Get Outlook for iOShttps://aka.ms/o0ukef

From: thomas @.>
Sent: Tuesday, August 2, 2022 12:39:55 AM
To: PupilTong/node-tuntap2 @.>
Cc: Subscribed @.***>
Subject: Re: [PupilTong/node-tuntap2] How to use it ? (Issue #11)
I readed the StreamAPI test unit, but there's no docs, I guess I have to use tap.pipe()/unpipe() and push/unshift, but how ?
—
Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FPupilTong%2Fnode-tuntap2%2Fissues%2F11%23issuecomment-1201447903&data=05|01||3d5f24aed95b4fb0785f08da73dc77a5|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637949687983847988|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=mFc05mXnWNaTGU8yr793FcAltHmiLHRmoRVLUnC8Nmk%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAC5YDX7EGS5O4EFKEEXAPM3VW74VXANCNFSM55IFVRLQ&data=05|01||3d5f24aed95b4fb0785f08da73dc77a5|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637949687983847988|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=dcEGWAJuXG47d1EDvNY0el%2BQ1dfkxD6PNxtBq3RVR3E%3D&reserved=0.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

if you have another Stream, use pipe()
If not, use
tun.write
tun.once('data', ()=>{})
tun.on('data',()=>{})
Docs will be improved, Thanks!

More specified examples will be posted soon.

if you have another Stream, use pipe() If not, use tun.write tun.once('data', ()=>{})  tun.on('data',()=>{})
Docs will be improved, Thanks!

thanks I will try it :)

It worked, using to machin on different network, and net library, both are connecting, and I can ping each other with the specified ipv4
client (under net.connect):
    if(tap) {         client.on('data', (buf) => {             console.log(received: ${buf});             tap.write(buf);         });         tap.on('data', (buf) => {             console.log(sent: ${buf});             client.write(buf);         });     }
server (same, using net.connect):
    if(tap) {         c.on('data', (buf) => {             console.log(received: ${buf});             tap.write(buf);         });         tap.on('data', (buf) => {             console.log(sent: ${buf});             c.write(buf);         });     }

Is there fixed rule: one call to tap.write(buf); are one network package?

Is there fixed rule: one call to tap.write(buf); are one network package?

I think the answer is no. This is implemented under Stream API of Node.js. So I guess it is not promised behavior.

I think the answer is no. This is implemented under Stream API of Node.js. So I guess it is not promised behavior.

If so, can I send the write method twice to pass the datagram halves? How will tuntap2 know to glue it together and upload it to the network as signle frame?
I found simple Tun/Tap tutorial with simple example named "Tunells" which mappipng Tun/Tap device to TCP stream. Simple VPN. This example presents the same problem as tuntap2 - mapping sending and receiving a packet through a stream.  They solved the problem by wrapping the packet or datagram with a header containing its size.

Since the program usese TCP, the receiver will see a single stream of data, which makes recognizing packet boundaries difficult. So when a packet or frame is written to the network, its length is prepended (2 bytes) to the actual packet.
When data comes in from the network, thanks to the aforementioned trick, we can know how long the next packet is going to be by reading the two-bytes length that precedes it in the stream. When we've read the packet, we write it to the tun/tap interface descriptor, where it will be received by the kernel as coming "from the wire".

I think the answer is no. This is implemented under Stream API of Node.js. So I guess it is not promised behavior.

If so, can I send the write method twice to pass the datagram halves? How will tuntap2 know to glue it together and upload it to the network as signle frame?
I found simple Tun/Tap tutorial with simple example named "Tunells" which mappipng Tun/Tap device to TCP stream. Simple VPN. This example presents the same problem as tuntap2 - mapping sending and receiving a packet through a stream. They solved the problem by wrapping the packet or datagram with a header containing its size.

Since the program usese TCP, the receiver will see a single stream of data, which makes recognizing packet boundaries difficult. So when a packet or frame is written to the network, its length is prepended (2 bytes) to the actual packet.
When data comes in from the network, thanks to the aforementioned trick, we can know how long the next packet is going to be by reading the two-bytes length that precedes it in the stream. When we've read the packet, we write it to the tun/tap interface descriptor, where it will be received by the kernel as coming "from the wire".

I have a suspicion that tuntap2 is working because the datagram size (1500B) does not exceed the standard size of buffer in the Node stream (16kB).

I think it doesn't change anything about the behavior of the Node API. The tun/tap APIs in linux could just create a file descriptor and it could be used as a normal file on disk. So we just create the tun/tap fd and tell the NodeJS to read/write it

I think the answer is no. This is implemented under Stream API of Node.js. So I guess it is not promised behavior.

If so, can I send the write method twice to pass the datagram halves? How will tuntap2 know to glue it together and upload it to the network as signle frame?
I found simple Tun/Tap tutorial with simple example named "Tunells" which mappipng Tun/Tap device to TCP stream. Simple VPN. This example presents the same problem as tuntap2 - mapping sending and receiving a packet through a stream. They solved the problem by wrapping the packet or datagram with a header containing its size.

Since the program usese TCP, the receiver will see a single stream of data, which makes recognizing packet boundaries difficult. So when a packet or frame is written to the network, its length is prepended (2 bytes) to the actual packet.
When data comes in from the network, thanks to the aforementioned trick, we can know how long the next packet is going to be by reading the two-bytes length that precedes it in the stream. When we've read the packet, we write it to the tun/tap interface descriptor, where it will be received by the kernel as coming "from the wire".

I have a suspicion that tuntap2 is working because the datagram size (1500B) does not exceed the standard size of buffer in the Node stream (16kB).

I think it doesn't change anything about the behavior of the Node API. The tun/tap APIs in linux could just create a file descriptor and it could be used as a normal file on disk. So we just create the tun/tap fd and tell the NodeJS to read/write it


Support for segmented schemes

e.g. RVFV, Flu

Tiling segmented schemes are now supported in the unreleased v1a branch of primaschema through support for multiple ref chroms. Non tiling are not currently supported


Beta: Waypoint: Use Hex Code for Specific Colors - wording on 2nd checkpoint

Challenge http://beta.freecodecamp.com/challenges/waypoint-use-hex-code-for-specific-colors has an issue. Please describe how to reproduce it, and include links to screenshots if possible.
The 2nd checkpoint is missing the rest of the "example" when you first load the page.

After you change the background color value to #000000 then it updates the checkpoint wording:

The next Waypoint has the same issue: Waypoint: Use Hex Code to Color Elements White

Closing as stale, please reopen if this is still an issue for you


External Service for QR-Code that includes the secret code

Hello,
regarding QRCode::getQRCodeGoogleUrl. I don't think it is a good idea to use an external service for showing the qr code containing the secret key. Shouldn't this secret key be only in the hands of the one to be authenticated? If you use this method, also an external service gets this secret information.
A major security flaw imho.
Kind Regards

@apreiml, people should know it's better inline their QRCode themselves via bacon-qr-code or anything else, but you are right, to not inform this is security issue, so I just changed the way it works: user (developer) has now to authorise it by
$google2fa->setAllowInsecureCallToGoogleApis(true);

Before
$google2fa->getQRCodeGoogleUrl(
    'YourCompany',
    $user->email,
    $user->google2fa_secret
);

Otherwise it will throw an exception with the following message:
It's not secure to send secret keys to Google Apis, you have to explicitly allow it by calling $google2fa->setAllowInsecureCallToGoogleApis(true).

Tagged v3.0.0, since this is a huge breaking change.
Thanks for reporting it.

Hi!
Why can't I find methods getQRCodeGoogleUrl and setAllowInsecureCallToGoogleApis in the sources? I'm getting errors about absence if this methods and I indeed can't find them in this package
Thanks in advance!


Manual testing of updates React-table version 8

This ticket is related to the manual testing of updates React-table version 8
Process:
Environment set-up

[x]  install VScode
[x]  install npm with Node.js
[ ] install Yarn Windows;
[ ]  clone repo
[ ]  open repository as a project in VS Code and run yarn install from the Integrated Terminal
[ ] Run Tasks: Run Build Task or comand: yarn dev-server from the Terminal in VScode
[ ]  Start Debugging (F5) to open the Extension Development Host,
[ ] open the DVC project in the Extension Dev Host

On @Nataliia10 ' s PC yarn dev-server runs with failed to contact turbod. Continuing in standalone mode: connection to turbo daemon process failed.  alert (and then falls with OOM, not sure if related)

@shcheklein, problem with environment se-up in VScode.
Yarn installed,
while running command  yarn dv-server I get an error
sudo yarn dev-server
ERROR  run failed: We did not detect an in-use package manager for your project. Please set the "packageManager" property in your root package.json (https://nodejs.org/api/packages.html#packagemanager) or run npx @turbo/codemod add-package-manager in the root of your monorepo.
Turbo error: We did not detect an in-use package manager for your project. Please set the "packageManager" property in your root package.json (https://nodejs.org/api/packages.html#packagemanager) or run npx @turbo/codemod add-package-manager in the root of your monorepo.
https://www.loom.com/share/2333bc6458384fb8a4f60f379790f495

I think this requires a bit more info but I can confirm that the same issue was raised last time on PC. This time is Amazon Remote Desktop ubuntu, if I understood correctly

@iterative/vs-code any idea from the top of your head folks ^^?

What is the error here:

I think you want to run either the build task or the dev-server. Not both.

This is the issue: https://github.com/vercel/turbo/issues/707

@Nataliia10 can you please test https://github.com/iterative/vscode-dvc/pull/3244 and LMK if that works for you.

From this:

We run on Node v16.14.2 as this is the version of Node that VS Code/electron uses:

We also use v1 of Yarn.
This could be why you are seeing some of the issues that you are.


Circular Progress page fails

Great job, @MaximBalaganskiy!
Circular progress page fails on the examples site with the following error.
Uncaught (in promise) TypeError: Cannot read property 'toString' of undefined
    at MdcSlider.beforeFoundationCreated (mdc-slider.ts:117)
    at MdcSlider.attached (mdc-component.ts:22)

fixed via f957d8713eb404e3346fde458ddc434a399bd9ff


nodejs started from brackets not stable

Hi,
Recently I am using Bracket(OS X version 1.6) to edit and run my nodejs program as it's really a nice tool.
However last week I found if I launched my nodejs program via Bracket, then did some frequent access to my nodejs program(server), it would exit abnormally in short time for unknown reason ('Program exited with status code of null.'), but if I ran my nodeJS program under terminal, it could run very well.
Is it possible because the stack size Bracket is using is a bit too small or something else.
Cheers
Zander

Would it be possible to show the source of the program you are running? The Node used by Brackets currently is quite old (0.10 IIRC), it might be that the programming is running into a fatal error that it does not know how to handle.

I assume you tried launching it with sudo/admin?

@petetnt,  it's hard to put my code here since it also connects a database, to reproduce it also need a android app, too complicated to reproduce it for you. Bracket uses the Node installed on OS( mine is OS X ), doesn't it?
@ev1stensberg, I didn't use sudo to run it, no matter in Bracket or terminal.

@zanderhsu Nope, Brackets uses it's own Node executable. See https://github.com/adobe/brackets/wiki/Brackets-Node-Process:-Overview-for-Developers for more information.
There's an PR on brackets-shell repo active for updating the node version to the latest LTS version https://github.com/adobe/brackets-shell/pull/543
You could try installing the 0.10 version with https://github.com/creationix/nvm for example and see if your program exits abruptly on that version too.

@petetnt
Thanks for your information.
But Bracket has provided the configuration UI for node.js, you can refere to my screenshot

@zanderhsu Oh I see, you are using https://github.com/Acconut/brackets-nodejs-extension. You should most likely re-report this issue to the extension repo instead.

Closing as extension isssue.
Please report this to https://github.com/Acconut/brackets-nodejs-extension


is it possible to represent Organizational tree

Is it possible to make this appear similar to Organizational tree structure some thing like (https://github.com/caprica/jquery-orgchart)

Please refer all questions of this nature to our Gitter channel
https://gitter.im/angular-ui-tree/angular-ui-tree


Pretty-print HIR

Right now debugging the HIR is somewhat painful, there is no way to easily print symbols in a scope, and even printing a single symbol can be a hassle due to all references being indexes.

The Rhai panel is a great help.  However, desperately need a popup menu item "Go to Panel" which just jumps to the relevant node in the syntax tree in the panel.

For reference, it is now also possible to dump the HIR via a vscode command.
I've already fixed a bug this way.


change $Type in &Properies by condition.

Hi, I need replace Date type in C# to string type in Typescript, something like this:
$Classes(ReservationApiModel)[
    interface $Name { $Properties[
        if($Type == Date){
            $name: string;
        }else{
            $name: $Type;
        }
    ]}
]

how can I do it?

Hi @radziksh
You can use $IsDate[true template][false template] e.g.
...
$Properties[
$name: $Type[$IsDate[string][$Name]];
]
...

@frhagn, thank you, it works.

@frhagn I didn't know about this feature. This will let me get rid of a bunch of helpers for things like moment. Thanks!


Refactor presentation MVP presenters and views

@tmingos Thank you for the positive feedback about my refactoring! I really appreciate this.
About your question:
Thanks for pointing this. Yes, sure, it should be
public abstract class BaseFragment<PRESENTER extends Presenter, VIEW extends View> extends Fragment {
I have updated my pull request with your suggestion. Thanks again.
BTW: now I doubt a bit if BaseFragment (as an implementation if a View) should have a reference to Presenter at all.
So how I would change it? I would divide View into 2 interfaces: ViewInput and ViewOutput.
BaseFragment would implement ViewInput and has a reference to ViewOutput (instead of a reference to Presenter). And Presenter would implement ViewOutput (by the other words, view will delegate all actions to Presenter, e.g: onViewCreated, onButtonCliecked).

Very cool refactoring, using MVP in this way makes more sens.
What I don't really like about MVP in android is that the presenter holds a reference to the view and views in android have a lifecycle, I had separated this via a contract, very similar to the implementation discussed in this article<EMAIL_ADDRESS>


TypeError: 'dict' object is not callable

      7 mel = mel_spectrogram_torch(wav, 2048, 256, 48000, 512, 2048, 0, None, False)
      8 mel = mel.cuda()
----> 9 out = hifigan(mel)
     10
     11 wav_out = out.squeeze(0).cpu()

TypeError: 'dict' object is not callable

Also, I get this error when trying to just load your model from hub:
Using cache found in /root/.cache/torch/hub/vtuber-plan_hifi-gan_main
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
[<ipython-input-31-3ed915ea688c>](https://localhost:8080/#) in <module>
      1 import torch, torchaudio
      2 from hifigan.mel_processing import mel_spectrogram_torch
----> 3 hifigan = torch.hub.load("vtuber-plan/hifi-gan:main", "hifigan_48k")
      4 wav, sr = torchaudio.load("rec.wav")
      5 assert sr == 48000

3 frames
[/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py](https://localhost:8080/#) in load_state_dict(self, state_dict, strict)
   1603         if len(error_msgs) > 0:
   1604             raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
-> 1605                                self.__class__.__name__, "\n\t".join(error_msgs)))
   1606         return _IncompatibleKeys(missing_keys, unexpected_keys)
   1607

RuntimeError: Error(s) in loading state_dict for Generator:
	size mismatch for conv_pre.weight: copying a param with shape torch.Size([512, 256, 7]) from checkpoint, the shape in current model is torch.Size([512, 128, 7]).

Hi @dillfrescott , the main brach is still under development, we'll let you know when we release an available version.

Oh, okay!

okay!

Quick question. Could I use this for singing voice conversion?

We did take the singing voice conversion task into account, so a part of training dataset are singing voice, such as JSUT-Song and RAVDESS-Song. It is possible to put it into a singing voice conversion model. In future versions, we may add more singing data to fit the task better.

This repository is the code of vocoder, the singing voice conversion model is in the vcvits repository and the model is still in development.

Oh okay


Update code samples to work with PnP.PowerShell version 1.11.0

Please use this template to ensure easier processing of your pull request
Category

[x] Content fix
[ ] New article

Related issues

fixes #687

Contents of the Pull Request
Update code samples to work with PnP.PowerShell version 1.11.0

Docs Build status updates of commit 6f7de5c:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: PullRequestMergeConflict] Cannot sync git repo to specified state. Please make sure the pull request is mergeable.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Hi @sympmarc, I'm having some issue with this PR, not sure how to fix this, could you please have a look whenever you have the time, cheeers.. :)

@JimmyHang - I put a fix in for #679 yesterday. While I was in there, I made all the alt-tags unique and fixed a couple other things, too.
Maybe your fork isn't up to date?

I think I got it fixed. Maybe just take a quick check if you have time?

Docs Build status updates of commit 23f8914:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Community/working-with-modern-clientside-pages-using-pnp-powershell.md
:white_check_mark:Succeeded
View

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


when attempting to access with Partner type

it returns below errors:
ContextErrorException: Notice: Undefined index: signed_url
looking at a line 264: you will see CURLOPT_URL => $this->sign['signed_url'],
where is the sign['signed_url'] from?????
think it's not implemented yet huh?

The best place to get support on implementing is the Xero forums https://community.xero.com/developer/topic/16971/


Build(deps-dev): Bump @storybook/react from 6.4.15 to 6.4.18 (#2662)

Pull request opened by the merge tool on behalf of #2662

Merged in 7afcc0cb91b882eddb6409d04d5df62baddc25bd


Consider reimplement securesystemslib/formats.py in Go

Hey! Just thinking about how we can use the Python implementation of securesystemslib/formats.py in Go. It has a really cool scheme and object validations, so I thought we can use similar functions in Go implementation as a library. I'm not sure whether worth to implement whole thing, so we dropped this issue to further discuss!
If it makes sense, we can give a hand with @developer-guy!

Hi @Dentrax  some of these models/formats are already implemented in the in-toto-golang codebase: https://github.com/in-toto/in-toto-golang/blob/master/in_toto/verifylib.go
I don't know if it would make sense to move this library to the securesystemslib. Opinions @SantiagoTorres @adityasaky ?

IMO, it probably makes sense to analyze in-toto-golang and go-tuf to see what commonalities we can offload here rather than reimplementing everything in py-sslib. cc @mnm678 as well

Note we opted not to utilise securesystemlib's formats facility in new python-tuf code because it has several well documented (hat-tip @lukpueh) flaws https://github.com/secure-systems-lab/securesystemslib/issues/183 including a fairly noticeable performance impact (>5% execution time spent in verifying formats).


Exploration: Improve User Experience when checking the pipeline logs for long running pipelines

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1431
Originally created by @iroussos on 2019-12-11 21:11:57

This was a UX issue that was reported during the call in meltano/account-management#1
Where: https://holloway.meltanodata.com/
When: After first pipeline run and the pipeline log opened.
The job was taking more than a couple minutes to run, but the user reported that he was not sure what he should do:

Can he close the log window? (i.e. press the X)

Accounted for in https://gitlab.com/meltano/meltano/merge_requests/1255

Will closing the window cancel the job? --> He was afraid that it will

Accounted for in https://gitlab.com/meltano/meltano/merge_requests/1255

After closing the window, is there something else that he should do? Or just wait?

We are missing some guidance during the time a pipeline runs and the user has to wait for it to finish.
Anecdotal evidence: I have seen other users also reporting the log view as confusing.

View 18 previous comments from the original issue on GitLab


MacOS Support?

Hey, I have been wanting to install this on macOS forever but no luck. Any update on whether or not mac is supported??

you want this https://github.com/denBot/BetterDiscordOSXInstaller

Inve1951. It installs fine but discord doesn't open after. It crashes

what error do you get?

@DevilsLynAvenged https://i.imgur.com/SWoMej3.png

https://www.dropbox.com/s/auxfr9q2fjizt6g/Discord.zip?dl=0 get the zip from here and extract it and try the app and see if it works

and make sure it's in the application folder

the serverlist feature is broken, it's a known issue.


Get done with my backglog of communities before the announcement.

Just adding this issue to not forget about that.

I don't feel like this issue is relevant anymore. We will announce it once it's more established under the hood.


augment svcat deregister to work with namespace scoped brokers

svcat deregister only deregisters cluster service brokers.  It should support --scope and --namespace to deregister service brokers as well.

dup of #2345


Resolve dependencies for Dio v5

The current version of awesome Dio interceptors isn't resolvable with Dio v5.
Please would be nice if a dependency update is made. Thanks.

Hello @levi956 thanks for opening the issue,
I've updated the package in order to meet the latest changes, now awesome_dio_interceptor supports Dio v5.x.x.
I'm gonna be closing the issue but feel free to reopen it or open new one if you find anything wrong!
And consider supporting me by giving the repo a start ⭐, it would mean a lot!

Thank you.


Feature Addition: Add Cursor Trail Effect To Look More Artistic

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Hey @singodiyashubham87
I would like to enhance the user experience on the "Draw it Out" website by adding an artistic trail effect to the cursor. This feature will make the website more engaging and visually appealing, aligning with its theme of canvas drawing.
I will make sure:

It is smooth without lag.
Aesthetically pleasing
The trail effect does not interfere with other interactive elements on the page.
It does not irritate to users instead it will be fun to play with!

Like This:
https://github.com/singodiyashubham87/Draw-it-out/assets/101971980/97bbc57e-3051-492f-89fe-2717a41a64a0
Use Case

The trail effect will provide a more interactive and artistic feel to the cursor, which fits the creative nature of the "Draw it Out" website.

Benefits
No response
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[ ] I'm a SSOC'24 contributor
[X] I want to work on this issue

@MastanSayyad The trail will hinder the drawing area, how will you handle that?

@singodiyashubham87 simply by automatically hiding the trail effect whenever put on the canvas
The trail effect will only show outside canvas, while drawing it will not hinder any part

I can try it by putting some logics and conditions

@MastanSayyad Okay, Proceed. Remember to use the app theme & not the pink color.

Yes, I'll make sure it follows website's design theme


Create Footer

Summary
Creates the footer in a somewhat responsive way.
Closes #156
Changes

Add social icon components to assets folder
Add footer logic

Screenshots

hmm im not sure react is the best choice for this PR. would u mind rewriting in rust?

I apologize you are right.

...

@ajain1921 I have addressed your changes

@ajain1921 I have addressed your changes

LOL WHAT???  WHY DID THIS SUCCESSFULLY DEPLOY? SO MANY QUESTIONS...


Mock sdk clients bundletests

Description of changes:
The diff will look much smaller once #221  is merged. Had to fork off of that branch instead of main for the mocks/restructure to work correctly.
This is last batch of tests mocked out correctly, so now a go test will fully pass.

/hold

/unhold

Git is so bad at tracking this stuff >.< going to close and re-open.


Dedup attribute names using an IndexSet

This could be a first step towards what we discussed in #73 but things are ... complicated.
This alone does improve the memory consumption for the greater_london.osm file from 7.8 GB to 6.3 GB.
However, using the default configuration of the indexmap crate, performance is significantly degraded and more importantly fluctuates widely depending on the randomly chosen SipHash key, e.g. for a particular run I get
> cargo benchcmp master dedup-attrs
 name              master ns/iter  dedup-attrs ns/iter  diff ns/iter  diff %  speedup
 large_roxmltree   3,548,058       4,118,748                 570,690  16.08%   x 0.86
 medium_roxmltree  775,340         987,012                   211,672  27.30%   x 0.79
 tiny_roxmltree    4,987           5,611                         624  12.51%   x 0.89

but I also get runs which measurably faster or slower (which I do not get on the main branch with CPU frequency boost disabled and using the performance CPU governor).
When I use the ahash crate to replace SipHash by AHash, things look somewhat better, especially for the large test case:
> cargo benchcmp master dedup-attrs-ahash
 name              master ns/iter  dedup-attrs-ahash ns/iter  diff ns/iter  diff %  speedup
 large_roxmltree   3,548,058       3,653,333                       105,275   2.97%   x 0.97
 medium_roxmltree  775,340         924,645                         149,305  19.26%   x 0.84
 tiny_roxmltree    4,987           5,569                               582  11.67%   x 0.90

But while this still enables no_std builds, it somewhat complicates the MSRV build...

Having written this code, but taking a step back, I think we should not do this. Personally, I think its simplicity is one of the main selling points of roxmltree and this makes things significantly more complicated (especially in the software engineering department, i.e. managing dependencies and their configuration) while also slowing down the typical use case of small files (which is actually the use I am personally interested in).

Looks like we had a lot of the same ideas: https://github.com/RazrFalcon/roxmltree/pull/75

Two new dependencies? And such a big one as indexmap? No-no-no. This crate should stay dependency free.
Also, the MSRV hack is too much.
As you have said, this crate is all about simplicity. Well, except inherited complexity thanks to XML itself.

Two new dependencies? And such a big one as indexmap? No-no-no. This crate should stay dependency free.

Fair enough.


Makefile is sometimes strange

Today Makefile was recompiling every time. I think it has something to do with dependency generation. Couldn't find out what was wrong; now it works again

What? 😂
Shouldn't this be connected with the rule which is called by make and whether or not it finds the corresponding target in the dir, e.g. make calls 'all'. 'all' has the target 'minishell' and if there is already an executable named minishell present in the dir, make will stop.

Yeah that would be nice :D I can't reproduce it right now, but when I ran make several times it always recompiled (even though nothing had changed).
I think the problem are the dependency files: if they are newer than the object files, the object files get recreated which also recreates the dependency files resulting in a loop. (this is also mentioned in the link explaining the dependency generation). But: then it should always happen and right now everything seems fine.
If we are scared we could remove the dependencies but I would leave them for now :dancing_women:
Also: for the dependencies to work we shouldn't use one big header file. Then the dependencies are not as effective since a change in the big header would result in recompilation of all objects (since they all depend on it). Ima try to split these up.

I might have something to do with the compiler verison used at school. New clang has no problems but maybe school doesn't get it.


Add Code for Binary Search

@Ritik-7 add a description if necessary here that can include links for binary search or some other details


pipline example added

Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

This example is with respect to the 2nd point in #377 issue.
The example consists of two programs:

binary-to-ascii: converts ascii input to binary output
longest-subarray: reads the binary output to find the longest subarrays: 1. alternating(0101) 2. zeroes(000) 3. ones(111)

I know there can be many errors in this, and I will work on each of them. This is to start the process of learning this type of examples.

I will fix the first commit, it seems that it isn't verified somehow, and I've also added Cargo.lock files. Really sorry for this!!

@AryanGodara what is the interest in finding longest subarrays in the sense described above?  Is there a concrete use-case for that?

@AryanGodara what is the interest in finding longest subarrays in the sense described above? Is there a concrete use-case for that?

There isn't exactly a use case for this, it's just that this is a way to combine the output of the huffman_encoding program (which gives a long string of 0s and 1s), and performing operations on it, to obtain a new result.
This is with reference to Issue #377 Add more examples.
Pipeline examples. This will be similar to the Linux pipeline command1 | command2 | command3. In the Veracruz content, the first program, prog_1, writes the result to a file, e.g., result_1.dat and the second program prog_2 reads the previous result in result_1.dat and then writes the new result to, e.g., result_2.dat and so on. In this setting, the WASM programs may be compiled from different source languages such as a combination of Rust and C.

I will later make changes to this same PR, as I learn more.
Like adding one more program. Or using both C and Rust.

But there are a few issues with this code, some corner cases, and unnecessary comments. Which I'm just about to fix!

@AryanGodara what is the interest in finding longest subarrays in the sense described above? Is there a concrete use-case for that?

There isn't exactly a use case for this, it's just that this is a way to combine the output of the huffman_encoding program (which gives a long string of 0s and 1s), and performing operations on it, to obtain a new result.
This is with reference to Issue #377 Add more examples.
Pipeline examples. This will be similar to the Linux pipeline command1 | command2 | command3. In the Veracruz content, the first program, prog_1, writes the result to a file, e.g., result_1.dat and the second program prog_2 reads the previous result in result_1.dat and then writes the new result to, e.g., result_2.dat and so on. In this setting, the WASM programs may be compiled from different source languages such as a combination of Rust and C.

I will later make changes to this same PR, as I learn more. Like adding one more program. Or using both C and Rust.

Ok, but I think we should try to ensure that our examples correspond to plausible potential use-cases for Veracruz and are not confected.  Here's a potentially more interesting example of where pipelines may be used in Veracruz, for example:

The first program, anonymise, takes as input a CSV file containing data to be used for machine learning, and anonymises the data that it contains, maybe using differential privacy or k-anonymity.
The second program, learn, applies some machine learning algorithm to the anonymised data.

Wow, this is advanced for me!😅
Can I take some time for this one, like 1-2 weeks?
I have almost 0 experience with Machine learning, and I'll most probably have to use rust to make it work with wasm.
This will be a challenge and a great learning opportunity! I will get started with it in a day or two (I'm about to dual boot ubuntu since Windows is not at all reliable when working with Veracruz, haha). So it'll take some time to set it up, get familiar with it, and set up my workspace again!
Thank you @dominic-mulligan-arm for giving such an awesome suggestion!!

Wow, this is advanced for me!😅 Can I take some time for this one, like 2-3 weeks? (I also have a few labs in college this month😅) I have almost 0 experience with Machine learning, and I'll most probably have to use rust to make it work with wasm.
This will be a challenge and a great learning opportunity! I will get started with it in a day or two (I'm about to dual boot ubuntu since Windows is not at all reliable when working with Veracruz, haha). So it'll take some time to set it up, get familiar with it, and set up my workspace again!
Thank you @dominic-mulligan-arm for giving such an awesome suggestion!!

@AryanGodara I don't think you need to develop the ML algorithm yourself, you can use a library like rusty_machine (see e.g., the linear-regression example in rust-examples).

(Though I will close this PR as I don't believe it's a useful example for us to include.)

Ohh, that's a relief

(Though I will close this PR as I don't believe it's a useful example for us to include.)

Yes, I understand.
I'll work on the more relevant topic that you suggested. Thank you for helping me out!!


add sql as possible driver for kvs and vault

This PR allows the user to select a golang/sql compatible driver for the vault and key/valuestore as an alternative to Badger.
Reasons to do that may include:

Using a managed database for high availability, failover and backups with very little overhead
Having a stateless instance of the Fabric Smart Client with no filesystem writes and an external database
The ability to inspect stored data using standard tooling
Compliance to organization policies

The driver has been tested with the following sql drivers:

SQLite: (pure go): https://modernc.org/sqlite
Postgres (pure Go): https://github.com/lib/pq

Note that for SQLite it's recommended to add a pragma to prevent BUSY_TIMEOUT errors, e.g. file:/var/fsc/data/fsc.sqlite?_pragma=busy_timeout(5000).

@adecaro @alexandrosfilios Can you guys please have a look at this one. Thanks

It could be interesting to discuss here the following topic: Both the KVS and the Vault are key-value based stores.
Aren't there key-value stores that met all the requirements that @arner required?

It could be interesting to discuss here the following topic: Both the KVS and the Vault are key-value based stores. Aren't there key-value stores that met all the requirements that @arner specified?

Ok I created this PR to just make it easy for a Token SDK user to connect to the same database for FSC. So forgive me if I take it too far now, but... Now that I can see the data in a viewer I noticed that the data stored in VersionedPersistence and SimpleTxIDStore is (or can be) quite structured:
Write (from a read/write set)

namespace
block
indexInBlock
value
metadata (key/val)
version

Transaction

id (auto incrementing counter)
txid
status (Valid, Invalid, Busy, Unknown, HasDependencies)

Depending on how they're used they could be stored in a single table or linked via a txid. Transient maps and envelopes are stored in the 'Unversioned' KVS but are closer to this and can be linked 1:1 to a Transaction. Besides transientMaps and envelopes the KVS also stores signers and identities, which are also be more relational by nature than I initially thought. It seems we have something like this:
Endpoint

id
ephemeral (bytes, public key)
public key (bytes)
addresses (see below)

Endpoint address

endpoint id
portname (Listen, View, P2P)
address

Signer

id (e.g. "bob" if it's an owner)
ephemeral key
(or something like that)

Endpoint binding

signer
endpoint

This does not mean an RDBMS is necessarily a better fit and I don't know if it's worth the effort, but you could argue that normalizing the data model (and optimizing the code for that...) could improve simplicity and clarity a lot.


Perform insensitive string compare of cookie SameSite attribute

@omarmohamedkh ，Thanks so much for your patch.
However, there is still room for optimization in terms of performance, as the compared side is a constant string. It can be directly written in lowercase (e.g. "lax","strict", etc. ) without needing to invoke the tolower method.

Sure, I have fixed it.


Add delete by func

I really like otter, but what do miss (in comparison to ristretto for example) is something similar to a tag option. I need it sometimes to invalidate a part of the cache, and an easy option (in my opinion at least) to implement this would be to add a function to delete a part of the the cache depending on a function.
This would go along something like this:
// DeleteByFunc removes the association for this key from the cache if the selectFunc returns true.
func (bs baseCache[K, V]) DeleteByFunc(selectFunc func(key K, value V) bool) {
	// aggregate all keys to delete
	keysToDelete := make([]K, 0)
	bs.Range(func(key K, value V) bool {
		if selectFunc(key, value) {
	            keysToDelete = append(keysToDelete, key)
        	}
	        return true
	})

	for _, key := range keysToDelete {
        	bs.Delete(key)
	}
}

You probably need a mutex, but the general idea should be clear.
Any additional ideas are appreciated.

This could also be implemented more efficiently, but it probably doesn't make much sense given the very infrequent use of this operation.

Oh, it would be cool to get a link to a similar function in ristretto, because I couldn't find anything like that. :( This feature does look useful though.

I use GoCache on top of Ristretto. The use case is pretty specific - I cache read only objects in memory in order to speed up deserialization from DB. One nice feature of GoCache is the ability to invalidate multiple cached objects using tags, like described here:
https://github.com/eko/gocache?tab=readme-ov-file#cache-invalidation-using-tags
The actual code for Ristretto sits in https://github.com/eko/gocache/blob/master/store/ristretto/ristretto.go - the approach is simple enough (and a bit naive): Aggregate the cache keys and delete them one by one.

In the code above I was thinking about a similar possibility to simulate this. Mostly, I can traverse a cache object list and delete objects according to a specific pattern or criterium (like a field value). This would be pretty straightforward, although the whole thing has a few issues with concurrencies, but these are the same as in the implementation of GoCache.

An example to get the idea what I am thinking about:
type ExampleObject struct {
	Id             string
	ToDelete bool
}

//...

var exampleCache otter.Cache[string, ExampleObject] // cache key is Id of object

//...

exampleCache.DeleteByFunc(func(key string, value ExampleObject) bool {
	return value.ToDelete
})

Something along this line.

Hmm, that's still more like what the wrapper should implement.
It's not exactly what gocache does, its implementation could be much more efficient, but it does something very unpleasant in terms of allocations.
Ok, I'll add this feature, especially since it could close some other user requests as well, but if you really want something efficient in a case like this, it's better to do it on the wrapper side.
P.S. I have a suspicion that this solution would work even better than what gocache does, because the constant strings.Split and append look like a real pain.

P.S. I have a suspicion that this solution would work even better than what gocache does, because the constant strings.Split and append look like a real pain.

Thanks so much! And yes, I was quite shocked to see this yesterday 😸 Never had a closer look into the tag code yet.

Does your implementation delete the mapping even if it was changed by a concurrent write? If so you might make it conditional or document that behavior as a caveat. (Here is a Java version if that helps any)

I decided to put it off for now (I shouldn't have 🙂), but it looks like a special effect of using RCU. Caffeine on the other hand is saved by using get + synchronized on updates.
Elsewhere otter uses node deletion to protect against this, so let's do the same here.
But the good news is that the Range implementation turned out to be smarter than I thought and it is finally possible to implement this function without keysToDelete.

Furiously wonders how Ben has time to review pull requests and issues in many repos...😁

I was super exhausted last night and went to bed early, then unfortunately woke up at 4am...

Ok, now the function implementation should be robust, if you know how to break its behavior now, then write.

Looks cool - I will test it and report if I find any issues.


Correct URL for project license

Current URL results in 404. Updated to correct license.

Current coverage is 31.71% (diff: 100%)

Merging #20 into master will not change coverage

@@             master        #20   diff @@
==========================================
  Files            33         33
  Lines           413        413
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            131        131
  Misses          282        282
  Partials          0          0

Powered by Codecov. Last update e8f11db...6387858


Assign static IP to replicas in statefulset

Hello
I have a statefulset with 3 replicas and would like to assign a different static address to each of the pods that are created.
I am successful in a single pod configuration to assign an IP, is there a way to specifiy a different static to each replica pod? Currently the below config will add the same IP and MAC to all the replicas
spec:
serviceName: my-app
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
annotations:
#k8s.v1.cni.cncf.io/networks: macvlan-conf
k8s.v1.cni.cncf.io/networks: '[{ "name": "conf-static", "ips": [ "<IP_ADDRESS>/24" ], "mac": "00:01:02:03:04:05", "gateway": "<IP_ADDRESS>" }]'
Or should/can I do from a configmap
multus-cni version:v3.6
Any guidanace would be appreciated, or is it a silly idea.
Thanks

Static CNI is for assigning the address to one pod, unfortunately.
You might consider Whereabouts IPAM CNI to assign addresses within a range to each item in the replicaset: https://github.com/dougbtv/whereabouts


Design the structure of the priority queue

[x] Checkout the design from priority queue crate
[ ] Design the storage for the internal structure
[ ] Test the functionality

From garro95/priority-queue:

The store of the internal data is hold by Store, which contains the following:

map: A IndexMap from the indexmap crate
heap: A Vec<usize> which is a binary heap for the heap sort
qp: Position <-> Index
size: size of heap

We may directly make use of Pool from sharded-slab to achieve lock-free access for the interior structures.

Another simple way is to wrap the current PriorityQueue with AtomicCell from crossbeam and enclose it with Pool.
May try this out first before we start to implement.

Third option is use locks. Mutex from parking_lot have fair unlock which may achieve the same performance compare to the lock-free solution.

Currently implemented the HybridScheduler for a eclectic solution


Run prettier, tsc, tests on PR for /next build in GitHub Actions

Make sure the /next build is given the prettier, tsc, tests sanity check on PR

Complete, Thx @hunterckx


Public API to get EnvironmentInfo for a compiler

At numpy, we have used the following to locate the "redist" directory so that we can copy DLLs into our wheel. However, the code is quite fragile. It would be better if setuptools would provide a public API that would allow us to get an instance of environmentinfo for an MSVCCompiler object.
# Defer import of setuptools to avoid
 +            # runtime effects when not needed
 +            from setuptools import msvc
 +
 +            # Initialize to get compiler.cc
 +            if not self.compiler.initialized:
 +                self.compiler.initialize()
 +
 +            # The 'bin' directory
 +            # Paths on windows are not case-sensitive
 +            VCTools = os.path.normcase(
 +                os.path.dirname(self.compiler.cc))
 +            PLAT_TO_VCVARS = {
 +                'win32' : 'x86',
 +                'win-amd64' : 'x86_amd64',
 +            }
 +
 +            print('Trying to find MSVC version for: ' + VCTools)
 +            # I attempt to avoid implementation
 +            # details as much as possible. Hopefully
 +            # this will work some time before
 +            # needing adjustment.
 +            ei = msvc.EnvironmentInfo(
 +                PLAT_TO_VCVARS[get_platform()])
 +            for version in list(ei.si.find_available_vc_vers()):
 +                ei = msvc.EnvironmentInfo(
 +                    PLAT_TO_VCVARS[get_platform()],
 +                    vc_ver=version)
 +                print('Trying version: ' + str(version))
 +                directories = [
 +                    os.path.normcase(d) for d in ei.VCTools
 +                ]
 +                directories += [
 +                    d.replace('x86_amd64', 'amd64')
 +                    for d in list(directories)
 +                ]
 +                for directory in directories:
 +                    print('Trying: ' + directory)
 +                    if directory == VCTools:
 +                        break
 +                else:
 +                    continue
 +                break
 +            else:
 +                raise ValueError('Unable to find a'
 +                                 'matching MSVC version')
 +
 +            redist_dir = os.path.dirname(
 +                ei.VCRuntimeRedist)

@jaraco Are you open to this and if so, where should it go?


Fix typo for a table name in docs

Describe the bug
The table name should be aws_vpc_security_group_rule instead of aws_ec2_security_group_rule
Additional context
https://steampipe.io/docs

@debabrat-git Closing this issue as it needs to be raised in the steampipe.io repo? Plugin related docs that show up on hub.steampipe.io can be fixed here, but content on steampipe.io is managed separately.


Add Material design 2 example

I try to use your template, and change the ng2-bootstrap with the material2 but I always get an error. Can you add the sample for material2

Sure, not a problem.
I wasn't sure whether to go bootstrap or material for the Starter, but I can showcase how to set that up. There's a few gotchas with Universal & Material.

Also, how are you setting it up now, and what is the error you're getting?

So it looks like Material2 doesn't work with Universal or Webworkers at the moment, they're still in Alpha so I'm not sure exactly when we'll be in sync, so we'll have to delay that Integration unfortunately!

You can just remove the asp-prerender tags in Views/Home/Index.cshtml to disable it.
https://github.com/MarkPieszak/aspnetcore-angular2-universal/blob/master/Views/Home/Index.cshtml#L5-L6

We are trying to use your template with Material2 as well. Waiting for the example app.

Hey @mahbub-a-rob, I spoke with a few Material devs the other day and it's on their priority list especially for their 1.0 release but at this moment it doesn't work right out of the box. I believe there might be some very hacks ways to get Material to work when server rendering, but they would keep changing release to release. :(
For the time being, would it be fine to shut off server side rendering and use Material? That way you could at least get going with the App itself, while the Universal integration gets finalized for it.

Waiting on https://github.com/angular/material2/issues/308

Hey, @MarkPieszak, yeah, sure, as we have no other option right now. In that case, I guess, it would be better to provide an example for the users on "How to use Material2 in this app" until we get the facility with server side rendering.

Good idea, I'll add a section to the readme to point it out! @Mahbub-A-Rob

Added the note! I'll close this out for now. I'll let you know when Material gets full Universal support 👍

@Mahbub-A-Rob Here's a hack/workaround to get Material up and running with Universal in the meantime, if you still needed it: https://github.com/angular/material2/issues/308#issuecomment-275361791
Putting it here in case others need it as well.

@MarkPieszak Thank you for the link. I will check it out.

We're about to release ng4 in March sometime, so hopefully after that Material can make the necessary changes and will be able to work without any problems at all 👍

Eagerly waiting for ng4.

It seem that material 2.0.0 stable version would fully support the angular/platform-server

So what can be done now (with Ng 5 + NgMaterial 2 or 5)? 😃


Shutdown button reboots instead of powers the device off

This is fixed in 3b2ead9c5ff9ad562a6ae575a5ed5bd54f56b6e4 for devices that support powering off.


New Feature: No Activity Summary

Has a view/sends a list with items that have not been viewed at all within x amount days

Additional feature, sends a list of users with no activity within x amount of days (Eg. 6 months)


model: Connecting to DBs that don't contain tables that are in the model should not be an error.

https://github.com/ovn-org/libovsdb/blob/e29d8bd57b4a0590ec63a622e2c2f2533e274db6/model/model.go#L78
This should probably logged as a warning (at most) and the table should optionally be removed from the model.  Otherwise it breaks all upgrade scenarios in which clients are upgraded before the database.  Even worse, the client might have an external way of checking if a table actually exists on the remote server (e.g., run an ovn-nbctl list <table> command), and adapt its execution based on that information, completely avoiding to use the nonexistent table.
An example of such a scenario can be found here; the client fails to validate the schema every time it connects to a remote server, crash loops, even though it's perfectly able to function when the table is missing on the server side:
F1004 16:31:22.456301      34 ovnkube.go:131] error when trying to initialize libovsdb NB client: failed to connect to tcp:<IP_ADDRESS>:6641: database OVN_Northbound validation error (3): Mapper Error. Object type nbdb.LogicalRouter contains field LoadBalancerGroup ([]string) ovs tag load_balancer_group: Column does not exist in schema. database model contains a model for table Load_Balancer_Group that does not exist in schema. Mapper Error. Object type nbdb.LogicalSwitch contains field LoadBalancerGroup ([]string) ovs tag load_balancer_group: Column does not exist in schema

CC: @amorenoz

@dave-tucker

We added that verification because the error handling later on was more complicated.
For missing tables we can remove the table from the model and warn. All API calls with that model will return a ErrWrongType. I'd say we should return a specific error type so clients can handle this case easier.
Should we also handle other types of discrepancies more robustly?, e.g: extra/missing/different column?
the mapper.Info is built using the column object and having less fields (columns) on models is supported from day 0, so in theory (not looked at code), we should be able to ignore problematic columns....

Even worse, the client might have an external way of checking if a table actually exists on the remote server (e.g., run an ovn-nbctl list table command), and adapt its execution based on that information, completely avoiding to use the nonexistent table.

That's precisely the sort of scenario we wrote this library to avoid - why use ovn-nbctl and libovsdb together :thinking:

We added that verification because the error handling later on was more complicated. But now that the library is more mature we can relax this.

I agree with Adrian here, but we need to do this thoughtfully.
The intended way for supporting two different versions of a schema was to let the library user handle it.
Specifically one of:

Create your own DatabaseModel with just the tables/columns you care about and ignore others
Update your database first, then update your clients with the new schema
Use modelgen to generate bindings for all versions you plan to support, update your clients (with error handling so you can speak old and new schema), then update your server

If we're relaxing verification, we'll need to be clear on what the compatibility guarantees are and for how long they are valid
Backwards only (i.e db is older than schema) or Forwards only (i.e db is newer than schema) or both.
Is that something that is just for an upgrade period? or could it be in place longer term?

For missing tables we can remove the table from the model and warn. All API calls with that model will return a ErrWrongType.

Missing tables should be a simple case. I'd say we should return a specific error type so clients can handle this case easier.
This can be done by instead of removing it from the DatabaseModel, we mark it as unsupported and return a specific error - e.g ErrMissingTable = "the server database version  does not contain the table %s" if it's attempted to be used.

Should we also handle other types of discrepancies more robustly?, e.g: extra/missing/different column?
the mapper.Info is built using the column object and having less fields (columns) on models is supported from day 0, so in theory (not looked at code), we should be able to ignore problematic columns....

This is going to be a much harder case to solve for.
This was previously not possible because of the cache, but since we added logic to purge it on reconnect it's at least plausible.
Extra fields is fine, but missing ones is going to be weird.
I think a recent example was that OtherConfig was added to a table, and we actually needed to set options there for the control plane to work properly (could have been BFD if my memory serves). If you're dealing with a DB that doesn't have the OtherConfig column then you actually want to error out early.
Likewise a change of column type would be another issue that you could plausibly handle at runtime, i.e from a scalar type to a set of scalar types (or vice-versa), but one of the nice things about updating your bindings using modelgen was that Go's type system would catch these errors.
Given the pitfalls outlined above (and significant level of effort that would be involved to do this properly) I do wonder whether using modelgen to support both schemas is the least-worst option.


ImageCard should be expandable

:tada: This issue has been resolved in version 1.75.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 2.0.0-beta.9 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.75.0 :tada:
The release is available on npm package (@release-1.x dist-tag)
Your semantic-release bot :package::rocket:


Bundle missing from history

Describe the bug
I have a node that has been running for a few weeks with short interruptions.
Currently the pruning delay is set to 258000.
I make a getNodeInfo call to get the milestoneStartIndex which is 1559930. This milestone was on 22nd August.
The following transaction was made yesterday: GBFYYHQUFJPJAQKHIVHIZFNBVBVMHUYDWT9SNGLZIGKNVFKCWR9ZDQRILADTWLYJLXSFU9KJNNTXESTUW and it cannot be found on my node:
curl -X POST -H 'Content-Type: application/json' -H 'X-IOTA-API-Version: 1' 'http://<address>' --data '{"command": "findTransactions","bundles":["GBFYYHQUFJPJAQKHIVHIZFNBVBVMHUYDWT9SNGLZIGKNVFKCWR9ZDQRILADTWLYJLXSFU9KJNNTXESTUW"]}'
{"hashes":[],"duration":0}

I did increase the pruning delay from 40000 to 258000 yesterday before the transaction was submitted.
Expected behavior
The response should include the hashes.
Environment information:

RAM: 8 GB
Cores: 16
HORNET version: 0.5.1 (updated today from 0.5.0)

Additional context
No error in the logs. The node is currently synchronised:
...
req(qu/pe/proc/lat): 00000/00000/00000/0000ms, reqQMs: 0, processor: 00000, LSMI/LMI: 1615680/1615680, TPS (in/new/out): 00042/00017/00102, Tips (non-/semi-lazy): 108/0
req(qu/pe/proc/lat): 00000/00000/00000/0000ms, reqQMs: 0, processor: 00000, LSMI/LMI: 1615680/1615680, TPS (in/new/out): 00033/00012/00068, Tips (non-/semi-lazy): 110/0
req(qu/pe/proc/lat): 00000/00000/00000/0000ms, reqQMs: 0, processor: 00000, LSMI/LMI: 1615680/1615680, TPS (in/new/out): 00079/00020/00991, Tips (non-/semi-lazy): 104/0
req(qu/pe/proc/lat): 00000/00000/00000/0000ms, reqQMs: 0, processor: 00000, LSMI/LMI: 1615680/1615680, TPS (in/new/out): 00079/00020/00991, Tips (non-/semi-lazy): 104/0
req(qu/pe/proc/lat): 00000/00000/00000/0000ms, reqQMs: 0, processor: 00000, LSMI/LMI: 1615680/1615680, TPS (in/new/out): 00056/00014/00554, Tips (non-/semi-lazy): 104/0
req(qu/pe/proc/lat): 00000/00000/00000/0000ms, reqQMs: 0, processor: 00000, LSMI/LMI: 1615680/1615680, TPS (in/new/out): 00057/00022/00127, Tips (non-/semi-lazy): 108/0
req(qu/pe/proc/lat): 00000/00000/00000/0000ms, reqQMs: 0, processor: 00000, LSMI/LMI: 1615680/1615680, TPS (in/new/out): 00057/00022/00127, Tips (non-/semi-lazy): 107/0
2020-08-28T13:25:01Z    INFO    Tangle  Valid milestone detected! Index: 1615681, Hash: AILEKEHKWPL9GJHQLQDTYDQGJF9JNOXSN9MJMAYAWOJ9VAXQBVIDHORVHZOVKXYZULNLR9INQLUQ99999
2020-08-28T13:25:01Z    INFO    Tangle  Run solidity check for Milestone (1615681)...
2020-08-28T13:25:01Z    INFO    Tangle  Solidifier finished: txs: 3, collect: 0s, solidity 0s, propagation: 1ms, total: 1ms
2020-08-28T13:25:01Z    INFO    Tangle  Milestone confirmed (1615681): txsConfirmed: 142, txsValue: 0, txsZeroValue: 142, txsConflicting: 0, collect: 8ms, total: 32ms
2020-08-28T13:25:01Z    INFO    Tangle  New solid milestone: 1615681, 16.40 TPS, 14.20 CTPS, 86.59% conf.rate
req(qu/pe/proc/lat): 00000/00000/00000/0000ms, reqQMs: 0, processor: 00000, LSMI/LMI: 1615681/1615681, TPS (in/new/out): 00065/00023/00134, Tips (non-/semi-lazy): 103/0
...

config.json:

{
--
"useProfile": "auto",
"httpAPI": {
"basicAuth": {
"enabled": false,
"username": "",
"passwordHash": "",
"passwordSalt": ""
},
"excludeHealthCheckFromAuth": false,
"permitRemoteAccess": [
"attachToTangle",
"getNodeInfo",
"getBalances",
"checkConsistency",
"getTipInfo",
"getTransactionsToApprove",
"getInclusionStates",
"getNodeAPIConfiguration",
"wereAddressesSpentFrom",
"broadcastTransactions",
"findTransactions",
"storeTransactions",
"getTrytes"
],
"whitelistedAddresses": [],
"bindAddress": "<IP_ADDRESS>:9999",
"limits": {
"bodyLengthBytes": 1000000,
"findTransactions": 1000,
"getTrytes": 1000,
"requestsList": 1000
}
},
"tipsel": {
"belowMaxDepth": 15
},
"db": {
"path": "/data/hornet/mainnetdb",
"debug": false
},
"logger": {
"level": "info",
"disableCaller": true,
"encoding": "console",
"outputPaths": [
"stdout"
]
},
"snapshots": {
"loadType": "local",
"local": {
"intervalSynced": 50,
"intervalUnsynced": 1000,
"path": "snapshots/mainnet/export.bin",
"downloadURLs": [
"https://ls.manapotion.io/export.bin",
"https://x-vps.com/export.bin",
"https://dbfiles.iota.org/mainnet/hornet/latest-export.bin"
]
},
"global": {
"path": "snapshotMainnet.txt",
"spentAddressesPaths": [
"previousEpochsSpentAddresses1.txt",
"previousEpochsSpentAddresses2.txt",
"previousEpochsSpentAddresses3.txt"
],
"index": 1050000
},
"pruning": {
"enabled": true,
"delay": 258000
}
},
"spentAddresses": {
"enabled": true
},
"network": {
"preferIPv6": false,
"gossip": {
"bindAddress": "<IP_ADDRESS>:15600",
"reconnectAttemptIntervalSeconds": 60
},
"autopeering": {
"bindAddress": "<IP_ADDRESS>:14626",
"runAsEntryNode": false,
"entryNodes": [
"FvfwJuCMoWJvcJLSYww7whPxouZ9WFJ55uyxTxKxJ1ez@enter.hornet.zone:14626",
"EkSLZ4uvSTED1x6KaGzqxoGxjbytt2rPVfbJk1LRLCGL@enter.manapotion.io:18626",
"iotaMk9Rg8wWo1DDeG7fwV9iJ41hvkwFX8w6MyTQgDu@enter.thetangle.org:14627",
"12w9FrzMdDQ42aBgFrv1siHuJMhuZ4SMVHRFSS7Zb72W@entrynode.iotatoken.nl:14626",
"DboTc1v61Xdyvggj8VRszy92ScUTLgfwZaHvXsU8zr7e@entrynode.tanglebay.org:14626",
"31Tz9meznQMm7qSDUgyMmYVeHUCGA7za5Suvbom5hpE9@bender.iota.autopeering.com:14626"
],
"seed": ""
}
},
"node": {
"alias": "",
"showAliasInGetNodeInfo": false,
"disablePlugins": [
"WarpSync",
"Dashboard",
"Graph",
"MQTT",
"Prometheus",
"Spammer",
"ZMQ"
],
"enablePlugins": []
},
"profiling": {
"bindAddress": "localhost:6060"
}
}

Can you find it in the dashboard of the node?? I found a bug in findTransactions.
It will be fixed in 0.5.2

hi @muXxer , I cannot verify that - I do not use the dashboard plugin:
"disablePlugins": [
"WarpSync",
"Dashboard",
"Graph",
"MQTT",
"Prometheus",
"Spammer",
"ZMQ"
],

Fix in #649
pls update


NullPointerException with multiple network interfaces and NAT

I am getting the following NullPointerException in ice4j when running the Jitsi stable-4627-1 Docker stack. As a result no communication through the video bridge is possible. I've verified that the same happens when replacing the bundled ice4j library with the latest ice4j version (commit 7016902b218fb354a008482a1b0584055c4b9612).
SEVERE: [54] org.ice4j.stack.NetAccessManager.handleFatalError: Unexpected Error!
java.lang.NullPointerException
        at org.ice4j.socket.MergingDatagramSocket.initializeActive(MergingDatagramSocket.java:577)
        at org.ice4j.ice.ComponentSocket.propertyChange(ComponentSocket.java:174)
        at org.ice4j.ice.IceMediaStream.firePairPropertyChange(IceMediaStream.java:870)
        at org.ice4j.ice.CandidatePair.nominate(CandidatePair.java:629)
        at org.ice4j.ice.Agent.nominate(Agent.java:1847)
        at org.ice4j.ice.DefaultNominator.strategyNominateFirstValid(DefaultNominator.java:144)
        at org.ice4j.ice.DefaultNominator.propertyChange(DefaultNominator.java:120)
        at org.ice4j.ice.IceMediaStream.firePairPropertyChange(IceMediaStream.java:870)
        at org.ice4j.ice.CandidatePair.validate(CandidatePair.java:667)
        at org.ice4j.ice.IceMediaStream.addToValidList(IceMediaStream.java:668)
        at org.ice4j.ice.Agent.validatePair(Agent.java:1811)
        at org.ice4j.ice.ConnectivityCheckClient.processSuccessResponse(ConnectivityCheckClient.java:638)
        at org.ice4j.ice.ConnectivityCheckClient.processResponse(ConnectivityCheckClient.java:405)
        at org.ice4j.stack.StunClientTransaction.handleResponse(StunClientTransaction.java:314)
        at org.ice4j.stack.StunStack.handleMessageEvent(StunStack.java:1040)
        at org.ice4j.stack.MessageProcessingTask.run(MessageProcessingTask.java:196)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

Running the jvb Docker container means it runs behind a NAT and it has two network interfaces:

bridge: where it can communicate with the internet
meet.jitsi: internal network where it communicates with the other Jitsi components

In this setup I found one configuration where the exception does not happen:

Disable org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES
Set org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS to the public IP
Set org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS to the internal IP of the bridge interface

Notably the exception still occurs when NAT_HARVESTER_LOCAL_ADDRESS is set to the IP of the meet.jitsi interface.
I've done some debugging with the STUN server enabled and NAT_HARVESTER_PUBLIC_ADDRESS / NAT_HARVESTER_LOCAL_ADDRESS unset.
Before the exception occurs, I noticed the following in ConnectivityCheckClient::processSuccessResponse():

checkedPair contains the correct local IP
CandidatePair (State=In-Progress Priority=7961835276064522239):
LocalCandidate=candidate:2 1 udp<PHONE_NUMBER> <local IP of bridge interface> 10000 typ host
RemoteCandidate=candidate:10000 1 udp<PHONE_NUMBER> <CLIENT-IP> 9952 typ prflx

validPair contains the IP of the wrong (meet.jitsi) interface
CandidatePair (State=Frozen Priority=7205771497833250302):
LocalCandidate=candidate:3 1 udp<PHONE_NUMBER> <PUBLIC-IP> 10000 typ srflx raddr <local IP of meet.jitsi interface> rport 10000
RemoteCandidate=candidate:10000 1 udp<PHONE_NUMBER> <CLIENT-IP> 9952 typ prflx

Later in the stack trace ComponentSocket::propertyChange() calls localCandidate.getCandidateIceSocketWrapper(remoteAddress) which is SinglePortUdpHarvester$MyCandidate::getCandidateIceSocketWrapper().
The candidateSockets in that object is empty thus it returns null. This eventually leads to the NullPointerException.
Please let me know if I can help in any way to further debug this.

It's worth noting that the exception doesn't always occur but after a few tries I could always reproduce them after a few attempts.
Complete jvb log leading up to the exception: jvb.log

Does the problem occur every time, or only some of the time?
Are you able to collect full ICE logs?
Are you able to do a search of the history to see when the problem was introduced?  In particular, I'm wondering if it might have been introduced by https://github.com/jitsi/ice4j/commit/e90c796d6d3184a7faf4a997465ce5d21e4cd809 , or possibly by one of the commits right before that.

Sorry, race between your comment and mine, ignore my first two questions above.

I'm having a little bit of trouble following your description - you said that validPair contains the wrong interface - is  the internal Docker interface?
In the logs, I see both <IP_ADDRESS> and <IP_ADDRESS> addresses that haven't been elided - which ones are those?
Are you able to debug the Java process to tell which address is being passed to localCandidate.getCandidateIceSocketWrapper(remoteAddress)?

I'm getting the same exception with commit 982e78212b780695821cd33a43138fd29c601c35
Do you want me to go back further?
<IP_ADDRESS> is the IP of the bridge interface, <IP_ADDRESS> of the internal meet.jitsi interface.
So in this example validPair would have something like
LocalCandidate=candidate:3 1 udp<PHONE_NUMBER> <PUBLIC-IP> 10001 typ srflx raddr <IP_ADDRESS> rport 10001
Since <IP_ADDRESS> is the IP on the interface with the default route it seems to me that LocalCandidate should have that one.
default via <IP_ADDRESS> dev eth0
<IP_ADDRESS>/16 dev eth0 scope link  src <IP_ADDRESS>

I'll check what value remoteAddress has.

Okay, if it still happens with https://github.com/jitsi/ice4j/commit/982e78212b780695821cd33a43138fd29c601c35 it's very unlikely to have been introduced by either of the two commits before it, but can you test with https://github.com/jitsi/ice4j/commit/36f732ba1c277ee40eedaf3fc04edd64e3f6c106 just to be sure?
What is the STUN server set to?  Something genuinely on the public Internet, or something local to the docker?

remoteAddress is <CLIENT-IP>:43295/udp (i.e. public IP of the client)
I can test with the older commit but I need to backport 982e78212b780695821cd33a43138fd29c601c35 as jvb is using that interface.
The STUN server is set to meet-jit-si-turnrelay.jitsi.net:443

Same exception with 36f732ba1c277ee40eedaf3fc04edd64e3f6c106 (commit 982e78212b780695821cd33a43138fd29c601c35 backported).

Okay, so the problem at least isn't from my recent patches. 🙂
@bgrozev do you have any insight?

@debfx Can you please include the startup logs or grep them for Discovered public address?
My guess is that something goes wrong because we have two local candidates with the same address (but different rel-addr):
<candidate component='1' foundation='3' generation='0' id='21461fd35e31ee68091343f' network='0' priority='1677724415' protocol='udp' type='srflx' ip='<PUBLIC-IP>' port='10001' rel-addr='<IP_ADDRESS>' rel-port='10001'/>
<candidate component='1' foundation='4' generation='0' id='5fc15e35e31ee68091343f' network='0' priority='1677724415' protocol='udp' type='srflx' ip='<PUBLIC-IP>' port='10001' rel-addr='<IP_ADDRESS>' rel-port='10001'/>

@bgrozev You are right, it discovers the public IP with both local addresses: jvb-startup.log
Interestingly both STUN requests are sent on the bridge interface (with source IP <IP_ADDRESS> and <IP_ADDRESS>). The meet.jitsi  interface (where  <IP_ADDRESS> is configured) doesn't have a default route. The reply for <IP_ADDRESS> is routed through the meet.jitsi interface.

support this issue. Currently, to solve this problem, I need to disable STUN server, and manually config DOCKER_HOST_ADDRESS for each jvb node, which prevents me from building a docker swarm with scalable jvb.

@debfx Thanks for reporting and helping to trace this. Can you please test if the problem occurs with org.ice4j.ice.harvest.BLOCKED_INTERFACES=bridge? This is to confirm that it has to do with STUN and multiple interfaces, as opposed to something else docker-related.

Another data point: Disabling the STUN server and setting NAT_HARVESTER_LOCAL_ADDRESS to the IP of the internal interface also triggers the exception.

Good find. I can repro it this way it with a dummy virtual interface. I'll try and trace it, but it might have to wait for next week.

Thanks a lot for looking into it!

@debfx can you please see if #208 fixes the problem in your setup?

I get a build error using the PR:
[ERROR] ice4j/src/main/java/org/ice4j/ice/Agent.java:[1480,16] reference to findLocalCandidate is ambiguous
[ERROR]   both method findLocalCandidate(org.ice4j.TransportAddress,org.ice4j.ice.LocalCandidate) in org.ice4j.ice.Agent and method findLocalCandidate(org.ice4j.TransportAddress,java.lang.String) in org.ice4j.ice.Agent match

I've changed the function to this and done some testing:
    public LocalCandidate findLocalCandidate(TransportAddress localAddress)
    {
        return findLocalCandidate(localAddress, (LocalCandidate)null);
    }

Using the STUN works fine now.
However I still get the NullPointerException when setting org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<IP_ADDRESS>

The PR will also need https://github.com/jitsi/ice4j/pull/207 applied first, to remove the (unused) function that's giving the ambiguous reference.
The NPE now only happens if you explicitly lie to the config, i.e. tell it the local address is one that can't actually be used as the source of media, right?  If so, I'm not too worried about that causing problems.

Correct, with the PR applied I can only reproduce the NPE when ice4j is misconfigured.


Update computation.py to use Python 3 function signatures

This lets us remove lots of ugly explicit calls to kwargs.pop().

Hello @shoyer! Thanks for submitting the PR.

In the file xarray/core/computation.py, following are the PEP8 issues :

Line 299:80: E501 line too long (83 > 79 characters)


Remove Nat uses from List, Dict, Set

https://github.com/roc-lang/roc/pull/6396 should be merged first!

Closing in favor of https://github.com/roc-lang/roc/pull/6422


move all clippy lints into [lints.clippy] table

Change Summary
Follow up to #1079
Related issue number
N/A
Checklist

[ ] Unit tests for the changes exist
[ ] Documentation reflects the changes where applicable
[ ] Pydantic tests pass with this pydantic-core (except for expected changes)
[ ] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

Selected Reviewer: @adriangb

Probably, yes, but I haven't checked 😂


fix(node): override version when reading from nvmrc

Description
When we read the node version from nvmrc, then when using the nodenv node shim, it is not able to see that we want
to use this version because there is no .node-version file. By setting the NODENV_VERSION env var (via the override prop) this should get fixed.
I think at some point we had it this way and I broke it.
Changes

fix(node): override version when reading from nvmrc

🚀 PR created with fotingo

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
48 unchanged lines in 4 files lost coverage.
Overall coverage remained the same at 78.331%

Files with Coverage Reduction
New Missed Lines
%

tool.js
5
79.87%

golang.js
10
58.33%

node.js
10
74.26%

python.js
23
13.89%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
446

Relevant Lines:
554

💛  - Coveralls


content(architecture): fix typo on description

There's a duplicate word, I found it while going through the checklist 👍

Thanks Juan!


Dev version for sq.gr.ligrec

...
Hi, I have seen that other people encountered the same issue and solved but I could not fix it. Sorry if I am missing something or not writing in a proper format. It is my first time using python and github.
I want to run sq.gr.ligrec and get TypeError: argument of type 'NoneType' is not iterable as issue #443.
When I tried to run
pip install git+https://github.com/theislab/squidpy@dev
I get
WARNING: Did not find branch or tag 'dev', assuming revision or ref.
Running command git checkout -q dev
error: pathspec 'dev' did not match any file(s) known to git
WARNING: Discarding git+https://github.com/theislab/squidpy@dev. Command errored out with exit status 1: git checkout -q dev Check the logs for full command output.
ERROR: Command errored out with exit status 1: git checkout -q dev Check the logs for full command output
I tried when squidpy 1.1.2 is installed and not installed. I also tried in an environment but I could not install it.
I also tried this, but the git switch dev line gives the error:
fatal: invalid reference: dev
I installed the squidpy by deleting @dev as pip install git+https://github.com/theislab/squidpy@dev but I could not import

Hi @MertDemirdizen ,
we've recently removed the dev version, master should be used instead as pip install git+https://github.com/theislab/squidpy@master. Let me know if this works for you!

Hi,
Thank you for your quick reply and interest. I am getting an error when I try to import it:
File "C:\ProgramData\Anaconda3\lib\site-packages\squidpy\im_feature_mixin.py", line 10, in
from skimage.feature import graycoprops, graycomatrix
ImportError: cannot import name 'graycoprops' from 'skimage.feature' (C:\ProgramData\Anaconda3\lib\site-packages\skimage\feature_init_.py)

from skimage.feature import graycoprops, graycomatrix

This is caused because I forgot to bump the scikit-image from below (requires now 0.19.0), should be fixed in https://github.com/theislab/squidpy/commit/1958896df5e0e686701ac7de30884480ed238882. You can try installing it as "pip install scikit-image>=0.19" or running pip install git+https://github.com/theislab/squidpy@master again.

from skimage.feature import graycoprops, graycomatrix

This is caused because I forgot to bump the scikit-image from below (requires now 0.19.0), should be fixed in 1958896. You can try installing it as pip install "scikit-image>=0.19" or running pip install git+https://github.com/theislab/squidpy@master again.

It is working! Thank you very much for your help.
I just have another problem with the interactive section, when I tried to run viewer = img.interactive(adata) I am getting this error.
File "C:\Users\mertd\anaconda3\lib\site-packages\squidpy\pl_interactive\interactive.py", line 40, in init
raise ImportError(f"Unable to import the interactive viewer. Reason {_error}.")
ImportError: Unable to import the interactive viewer. Reason No module named 'napari'.

ImportError: Unable to import the interactive viewer. Reason No module named 'napari'.

We have napari only as extra requirement; the versions we need are "PyQt5>=5.15.0" and  "napari>=0.4.14,<0.5".
pip install "PyQt5>=5.15.0" "napari>=0.4.14,<0.5" or
pip install "git+https://github.com/theislab/squidpy@master#egg=squidpy[interactive]" should fix this.

`pip install "PyQt5>=5.15.0"
I am getting "DLL load failed while importing pyrcc" but I think it is not relevant to you but about my system.  I will try to fix it.
Thank you very much for your help.

Hi,
Reinstalling process did not work but, I solved my problem by creating another environment.
Thank you very much for your quick responses. You helped a lot!


Remove build Java from E2E testing

See if this actually causes the build to fail.

@aspnet/build could you guys sign off? Not having our tests run is really problematic


Adding Academia Sinica

Academia Sinica
https://www.sinica.edu.tw/en

@countzeppelin The Academy seems to be a set of research institutes, not educational ones.
Please provide us with an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course for the students. If it has a lot of PhD students, please give us the URL of a page describing the PhD program in the institute.

@countzeppelin  Thank you for the clarifications. Pull request merged.


feat(next): add store as global

I'm not sure it will work as is, since the window of the devtools is the one in the browser devtools panel, not the one in the actual page.


Metered billing example

Can anyone provide an example of implementation of metered billing?
We are trying to implement custom subscription where value depends on several user responses.
I tried use preprocessors but seems it doesn't work on first subscription payment.
Even if we modify plan price on the fly and managed get correct first payment on Mollie via config params override on subscription create, later on bd it appears with base plan price on order items table.

Hi @sha1md5 ,
Preprocessors are currently not supported on first payments. Easiest workaround is to first obtain a mandate through a one-off charge, then start the subscription.