-f "[filesize>10M]" gives the error "requested format not available"

I'm trying to get a video with filesize restriction, as is possible with the -f "[filesize<100M]" option. But the node-youtube-dl always gives the error "requested format not available".
The standalone command that node-youtube-dl runs internally actually does output the JSON
python "C:\...\node_modules\youtube-dl\bin\youtube-dl" --dump-json -f "[filesize<100M]" http://youtu.be/...

outputs this JSON, which most probably does contain the requested format but node-youtube-dl still gives that error.
I'm using it like this in my node app:
var video = youtubedl.getInfo(url, [ '-f "[filesize<100M]"' ] , function(err, info) { // err : "requested format not available" } );

It works fine otherwise.
PS: Even -f "[filesize>10M]" gives the same error.

The args array passed to the child process will be separated by space, so if your args are normally separated by space in your shell, then you would be separating them by putting them in different items in the array.
['-f', '[filesize<100M]']

You also don't need to put quotes around it because the literal string value will be passed.
And the reason the example has an arg in it in one string, is because it isn't separated by a space. Some long options allow this.
['--max-quality=18']


Bower installation of 0.12.0 fails

Hi, when using bower install angular-gridster#0.12.0 the release can not be found: ENORESTARGET No tag found that was able to satisfy 0.12.0. It seems you need to add the release tag.

That's because 0.12.0 hasn't been released and there is no corresponding git tag.  Use:
bower install angular-gridster#master
if you want to compile against the latest.

I just created a release v0.12.0 based on master


CSS url() Rewriting with subfolder

Laravel Mix Version: 0.12.1
Node Version 8.0.0
NPM Version 5.0.0
OS: Win10 / Homestead-7

Description:
URL Processing is not working with subfolder.
Steps To Reproduce:
style.scss
body{
  background: url("../images/bg/bg1.png");
}

webpack.mix.js
mix.sass('resources/assets/painel/sass/style.scss', 'public/css');
resources folder

public folder

Result:
style.css
body {
  background: url(/images/bg1.png?810b1859b0d5c6f6273fb7818a633b03);
}

I have same problem...
Is it a laravel-mix bug or something wrong with settings?

@marcelogarbin
Fixed in 1.0.3.
Path to image schould be started with "/images...":
    body {         background: url("/images/bg/bg1.png");     }

@Romchik  How to upgrade to new version?

Open package.json file and edit laravel-mix depency:
"laravel-mix": "^1.0.*",
Then run npm update laravel-mix.

@Romchik Thank you very much!

@Romchik Not wanting to bother, but can you help me? I did the procedure, removed the node_modules folder and ran npm_install again, but it is giving an error.
package.json
{
  "private": true,
  "scripts": {
    "dev": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch-poll": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --watch-poll --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "hot": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
    "prod": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
  },
  "devDependencies": {
    "axios": "^0.16.2",
    "clean-webpack-plugin": "^0.1.16",
    "copy-webpack-plugin": "^4.0.1",
    "cross-env": "^5.0.1",
    "imagemin-mozjpeg": "^6.0.0",
    "imagemin-webpack-plugin": "^1.4.4",
    "laravel-mix": "^1.0.*",
    "lodash": "^4.17.4",
    "purifycss-webpack": "^0.7.0",
    "stylus": "^0.54.5",
    "stylus-loader": "^3.0.1",
    "postcss-discard-comments": "^2.0.4"
  }
}

Sorry, I have no idea...
Maybe you can try to update npm to the last version.
Tnen remove the 'node_modules' folder.
Run npm cache clean.
Run npm install.

I removed the package-lock.json file and ran the npm install again. It worked. Only condition if(mix.config.inProduction){} stopped working, before updating it worked normally.

@marcelogarbin Yeah, that was changed with 1.0. It's in the release notes. Change it to mix.inProduction(). :)

Question related:    Laravel-mix appears to move files from my assets/img  folder to public/images      however when using the asset()  helper function it looks for /img    is there a way to set them to the same folder so their are not two folders in public with images?  aka  img  and images  ?
Thanks in advance :)


Tolerance names should never be empty

When using old models (without tolerance names) the tolerance names in the sidebar and properties panes are empty strings. Instead of this behavior, they should fallback to whatever we were using as the names before the actual names... if that makes sense.

Should be fixed with #378


linked all js files to the relevant html files

linked the js files to the corresponding html files.


(hooks) state.changed not resetting between renders

Bug or feature request?
bug
Description:
when using react hooks, state.changed stays set to true on every component re-render, causing infinite loops.
(Bug) Expected result:
state.changed should go back to false when the component is re-rendered, right?
(Bug) Potential fix:
somehow reset state.changed when the component is rendered...hmmm
Example of bug:
https://codesandbox.io/embed/confident-volhard-kzc1s

Thankfully, this is not an @xstate/react issue (although I was worried for a split second).
This is invalid use of effects with hooks. You are calling setState(...) (which is an effect) outside of useEffect. That will synchronize with every single render, which is not what your intention is.
Try this instead, synchronizing the effect only with current:
  // should only show as changed once, right?
  // but it shows as changed every time, causing infinite renders
- if (current.changed) {
-   // set state, causing a re-render of App
-   setTest("howdy");
- }
+ useEffect(() => {
+   if (current.changed) {
+     setTest("howdy")
+   }
+ }, [current])

@davidkpiano whew!  Thx


Example OpenFin manifest icon causes Electron errors on Mac OS X

Currently working with no errors and displaying on windows.  Issue raised with vendor.

https://github.com/Morgan-Stanley/desktopJS/blob/a861080830564772972cc6aa3e34a4c977f4cb8b/examples/openfin/app.json#L9

Through trial, discovered that using an icon instead of png will fix the issue.


Sometimes publishedDate is only a year

When I searched for Unorthodox, I noticed that there are some works where only the year is given. Then there was an array IndexOutOfBounds. I tried to solve it as simple as possible. Goes certainly still more elegantly.
BR Tim

I have also add some tests and industryIdentifier to get ISBN and ISSN Numbers

LGTM!

Published you pull request in version 4.0.0. Thanks for your contribution.
If you want to join my discord server, you're welcome :)


Add installation guide to the repository

Once this lands we can enable "GitHub Pages", which creates something like this:
https://krinkle.github.io/CVNBot/install


Change many_to_many associations to has_many with third table

There are various difficulties arising when we need to query and manipulate data stored in many_to_many associations. An alternative approach is to create a join table explicitly and use has_many with the join table. I think using this approach is prefereable, as it makes querying / manipulating data more straightforward and the structure easier to reason about.
Also, see https://stackoverflow.com/questions/18594234/hibernate-best-practices-avoiding-many-to-many-and-exotic-relationships and https://flatironschool.com/blog/why-you-dont-need-has-and-belongs-to-many

Fixed in #686


listeners must have the same map

Description
It's not possible to use different listeners action directives, because the map must match. What can I do to bypass that situation?
The only apprach I can think is to replace this:
for_each = try([each.value.forward], [])

by this:
for_each = try(each.value.forward, null) != null ? [each.value.forward] : []

on all ocurrences (what I actually have done on my fork)
Versions

Module version [Required]: 9.1.0

Terraform version: v1.6.3

Provider version(s):

registry.terraform.io/hashicorp/aws v5.23.1

Reproduction Code [Required]

Steps to reproduce the behavior:
variables.tf
variable "load_balancers" {
  type = map(object({
    name                       = optional(string)
    create_security_group      = optional(bool, false)
    enable_deletion_protection = bool
    load_balancer_type         = string
    ip_address_type            = string
    preserve_host_header       = bool
    vpc_id                     = string
    subnets                    = set(string)
    security_groups            = set(string)
    target_groups = optional(map(object({
      arn    = string
      weight = optional(number)
    })), {})
    listeners = map(object({
      port            = number
      protocol        = string
      action_type     = string
      certificate_arn = optional(string)
      ssl_policy      = optional(string)
      redirect = optional(object({
        port        = number
        protocol    = string
        status_code = string
      }))
      fixed_response = optional(object({
        content_type = string
        message_body = string
        status_code  = number
      }))
    }))
    tags = optional(map(string))
  }))
}

prod.tfvars
load_balancers = {
  my-alb-prod = {
    enable_deletion_protection = true
    load_balancer_type         = "application"
    ip_address_type            = "dualstack"
    preserve_host_header       = true
    vpc_id                     = "<SENSITIVE_INFORMATION>"
    subnets = [<SENSITIVE_INFORMATION>]
    security_groups = [<SENSITIVE_INFORMATION>]
    listeners = {
      http = {
        port        = 80
        protocol    = "HTTP"
        action_type = "redirect"
        redirect = {
          port        = 443
          protocol    = "HTTPS"
          status_code = "HTTP_301"
        }
      },
      https = {
        port            = 443
        protocol        = "HTTPS"
        certificate_arn = "<SENSITIVE_INFORMATION>"
        ssl_policy      = "ELBSecurityPolicy-TLS-1-2-Ext-2018-06"
        action_type     = "fixed-response"
        fixed_response = {
          content_type = "text/plain"
          message_body = ""
          status_code  = 400
        }
      }
    }
    tags = {
      Name = "my-alb-prod"
    }
  }
}

main.tf
module "alb" {
  source = "terraform-aws-modules/alb/aws"
  for_each = var.load_balancers

  name                       = coalesce(each.value.name, each.key)
  create_security_group      = each.value.create_security_group
  enable_deletion_protection = each.value.enable_deletion_protection
  load_balancer_type         = each.value.load_balancer_type
  ip_address_type            = each.value.ip_address_type
  preserve_host_header       = each.value.preserve_host_header
  vpc_id                     = each.value.vpc_id
  subnets                    = each.value.subnets
  security_groups            = each.value.security_groups
  target_groups              = each.value.target_groups
  listeners                  = each.value.listeners
  tags                       = each.value.tags
}

Expected behavior

It should create two listeners, one HTTP, which only redirects to HTTPS, and one HTTPS, which have a default action of returning an empty string.
Actual behavior
I've tried two ways of doing this. First, my listeners variable was a map(any). However, I've received an error when running a plan
The given value is not suitable for var.load_balancers declared at
│ variables.tf:1,1-26: element "hole19-prod": attribute "listeners": all map
│ elements must have the same type.

After this I've created the fixed mapping you can see on variables.tf, but now the error is:
╷
│ Error: Attempt to get attribute from null value
│
│   on ../../modules/aws-networking-alb/main.tf line 124, in resource "aws_lb_listener" "this":
│  124:         content_type = default_action.value.content_type
│     ├────────────────
│     │ default_action.value is null
│
│ This value is null, so it does not have any attributes.
╵
╷
│ Error: Attempt to get attribute from null value
│
│   on ../../modules/aws-networking-alb/main.tf line 185, in resource "aws_lb_listener" "this":
│  185:         status_code = default_action.value.status_code
│     ├────────────────
│     │ default_action.value is null
│
│ This value is null, so it does not have any attributes.

Terminal Output Screenshot(s)

Additional context

thats because you've defined it this way
listeners = map(object({
      port            = number
      protocol        = string
      action_type     = string
      certificate_arn = optional(string)
      ssl_policy      = optional(string)
      redirect = optional(object({
        port        = number
        protocol    = string
        status_code = string
      }))
      fixed_response = optional(object({
        content_type = string
        message_body = string
        status_code  = number
      }))

Don't do that and the problem is resolved - this is why, unfortunately, we typically use any for complex types

You're right 😅, using any instead of map(any) solves the issue.


cluster_id.txt

Hello, this file cluster_id.txt is missing, how do I deal with this?

Sorry for the late reply.  The file cluster_id.txt is not used in this repository, and not in the paper.  The Class ID of CUB presented in figure 1 in this paper is adopted from the file name of the official CUB dataset.


Flow: initialize function call. Called with too few arguments

Bug
The type declaration for the initialize action creator is inconsistent with the documentation. In particular, note that the documentation makes the keepDirty and options arguments optional whereas the type declaration makes all 4 arguments required.
I will be happy to submit a PR, but just wanted to check that the documentation is considered canonical and the type should be updated to match, right?
What is the current behavior?
 59:   dispatch(initialize('feePurchase', { ...defaults, fees }));
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function call. Called with too few arguments
         v
  150:   (
  151:     form: string,
  152:     values: Object,
  ...:
  155:   ): InitializeAction
         ------------------^ function type expects more arguments. See: node_modules/redux-form/lib/actions.types.js.flow:150

What is the expected behavior?
No errors!
What's your environment?
redux-form: 7.1.2 (the type definition has not yet changed in master)
flow: 0.59.0
Other information
#3444 might be related.

Fix released in v7.4.0.


added computer choice, player input checking

I made the computer choice option and fixed some checking from the player input. The player input was checked if it was a list, not if it was in the list, also added a text output(Thanks for playing) when exiting. Also added additional print with the computer choice.

Your code is great, Pepi. Thank you. I will try to continue a little and I will send it to you.

Could you try to accept the pull request so we can learn?

I have a pull request (1)... but I don't see a button for any action to accept it.

There should be a button Merge pull request somewhere


release code

Hi, when will you plan to release the code?

@ZhaoyangLyu  when will you plan to release the code?


Correcting weird focus style in firefox

The focus style looked a bit off in Firefox (Robin mentioned it), here is a fix :)
Before:

After:

Checked in: Chrome 52 & Firefox 48

Looks good to me thanks @MikeRogers0 👍  🎉 🎈
Tested in the following browsers:

iPhone 6S Plus
Galaxy S7
Chrome 52
Firefox 48
Edge 14
IE 11
IE 10
IE 9
IE8
IE7
IE6


osvukknjazevac

Website: www.osvukknjazevac.edu.rs
Student Email: @osvukknjazevac.edu.rs
Hello, please add my domain "osvukknjazevac.edu.rs" to your repository.
If you have any other requests, feel free to ask me!
Feel free to reach out if you need further assistance! 😊

@philipto I am writing in regard to my verification request that was submitted seven days ago. I would like to check on the status of my request and see if there is any additional information needed from my side.
Thank you for your time and understanding.

@philipto Hello! It’s been two weeks and I haven’t received a response, I’m interested in whether my request is still in the verification process and if so, how much longer could it take because my trial version of your software lasts until 23.03.2024 and after that I no longer have the right to extend it, so I’m wondering if I can help with some school information and possibly speed up the verification process?

@philipto Hello! It’s been two weeks and I haven’t received a response, I’m interested in how much time my request is still in the verification process and if so, how much longer could it take because my trial version of your software lasts until 23.03.2024 and after that I no longer have the right to extend it, so I’m wondering if I can help with some school information and possibly speed up the verification process?

@philipto Hello! It’s been two weeks and I haven’t received a response, I’m interested in how much time my request is still in the verification process and if so, how much longer could it take because my trial version of your software lasts until 23.03.2024 and after that I no longer have the right to extend it, so I’m wondering if I can help with some school information and possibly speed up the verification process?

@viktorciric Thank you for your patience while waiting for a review and processing your request. Pull request merged.


⚠ Bofrost.fr has degraded performance

In b4cbc31, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1819 ms

Resolved: Bofrost.fr performance has improved in 91fd22a after 15 minutes.


Async EventHubProducerClient + AzureFunctions

Hello !
I am posting this ticket here, but please let me know if you think I should close it and post it on Azure/azure-functions-python-worker instead.
We are currently using several AzureFunctions in production :

Premium V2 pricing tier
Operating system: Linux
Plan type: App service plan
Python version 3.6

Use case:

Receive data from HTTP requests and send those data to EventHub using azure-eventhub package.

The AzureFunction has a timeout of X seconds, meaning that after X seconds, the function is "aborted" (we have been experimenting with 15/30/60/120sec).

We have 2 versions of the code :
"Threaded Version": the one currently in production which doesn't use async/await but uses threading (See here). This version was created to mitigate issue 2 (see below).
def threaded_execution(f):
    def wrapper(*args, **kwargs):
        thread = Thread(target=f, args=args, kwargs=kwargs)
        thread.start()

    return wrapper

class EventProducer:
    def __init__(self, password: str):
        self._producer: EventHubProducerClient = EventHubProducerClient.from_connection_string(password)

    @threaded_execution
    def produce(self, data: dict):
        bson_encoded_data = bson.BSON.encode(data)
        b64_encoded_data = base64.b64encode(bson_encoded_data)
        try:
            self._producer.send_batch([EventData(b64_encoded_data)])
        except Exception as e:
            logging.error(...)

The function code looks like this:
event_producer: EventProducer = EventProducer(...)

def main(req: func.HttpRequest) -> func.HttpResponse:
    data: dict = build_event_data(req)
    event_producer.produce(data)
    return func.HttpResponse(status_code=200)

"Async/Await Version": Another one which we created and released in "staging" because we were unable to debug issue 1 while using the "threading version" of the code.
Our producer code looks like this:
class EventProducer:
    def __init__(self, password: str):
        self._password: str = password

    async def produce(self, data: dict):
        bson_encoded_data = bson.BSON.encode(data)
        b64_encoded_data = base64.b64encode(bson_encoded_data)
        client = EventHubProducerClient.from_connection_string(self._password)
        async with client:
            await client.send_batch([EventData(b64_encoded_data)])

The function code looks like this:
event_producer: EventProducer = EventProducer(...)

async def main(req: func.HttpRequest) -> func.HttpResponse:
    data: dict = build_event_data(req)
    await event_producer.produce(data)
    return func.HttpResponse(status_code=200)

We face two issues :

With the "Threaded Version" of the code, several times per day we experience timeouts. We were unable to pinpoint the issue so we developed the "Async/Await version" of the code and managed to trace the issue back to (from what I understand) send_batch  which requires more than X seconds to be executed. See here an example with a 120sec timeout.

Do you have any idea what could cause the issue ?
Should we add a timeout to send_batch with a retry mechanism ? (but there is already a retry mechanism in the library right ?)

As you can see, on each HTTP Request, we create a new EventHubProducerClient. But this process takes more than 500ms each time (See here and here)  and sometimes even more, which is a big deal for us.

Originally we developed the "Threaded version" to mitigate this issue but I would like your opinion on it, should we stick to threading or is there a way to have great performances with async/await ?
I have tried to use a single/global EventHubProducerClient (by instancing the EventHubProducerClient in the EventProducer construct basically) unfortunately it seems that this approach doesn't seem to work (see here).

Thanks !

hey @Stael , thanks for reaching out, we'll investigate into the issue ASAP

Hello @yunhaoling, perfect, thanks !

hey @Stael , it is expected that the EventHubProducerClient takes some time to establish the connection to the service. There're multiple AMQP layers initialization as well as authentication needed to be performed as per the AMQP spec.
In general, I would recommend you to reuse the same client if your application is time sensitive.
to answer your questions:

1.1 Do you have any idea what could cause the issue?

I'm unfamiliar with the Azure function 120s timeout, but if the EventHubProducerClient fails to send events, errors will be raised. But depending on your logging for the "sync version", there is no error raised from EventHubProducerClient.
I have one question about this "sync version", will the decorated method be blocking and returns until send is complete? from the code, I think a thread is started for sending to event hub, but not waiting for the send to finish, the azure function immediately returns. So I'm not sure whether this 120s indicate the event fails to be sent or there's something else happening.

1.2 Should we add a timeout to send_batch with a retry mechanism ? (but there is already a retry mechanism in the library right ?)

I would say yes, it would be helpful to narrowing down the problems whether it's within the Event Hub or Azure Function.

2.1 Originally we developed the "Threaded version" to mitigate this issue but I would like your opinion on it, should we stick to threading or is there a way to have great performances with async/await ?

I have read your original issue, it seems that you want to reduce the time of reconnection. Async/await would be helpful if you're working with I/O bound tasks (let's say you have 10 coroutine tasks that perform sending). But yea, you could keep the async one as it does no harm.

2.2 I have tried to use a single/global EventHubProducerClient (by instancing the EventHubProducerClient in the EventProducer construct basically) unfortunately it seems that this approach doesn't seem to work (see here).

I'm sorry this is actually a bug in our SDK that reusing (open-close-open) the same client to send events without specifying partition id would lead to failure. (I'll make a PR to fix it)
but I think it's better not do async with within each producer because it's the same as creating a new client each time, async with will shut down the connection completely and re-open the connection.
I'll probably just go with:
class EventProducer:
    def __init__(self, password: str):
        self._password: str = password
        self.client = EventHubProducerClient.from_connection_string(self._password)

    async def produce(self, data: dict):
        bson_encoded_data = bson.BSON.encode(data)
        b64_encoded_data = base64.b64encode(bson_encoded_data)
        await client.send_batch([EventData(b64_encoded_data)])

and for more context, the service side has enforced a 10 mins idle timeout which means if there's no activities in 10 mins, the service would force closing the connection between the service and the client.

Hello @yunhaoling,
Thanks a lot for your comprehensive reply !

So first of all, it is expected that the EventHubProducerClient takes some time to establish the connection to the service. There're multiple AMQP layers initialization as well as authentication needed to be performed as per the AMQP spec.
In general, I would recommend you to reuse the same client if your application is time sensitive.

Ok, got it. This will be do-able once your PR fixing the reuse of EventHubProducerClient will be merged.

I'm unfamiliar with the Azure function 120s timeout, but if the EventHubProducerClient fails to send events, errors will be raised. But depending on your logging for the "sync version", there is no error raised from EventHubProducerClient.

To be clear the timeout is ajustable on our side.
There is indeed no error raised, but from my tests, I believe that client.send_batch never finishes which triggers a timeout after 120 sec. Indeed, when I add a log right after EventHubProducerClient.send_batch, it never shows up when a timeout occurs.

I have one question about this "sync version", will the decorated method be blocking and returns until send is complete? from the code, I think a thread is started for sending to event hub, but not waiting for the send to finish, the azure function immediately returns. So I'm not sure whether this 120s indicate the event fails to be sent or there's something else happening.

From my understanding (I asked the question previously here) :

a thread is started which sends the data to EventHub
the function doesn't wait for the end of the thread to end, => it's blazingly fast (< 50ms)

However from time to time the function needs more than 120 sec to execute which triggers a timeout.
The tricky part is that I don't believe that the code executed before EventHubProducerClient.send_batch has any chance to require that much time. I can share it with you privately but it's basically a chain of dict.get and dict.set.
That's how I deduced that the issue might came from the EventHubProducerClient however ... I am unable to explain how a send_batch executed in a thread manages to "lock" the main process.
And when testing without the thread ... I still end up with the same timeout.
IMHO me there are 3 possibilities :

a technical issue with the Azure Functions, related to : azure-functions-python-worker
something in EventHubProducerClient.send_batch (see 2.)
I am missing something

I would say yes, it would be helpful to narrowing down the problems whether it's within the Event Hub or Azure Function.

Ok. I will implement a version with a timeout in send_batch and a retry mechanism and keep you posted ASAP.

I have read your original issue, it seems that you want to reduce the time of reconnection. Async/await would be helpful if you're working with I/O bound tasks (let's say you have 10 coroutine tasks that perform sending). But yea, you could keep the async one as it does no harm.

Alright, once the bug is fixed on your side, I will implement a version which reuses EventHubProducerClient and keep you posted regarding the performance.
Thanks again.

Update on the send_batch + timeout + retry mechanism
I have added a lot of logging to help narrow down the issue
From my understanding, the arg timeout expect a value in seconds.
async def produce(self, data: dict):
    logging.info("Start BSON encode")
    bson_encoded_data = bson.BSON.encode(data)
    logging.info("Done BSON encode")

    logging.info("Start B64 encode")
    b64_encoded_data = base64.b64encode(bson_encoded_data)
    logging.info("Done B64 encode")

    logging.info("Start creating client from connection string")
    client = EventHubProducerClient.from_connection_string(self._password)
    logging.info("Done creating client from connection string")

    for i in range(1, 4):
        try:
            logging.info("Start async with")
            async with client:
                logging.info("In async with")

                logging.info("Start send batch")
                await client.send_batch([EventData(b64_encoded_data)], timeout=2)
                logging.info("Done send batch")
            logging.info("Done async with")
            return
        except Exception as e:
            logging.error(f"Try: {i}: failed to send batch")
            logging.exception(e)

This code still triggered a timeout after send_batch was called.
It looks like timeout=2 has no impact.
This doesn't happen everytime, and I am unable to find the correlation.
See logs: here

Hello @yunhaoling, any update on this?

hey @Stael , apologize for the late response and I appreciate you trying out different approaches and sharing your latest debugging information.
I think there're two issues here:

timeout doesn't work
async client crashes

How about let's solving one issue at a time? I would like to work with you on getting a workaround first. Let's focus on reusing a single async client because I feel this is the ultimate approach we target, just one client, no new client/new connection each time the Function is triggered. Let's see why the async client would crash with python exited with code 139.
Are you aware of any pattern that your application (Azure Function) is undergoing when the single async client program crashes? like a burst of http request coming in or a long period of activity?
Usually I see crashes like 139(SIGSEGV) due to our underlying networking uAMQP lib crashes as it's not thread safe. A burst of messages + long inactivity would lead to a client shutting down and recreating the underlying connection which is error prone. I would go with adding a lock see if it helps mitigate the crash issue.
Also, one more thing is that could you help turn on the networking logging by setting logging_enable=True when creating the client? via this we could tell what's the last frame that has been put onto the wire before the world stopped. Please see my code snippets below:
import asyncio

class EventProducer:
    def __init__(self, password: str):
        self._password: str = password
        self.client = EventHubProducerClient.from_connection_string(self._password, logging_enable=True)
        self.lock = asyncio.Lock()

    async def produce(self, data: dict):
        bson_encoded_data = bson.BSON.encode(data)
        b64_encoded_data = base64.b64encode(bson_encoded_data)
        async with self.lock:
            await client.send_batch([EventData(b64_encoded_data)])

Hello @yunhaoling
Thank you for your help !
Yes, I do agree with you, it looks like there are several issues mixed up.
I have tried your snippet on our staging environment with success (no 139 crash / timeout)
So afterwards I deployed it on production and again most of the issues seem to be fixed : No 139 crash and only 2 waves of timeouts in 4 days instead of 2/3/4 waves per day
So it looks like the lock does indeed solve the issue (or part of it). However I am unsure of "why".
Moreover unlike previously where the logs would abruptly stop right after entering the send_batch now when there is a timeout ... there is no log at all. Which in my opinion might be an error related to the Azure Functions and not to the  EventHubProducerClient.

Are you aware of any pattern that your application (Azure Function) is undergoing when the single async client program crashes? like a burst of http request coming in or a long period of activity?

Unfortunately no, I have tried several times to find a pattern, but I did not find anything conclusive.
If it helps I can, on our staging environment, re-deploy the previous version of the code with logging_enable=True to help you identify the last sent frame.
I will now open a ticket on the AzureFunction for python repo. I want them to have a look at what can freeze the Function App like that.

Hello @yunhaoling do you have any update on this ?

hey @Stael , apologize for not getting back to your sooner and thanks for trying out the snippet.
I do have an update for you is that the producer client unable to reopen after close due to partition id issue which your posed earlier has been fixed in the latest stable release.

I believe "No 139 crash" is avoided because we avoid race condition on a single client which is not thread safe.

"now when there is a timeout ... there is no log at all."

This is interesting.. I'm gonna to verify that if send timeout is met, the send_batch method would raise the error properly and log the necessary error information.
Yea, I would also like to know why the logs freeze..
I would appreciate if you could help turn on the logging by logging_enable=True. As far as I know, if the producer blocks in sending, it should be keeping empty frames out to keep connection alive while waiting for acknowledge of the sending operation.

Hello @yunhaoling
Thank you for your reply.
I have noted that the issue with the producer client has been fixed. Thank you.
Does it mean that I can go back from :
import asyncio

class EventProducer:
    def __init__(self, password: str):
        self._password: str = password
        self.client = EventHubProducerClient.from_connection_string(self._password, logging_enable=True)
        self.lock = asyncio.Lock()

    async def produce(self, data: dict):
        bson_encoded_data = bson.BSON.encode(data)
        b64_encoded_data = base64.b64encode(bson_encoded_data)
        async with self.lock:
            await client.send_batch([EventData(b64_encoded_data)])

to :
class EventProducer:
    def __init__(self, password: str):
        self._password: str = password
        self.client = EventHubProducerClient.from_connection_string(self._password)

    async def produce(self, data: dict):
        bson_encoded_data = bson.BSON.encode(data)
        b64_encoded_data = base64.b64encode(bson_encoded_data)
        await client.send_batch([EventData(b64_encoded_data)])

Have you been able to look at why does the timeout parameter have no effect ?
See : https://github.com/Azure/azure-sdk-for-python/issues/21849#issuecomment-983489177

I had turned on the logging using logging_enable=True quite some time ago.
Unfortunately no luck on that side.

I am also waiting for an investigation on the other issue that it opened: https://github.com/Azure/azure-functions-python-worker/issues/931

Hello again @yunhaoling !
Out of sheer luck ... I managed to trigger the bug and to capture the logs.
Here are the logs
So it is definitely related to the EventHubProducer or azure-uamqp.
Could you please have a look at it and get back as soon as possible.
Thanks,

hey @Stael , apologize for the delayed response and thanks for sharing the logs!
from the logs we could conclude that:

when the producer tries to send out the event for the first time, it hits a Connection reset by peer error which indicates the previous connection is down.
then the producer tries to reestablish the connection and succeeds in authentication
however, the producer got stuck after authentication succeeds and timeout doesn't work as well

I have inspiration on debugging the issue, as the next thing to expect in the flow in creating a new uamqp sender and get sender ready, however, it's not happening means the uamqp sender preparation process got stuck probably due to an inconsistent internal status.
I will dig deep into that part.
one question for you to confirm it that does the error occur with or without the asyncio lock or both would trigger this hanging issue?

Hello @yunhaoling,

when the producer tries to send out the event for the first time

I don't think that it is during "the first time".
Indeed this error happens wether if we have other calls to the function before it or not.
Moreover as you said, there is a Connection reset by peer which implies that there was a previous connection.
But maybe you don't mean "the first message once the EventHubProducerClient is created", but the "first try" to send the message ?

one question for you to confirm it that does the error occur with or without the asyncio lock or both would trigger this hanging issue?

I am currently using the code that you suggested with the asyncio lock in production.
Thanks,

apologize for not making it clear, it's the "first try to send the message".
Thanks for the extra info on which scripts you're using, will dig deep into it!
btw, I'm thinking of a workaround for you to unblock your deployment/application, in case fixing/locating the issue takes longer than I expect.
I think asyncio.wait_for could be used here as a temporary workaround to resolve the issue by implementing a manual retry, please see my code snippets below:
async def produce(self, data: dict):
    bson_encoded_data = bson.BSON.encode(data)
    b64_encoded_data = base64.b64encode(bson_encoded_data)

    retry = 0
    while retry < 4:
        try:
            async with self.lock:
                await asyncio.wait_for(client.send_batch([EventData(b64_encoded_data)]), timeout=30)  # if the coroutine doesn't finish in 30s, asyncio.TimeoutError would be raised.
                return
        except asyncio.TimeoutError:
            retry += 1
    logging.warning("retry exhausted")

Hello @yunhaoling.
Thank you for this snippet, I will try to implement and test it ASAP.

Hello @yunhaoling
Here is the implementation I went for (azure-eventhub==5.7.0) :
class EventProducer:
    _MAX_NUM_RETRIES: int = 4
    _TIMEOUT_SEC: int = 5

    def __init__(self, password: str):
        self.client = EventHubProducerClient.from_connection_string(
            password, logging_enable=True, retry_total=0, auth_timeout=EventProducer._TIMEOUT_SEC
        )
        self.lock = asyncio.Lock()

    async def produce(self, data: dict):
        bson_encoded_data = bson.BSON.encode(data)
        b64_encoded_data = base64.b64encode(bson_encoded_data)
        logging.info('Done encoding data')

        for i in range(EventProducer._MAX_NUM_RETRIES):
            try:
                async with self.lock:
                    logging.info(f'Start sending batch, try : {i + 1}')
                    await asyncio.wait_for(
                        self.client.send_batch([EventData(b64_encoded_data)], timeout=EventProducer._TIMEOUT_SEC),
                        timeout=EventProducer._TIMEOUT_SEC
                    )
                    logging.info(f'Done sending batch, try : {i + 1}')
                return
            except asyncio.TimeoutError:
                logging.error(
                    f'Timeout while sending data, try : {i + 1} / {EventProducer._MAX_NUM_RETRIES}'
                )
            except Exception as e:
                logging.error(f'Unexpected exception while sending data: {e}')
                logging.exception(e)

        logging.error('Unable to send the data: retries exhausted')

Unfortunately no impact.
Here are two examples :

This one fails and hangs until the function times out
This one succeeds in sending the data, but requires ~ 1.500 ms which is unacceptable

To be honest with you, at this point, seeing how many issues we are facing, we will probably stop using EventHub/AzureFunctions/BlobStorage in the next few months.
We are left we no other options as we simply had too many issues and spent too much time debugging them over the years. It prevents us from focusing on our core product, and makes us unable to provide a great quality of service to our clients.

hey @Stael , thanks for the updates and sharing me with your complete code.
I sincerely feel sorry about your bad experience, and I admit it's our fault that we didn't run enough test against the scenarios when the Event Hub SDK is integrated with Azure Function.
I have prioritized this issue and working on it now, making changes to the underlying dependency library uamqp where I believe the stuck took place.
I would probably give you a manually built patch first to try out the fix for the sake of saving time.
Again, I understand the pain here and I really appreciate your collaboration and patience with us. I will do my best to support.

Hello @yunhaoling.
Thank you for the update.
Alright, you can send me a patch and I will try my best to test it asap.
But as you know, I am unable to trigger this bug manually. I can apply the patch but we will have to wait for ~ a week to see if it works (less if it does not).

hey @Stael , thanks for your patience and I have got some updates and potential workarounds for you.
Background knowledge: connection idle time out

In the screenshot you shared, the two kinds of error scenarios are initiated by the same reason -- connection idle times out.

The connection between EventHubProducerClient and the EventHubs Service is a bidirectional long amqp connection (based on tcp). **the service would proactively disconnect the client for long time inactivity (240s) **. That's why we see socket errono=104.

The two issues related to idle time out:

"1.500 ms which is unacceptable": this is expected for re-establishing an amqp connection after getting disconnected from the service.
hanging issue: I still have no clue on this, seems cannot repro easily, I suspect it's related to event hub producer crashing the execution when not de-allocating underlying C objects properly.

Attempts:
- approach 1, try manually keeping connection alive?
The workaround jumps right into my mind is whether we could keep the connection alive to avoid idle timeout, so I tried using a background thread to keep sending heartbeats to keep connection alive (a feature supported by the dependency uamqp library).
However, this doesn't work out nicely as the azure function is triggered by incoming request (event driven), the program gets suspended once the main function returns. And I see azure function switching workers executing the function.
Then I realize what I'm trying to achieve is to turn azure function into a stateful/long processing service (the long amqp connection as a state), while the azure function itself is designed to be stateless.
I did some search on the stackoverflow and found this: https://stackoverflow.com/questions/63490224/is-azure-functions-a-right-fit-for-long-running-tasks, maybe azure function is not the best for this scenario, or you could alternatively use EventGrid instead EventHubs which is a http based service.
- approach 2, use azure eventhub output binding integration provided by azure function
I was wondering instead doing it myself, is there feature azure function provides?
I further read the documentations of azure function and found that it has already provided the integration with event hubs for binding output (sending events to EventHubs).
I tried it and it feels promising, I didn't see any issue so far.
the documentation could be found here:
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-hubs-output?tabs=python
My code:
I have put all my code in the following repo, approach 2 is fairly straightforward, it's more about configuration.
https://github.com/yunhaoling/python-azure-function-eventhubs-integration
I feel approach 2 is the right approach here, could you help check if approach 2 satisfies your requirements? I would be glad to help you out!

awesome, looking forward to your good news.
The azure function eventhub output binding has internally integrated with a .NET SDK EventHubProducerClient, and I assume it's kept alive by the azure function for sending events.

Hello @yunhaoling,
I am happy to report that after a full week using the solution mentioned previously ... I encountered 0 issue 👍
I will also update my other issue to let them know that: the issue seems related to how EventHubProducer and AzureFunctions interact together (AKA: be very careful when using this combo) + we found a workaround.
Indeed, I was advised to use this combo and it is actually described and covered by tests on their side.
Thank you for your help.


Increase Image Upload Limit and Update User Notification

Description
Currently, our application only allows users to upload images with a maximum size of 1MB each. We need to increase this limit to 5MB per image to accommodate higher quality images. Additionally, we must update the frontend to inform users about this new limitation.
Tasks
Update Backend Configuration:
    Modify the php.ini configuration to increase the upload_max_filesize and post_max_size settings.
    Ensure that server-side validation supports the new 5MB per image limit.

Update Frontend Notification:
    Inform users of the new 5MB per image upload limit on the upload form.
    Implement client-side validation to prevent users from attempting to upload images larger than 5MB.

close #114


Add a feature for enabling compilation for no_std

This commit adds two new features: "std" (which is enabled by default) and "libm". When "std" is enabled, floating point intrinsics are used from libstd. When "libm" is enabled, it brings in the pure Rust libm implementation to handle floating point instrinsics in software mode.
By disabling the "std" feature and enabling "libm", this crate can be effectively used on no_std platforms, like embedded systems.
This is a breaking change, as it adds an "std" default feature that, when disabled without enabling "libm", causes a compile error. Users who are currently using zeno with "default-features = false" without preparation will have their compilation break.
Rel: https://github.com/dfrg/swash/issues/4

@dfrg Any chance that you can review this?

@dfrg Any chance that you can review this?

@dfrg Can you publish this change?

published 0.3.0


nixos: Refactor and implement support for user files + directories

An overhaul of the current NixOS module which adds a users feature, makes the module more extensible, adds permissions handling, and asserts that no duplicates are specified:
Implement support for user files and directories
Allow user files and directories to be specified as follows:
{
  environment.persistence."/persistent" = {
    users.talyz = {
      files = [
        ".screenrc"
      ];
      directories = [
        "Downloads"
      ];
    };
  };
}

This provides an alternative to the home-manager module and may even deprecate it in the future.
Refactor the module to simplify future extensibility
Implement support for a submodule representation for files and directories. Strings are automatically converted to appropriate submodule representations and each file and directory is handled based only on their respective submodule's attributes. This means that for most files, a string will suffice, but if more advanced options need to be set for the specific files or directories, a submodule can be used instead. It also, arguably, simplifies the implementation a bit.
Add support for custom permissions on created directories
Building on the extensibility mentioned above, allow the owner and mode to be set when directories are created in persistent storage by the create-directories.bash script. Very useful for directories used to store secrets.
Also, make sure the user directories are created with reasonable defaults, i.e. owned by the user and its group, not by root:root.
Here is an example of this in use:
{
  environment.persistence."/persistent" = {
    directories = [
      "/var/log"
      "/etc/NetworkManager/system-connections"
      { directory = "/var/lib/colord"; user = "colord"; group = "colord"; mode = "u=rwx,g=rx,o="; }
    ];
    files = [
      "/etc/machine-id"
      { file = "/etc/nix/id_rsa"; parentDirectory = { mode = "u=rwx,g=,o="; }; }
    ];
    users.talyz = {
      directories = [
        "Downloads"
        "Music"
        { directory = ".gnupg"; mode = "0700"; }
        { directory = ".ssh"; mode = "0700"; }
        { directory = ".nixops"; mode = "0700"; }
        { directory = ".local/share/keyrings"; mode = "0700"; }
        ".local/share/direnv"
      ];
    };
  };
}

Assert that no duplicate files or directories are specified
Make sure the same files or directories aren't specified multiple times, either between persistent storage paths or in the same path.

Ah, this causes an eval failure if you import the module put don't use it:
https://github.com/lovesegfault/nix-config/runs/5011183485?check_suite_focus=true


⚠ ClamAV has degraded performance

In 07dbc4b, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 72 ms

Resolved: ClamAV performance has improved in ef98361 after 12 minutes.


Zero-lag butterworth filter

Hi, I hope you are doing well.
I am passing the signal through the Butterworth low-pass filter twice, first, in the forward direction, and the second, passing the reversed filtered data. but there is a shift in my output.
Best regards,

.

Without understanding the setup completely, I would guess that you see the normal filter delay.

OK, thank you for your comment.
This is my setup:
var iirFilterCoeffs = iirCalculator.lowpass({
order: 2,
characteristic: 'butterworth',
Fs: 500,
Fc: 15
});

If you do a forward-backward filtering to remove the phase shift, I would expect the result that you are seeing. You will see a shift in the forward direction and when doing the backward filtering, the shift will disappear and the samples will match the input samples.

Thank you


Cleanup secrets.go

Currently we store API-Keys like this:
type APIKeys struct {
	BinanceApiKey            string
	CoinbaseProApiKey        string
	CoinbaseProApiSecret     string
	CoinbaseProApiPassphrase string
	KrakenApiKey             string
	KucoinApiKey             string
}

With more exchanges, this will get messy quickly. We should instead make a new struct/exchange.

Hi Zahin, I´m a beguinner in github and I'm look for my first issue intervention

Hi Zahin, I´m a beguinner in github and I'm look for my first issue intervention, how can I help you?

Hey @javiercaamano, glad you are interested in coinprice. Something I am looking for in this issue is creating a new struct for each exchange. Something like:
type APIKeys struct {
	Binance            BinanceSecrets
	CoinbaseProApiKey        string
	CoinbaseProApiSecret     string
	CoinbaseProApiPassphrase string
	KrakenApiKey             string
	KucoinApiKey             string
}
type BinanceSecrets struct {
       BinanceApiKey string
}
...

When you change the secrets file, you'll also have to change where they are being used. You don't have to actually have a valid API key, as most (if not all) of the endpoints used in this project are public endpoints.
P.S. If you do work on this issue, I would love your help with https://github.com/mochahub/coinprice-scraper/issues/26 to document the setup process for this repo.


Debugging StaticWebApps (Including Functions) Locally

Would be nice to have an experience to debug both locally hosted static content and functions together.
Atleast documenting some recipes similar to
https://code.visualstudio.com/docs/nodejs/debugging-recipes can go long ways.

Atleast documenting some recipes similar to
https://code.visualstudio.com/docs/nodejs/debugging-recipes can go long ways.

It seems more likely that we'll go this route.  It'd be difficult to special-case logic all of the different types of frameworks that are available to create a working launch.json

@fiveisprime @anthonychu What channels should I go through to documentation on how to set up local debugging in VS Code?
Or is this worth punting until we get the local emulator experience where we want it to be?

Not a blocker but tracking: https://github.com/microsoft/vscode/issues/136250

We just released a debugging feature in the latest version (0.9.0) of the extension. Find out more about this feature in Guide: Debugging a Static Web App with VSCode.


#420 Trivial testThaliPeerPoolDefault

thaliPeerPoolDefault - Created a trivial default pool that just runs all
actions it is given immediately. This should get us unblocked for basic
end to end testing. We'll enhance once we fix the mux layer to send us
the events we need to do more sophisticated management.

PR is added to the queue for testing as 1. task. (74f8189)

Test (Success) 61776888 build is completed (74f8189)
See https://github.com/ThaliTester/TestResults/tree/6177688874f8189__420_Trivial_testThaliPeerPoolDefault_yaronyg/ for the logs

Test<PHONE_NUMBER>f8189(74f8189) has failed
See https://github.com/ThaliTester/TestResults/tree/6177688874f8189__420_Trivial_testThaliPeerPoolDefault_yaronyg/ for the fail logs

Reviewed 3 of 3 files at r1.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

test/www/jxcore/bv_tests/testthaliPeerPoolDefault.js, line 1 [r1] (raw file):
Filename seems to have testthali whereas in other cases, we used a format like testThali.

Comments from the review on Reviewable.io


Cannot enhance @Configuration bean definition 'beanNamePlaceholderRegistryPostProcessor'

I have tried to apply the similar setup for the other app, but I have encountered this issue.
Jun 27, 2016 12:33:50 PM org.apache.catalina.startup.VersionLoggerListener log WARNING: Cannot enhance @Configuration bean definition 'beanNamePlaceholderRegistryPostProcessor' since its singleton instance has been created too early. The typical cause is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as 'static'.
Jun 27, 2016 12:34:25 PM org.apache.catalina.startup.TldConfig execute SEVERE: Context [] startup failed due to previous errors
Jun 27, 2016 12:34:32 PM org.springframework.web.context.support.XmlWebApplicationContext doClose
Can anyone takes a look at this?

As far as I can see in the code, it has been already declared as static return, why does it still complain?
code ref

FYI:
I have fixed this error
WARNING: @Bean method ServiceConfig.propertyPlaceholderConfigurer is non-static and returns an object assignable to Spring's BeanFactoryPostProcessor interface. This will result in a failure to process annotations such as @Autowired, @Resource and @PostConstruct within the method's declaring @Configuration class. Add the 'static' modifier to this method to avoid these container lifecycle issues; see @Bean javadoc for complete details.
By adding the static modifier to PropertySourcesPlaceholderConfigurer to
    @Bean
    public static PropertySourcesPlaceholderConfigurer propertyPlaceholderConfigurer() {
        return new PropertySourcesPlaceholderConfigurer();
    }

which I did not do before.

do you need further help?

For the tomcat one, yes.

I still have the tomcat issue, but the FYI message is just for another issue.

no way to reopen this?

Yeah, please reopen and explain what's the situation. If you have sample code where the issue manifests  even better so I can test and make sure I got you covered.

I found there is no way to re-open the issue.
The jar actually works pretty well with my sample codebase, but the real integration does the opposite.

As far as warnings go,beanNamePlaceholderRegistryPostProcessor has been static for a while and there's no warning being raised.  Can you create a repo with a "real" example in your github accound and share it with me?

Yes, I was trying to confirm with you whether you have seen that issue first.
Now, I guess I need to try to reproduce the issue now. I still not know the root cause yet.

Will get back to this by the end of this week.

Seeing this issue with "com.github.ulisesbocchio:jasypt-spring-boot-starter:1.8"

@gorky, Can you explain what you see? Is it just the warning? On tomcat? Do you have a code sample?

Thanks for your quick reply!
It's the Tomcat that is embedded in Spring Boot, although it hasn't started when these methods are logged.  I don't currently have a code sample I can post in a public forum (my apologies).
[2016-10-17 17:37:14.278 -0500] - 17939  WARN [main] --- o.s.c.a.ConfigurationClassPostProcessor: Cannot enhance @Configuration bean definition 'beanNamePlaceholderRegistryPostProcessor' since its singleton instance has been created too early. The typical cause is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as 'static'.  [2016-10-17 17:37:15.112 -0500] - 17939  INFO [main] --- c.u.j.EnableEncryptablePropertySourcesPostProcessor: Post-processing PropertySource instances  [2016-10-17 17:37:15.178 -0500] - 17939  INFO [main] --- c.u.j.c.StringEncryptorConfiguration: String Encryptor custom Bean not found with name 'jasyptStringEncryptor'. Initializing String Encryptor based on properties with name 'jasyptStringEncryptor'
Annoyingly, I have a Jar in the classpath with a Config that is defining a bean with the name jasyptStringEncryptor and that config is definitely not getting loaded by Spring Boot.  And this is causing decryption to fail as the seeding password doesn't get read/loading.  When I drop the dependency on the jasypt-spring-boot-starter, the jar and included config are read but then fail on loading due to missing required jasypt classes.
We are using org.springframework.boot.loader.PropertiesLauncher with -Dloader.path set to include the jars that have our jasypt beans defined.  Feel free to PM me.
Regards,
Steve

Found the issue with the jar not being picked up --  a directory name had be changed w/o an update in the -Dloader.path.  When I corrected the directory name I started getting quite a few interesting failures -- trying to work my way through them.  I will keep this thread updated.

Alright, thanks, let me know if you need further assistance. I was checking the sample apps I have and I don't see the warning in any of them

Ok, this is issue is resolved.  I've walked into some others, but I can open a ticket and supply a test case.  Feel free to close this one as "End User Configuration Error -- corrected".
And thanks!

The issue is fixed now in version 4.2.6, 4.3 RC2. Please refer this ticket https://jira.spring.io/browse/SPR-14234


Suggested refinements to the "simplified" branch

I like the changes a lot. I added some logic to make it easier to switch between implementation options using command-line options, except for the Java KafkaModelServer, where it proved difficult due to the need to declare a few variables final (the streams and restService objects).

I also removed some directory trees that were "left behind".

Are you referring to how I punted on command-line arguments in the Java Kafka server? I tried following the same pattern I used in the Java Akka server, where I initialize mutable variables, then override based on command-line arguments, but the closure at the end,
        Runtime.getRuntime().addShutdownHook(new Thread(() -> {
            try {
                streams.close();
                restService.stop();
            } catch (Exception e) {
...

caused compiler complains if streams and restService aren't final. I'm willing to try a different approach.

Lets merge this one and try experiment more

Okay. Done.


Typeable instance derived for nested classes can be unsafe

The automatically generated Typeable instance for nested classes can be unsafe, if they refer to a type member of the enclosing class. The macro generating the instance correctly rejects uncheckable generic classes, but allows these; unfortunately these classes are in effect also "generic". The problem affects both regular classes and case classes (examples which cause a ClassCastException: https://github.com/durban/akka-typed-examples/blob/ca73c1dc1e1ca729ddc355a175ca95ca4d448b75/src/main/scala/com/example/shless/TypeableExample4.scala and https://github.com/durban/akka-typed-examples/blob/ca73c1dc1e1ca729ddc355a175ca95ca4d448b75/src/main/scala/com/example/shless/TypeableExample5.scala).
I discovered this when I worked on #574. I tried to fix this too, but haven't been able to find a way to distinguish cases when the nested class refers to the type member from the ones when is doesn't. (If it doesn't refer to the type member, I think its not unsafe.)

Good spot, and thanks for the analysis.


[atkmm, pangomm] Update and remove local license files

Describe the pull request

What does your PR fix?
Delete local license files
Related: #24201

Which triplets are supported/not supported? Have you updated the CI baseline?
Unchanged

Does your PR follow the maintainer guide?

Yes

If you are still working on the PR, open it as a Draft: https://github.blog/2019-02-14-introducing-draft-pull-requests/

Thanks!


fix: missing command in oclif manifest

This PR fixes the issue with empty oclif manifest publishing to NPM.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


github actions

The build is too slow with the default GitHub Actions runner, 20+ minutes. We might revisit this in the future with a self-hosted runner but not worth spending time on this right now.


How about ssh keys in LDAP?

I use FreeIPA. FreeIPA provides a LDAP server which allows gitbucket to use LDAP auth. In addition FreeIPA stores ssh keys for a user in LDAP. Would it be possible (feasible) to add a feature for gitbucket to use the keys in LDAP?

I think it's possible but we don't have a plan to support it currently.


Fix some Python 3 issues flagged by the -3 flag and Pylint

I've been working through looking at adopting Python 3, and I've been utilizing the -3 flag to help idenitfy issues with Python 3.
Here's a quick write up I did last week:
https://gist.github.com/rowillia/c0feed97c1863b2d8e5a3ed73712df65
The -3 flagged a few issues in werkzeug worth fixing, namely around __eq__ shadowing __hash__ in PY3.
Fixing these issues will help make the -3 flag less noisey for folks running Werkzeug in production.

@untitaker Thanks for taking a look!
I added some tests.  I added a pylint checker for this particular error...when they ship their next version it might be good to use their Python 3 compat checkers - https://github.com/PyCQA/pylint/pull/1115

@untitaker ping!  Anything else I can fix up here?

@untitaker @RonnyPfannschmidt thanks for the feedback.  Fixed.

yeah lgtm iff ronny says it's conceptually good
On Fri, Oct 14, 2016 at 10:10:57AM -0700, Roy Williams wrote:

@untitaker @RonnyPfannschmidt thanks for the feedback.  Fixed.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/pallets/werkzeug/pull/1017#issuecomment-253862970

@RonnyPfannschmidt Anything else I can fix here?  CI failure seems unrelated.

just missed the last comment, LGTM

Thanks!

Thanks @RonnyPfannschmidt and @untitaker !


ISSUE: startWith, of, and Scheduling

Related #857 #855 and #854
So the problem is this: What if I wanted to create an Observable of schedulers, or I wanted to start and Observable with a Scheduler, but I don't want to schedule:
Observable.of(scheduler1, scheduler2, scheduler3);
source.startWith(scheduler1, scheduler2, scheduler3);

How do we differentiate between scheduler3 above being a value to emit and being a scheduler to use?
There are a few solutions:

Separate methods (e.g. of and ofScheduled)
Guidance to use subscribeOn and observeOn for those operators, and have them not take schedulers.
Implement a Scheduler.none that can be used to flag that scheduling is not to be used (e.g. if (!scheduler || scheduler instanceof Scheduler.none) { /* don't schedule */ })). Then the last scheduler could always be assumed to be the scheduler argument, and people could just specify it:  Observable.of(scheduler1, scheduler2, scheduler3, Scheduler.none)

@blesh this seems like such a rare case that it's probably not worth complicating API over. I'm not saying it can't happen, but let's be honest: it doesn't happen often.
On the off-chance you do need to synchronously enumerate a series of schedulers, you have two options:

Use fromArray([scheduler1, scheduler2, scheduler3])
Pass undefined as the last argument to of

What's the difference between forcing someone to pass undefined vs. Scheduler.none? Either way they have to know that of expects a Scheduler as its last argument, and they need to do something special since they're enumerating an arguments list of Schedulers.
As for the Scheduler.none type itself, would it be the non-reentrant tail-recursive scheduler we discussed before, or would we still loop in creation operators? I'd wager all the extra function invocations introduced by the first option would wipe out a good deal of our perf gains on synchronous dispatch, but who knows, I've been wrong about JITs before.

@trxcllnt, I agree, mostly.
I don't think passing undefined as the last argument of of will work, though, because we're checking arguments in reverse to see if they're instanceof Scheduler I think. If it's undefined then that answer will be false and it will not only assume there is no scheduler, but it will assume that undefined is one of the values you should emit from the Observable.
More likely the solution would be to work around it like:
// (compare to example in first comment)
Observable.from([scheduler1, scheduler2, scheduler3]);
Observable.from([schedluer1, scheduler2, scheduler3]).concat(source);

@blesh it will assume that undefined is one of the values you should emit from the Observable

You're right, and normally I'd be concerned, but I guess I just don't care about this problem. People should use Observable.from or Observable.fromArray because their signatures lend themselves better to this specific problem. We shouldn't have to junk up Observable.of just because the polymorphic signature isn't perfect in this one rare case.

@trxcllnt completely agree. As far as I'm concerned, startWith is really the only one that is a little gross in this scenario. Then again, an Observable of Schedulers is pretty gross.

Closing this issue as stale.


fix: cleanup deposit address at logout

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


How to set NPROC, MB, and njobs according to my computation enviroment?

Dear Falcon developers,
I installed falcon via conda and was able to run the E coli sample data successfully. When I tried to use my own data, I had some uncertainty about modifying NPROC, MB, and njobs. I run falcon in a fat node using local mode, this fact node has 128 cpu cores, 1.5 TB memory and 50 TB harddisk. I am assembling a ~500M genome with ~175 GB pacbio sequel II data. Currently my fc_run.cfg is as follows:

[job.defaults]
job_type = local
use_tmpdir = ./
submit = bash -C ${CMD} >| ${STDOUT_FILE} 2>| ${STDERR_FILE}
[General]
pwatcher_type = blocking
input_type = raw
input_fofn = subreads.fasta.fofn
genome_size=500000000
seed_coverage = 40
length_cutoff = -1
length_cutoff_pr = 12000
falcon_greedy = False
falcon_sense_greedy=False
pa_daligner_option = -e0.76 -l1200 -k18 -h480 -w8 -s100
ovlp_daligner_option = -k24 -h480 -e.95 -l1800 -s100
pa_HPCdaligner_option = -v -B128 -M24
ovlp_HPCdaligner_option = -v -B128 -M24
pa_HPCTANmask_option = -k18 -h480 -w8 -e.8 -s100
pa_HPCREPmask_option = -k18 -h480 -w8 -e.8 -s100
#pa_REPmask_code=1,20;10,15;50,10
pa_DBsplit_option = -x500 -s200
ovlp_DBsplit_option = -s400
falcon_sense_option = --output_multi --min_idt 0.70 --min_cov 4 --max_n_read 200 --n_core 100
overlap_filtering_setting = --max_diff 120 --max_cov 120 --min_cov 4 --n_core 100
[job.step.da]
NPROC=100
MB=32000
njobs=100
[job.step.la]
NPROC=100
MB=64000
njobs=100
[job.step.cns]
NPROC=100
MB=64000
njobs=100
[job.step.pda]
NPROC=100
MB=64000
njobs=100
[job.step.pla]
NPROC=100
MB=32000
njobs=100
[job.step.asm]
NPROC=100
MB=384000
njobs=1

So, how can I modify parameters like NPROC, MB, and njobs to maximize the speed according to my computation environment? Or from where could I find hints for this purpose?
Thank you very much in advance!
liang

Maybe the pypeflow wiki helps?

Maybe the pypeflow wiki helps?


Feature: add preload support

With this PR, users can use ->preload(/*true*/) to preload all icons. This makes it so that all icons appear when the select is opened.
Closes #34

Thanks a lot for the PR!


Should be examples of using other autolayout DSLs

One of the goals of the library is to be fairly unopinionated about how constraints are created. To emphasize this I think there should be one or two examples that use common autolayout DSLs like SnapKit and Anchorage.

done in this pr


Merge fields in backend ir

This fixes the hero_name test case.
Also handle @include/@skip directives with literal arguments.
@include/@skiphandling is still not 100% correct in the case of merged fields, I'll look into this in a follow up PR

For the record, I finally ended up re-introducing FrontendIr because it can represent arbitrary @include/@skip conditions. It also makes a clearer separation so I think it's worth having it.


Install script: use non-gnu specific sed range to extract tar contents

The install script doesn't pass the correct file contents to tar on OSX, since it uses a GNU specific form that is not supported, which results in a tar: Unrecognized archive format error.
From the GNU sed man page:
GNU `sed' also supports some special two-address forms; all these
are GNU extensions:
`0,/REGEXP/'
     A line number of `0' can be used in an address specification like
     `0,/REGEXP/' so that `sed' will try to match REGEXP in the first
     input line too.  In other words, `0,/REGEXP/' is similar to
     `1,/REGEXP/', except that if ADDR2 matches the very first line of
     input the `0,/REGEXP/' form will consider it to end the range,
     whereas the `1,/REGEXP/' form will match the beginning of its
     range and hence make the range span up to the _second_ occurrence
     of the regular expression.

     Note that this is the only place where the `0' address makes
     sense; there is no 0-th line and commands which are given the `0'
     address in any other way will give an error.

Therefore, for this install script, 1,/REGEXP/ will exhibit the same behavior on linux hosts using GNU sed and the sed on OSX, since the #EOF# marker will never be on the first line.

I stumbled on this exact same issue. Any reason why this PR got closed? Was there an alternative fix?
After applying this fix and running the install script again I did get another error though while loading the docker layers:
invalid diffID for layer 3: expected "sha256:6277069c224ca1f16b631c8f6d698c4de9668fe324e82a273622b8f4c0227c27", got "sha256:82a28b44f06ce731a059dd3f3b61cf985a002369132b9718137949e5ffefe30c"

It was user error.  I misread the install instructions and thought I needed to run the install script on my OSX machine when setting up a vagrant cluster.  The install script is run by Vagrant on the vagrant hosts, so I closed the PR since it wasn't an actual issue for me.

There are other things that break running it on OS X. It's in the works to switch from the self extracting docker to a single binary, which should enable running on OS X among other things


Too many pending authorizations - On Certificate Orders

We have approximately 500 ingresses(500 unique certificate requirement), using the method defined in the docs to setup these ingresses. The cert-manager gets swamped by the number of certificate requests, not managing it correctly leading to "too many pending authorizations" on the orders.

Environment details::

Kubernetes version: 1.21.5
Cloud-provider/provisioner: AWS
cert-manager version: 1.8
Install method: static manifests

/kind bug

The error comes from LetsEncrypt https://github.com/letsencrypt/boulder/blob/main/ra/ra.go#L519
It'd be interesting to see how it got to this state, i.e whether some certs did actually get issued before you hit this error.

Out of the request for 500 certificates only 41 were issued. Waited for 24 hours and the number did not change. I was going through the let's encrypt documentation, specifically rate limiting. And the last 2 lines in the pending authorization section caught my attention.
"Note that having a large number of pending authorizations is generally the result of a buggy client. If you’re hitting this rate limit frequently you should double-check your client code."


Intercommunication between Vespa application

I want to create an application in Vespa whcih fetch the data from some appications and feed into another applications.For more detail visit here

Answered there


Allow manual uploading

I started to listening new event, which is startUploadingProcess
But i couldn't find a way to fire this to inside my component. I've tried this.$emit and like this.$bus.$emit but no chance.
Referencing: #2

With changing listener method, now i'm able to use event. But i'm not sure is this correct for your package. Because i believe $bus is spesific for my application.

Hi, thanks for your contribution here.
I do feel that an autostart prop would be a good idea.
However, you have removed the loading bar that I'm currently using in production and you've also introduced new dependencies ($bus) without registering them. Users would be forced to use this communication system when they may be using other options, such as vuex for instance.
So, I do think there is room for this idea - but I'm closing this PR as you currently have it.

Hi Charlie, thanks for your comment and i totally understand your reasons to reject. Let continue on issues to improve package.


Unused prelim code for 6.2.8 has incorrect bash expansion

In task "PRELIM | 6.2.8 | Gather local interactive user directories", the
getent passwd { {{ rhel8cis_int_gid }}..65535} results in failed bash expansion due to the space after the first {.
The code:
shell: "getent passwd { {{ rhel8cis_int_gid }}..65535} | cut -d: -f6 | sort -u | grep -v '/var/' | grep -v '/nonexistent/*' | grep -v '/run/*'"
could be rewritten with a join filter, e.g.:
shell: "{{ [ 'getent passwd {', '..65535} | cut -d: -f6 | sort -u | grep -v /var/ | grep -v /nonexistent/ | grep -v /run/' ] | join(rhel8cis_int_gid) }}"
However, the variables registered by this and the subsequent task in prelim.yml ("PRELIM | 6.2.8 | Set fact for home directory paths for interactive users") do not appear to be used anywhere else in the role. As the logic of these tasks does not seem to map exactly to the 6.2.8 rule in the benchmark, nor are these results used in task "SCORED | 6.2.8 | PATCH | Ensure users own their home directories" in section6.yml, I recommend removing these two tasks from prelim.yml.

Fixed with PR #75, thanks for pointing this out.
-George


Callback never invoked when starttls fails

When invoking starttls and it fails to etablish a TLS connection, e.g.:
const starttls = (config) => {
    const client = ldap.createClient({url: config.url});

    return new Promise((resolve, reject) => {
        client.starttls({}, [], (tlsErr) => {
            if (tlsErr) {
                log.error({stack: tlsErr.stack}, tlsErr.message, 'connecting to', config.url, 'failed');
                reject(tlsErr);
            } else {
                log.info('connected to', config.url);
                resolve(client);
            }
        });
    });
};

the callback for handling the error is never used.    client.starttls({}, [], (tlsErr)  returns false, but this can not be used for error handling since it shortcuts the asynchronous operations whether or not the connection is successful or not a failed connection.

Would you be able to submit a PR for this?

👋
On February 22, 2023, we released version 3 of this library. As a result, we are closing this issue/pull request.
Please see issue #839 for more information, including how to proceed if you feel this closure is in error.


[bug]: Primary colors used in New York style tooltips

Describe the bug
Here's the tooltip in NewYork Style:
"use client";

import * as React from "react";
import * as TooltipPrimitive from "@radix-ui/react-tooltip";

import { cn } from "@/lib/utils";

const TooltipProvider = TooltipPrimitive.Provider;

const Tooltip = TooltipPrimitive.Root;

const TooltipTrigger = TooltipPrimitive.Trigger;

const TooltipContent = React.forwardRef<
  React.ElementRef<typeof TooltipPrimitive.Content>,
  React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>
>(({ className, sideOffset = 4, ...props }, ref) => (
  <TooltipPrimitive.Portal>
    <TooltipPrimitive.Content
      ref={ref}
      sideOffset={sideOffset}
      className={cn(
        "z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
        className
      )}
      {...props}
    />
  </TooltipPrimitive.Portal>
));
TooltipContent.displayName = TooltipPrimitive.Content.displayName;

export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };

If you notice it uses primary colors. So if I switch the theme to blue or some other colorful theme, the tooltip background also changes to blue which looks pretty odd.
Under default theme it uses popover colors which still looks decent. Am I missing something?
Affected component/components
tooltip
How to reproduce
Check the code of tooltip component
Codesandbox/StackBlitz link
https://ui.shadcn.com/docs/components/tooltip
Logs
No response
System Info
Chrome
MacOS

Before submitting

[X] I've made research efforts and searched the documentation
[X] I've searched for existing issues

I think it is not bug because you can customize everything as you want.
If you are not happy with it, just change class name for tooltip only.


Uninitialized memory passed to safe functions in a few locations

Hi there, we (Rust group @sslab-gatech) are scanning crates on crates.io for potential soundness bugs. We noticed that in these three code locations, unsafe memory is passed to Copy::copy, Copy::copy_mat and Gemv::gemv:
https://github.com/mikkyang/rust-blas/blob/bf6d33139eadb2c1215d259fd3b84bf04b531871/src/vector/mod.rs#L30-L38
https://github.com/mikkyang/rust-blas/blob/bf6d33139eadb2c1215d259fd3b84bf04b531871/src/math/mat.rs#L121-L123
https://github.com/mikkyang/rust-blas/blob/bf6d33139eadb2c1215d259fd3b84bf04b531871/src/math/matrix_vector.rs#L23-L29
Copy and Gemv are currently public and safe traits to implement, maybe they should be marked as unsafe or the individual methods that can receive undefined memory marked as unsafe.
Also note that the Into<Vec<T>> implementation can invoke undefined behavior, see https://doc.rust-lang.org/std/mem/union.MaybeUninit.html#initialization-invariant

As a consequence, zero-initializing a variable of reference type causes instantaneous undefined behavior, no matter whether that reference ever gets used to access memory

which means that just doing something like this can invoke undefined behavior:
#![forbid(unsafe_code)]

use rblas::matrix::Matrix;
use rblas::vector::ops::Copy;
use rblas::vector::Vector;

#[derive(Clone, Debug)]
struct MyType(Box<u64>);

impl Copy for MyType {
    fn copy<V, W>(src: &V, dst: &mut W)
    where
        V: ?Sized + Vector<Self>,
        W: ?Sized + Vector<Self>,
    {
    }

    fn copy_mat(src: &Matrix<Self>, dst: &mut Matrix<Self>) {}
}

fn main() {
    let vec = vec![MyType(Box::new(42))];
    let as_blas_vector = &vec as &Vector<_>;

    let back_to_vec: Vec<MyType> = as_blas_vector.into();
}

Thanks for bringing this up. I'll look into it!


amazon payment integration

Q
A

Bug?
no

New Feature?
yes

amazon payment integration

Waiting for Feedback:
https://forum.plentymarkets.com/t/rest-api-amazon-payment-uebergabe-shopware-plentymarkets/47095


asyncstorage -> mmkv in readme tech stack

Please verify the following:

[ ] yarn test jest tests pass with new tests, if relevant
[ ] yarn lint eslint checks pass with new code, if relevant
[ ] yarn format:check prettier checks pass with new code, if relevant
[ ] README.md (or relevant documentation) has been updated with your changes
[ ] If this affects functionality there aren't tests for, I manually tested it, including by generating a new app locally if needed (see docs).

Describe your PR

Screenshots (if applicable)

Before
After

[Insert before screenshot/video]
[Insert after screenshot/video]

Thanks @softwarebyze!

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Day 1: Development Environments Review

How clear is the material? What’s confusing?
I think that the notebook is overall pretty clear. However, there are a few terms in there, such as 'field' that may benefit from a quick definition. A second point is the use of the keyword 'self' in OOP: I remember struggling with understanding what that was and when we need to explicitly include it in (say) the arguments for a method. The rules for that are fairly consistent, so I think the activity would benefit from a quick explanation of what 'self' is actually referring to.
Are we assuming any knowledge that we shouldn’t be? Where should we add background info?
In addition the ones mentioned above, there are a few references to SSH, which is something that participants may not be familiar with.
Is the structure of the lesson engaging? Are there any parts that are unnecessary/boring/too long?
 Keeping in mind that most participants will likely take more time than you, how much time should we suggest that participants spend on each activity?
It took me in the 5-10 min range, so I think we should give participants 10-15 mins

Thanks! I added a couple of lines of docstring in the example that I will also explicitly mention during the lesson regarding self. I also added a one-line explanation of SSH. PR #124


Update jspdf to version 1.3.2

#3116 is having issue printing PDF.
Summary

Please review make any adjustments I have added the latest version of jspdf code to this file.  This also needs tested...

@thabaum this has 189 changes :) Can you rebase or restart from the branch you are targetting please.

crap... again i thought i was all good sorry...

  I always cry for help from @bdukes 🤣

I did this using github instead of VS...

Is this normal to have to "skip" all the commits or can I push some majic button that does them all.

Off the the races... back tonight. I can't believe there isnt a skip all button.  for one file change this is a bummer.  live an learn on PR at a time here 👍

If this started a a commit later than the target merge branch, it is a bit advanced to rebase. For a 1 file change, I usually just start over which takes less time :)

redo...


[FEATURE] Sync version

Is your feature request related to a problem? Please describe.
Trying to use this with Deno's Markdown. It doesn't work because this library is asynchronous and that library doesn't accept an asynchronous syntax highlighter.
Describe the solution you'd like
Expose highlightTextSync for example?
Describe alternatives you've considered
Not much I can do, this library always returns a promise and the markdown library doesn't know how to handle it.
Reproduction script
import { Marked } from<EMAIL_ADDRESS>import { highlightText } from<EMAIL_ADDRESS>
Marked.setOptions({
  // prints `[object Promise]`
  highlight: (code, lang) => highlightText(code, lang),
});

I saw the only reason this is asynchronous is because tokenize imports the language if not loaded yet. Maybe I can import the languages in advance and pass them down to tokenizeSync?

Weirdly enough, I encountered the same exact problem you have and thought of the same solution you had. Is this being actively worked on? I can start working on this if not.

Thank you for your interest in this project! Unfortunately, a sync version of the highlighting functions is not currently under active development. However, you're welcome to fork the project and develop your own version. If you have any questions or need help getting started, let me know.


fix: x-displayName & x-tagGroups cancel eachother out, fix #1719

Currently, x-displayName and x-tagGroups don’t play well with each other, see #1719.
This PR fixes it. Instead of overwriting the name, and breaking the logic of what belongs to which tag, we’ll just keep an optional displayTitle which is used to overwrite title (if needed).
Example
openapi: 3.1.0
info:
  title: Tag groups example
x-tagGroups:
  - name: fruits
    tags:
      - fruitPrice
  - name: vegetables
    tags:
      - vegetablePrice
tags:
  - name: fruitPrice
    x-displayName: price
  - name: vegetablePrice
    x-displayName: price
paths:
  '/fruit/price':
    get:
      tags:
        - fruitPrice
      summary: Get fruit price

  '/vegetable/price':
    get:
      tags:
        - vegetablePrice
      summary: Get vegatable price

Result

ah! some conflicts @hanspagel then we can get this in ✨


BGP/ISIS route information

View the proposed changes using the redocly API viewer
Addresses issue #239
Use case: Need to be able to retrieve IPV4 Prefix information from a BGP Peer.
# get bgp peer ipv4 prefix state

@PrasenjitAdhikary this PR is a draft at the moment as I would like your feedback on the proposed models for retrieving ipv4 prefix information from a BGP peer(s).  Once the model structure is agreed on then I will commit the remainder of the bgpv6/isisv4/isisv6 prefix models.


Blank window on windows 10.

Describe the bug
Blank window on windows 10.
To Reproduce
Steps to reproduce the behavior:
You can try a ready project if you want: https://github.com/samirdjelal/bidirectional

Build for Windows.
Copy the binary to a new Windows 10 machine, (Windows Sandbox in my case)
Install Visual C++ Redistributable Runtimes as it is required by Tauri.
Launch the app, and see error.

Expected behavior
It should render the page in the WebView.
Screenshots
This screenshot is taken from a debug build.

And this is the interface in the development machine.

Platform and Versions (please complete the following information):

Note: this error has occurred in Windows Sandbox that is integrated with Windows 10 ( Windows_NT 10.0.19042 )
OS: Windows_NT(10.0.19042) - win32/x64
Node: 12.18.3
NPM: 6.14.6
Yarn: 1.22.10
Rustc: 1.47.0
tauri.js - 0.14.1
cargo - 1.47.0
tauri-bundler - 0.9.4

you are way out of date @samirdjelal - we are running the beta version now, and this problem should no longer exist.
Please consult https://tauri.studio/en/docs/usage/development/updating for help upgrading.

It seems that the beta version required webview2 to be installed in the machine, that's additional 100MB to be downloaded!

Yeah, its just once per device


poll_queues Clear Linux crashing MadMax plotter

I tried to tune poll_queues=4 on Clear Linux 37860 (6.1.1-1228.native) with latest MadMax 1.8.1 - 94679d0
At about [P1] Table 3 plotter crashes with following error:
terminate called after throwing an instance of 'std::runtime_error' what(): thread failed with: input not sorted
Any suggestions guys, please?
I wanted to see if there is any improvement in plotting speed. With poll_queues disabled, machine plots happily ~21.5min/plot

99.9% of issues are between chair and keyboard.
I accidentally switched off /sys/block/nvm*/queue/scheduler "none", and the wondered why it crashes. It cannot queue with disabled queuing :o)


Add json as one of possible outputs

Problem: we want to use diff in pipes, but default printing format isn't parse-friendly
Solution: add option "--json" and serialization of diff tree to this format.

As always, would be nice to see some tests. For JSON representation we can add golden tests as well and probably toJSON . fromJSON roundtrip to check that values don't change during it

probably toJSON . fromJSON roundtrip to check that values don't change during it
I'm changing values during toJSON here because in other case there would be a list full of ... { "type": "Both", "content": "Brethren," }, { "type": "Both", "content": " " }, { "type": "Both", "content": "or" } ... for each line/word/character (depend on Orientation value)

Hmm, okay, but what is the motivation behind such serialization? I think JSON was never intended to be human-readable and it's more-or-less okay to have some boilerplate in JSON (as long as this boilerplate is not hundreds of MBs :sweat_smile:)

Hmm, okay, but what is the motivation behind such serialization?

I thought that having possibility to read JSON output by eyes is better, that have no it.

as long as this boilerplate is not hundreds of MBs

Suppose, that we have source file about 1000 lines of code, that have 30-40 characters per line (some lines are empty and other a longer than 40 characters) in average, and we enable --character-oriented option.
In this case we would have output like {"type":"Both","content":"a"}, for each character. There are 30 characters, so file will increase from 30-40 kb up to 900kb-1.2mb.

@rvem I updated PR and for now removed squashing of Diff, because after decode . encode test reports an error:
170c170
<     ←/nix/store/9dmp71si62hsgf2bi5g1ibkqdbwsv0zv-second_derivation←← ←←/nix/store/gvvxj52wd0s986ybx06gzrj8r2623fi9-third_derivation←← ←←/nix/store/5agf2p8f84fijdnlqy5mvwza3s2lic8l-old←← ←←/nix/store/10gqfacshzjzz0aayx29w5wrbcsbsa83-outputs←→/nix/store/1zy94ghyzk4f1r3alk4yhk2yvrm6x4ch-second_derivation→→ →→/nix/store/0xq8xmcxshwkai4rn55zb780pq8qdrbx-third_derivation→→ →→/nix/store/gz8x5pzvn6wpzk74m5nr7758iz8cvbsr-new→→ →→/nix/store/kqgpkfil6919d95c2vfyvdpb0fcfam30-outputs-lib→
---
>     ←/nix/store/9dmp71si62hsgf2bi5g1ibkqdbwsv0zv-second_derivation /nix/store/gvvxj52wd0s986ybx06gzrj8r2623fi9-third_derivation /nix/store/5agf2p8f84fijdnlqy5mvwza3s2lic8l-old /nix/store/10gqfacshzjzz0aayx29w5wrbcsbsa83-outputs←→/nix/store/1zy94ghyzk4f1r3alk4yhk2yvrm6x4ch-second_derivation /nix/store/0xq8xmcxshwkai4rn55zb780pq8qdrbx-third_derivation /nix/store/gz8x5pzvn6wpzk74m5nr7758iz8cvbsr-new /nix/store/kqgpkfil6919d95c2vfyvdpb0fcfam30-outputs-lib→

As you can see, each word and space was tagged by arrows as new/old, but after squashing these diffs are merged together into one "new" and one "old" diff.
It seems to be a good improvement, but I'm not sure, that it's ok to change current behavior.
I also want to ask you, what is the best way to test tree preservation after decode . encode? Now all the code is in the executable component, so, AFAIU, I can't just make it dependency of test component, so I need to create a library and move all the code into it, right?

I also want to ask you, what is the best way to test tree preservation after decode . encode?

Ideally, you should be able to generate some arbitrary diff structures and provide some property tests. I believe that this part is pure and thus can be extracted into a test-suite


A new community driven Chart.js?

Would it make sense to create a community-driven Chart.js fork?
I see a lot of issues hanging and not much activity on this project.
I need two things that turn me away from using Chart.js. These are very basic features which I think make sense to be in the core:

gracefully rendering negative values (see #773, #669, #628, #542, #446 etc.)
show x-axis labels only every N values (see #864, #614, #624, #12, #715)

@nnnick has done a nice job with Chart.js but he looks pretty busy right now.
I, my self, must admit that I don't have much hours to put into this project, but browsing through pull requests and issues looks like a number of people could contribute.
What do you all think?

@adrianandreias Recently a number of collaborators have joined @nnnick in helping to maintain Chart.js. We've spent a fair bit of time so far working through the issue backlog and releasing a 1.0.1 milestone. That being said, there is a lot more work to do. We're hoping to get into a fairly regular release cycle but unfortunately it may take some time.
If you're interesting in helping out, please let myself, @nnnick, @tannerlinsley, @jakesyl, @fulldecent or @derekperkins know.

Duplicate issue, see #795 #356 #821 #833 #505 :-)
This project is definitely alive and is now more decentralized. This is evidenced by your expanded team of project "members" above.
In general our goal is to improve the release process so that we can develop in parallel rather than in series. To that end, we have a 1.1 milestone that is focused:

https://github.com/nnnick/Chart.js/issues?q=is%3Aopen+is%3Aissue+label%3A"Priority+feature"+milestone%3A1.1

https://github.com/nnnick/Chart.js/commit/82571710c623e26ae8c6ebb904f2fb4fd71df904


⚠ Jenkins Plugins Artifactory has degraded performance

In 7c9fe74, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1260 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 5faa7ca after 35 minutes.


Ms

Example URL(s)
Cloudfair
Actual Behavior
Failure!
Expected Behavior
Verified if I am human
Additional information
Failure!

Howdy @Bridgette40816, you may want to check out the guidelines in this guide that provide a few indications around what might be challenged.
If that doesn't help, I'd encourage you to post in the Cloudflare community.


Add Reporting Templates to the Repo - issue(feature, bug) and pr template.

Closes #2056
Changes

Adds auto template for but reporting
Adds auto template for feature request.
Adds auto template for pull request documenting.

Types of changes
What types of changes does your code introduce?

[ ] Bugfix (a non-breaking change that fixes an issue)
[ ] New feature (a non-breaking change that adds functionality)
[ ] Breaking change (a change that causes existing functionality not to work as expected)
[ ] Optimization
[ ] Refactoring
[ ] Documentation update
[ ] Build-related changes
[x] Other: Adds templates to improve contribution flow.

Testing
Requires testing

[ ] Yes
[x] No

If yes, did you write tests?

[ ] Yes
[x] No

Notes on testing
None
Documentation
Requires documentation update

[ ] Yes
[x] No

Requires explanation in Release Notes

[ ] Yes
[x] No

Remarks
Provides no change to functional code, simply an enhancement in contribution process.

We initially had a PR template, but we decided to remove it because it became a bit of a hassle. See here: https://github.com/NethermindEth/juno/pull/612

We initially had a PR template, but we decided to remove it because it became a bit of a hassle. Tbh, I don't have a strong opinion on it. See here: #612

I took a look at it seems the description section might have been the hassle.
now unassuming i'd ask @wojciechos.  what was the hassle?

I don't feel strongly either way, no harm in adding it, but we don't seem to get a ton of feature requests either so might be unneeded. I'll leave it up to @kirugan and/or @IronGauntlets :)

I do find annoying having to go through a template to create a PR.  I don't see much harm in not having a template, as long as people write good commit messages, and PR description.

I'd be curious to know what problem exactly you are trying to fix by adding templates on issues and PRs

I do find annoying having to go through a template to create a PR. I don't see much harm in not having a template, as long as people write good commit messages, and PR description.

True it does get annoying. Especially when the list contains things that could have been in the commit messages.
The thing is most commit messages could appear vague to another reader.
Second yea we may even do a way with the list of changes or even the PR templates.
but for the issues templates, its really needed, its hard to understand/replicate an issue without enough context,
Expected behaviour vs current behaviour, where it was ran etc.
Documentation in general can be tasking but its for the sake of the person on the on the other end,
Original poster might be unavailable at the point of addressing, etc.

I'd be curious to know what problem exactly you are trying to fix by adding templates on issues and PRs

Making issues clearer to understand and addressable even in the absence of OP.

I personally don't think that it's a good idea to have templates for reporting issues or to create a PR without knowing...

These templates aren't strict, it's extremely loose and they induce clear/precise language/statements when specifying the problem/solution and the ripple effects it could have to other things, like docs.
The idea is the "whys" are addressed in the issues, and the PR's contain the "whats".
In the cases of no issues, remarks covers that.
If we need those sections I could just added them.

Oh, I thought this template would be for external uses who want to create a feature requests / PR, not Juno devs.
I don't think we should have to create and fill out a template doc anytime we want to create a PR, it just creates unnecessary overhead, and doesn't solve any problem that we are currently facing. Also, I find the template just gets in the way of understanding what the PR is about.

closing this.


OSError encountered due to a line in the interface.py file on Windows.

OSError: [WinError 193] %1 is not a valid Win32 application.
The line in the interface.py file which causes the issue is (Line 176):
process = Popen(command, stdout=PIPE, stderr=PIPE)
I'm trying to fix this myself but I'm sort of a noob at git practices so please excuse any oversights.

https://github.com/NolanoOrg/cformers/issues/19
Point 5: Change line 127(or where is it in this version) in interface.py to
command = ["./cpp/main.exe", self.cpp_model_name,

This worked out, the .zip file was a life saver! Thanks @HCBlackFox !