[ Bug found in Youp3  version (1.3.0) ]  the application is crash when i  try to download any video

Project Information

Repository:  https://github.com/ExploiTR/YouP3
Project Name: YouP3

Expected behavior
I was expecting the application  should not be crash during  a downloading  any video
Actual behavior
when I try to download any video from youp3  the application is crash
How to reproduce
1-Download the latest application
2-install and open the application
3- search any video
4- during a watching click on up/down arrow
5- click on Fetch Downloadable File(s) Details
6- see the error

Browser/App version :  Youp3  version (1.3.0)
Operating system       : 6.0.1
Smartphone                : Galaxy j7

Recording Of The Bug

My Github Account
https://github.com/facebook-786
Logcat
D/AndroidRuntime(19886): Shutting down VM

E/AndroidRuntime(19886): FATAL EXCEPTION: main

E/AndroidRuntime(19886): Process: app.exploitr.nsg.youp3, PID: 19886

E/AndroidRuntime(19886): java.lang.NullPointerException: Attempt to invoke virtual method 'void f.f.b(int)' on a null object reference

E/AndroidRuntime(19886): 	at downloader.utils.c$1$1.d(BasicDownloader.java:227)

E/AndroidRuntime(19886): 	at com.github.hiteshsondhi88.libffmpeg.f.a(FFmpegExecuteAsyncTask.java:72)

E/AndroidRuntime(19886): 	at com.github.hiteshsondhi88.libffmpeg.f.onPostExecute(FFmpegExecuteAsyncTask.java:10)

E/AndroidRuntime(19886): 	at android.os.AsyncTask.finish(AsyncTask.java:636)

E/AndroidRuntime(19886): 	at android.os.AsyncTask.access$500(AsyncTask.java:177)

E/AndroidRuntime(19886): 	at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:653)

E/AndroidRuntime(19886): 	at android.os.Handler.dispatchMessage(Handler.java:102)

E/AndroidRuntime(19886): 	at android.os.Looper.loop(Looper.java:135)

E/AndroidRuntime(19886): 	at android.app.ActivityThread.main(ActivityThread.java:5910)

E/AndroidRuntime(19886): 	at java.lang.reflect.Method.invoke(Native Method)

E/AndroidRuntime(19886): 	at java.lang.reflect.Method.invoke(Method.java:372)

E/AndroidRuntime(19886): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)

E/AndroidRuntime(19886): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)

You're using Basic Mode. Please try the same video with Advanced Mode. Basic Mode has some problems in the way it works.
If you're not able to download the same video in Advanced Mode too, then I will check in.

The download option is working fine in the advanced mode

Sir in advance mode in is also showing ok size and when i plcae it in download it gives cant't download server error

I know this application contains a lot of bug. It's one kind of that.
Basic mode can't work all the time, basically when it's DRM protected video
/ an ad comes before the video.
In that case, this behavior will be shown by it.
I'll try to check it soon after my exams end.
On Sun, 16 Jun, 2019, 08:08 Abhishek Mishra<EMAIL_ADDRESS>wrote:

Sir in advance mode in is also showing ok size and when i plcae it in
download it gives cant't download server error
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ExploiTR/YouP3/issues/7?email_source=notifications&email_token=AE6DTZ4YKB3YEDP7QXWJGRLP2WRQPA5CNFSM4HJSOODKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXZDYWI#issuecomment-502414425,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE6DTZ7PS2LEWMDYM7JH6A3P2WRQPANCNFSM4HJSOODA
.

And I've got the news that, the library being used in Advanced mode, is not
working well now. So, it's kind of third-party bug too.
On Sun, 16 Jun, 2019, 09:39 Pratim Majumder<EMAIL_ADDRESS>wrote:

I know this application contains a lot of bug. It's one kind of that.
Basic mode can't work all the time, basically when it's DRM protected
video / an ad comes before the video.
In that case, this behavior will be shown by it.
I'll try to check it soon after my exams end.
On Sun, 16 Jun, 2019, 08:08 Abhishek Mishra<EMAIL_ADDRESS>wrote:

Sir in advance mode in is also showing ok size and when i plcae it in
download it gives cant't download server error
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ExploiTR/YouP3/issues/7?email_source=notifications&email_token=AE6DTZ4YKB3YEDP7QXWJGRLP2WRQPA5CNFSM4HJSOODKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXZDYWI#issuecomment-502414425,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE6DTZ7PS2LEWMDYM7JH6A3P2WRQPANCNFSM4HJSOODA
.

Is there any updates regarding that problem guys???

https://github.com/ExploiTR/YouP3/releases/tag/1.4.0
I have a very limited amount of time now, though I tried fixing it. Please check it and report me if any problem persists.
@saraji-ali @msachin2133

https://github.com/ExploiTR/YouP3/releases/tag/1.1.0
I'll encourage you to use Advanced Mode, Manual MP3/6 mode audio converter is added.

There was some issue in version 1.1.0 & I've fixed it on https://github.com/ExploiTR/YouP3/releases/tag/1.1.1

Closing this because of no further discussions being done


Differential privacy of example.

I may be misunderstanding, but the com.uber.engsec.dp.util.DPExample example you have doesn't seem to correspond to differential privacy.
object DPExample extends App {
  // Use the table schemas and metadata defined by the test classes
  System.setProperty("schema.config.path", "src/test/resources/schema.yaml")

  // example query: How many US customers ordered product #1?
  val query = """
    SELECT COUNT(*) FROM orders
    JOIN customers ON orders.customer_id = customers.customer_id
    WHERE orders.product_id = 1 AND customers.address LIKE '%United States%'
  """

  // query result when executed on the database
  val QUERY_RESULT = 100000

  // privacy budget
  val EPSILON = 0.1

  println(s"Query: $query")
  println(s"Private result: $QUERY_RESULT\n")

  (1 to 10).foreach { i =>
    val noisyResult = DPUtils.addNoise(query, QUERY_RESULT, EPSILON)
    println(s"Noisy result (run $i): %.0f".format(noisyResult))
  }
}

Obviously, it is hard to tell because QUERY_RESULT is just fabricated here, but if we are expected to view this as "run the query; imagine you got these results", it does not appear to have the property of differential privacy.
It looks like you are assuming that orders.customer_id has maximum multiplicity one. Otherwise I could have a customers relation with one customer, FRANK, and an orders relation with 100,000 orders for each of my collection of Ted Cruz sex dolls. The reported results, all of which are tightly concentrated around 100,000 would reveal that I am present in the customers relation, whereas had I withheld my record from customers the answers would be tightly concentrated around zero.
I'm not sure how the rest of your pipeline works, but perhaps you could clean up the example or explain the rationale for why it has differential privacy for the stated query.

EDIT: Oho! You do have assumptions about the data, laid out in https://github.com/uber/sql-differential-privacy/blob/master/src/test/resources/schema.yaml. This would be super helpful to point out! :D What happens when these assumptions are violated?

EDIT2: It looks like in the orders relation the customer_id field has maxFreq: 100. So let's assume I order 100 Ted Cruz blow-up dolls. My presence or absence in customers will change the output by +/-100, which it looks like would not be masked by your noise addition, which when I run produces results like
Query:
    SELECT COUNT(*) FROM orders
    JOIN customers ON orders.customer_id = customers.customer_id
    WHERE orders.product_id = 1 AND customers.address LIKE '%United States%'

Private result: 100000

Noisy result (run 1): 100006
Noisy result (run 2): 100008
Noisy result (run 3): 100000
Noisy result (run 4): 99999
Noisy result (run 5): 100001
Noisy result (run 6): 99999
Noisy result (run 7): 100007
Noisy result (run 8): 99992
Noisy result (run 9): 100018
Noisy result (run 10): 100002

These seem to be clearly 100,000 and certainly not 99,900, which is what the result would be without my hypothetical record. What am I missing?

This behavior is due to the isUnique flag on column customers.user_id.
In short, the flag allows elastic sensitivity to use constraints of the data model in order to eliminate invalid candidates from the set of neighboring databases that must be considered in sensitivity calculation. We describe this optimization in our paper in Section 3.6 ("Using Data Models for Tighter Bounds on Sensitivity").
If you change the flag isUnique: true to maxFreq: 1, you’ll see the behavior you expect -- namely, the addition of enough noise to protect the user who purchased 100 dolls:
Query:
   SELECT COUNT(*) FROM orders
   JOIN customers ON orders.customer_id = customers.customer_id
   WHERE orders.product_id = 1 AND customers.address LIKE '%United States%'

Private result: 100000

Noisy result (run 1): 97256
Noisy result (run 2): 102718
Noisy result (run 3): 99308
Noisy result (run 4): 96859
Noisy result (run 5): 103095
Noisy result (run 6): 102176
Noisy result (run 7): 102561
Noisy result (run 8): 101989
Noisy result (run 9): 100635
Noisy result (run 10): 99848

Thanks! I appreciate the information. I'm reading your text in section 3.6, and I still can't square it with differential privacy:

Unique join keys in private tables. Many private tables have primary key columns that will never contain duplicates, making many neighboring databases impossible. For example, in the users table, each user corresponds to a unique ID. In the trips table, however, a user ID may appear multiple times—once for each trip.
A naive (but correct) sensitivity bound for a relation joining these two tables considers a neighboring database in which the users table contains a duplicate user, resulting in duplication of each of that user’s trips in the output of the join. Our data model optimization recognizes that this neighboring database violates data integrity conditions and therefore cannot occur.

In this case I'm not worried about an adjacent dataset with duplicate customer_id values, I'm worried that about the difference between adjacent datasets with and without a record. Or with the one record, but with its data changed.
For example, let's think about how well protected is the fact that my address field contains "United States". If I move from my current location in the US to somewhere in Europe, the count of the query above will change from 100,000 to 99,900. How does the "uniqueness" of the key signify that my address (and other fields in the customer relation) should be less protected?

The optimization here actually requires slightly stronger assumptions: that the key is unique and the database is append-only, therefore the scenario you described falls outside the set of valid adjacent databases.
This variant of the optimization was informed by several production systems at Uber with exactly these properties (e.g. logging systems, event streams), where records are only added and each protected record is identified by a unique key. Our code implements a flag for enabling this optimization in those situations where it applies; when enabled, it effectively allows analysts to join on unique keys from these records without being penalized for it.
The example query is admittedly not an ideal showcase for the optimization -- as you correctly point out, in a typical setting customers may be added or deleted, and the optimization would thus be turned off in a real deployment. To avoid confusion we'll remove the optimization in the example code and rename the flag to clarify the assumptions being made.

Thanks again!
I'm afraid this still doesn't line up with differential privacy. If I submit my data with address United States and then tell the IRS that I've been in Europe for years, I don't care about whether Uber's database is append-only or not. I care about the fact that a hypothetical alternate database, in which my address was Europe, would produce results distinguishable from what you actually produce, and thereby inform the IRS that Uber thinks my address is in the US.
The "adjacent" datasets you need to consider involve record removal as well as introduction. "Adjacent" does not mean "datasets that may result from further interaction", it means "hypothetical alternatives that I might worry you will distinguish between to others".
Furthermore, differential privacy also doesn't really have a provision for "assumptions about the data", like that there is at most a certain multiplicity of certain keys. I understand that you might have those constraints in your production systems, but if you just ignore datasets violating these constraints you end up with a weaker privacy guarantee than differential privacy.
In particular, you lose the "large step" corollary that
Pr[M(A) = x] <= exp(eps ||A - B||) * Pr[M(B) = x]

If your mechanism doesn't satisfy this property, it doesn't have differential privacy.
I think it is a fair question to ask about the topology of the space of datasets, and allow the distances between two to be larger than the symmetric difference if the shortest path goes through infeasible space, but you would be getting pretty exotic here and differential privacy is pretty bound up in symmetric difference.
What you can do, which is what PINQ does, is to have computations enforce the constraints. From arbitrary data, you can take the first 100 orders for each customer, ensuring that there are at most 100 orders. However, this introduces a factor of 2 in the privacy analysis (adding or removing an order could result in both the addition and removal of an order).

Thanks for the clarification. This feature has been removed in 702578a.

Cool, thanks. Don't forget that the max_freq assumed upper bounds are in conflict with differential privacy too. I'm not clear on how you resolve them in a data-agnostic way, but happy to let you all take a swing at that before trying things again.


Run PHP using the official integration API on AWS

AWS announced the possibility to use any programming language on Lambda. This is awesome! That means a simplification in Bref, (probably) better performances and a more official support of PHP.
Stackery announced they are working on the PHP runtime and this is available in this repository: https://github.com/stackery/php-lambda-layer
The questions are:

should we use Stackery's runtime?
do we get better performances (if not maybe we should hold off)?
do we loose features? (e.g. ability to use some extensions or customize php.ini)

Let's use this issue to track information about all this.
At the moment I have been trying Stackery's PHP layer and here is what I noted:

the "bootstrap" (the executable file that communicates with AWS and orchestrates the execution) is written in PHP which is good (easy to contribute and maintain)

would it make sense to have this small bootstrap file as a binary for performances? (this is an optimization that can be done later I guess)

no tests of the runtime, e.g. I wasn't able to set response headers so don't know if it's supported (I'll be assuming no)
response headers did not work
uses PHP's built-in webserver: it's marked as a development server, but here since we don't have current requests maybe it's not that bad of an idea? Probably worth looking into performances and alternatives though?
very very little set of extensions installed (for me a simple app was not running because the tokenize functions were not available)
support only PHP 7.1
marked as not ready for production yet

What's interesting is that creating a runtime for AWS is in the end pretty easy. Our build script is almost ready, and more powerful that what can be found there.
I'll be trying out more things, if you have info to share feel free to post it here.

Update:

I managed to compile and publish my own PHP 7.2 runtime, with all the extensions currently provided by Bref (much better since PHP 7.1 is becoming EOL)
Stackery's bootstrap file is very buggy and WIP, this first version is not usable at all, I don't know what is planned there
I am exploring writing another bootstrap from scratch that does not use/require pcntl and forks, will report when I have more info

Building our own runtime doesn't sound so like a bad idea honestly, we already have a good build script.

Do you have a WIP branch that we can try out & contribute to?

If you've managed to create a PHP 7.2 runtime easily enough, with everything Bref currently supports, and less buggy than the 3rd party version, then I can't see any real wins from depending on another project.

Here is a summary.
Intro
To have PHP support on Lambda with the new API we need 2 parts:

PHP binary available in /opt/bin (auto-added to $PATH) (+ extensions somewhere), provided through a "layer"
a bootstrap file in /opt (through a "layer") or /var/task (i.e. the lambda code)

Both are IMO loosely related. I'll talk about those separately.
PHP binary & extensions
The Stackery binary in their "layer" is disappointing for now, I consider it unusable at the moment.
Using Bref's scripts I have compiled PHP 7.2 and published a layer that provides the binary + extensions (+ a bootstrap file but you can ignore it). The ARN of the layer is arn:aws:lambda:us-east-1:416566615250:layer:php-72:4 if you want to try it (the version may change).
This part is IMO the "easiest" to do and less interesting. It's basically about compiling PHP and publishing an AWS layer.
Bootstrap file
Now THIS is where there are VERY interesting opportunities. This is were I'm incredibly excited!
The bootstrap file is basically the process manager of the lambda. When the lambda starts the bootstrap file is called (it can be a PHP script or anything executable). It is responsible for calling an HTTP API that stalls until an event is available to process by the Lambda.
When this HTTP calls finally returns the event data, the code of our PHP app should execute and process the event. Then the HTTP API should be called again to signal the end of the lambda's execution with the response to return.
Let's compare with PHP-FPM:

PHP-FPM starts, starts a pool of PHP processes
PHP-FPM waits for an HTTP request
an HTTP request comes: PHP-FPM runs a PHP process to handle the request
the PHP process returns a response, PHP-FPM returns the response

With Bref 0.2 (before the new integration):

the lambda starts and executes the JS handler
the JS handler waits for an event
an event comes: JS executes a PHP process to handle the event
the PHP process returns the response, JS returns that response

With the new Lambda integration:

the lambda starts and executes bootstrap
bootstrap waits for an event (calls the HTTP API which is blocking until an event is available)
an event comes: bootstrap executes a PHP process to handle the event
the PHP process returns the response, bootstrap returns that response

The last example is what can be done if we simply port Bref's behavior to the new runtime API.
But we can explore other solutions.
For example Stackery's runtime provides a bootstrap that runs the PHP built-in webserver (php -S ...). So the bootstrap file starts the PHP webserver and forwards the HTTP requests to it.
This is an idea worth exploring. However again I do not consider this bootstrap usable at the moment (because of its quality basically).
BUT we are not limited to those options. Here are a few I tried.
Scenario A
We run the PHP code in the same process as bootstrap, very similarly to what can be done with ReactPHP/Amp/Aerys/...
This is very fast, both for cold starts and warm requests! We can get response times below 10ms with that. However, just like when using such frameworks outside of lambda we have disadvantages: the memory is shared between all requests. That means we can have memory leaks, we have to be careful about global state, etc. Also a fatal error will kill the whole lambda (a new lambda will be started by AWS but that means a new cold start).
This is a very interesting option that can be worth proposing as an option, but it cannot be the solution that will work with all apps/frameworks.
Example of a bootstrap:
<?php
// ...
require __DIR__ . '/vendor/autoload.php';

// BOOT Symfony BEFORE a request comes in!
$kernel = new Kernel('prod', false);
$kernel->boot();
$symfonyAdapter = new SymfonyAdapter($kernel);

while (true) {
    // This is a blocking HTTP call until an event is available
    $event = waitForEventFromLambdaApi();

    $request = RequestFactory::fromLambdaEvent($event);
    // REUSE the same Symfony Kernel, meaning fast response time!
    $response = $symfonyAdapter->handle($request);
    $lambdaResponse = LambdaResponse::fromPsr7Response($response);

    signalSuccessToLambdaApi($lambdaResponse);
}

Scenario B
The bootstrap starts a sub-process (exec) every time an event needs to be processed.
That allows to protect the bootstrap process from failures of the children. This is basically what Bref does at the moment.
This is similar too to how PHP-FPM works (in the spirit at least).
Example of a bootstrap:
<?php
// ...
while (true) {
    // This is a blocking HTTP call until an event is available
    $event = waitForEventFromLambdaApi();

    $process = new Process(['/opt/bin/php', 'index.php', /* pass the event too */]);
    $process->setTimeout(null);
    // This waits for the process to finish
    $process->run();

    // [fetch response ...]

    signalSuccessToLambdaApi($lambdaResponse);
}

Example of a index.php that could be executed by that:
<?php
// ...
require __DIR__ . '/vendor/autoload.php';

// [fetch event from process args]

$kernel = new Kernel('prod', false);
$kernel->boot();
$symfonyAdapter = new SymfonyAdapter($kernel);
$request = RequestFactory::fromLambdaEvent($event);
$response = $symfonyAdapter->handle($request);
$lambdaResponse = LambdaResponse::fromPsr7Response($response);

// [return response to bootstrap somehow]

// DIE!
exit(0);

Scenario C
Just like B except bootstrap does not handle events: it immediately executes a sub-process. The PHP sub-process will call the integration HTTP API and wait for an event. That means that we can run code before waiting for an event. E.g. we can bootstrap Composer's autoloader and Symfony before a request comes in!
Example of a bootstrap:
<?php
// ...
while (true) {
    $process = new Process(['/opt/bin/php', 'index.php']);
    $process->setTimeout(null);
    // This waits for the process to finish (i.e. waits until an event has been processed)
    $process->run();
}

Example of a index.php that could be executed by that:
<?php
// ...
require __DIR__ . '/vendor/autoload.php';

// BOOT Symfony BEFORE a request comes in!
$kernel = new Kernel('prod', false);
$kernel->boot();
$symfonyAdapter = new SymfonyAdapter($kernel);

// This is a blocking HTTP call until an event is available
$event = waitForEventFromLambdaApi();

$request = RequestFactory::fromLambdaEvent($event);
$response = $symfonyAdapter->handle($request);
$lambdaResponse = LambdaResponse::fromPsr7Response($response);

signalSuccessToLambdaApi($lambdaResponse);

// DIE!
exit(0);

Scenario D
How about instead of creating a new process we fork the bootstrap process?
The app would bootstrap once in total, but still there is no shared state between events (because each event is processed by a fork).
Example of bootstrap:
<?php
// ...

require __DIR__ . '/vendor/autoload.php';

// BOOT Symfony ONLY ONCE for all the requests!
$kernel = new Kernel('prod', false);
$kernel->boot();
$symfonyAdapter = new SymfonyAdapter($kernel);

while (true) {
    // This is a blocking HTTP call until an event is available
    $event = waitForEventFromLambdaApi();

    $pid = pcntl_fork();
    if ($pid) {
        // Root process
        // Wait for the child to process the event
        pcntl_wait($status);
    } else {
        // Child process
        // Here the autoloader is already loaded and Symfony initialized!

        $request = RequestFactory::fromLambdaEvent($event);
        $response = $symfonyAdapter->handle($request);
        $lambdaResponse = LambdaResponse::fromPsr7Response($response);

        signalSuccessToLambdaApi($lambdaResponse);

        // The fork DIES! The root process will resume its execution
        exit(0);
    }
}

I find this scenario very interesting. This is something I've always wanted to try implement with PHP-FPM (boot the app before a request comes in) but was never able to because it requires knowing C.
Conclusion
With Lambda's execution model and API it is now possible to basically recreate PHP-FPM but with any language, without having to care about the load (because we handle only 1 event at a time). A new world of possibilities is opening! How about other ideas? How about workers or other types of events? How about websockets?
Performances?
Here are a few benchmarks I did. I admit being disappointed by the performances of the fork test, am I doing things wrong? WDYT?
There are lambda execution time for handling one HTTP event from API Gateway (cold start excluded):

scenario A: 6ms without a framework (Slim framework, didn't try Symfony yet)
scenario B: did not try
scenario C: 95ms for Symfony, 75ms without a framework
scenario D: 50ms for Symfony, 17ms for Slim, 13ms without a framework

Symfony performances are quite bad in general here, I don't know why (I did run in prod environment with cache generated). I don't trust my own benchmarks (was a bit tired) so don't take them too seriously.
I did not spend time measuring cold starts but they were between 100ms and 500ms.

If you've managed to create a PHP 7.2 runtime easily enough, with everything Bref currently supports, and less buggy than the 3rd party version, then I can't see any real wins from depending on another project.

@nealio82 agreed.
Also if you want to try out all that see https://gist.github.com/mnapoli/573e4f36a241e458fe9395b779f87511 This is very rough for now sorry about that.
For the next week I have 2 full days every week to work on all of that. There is something awesome to be done here I can feel it… Any help is welcome! I also tried diving into PHP's source code (mainly PHP FPM and PHP's built-in webserver). If only I knew more about that, I'm sure a PHP-FPM clone that would work with AWS's API and not FastCGI would kill everything.

Did you compare the performance to the current Bref implementation? I guess ideally, scenario B would be faster, or at least equal to the current Nodejs based version, but with the benefit of being in PHP and not having to ship the binary, right? Would that be a good thing to start with, getting this approach on par with the current Bref?
Good job!

Maybe I don't understand Lambda's execution model well enough - but my first question is this: if we the bootstrap is happening before a request has come in & then waiting for requests, does that mean the Lambda function is running all the time? In that case, how does this differ from running an EC2 box with PHP installed on it? Or does the bootstrap happen once for each cold start when the container boots, but you're only charged by AWS between request and response when the function code is running?
Also, will scenario D still be relevant after PHP pre-loading becomes a thing? In userland we could pre-load the entire framework. https://wiki.php.net/rfc/preload
Should we document each method and allow the end-user to choose which scenario they want to implement? Maybe for some C would be the better option, whereas others might find A suits their needs the most.

@hectorj made me realize the example of scenario D wasn't optimal. I have edited it to reflect what I actually tested: I fork first then the child waits for the event (instead of forking after). That allows to save the overhead of forking in the response time. The example wasn't showing that so I edited my comment.

Did you compare the performance to the current Bref implementation?

@barryvdh No that's a good point! I just tested the same demo that I deployed earlier this year with Bref and I see an average execution time of 80ms. So better than scenario C (and logically B too), but worse than the fork option. That's surprising that the new integration is slower than the Node-based one 🤔 There must be something going on here.
What I should do is create a repository with all the test cases laid out so that it is automated, reproducible and reviewable.

does that mean the Lambda function is running all the time?

@nealio82 from what I understand yes, the container and the bootstrap script is running all the time (as soon as it is started ofc).

In that case, how does this differ from running an EC2 box with PHP installed on it?

You only pay for the actual execution time, not the time it's waiting for requests. Also scaling of each "worker"/container is handled by AWS (no limit compared to an EC2 machine).

Or does the bootstrap happen once for each cold start when the container boots

The bootstrap executable is started when the container boots, but stays alive. This is why in JS a lambda looks like this:
// init the lambda: this is the cold start (plus the container start time obviously)

exports.myHandler = function(event, context, callback) {
   // this is the part executed on each event
}

The Node process stays alive and waits for events to execute the callback. This is basically the same in PHP now if we create a bootstrap PHP file and a while loop that waits for events.

but you're only charged by AWS between request and response when the function code is running?

Exactly.

The Node process stays alive and waits for events to execute the callback. This is basically the same in PHP now if we create a bootstrap PHP file and a while loop that waits for events.

Oh, I always assumed it just invoked a new process each time :S

Could this also potentially open the door for some interesting stuff like installing the blackfire.io daemon?

Yep now that they've opened the engine and explained the internals everything makes much more sense! This is actually simple in the end: the container starts and executes bootstrap. I wonder if you can "hack" that to run long-running stuff and if they stop your process if you abuse it somehow… Anyway not the topic here!

Could this also potentially open the door for some interesting stuff like installing the blackfire.io daemon?

Exactly! (at least that's what I understood!) This is why they boast New Relic integration (and other monitoring tools) with the layer thing: you can add the New Relic layer which will add the daemon binary. I guess then it's up to you to start it in your bootstrap. Clever!
Oh and I just want to note before I forget: I did not compile and enable opcache in the new layer! This is maybe what is affecting performances so much 🤔

About the current performance being better than the native layer, remember that the current bref is basically a web server written in NodeJS and delegating requests to php binary.
This reasoning was what made me show people that this is quite good and not such a bad hack. If you think about it, php ALWAYS relied on a web server written on another language (apache, nginx).
It's not that surprising that booting up a Node process is faster than booting up a layer with native php because in the end you still need an event to grab the request and run php.
While not helpful for the layer thing, here's something you might want to play with: spiral/roadrunner.
It's a web server for php written in golang . Go has native support on Lambda.
Remember the native language only matter for the web server and we don't have a lot of web servers written in php AFAIK (excluding react). So perhaps bref could also provision a golang lambda with roadrunner and run php behind it.

It's not that surprising that booting up a Node process is faster than booting up a layer with native php because in the end you still need an event to grab the request and run php.

Yes that's right!
Roadrunner is indeed something to consider but AFAIK not different from React/Aerys/Amp/PHP-PM in the sense that a single PHP process will handle many requests/events. So there is shared memory to care about (memory leaks, etc.). This is the same thing as solution A, except with another language involved. I don't see a benefit over solution A 🤔

I didn't think roadrunner would keep the php process up. I though it was more like Apache: spawn children processes that will be the event (take requests) and run php.
That being the case it is indeed not so relevant.
OTOH if goland is better at managing processes (idk, just speculating), perhaps it could still be a better option than process managers written in php itself.

If you're using something like https://github.com/php-pm/php-pm for option A, there is the benefit of already having the framework integrations (Symfony, Laravel etc). But I think it probably still needs to be optional, because of shared memory (doesn't always work well enough).

@barryvdh I'm not sure I see what we would gain with php-pm, it already works with all (major) frameworks right now.

I meant if you want to go with option A, which shares the Symfony/Laravel etc bootstrap code. Right now it works because you start a 'fresh' php process, so no shared memory/containers etc, right? php-pm would be faster after the cold-start, because it doesn't have to autoload/boot the container etc. But I think you have to make sure some container stuff is reset etc. But I might just be misunderstanding what Bref/php-pm exactly does exactly.

@OskarStark yes I fixed that thanks.

php-pm would be faster after the cold-start, because it doesn't have to autoload/boot the container etc.

@barryvdh yes, but that's the same with solution A because the bootstrap script runs in a loop: it bootstrap Symfony once and then handles request in the same PHP process forever. So you have to be careful about resetting everything on every loop (1 loop iteration = 1 event to process).

@mnapoli php-pm will do worker restart when memory usage is too high, so i think this is the better choice

I see also other problems to solution A :

If a script use register_shutdown_function it will not be called after his scripts end but rather when the process die
If there is some memory leaks and objects in this memory leaks have actions on their destructor, they will only be called when the process die
Some extensions may have shutdown actions when request is finished and they will only be called when the process die

Basically everything that does what this function do : https://github.com/php/php-src/blob/67e0138c0dfd966624223911a0821f6c294ad1c6/main/main.c#L1857 will not be done on the solution A
It may be ok in some uses case, but i think it's dangerous to be a default behavior. (Maybe Bref can have multiple bootstraping solution ?)

It may be ok in some uses case, but i think it's dangerous to be a default behavior.

@joelwurtz completely agree, these are exactly the same problems as any other long running web app with PHP-PM/React/Amp/etc. So yes it will not be the default. But it's great that some people already running these technologies (i.e. they have apps developed with that in mind) can benefit of AWS Lambda.
So yeah, A is not the default but will be offered (as the benefits are very real).
Now the default solution could be B, C, D or something else. I think there is something worth exploring with the forks, and I wonder if there's not something else to do with PHP-FPM: can we take the code of PHP-FPM and make it work with Lambda's integration instead of FastCGI?
We could even do that in another language (Go, even PHP?). I think the key thing here is understand how PHP-FPM reuses the same PHP processes but without them sharing memory between requests. How do they "reset" the memory of those processes? How do PHP-FPM work?
This is key to avoid the overhead of booting a PHP process on every event.

This is basically how php fpm work (may be not 100% right, but closes)
FPM Start a master process

Master process does the init stuff (init modules / ...)
Master process fork himself in order to create fpm workers
Master process enter in an event loop where it's only job is to shutdown / startup workers

Child process :

Init stuff for child process
Listen to a fastcgi request
Execute php_request_startup to prepare php vm
Execute script with the request
Execute php_request_shutdown to clean php vm
Exit if he has to shutdown (max requests / max time / ....)
 Or does that remove the performance gain?
https://stackoverflow.com/questions/30238602/how-to-execute-a-php-file-using-a-php5-fpm-pool-socket

@sandrokeil yes, I place it in the same category as A and the related solutions (Amp, React, PHP-PM, etc.). The reason for that is that there is no isolation between events/requests. (unless I'm mistaken).
Solution D allows to have a complete separation between requests as the whole state of the PHP process is reset every time.
@barryvdh yes good point, let's call this Scenario E :) (we have to test it if we want the comparison to be serious).
I suspect it won't have awesome performances because we need a bootstrap that receives the AWS event (written in PHP or something else) and that forwards that to PHP-FPM's FastCGI interface, which would in turn forward that to PHP. But maybe we'll have a good surprise.

I studied Lambda on the php scenario a bit during the last few months (sporadic research) and the reason I dropped most of my interest was not performance, but rather price. Although lambda is extremely cheap, when I realized that I had to support 1 million request every 5 days I concluded that Fargate is cheaper than Lambda.
The reason I bring this up is because I don't think the performance is that much relevant. Lambda will be fast enough to give a good user flow no matter the scenario / option and at the end of the day it is more likely for you to swap lambda for something else not because of the performance, but for the cost of running too much requests. Moving to Fargate or similar will allow the developer to be back with full opcache, preloading and any performance booster necessary.
Perhaps one thing you might consider (and I would totally help here) is to try and provide a seamless API that allow the user to deploy on Lambda and when necessary, bref can help promote the project into a full blown ECS container on Fargate with the same bref deploy. That could mean your primary focus for lambda is just be stable and easy while using Fargate for performance-first.

Sorry if I'm not making sense, I have little experience with Lambda, so not sure how the execution model works for cold/hot starts. I've did some testing on my local Mac with a very simplistic test case using https://github.com/hollodotme/fast-cgi-client
Scenario B = runExec or runProcess,
Scenario E = runFastcgi
This seems to reduce the overhead of calling a new process pretty much.
$ php scenarios.php
runExec COLD: 92.12ms
runExec HOT: 86.6ms
runProcess COLD: 95.06ms
runProcess HOT: 90.22ms
runFastcgi COLD: 3.55ms
runFastcgi HOT: 0.47ms

See script: https://gist.github.com/barryvdh/75667b91f4cd9820ae9c746d752166b7
So obviously that depends on how many times the VM is re-used etc and perhaps on some configuration (I guess you would just want 1 fpm worker in this case)
(Note; a cold start is probably not really a cold start here, because opcache etc loads things already and php fpm is already running)

Great news! 🎉
I have created a repository to document the benchmarks and share the results: https://github.com/mnapoli/bref-bootstrap-benchmarks
I have published new numbers there now that I run with opcache and those are very interesting!
Solution D is actually twice faster than current Bref performances!
There is also now solution E (PHP-FPM), F (built-in webserver) and G (custom PHP SAPI).
@joelwurtz thinks solution G is doable (but requires to code it in C) and if it is, it might be very interesting in terms of performances! It would be the equivalent of PHP-FPM (which works with FastCGI) but to work with AWS Lambda's API. Let's see how we can get that ball rolling in the next days.
Please also help with some missing scenarios, I can run the benchmark myself. I'm not sure anyone will be able to provide E without having to compile PHP and all so it's not easy. But if someone can do F and also B that would be awesome. Running the benchmarks on a LAMP stack would be very helpful too to compare AWS Lambda to LAMP!
Also please if you can review the benchmarks, especially the Symfony code! I might be missing some optimizations! I have also opened 2 issues on that repo if you want to help.

I don't really have time to create the benchmark, still need to setup docker/AWS SAM etc. But this is what I tried for the webserver:
$server = new Process("php -S localhost:8000 'index.php'");
$server->setTimeout(null);
$server->start(function ($type, $output) {
    if ($type === Process::ERR) {
        echo($output);
        exit(1);
    }
});

// Wait for the server to start
sleep(1);

register_shutdown_function(function() use($server) {
    $server->stop();
});

From there it should be easy to use Guzzle or any other PSR-7 client to send the request (with modified host perhaps) to localhost). Response times seem pretty fast, but downside is that I can't really seem to reliably detect if the webserver is started, so you have to wait a while (1 sec is what stackery does). But I can't detect the output, only retry messages of the connection is refused. But not ideal.

For those following here: the benchmarks have spoken.
We'll have 2 stable runtimes:

PHP CLI for simple lambdas, workers, cron, etc.
PHP FPM for HTTP lambdas (API Gateway)

We'll have an extra experimental runtime that I'll document later when I get more time.
I've started building the PHP CLI runtime in #106. The second part is in #115.


Added regex for new npm secret format

Changes
Added regex for new npm secret format
For significant contributions please make sure you have completed the following items:

[ ] ReleaseHistory.md updated for non-trivial changes
[ ] Added unit tests

The change looks good!
Just a few refactors to prevent code duplication and some style nits.


add failing test for autoscroll to selected item in listbox #4855

What does the pull request do?

What is the current behavior?

What is the updated/expected behavior with this PR?

How was the solution implemented (if it's not obvious)?

Checklist

[x] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Avaloniaui.net with user documentation

Breaking changes

Fixed issues

Just curious, what is the purpose of adding a failing test?

To be able to fix it and not breaking it in the future re


Update download-software-licenses-csp.md

Added information about GA
Fixes https://github.com/MicrosoftDocs/microsoft-365-docs/issues/12275

@JohanFreelancer9 Please copy review

@cmcatee-MSFT Please merge this PR. Thanks

Page is still not updated

@cmcatee-MSFT Gentle reminder. Thanks

Looking for an update.

@cmcatee-MSFT This is long pending, please review, comment or merge. Thanks


Create an initially working Rebrickable data getter

Commit an initial working Rebrickable data getter, minus the config file functionality. Will add in a later commit, plus README.

Given this is parallel development of similar code, I think we should defer merging to main.


Fix garbled up docs

Why this change?
The docs are garbled up in a few places.

What was done?

Removed the occurrences of test="skip" lint="skip" which followed the three backticks to mark a code block.

Concerns, notes, side-effects etc

I'm not sure if instead there was some missing plugin or something that should instead be added rather than removing these declarations. However, I couldn't find these declarations elsewhere in the docs, so I figured I'd just remove them.

😅 okay so it seems all tests failed with this change.

Codecov Report
Patch coverage has no change and project coverage change: -1.61 :warning:

Comparison is base (39383a3) 97.42% compared to head (82a6f1a) 95.81%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #87      +/-   ##
==========================================
- Coverage   97.42%   95.81%   -1.61%
==========================================
  Files           5        5
  Lines         311      311
  Branches       68       63       -5
==========================================
- Hits          303      298       -5
- Misses          6        9       +3
- Partials        2        4       +2

see 1 file with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Program doesn't compile in 32 bit processor

error: expected unqualified-id before ‘__int128’
typedef unsigned __int128 uint128;

The best way to resolve this is to remove the uint128 typedef altogether and replace the SHA512::appendLen method with the "standard" 64x64 multiplication algorithm as follows:
void SHA512::appendLen(uint64 mLen, uint64 mp, uint64& lo, uint64& hi) {
	uint64_t u1 = (mLen & 0xffffffff);
	uint64_t v1 = (mp & 0xffffffff);
	uint64_t t = (u1 * v1);
	uint64_t w3 = (t & 0xffffffff);
	uint64_t k = (t >> 32);

	mLen >>= 32;
	t = (mLen * v1) + k;
	k = (t & 0xffffffff);
	uint64_t w1 = (t >> 32);

	mp >>= 32;
	t = (u1 * mp) + k;
	k = (t >> 32);

	hi = (mLen * mp) + w1 + k;
	lo = (t << 32) + w3;
}

Thanks for your response.
On Thursday, September 24, 2020, 10:50:51 AM CDT, mallardtheduck<EMAIL_ADDRESS>wrote:
The best way to resolve this is to remove the uint128 typedef altogether and replace the SHA512::appendLen method with the "standard" 64x64 multiplication algorithm as follows:
void SHA512::appendLen(uint64 mLen, uint64 mp, uint64& lo, uint64& hi) {
uint64_t u1 = (mLen & 0xffffffff);
uint64_t v1 = (mp & 0xffffffff);
uint64_t t = (u1 * v1);
uint64_t w3 = (t & 0xffffffff);
uint64_t k = (t >> 32);
mLen >>= 32;
t = (mLen * v1) + k;
k = (t & 0xffffffff);
uint64_t w1 = (t >> 32);

mp >>= 32;
t = (u1 * mp) + k;
k = (t >> 32);

hi = (mLen * mp) + w1 + k;
lo = (t << 32) + w3;

}
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

This is fixed now. However, the implementation now only can take up messages of size at most size_t.


Is it normal?

Hi,
In my blog, I do the following:
<picture>
   <source srcSet={props.image?require(`../public/static/blogmedia/${props.image}?webp`): emptyImage} alt={props.title}   type="image/webp" />
   <source srcSet={props.image?require(`../public/static/blogmedia/${props.image}`): emptyImage} alt={props.title}   />
   <img src={props.image?require(`../public/static/blogmedia/${props.image}`): emptyImage} alt={props.title} className="mx-auto d-block overflow-hidden mw-100 mb-5" />
       </picture>

When I build my next application, I see that all images that are contained inside blogmedia have been moved under the _next/static/images with 2 versions: the webp and the jpeg one. However, what is driving me nuts, is that the spare images that are never passed under props.image are also in the _next/static/images with their 2 versions even if they are never passed. Any idea why? Does next-optimized-images execute on all folder even if called only on specific props.images?

Hi @semyou, this is a limitation of webpack. When you use a dynamic require (with a variable), webpack processes all images within that folder because this is done during build-time and webpack does not know which images will be requested during run-time (e.g. it could come from a dynamic api, props.image could be anything).
So yes, this behavior is normal and expected when using a dynamic require. If you don't want all images to be processed, you would have to move the ones to process into a separate folder.


Create CODE_OF_CONDUCT.md

Pull Request Test Coverage Report for Build 28

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 0.0%

Totals

Change from base Build 26:
0.0%

Covered Lines:
0

Relevant Lines:
0

💛  - Coveralls


cargo test --doc not load same shared libraries as cargo test --lib

Problem
cargo test --doc doesn't appear to be loading the same shared libraries as cargo test --lib in 1.45
Steps

Clone https://github.com/tensorflow/rust
Set Rust to 1.44
Note that both cargo test --doc and cargo test --lib pass
Set Rust to 1.45
Note that cargo test --lib passes but cargo test --doc fails with error while loading shared libraries: libtensorflow.so.1: cannot open shared object file: No such file or directory

Notes
Output of cargo version:
cargo 1.44.0 (05d080faa 2020-05-06) or cargo 1.45.0 (744bd1fbb 2020-06-15)
Running on Ubuntu 20.04 LTS.

For what it's worth, I'm seeing the same issue running doctests against my library that uses SDL2 (https://github.com/Rust-SDL2/rust-sdl2). cargo +1.44.0 test --doc works.

Same problem with macOS + rust1.48+, but not with rust1.42.
cargo test --doc seems to be broken.

Same problem with macOS + rust1.48+, but not with rust1.42.
cargo test --doc seems to be broken.

Using git bisect, I narrowed down to 3fd28143de72d2d0e63186273d68aa890d8297e7 being the breaking commit.

This is still broken on 1.58

This issue is known for almost 3 years, could you give us a timeline when a fix will come?

Is there a workaround for this issue?

@adamcrume do you have any clue what might have caused this bug? Is @alexcrichton still around? Iirc he was stepping down from several Rust projects, but not cargo.

I don't know what specifically in 3fd28143de72d2d0e63186273d68aa890d8297e7 caused this.  I'm not familiar with the cargo codebase.

We appreciate Alex efforts on Cargo and Alex has already retired from the Cargo Team.^1
There was a previous attempt https://github.com/rust-lang/cargo/pull/10469 and concerns were listed https://github.com/rust-lang/cargo/pull/10469#issuecomment-1079503079. Feel free to pick it up and continue.

@weihanglo with all due respect, the concerns you linked do not point towards a, obvious, clear path forward how this issue should be remediated. I do understand you rely on others to help you fix bugs, but a community can do that with reasonable efficacy only if it is crystal clear how things should work. The concerns you listed are referenced and thought through, but they don't enable outsiders to grasp how you'd want things to be done.
This bug is a problem for the Rust ecosystem. I'd love to recommend Rust more strongly in industrial projects, but this is one of the reasons why I cannot. The cargo team has broken the test coverage for all crates that include native dylibs, and some crates have responded by disabling their doctests with no_run, other crates have stopped efforts to link against included native libraries with a guaranteed matching version, and instead rely on package managers installing a more or less matching version, thus causing undefined behavior. Cargo should not ignore bugs that incentivize maintainers to reduce test coverage or cause undefined behaviour for years.
@ehuss I hate to be nagging, but at which point in time will the cargo team fix this issue, if no volunteers are able to address it in a way you'd accept it? How do you select which bug fixes are scheduled for a new cargo release?

Looks as though no one is looking at this.  I'm new to the code, but this seems approachable to me.  I'll take a wack if it's really open.


[Modal] The modal should be rendered into the existing React node tree

Suggestion / feature request
When I create and open a modal I would expect it to be rendered into the same React node tree where it is being called from. Instead, a new and separate React node tree is being created for the modal. This comes with many problems because now the modal is not able to access the same data as the rest of the application.
Examples:

I want to render a link to a different page of my application in the modal. But it does not have access to the router that is used in the application so an error is thrown.
I want to render some information that is being stored in a React context in the application tree. The modal cannot access the React context so I am unable to render the information.

Example:
https://codesandbox.io/s/the-modal-should-be-rendered-into-the-existing-react-node-tree-0lgkr9

@robert-wettstaedt sounds valid.
Currently we create a new ReactDOM-Root for Modals (https://github.com/siemens/ix/blob/main/packages/react/src/modal/index.ts#L28). Better approche is to use Portal here.

Is there a workaround until this is changed?
I tried to set the ModalConfig.container but it didn't change anything.

@CagatayCanK
Just a quick idea to pass the context via props into the modal, but iam not sure if this has some sideeffects.
const context = useContext(...);

showModal({
 content: <MyCustomModal {...context} />
});

@CagatayCanK
Just a quick idea to pass the context via props into the modal, but iam not sure if this has some sideeffects.
const context = useContext(...);

showModal({
 content: <MyCustomModal {...context} />
});

Thanks but my issue is similar to router thing, its with the TanStack Query , it complains about :
No QueryClient set, use QueryClientProvider to set one

@CagatayCanK Yes but what stops you to use the custom modal just for viewing results and make the "context" based logic inside the current react tree.
We working on a fix asap :)

@danielleroux
Hey,
I tried this with 2.0.1 version but it looks like it is still outside the tree:

I used the example from the documentation:
import { IxModalSize } from '@siemens/ix';
import { IxButton, Modal, ModalRef, showModal } from '@siemens/ix-react';
import React, { useRef } from 'react';

export default () => {
  const modalRef = useRef<ModalRef>(null);

  const open = (size: IxModalSize) => {
    showModal({
      size: size,
      content: (
        <Modal ref={modalRef}>
          <IxButton onClick={() => modalRef.current?.close(null)}>
            Modal with size {size}
          </IxButton>
        </Modal>
      ),
    });
  };

  return (
    <div className="modal-sizes-example">
      <IxButton onClick={() => open('360')}>Show modal size 360</IxButton>
    </div>
  );
};

Did you added the IxApplicationContext? (https://ix.siemens.io/docs/controls/modal#react)

Did you added the IxApplicationContext? (https://ix.siemens.io/docs/controls/modal#react)

nope, didn't see that, adding that fixed it, thanks!


feat(SDK): add patch method for skd

PATCH method was a common method in RESTful API but not support in SDK.
This pr is for add PATCH method to SDK.

Coverage decreased (-0.06%) to 89.209% when pulling a4ef1d5e664f4927ba35b68fb7c1865fd6de9df5 on Hazyzh:feat/add_patch_method_for_sdk into f9cc3ce05d92576b2864a69e02c2def9b364b9fe on ringcentral:master.


Versioning update

Old Nerdbank.GitVersioning package cause failure in depended packages, see https://github.com/AArnott/CodeGeneration.Roslyn/issues/68 .

P.S. Don't you mind to move this functionality into GitVersioning package itself?

P.S. Don't you mind to move this functionality into GitVersioning package itself? Or just move this csproj there?

What functionality? and which csproj? This project focuses on packing up msbuild tasks, which is a decidedly different scope than nerdbank.gitversioning, so I don't think I could find anything in this project that is appropriate to move over there.


[website] Component not displayed correctly

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯

Mui Box component with the calendar is overflowing on the screen and needs to be fixed.
Expected behavior 🤔
The component should be displayed properly on the screen and should be efficiently accessible to the users
Steps to reproduce 🕹
Steps:

Context 🔦
No response
Your environment 🌎

`npx @mui/envinfo`
  Don't forget to mention which browser you used.
  Output from `npx @mui/envinfo` goes here.

This is by design. This area is supposed to just give a glimpse of what MUI can do, not showcase individual components in depth.
cc @danilo-leal, @siriwatknp


Getting comments from a card

Hi,
I was wondering if you could tell me what I'm doing wrong. I'm trying to read all comments, to get the raw text from them and even though I tried several approaches, I can't get comments from a card. The collection simply appears empty.
This is the method I use:
public async Task<List<(DateTime CreationDate, string Text)>> GetRawComments(string listName, params string[] cardNames)
{
    IMe me = await Factory.Me();
    IBoard board = me.Boards.Single(b => b.Name == BoardName);
    await board.Refresh();
    IList list = board.Lists.Single(l => l.Name == listName);
    await list.Refresh();
    List<ICard> cards = list.Cards.Where(c => cardNames.Any(name => c.Name.Contains(name))).ToList();

    var comments = new List<(DateTime CreationDate, string Text)>();
    foreach (ICard card in cards)
    {
        await card.Refresh();
        foreach (IAction comment in card.Comments) // card.Comments is empty
        {
            DateTime creationDate = comment.CreationDate;
            string text = comment.Data.Text;
            comments.Add((creationDate, text));
        }
    }
    return comments;

Everything up until the comments is loaded fine, but the card.Comments collection is empty, so the foreach block isn't even executed, even though it should contain few hundreds of comments.
I configure Trello credentials in the constructor, and since it loads the cards just fine, I assume that part is probably fine.

One of the things I dislike about the Trello API is that they model comments as actions. This means that I can't download both actions and comments in the same call.
By default, I set up cards to download with actions, so you'll need to change that using the Card.DownloadedFields static property.
Card.DownloadedFields &= Card.Fields.Actions;
Card.DownloadedFields |= Card.Actions.Comments;

Do this in your setup/bootstrap. That should get you going.

Amazing, thanks. Worked like a charm.
And how would I change the limit? Currently, I'm limited to 100.
card.Comments.Limit(1000) as suggested here is no longer valid, neither is Collections.Limit(card.Comments, 1000).
Setting the limit via the int? property: card.Comments.Limit = 1000; still returns at most 100 comments.

Hm... the property should work.  I'll look into that.
Where did you see the docs seeing the limit via a method? That's old, and I need to update it.

@Racoon77 I added a couple tests that demonstrate that the limit property is working.  The first gets 10 of 20 comments (less that the default).  The second gets 70 of 100 comments (more than the default).
https://github.com/gregsdennis/Manatee.Trello/blob/master/Manatee.Trello.IntegrationTests/CardTests.cs#L276-L333

Thank you. The problem was that I was refreshing the card and it didn't occur to me comments should be refreshed as well.
That Limit example comes from an old StackOverflow question which I went to because I couldn't find many examples in the GitHub Pages documentation. Now I see the tests could serve as examples pretty well, too.
Thanks for your help, now it should be okay.

That's odd. I would think the card refresh would download the comments given the set downloaded fields.  I'll run some more experiments.
Glad you got it working, though. Thanks for the links.


Make recvLen' in MuxBearer.Socket strict

There's a loop which collects all the bytestring in a lazy list.  This
patch forces the lists as well as received bytestrings which it holds.
This patch also forces the received MuxSDU.

Closing as there was no real difference.


feat: Invoke the main Navigator when GoRouter is empty

Hi everyone,
This is a fix for #5081, where we can't exit the app.

Codecov Report
Attention: Patch coverage is 0% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 9.51%. Comparing base (4d9c7fc) to head (09b57e6).
Report is 35 commits behind head on develop.

Files
Patch %
Lines

...ackages/smooth_app/lib/widgets/will_pop_scope.dart
0.00%
4 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           develop   #5085      +/-   ##
==========================================
- Coverage     9.54%   9.51%   -0.04%
==========================================
  Files          325     327       +2
  Lines        16411   16498      +87
==========================================
+ Hits          1567    1569       +2
- Misses       14844   14929      +85

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Updated German translations

Hi there,
thanks for providing the app!
After installing it with German language I realized, that various strings were shown in English instead of German. As transifex indicated 100% translation, I decided to update the German strings file.
Additionally I fixed some smaller grammar issues in some strings.
Hope that helps!
If you need additional German translations, feel free to let me know!
Cheers!

Thank you!

Thank you!


[630]: Bug fix on basePdf as array buffer

#630: Designer cannot load PDFs in array/buffer

reviewing

Hey @necessarylion !!
I discovered an issue where passing an ArrayBuffer to updateTemplate would result in it being converted into an empty object by cloneDeep, causing it to malfunction.
When I changed cloneDeep to structuredClone, the tests began to fail, so I will fix that. I will handle the remaining tasks and proceed to the release.
Thank you for your help in fixing the bug!

Relased as 5.2.11


Auto stop IG rip after ## of files skipped?

Another feature request, if you're able/willing:
After ripping an IG feed, I usually wait a couple days then re-rip it to grab new content.  What I'd like is for the ripper stop automatically after it begins to hit files already downloaded in previous rips.  Allowing the user to set the number of collisions before stopping would be preferred, but certainly isn't mandatory.
I hope that makes sense to someone other than just me.
Thanks for your time.

As of 1.7.21 this is possible by setting the "history.end_rip_after_already_seen" option in rip.properties.
Example: Adding "history.end_rip_after_already_seen = 5" to your rip.properties will cause ripme to end the current rip after it hits 5 urls that are already downloaded
See here for all of ripmes config option


fix typo

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 89.18%. Comparing base (14531b9) to head (b251b66).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop      #11   +/-   ##
========================================
  Coverage    89.18%   89.18%
========================================
  Files            4        4
  Lines          148      148
========================================
  Hits           132      132
  Misses          16       16

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Support remaining arithmetic operations

Basic types like u32 have plenty more operations, like:

wrapping_add
checked_add
overflowing_add
saturating_add
mul_add
saturating_add_signed (wow)
is_power_of_two

And plenty more. All of those should be supported.
Some of that is already supported through num_traits, but a) not everyone might want that dependency and b) that is only a subset of the functionality.

as a starting point, here's a list of methods currently implemented for u32 but not UInt:
checked versions of existing operations

checked_add
checked_div
checked_mul
checked_shl
checked_shr
checked_sub

unchecked versions of existing operations

unchecked_add
unchecked_mul
unchecked_shl
unchecked_shr
unchecked_sub

wrapping versions of existing operations

wrapping_add
wrapping_div
wrapping_mul
wrapping_shl
wrapping_shr
wrapping_sub

overflowing versions of existing operations

overflowing_div
overflowing_add
overflowing_mul
overflowing_shl
overflowing_shr
overflowing_sub

saturating versions of existing operations

saturating_add
saturating_div
saturating_mul
saturating_pow
saturating_sub

carrying versions of existing operations

carrying_add
carrying_mul

neg

neg
checked_neg
overflowing_neg
wrapping_neg

rem

rem
checked_rem
overflowing_rem
wrapping_rem

rem_euclid

rem_euclid
checked_rem_euclid
overflowing_rem_euclid
wrapping_rem_euclid

add_signed

saturating_add_signed
checked_add_signed
overflowing_add_signed
wrapping_add_signed

div_euclid

div_euclid
checked_div_euclid
overflowing_div_euclid
wrapping_div_euclid

ilog

ilog
ilog10
ilog2
checked_ilog
checked_ilog10
checked_ilog2

pow

pow
overflowing_pow
wrapping_pow
checked_pow

next_multiple_of

next_multiple_of
checked_next_multiple_of
checked_next_power_of_two

power_of_two

is_power_of_two
next_power_of_two
wrapping_next_power_of_two

other unimplemented operations

from_str_radix

abs_diff

div_ceil
div_floor
midpoint

borrowing_sub
widening_mul

Thanks a lot for collecting those!

@danlehmann I can implement some of these if that's okay with you.
on that note, is there a reason why Mul and Div are not implemented?
also, is there a rationale behind the trait bounds on the T for existing core::ops implementations, some of which are unnecessary for the implementation itself? for example, Shl<usize, Output = T> + Shr<usize, Output = T> + From<u8>?

Yes of course, happy to take patches for those!
I have been thinking about those a bit, so I wanted to write down my thoughts.
For many operations we can defer to the underlying type, e.g. wrapping_add should be straight-forward: just add and apply the MASK.
wrapping_xxx likely needs a two-step process though: 1. Do the wrapping_xxx instruction of the underlying type and b) do a try_new and - if error - consider that a wrap as well. But I think for some things we can do better:

overflowing_add: Adding two u7 can not overflow on the first step (adding the bytes), so we could (for add) change that to a wrapping_add. The one exception is types like UInt<u8, 8>, UInt<u32, 32> etc., which are valid. For those it's the other way round: We just need to defer to the underlying type and we're good

on that note, is there a reason why Mul and Div are not implemented?

Just an oversight

also, is there a rationale behind the trait bounds on the T for existing core::ops implementations, some of which are unnecessary for the implementation itself? for example, Shl<usize, Output = T> + Shr<usize, Output = T> + From<u8>?

I put in whatever was needed at the time. At some point the Number trait simplified things somewhat though, so maybe some of those aren't needed any longer. If you find any unnecessary ones, removing should be safe from an api stability viewpoint

I implemented a good chunk of them: Mul, MulAssign, Div, DivAssign as well as all wrapping_xxx and saturating_xxx:
https://github.com/danlehmann/arbitrary-int/pull/39
For each instruction there are some interesting optimizations: E.g. u4 * u4 can never overflow the underlying u8, where u5*u5 can. I tried to implement those (which are compiler checked) whenever reasonable.
Will do overflowing_xxx and checked_xxx soon as well.

Skipping unchecked_xxx. They are all unstable for now.
In the patch I just referenced I also implemented checked_xxx and overflowing_xxx.
Once that's in, the list of missing operations should be a lot smaller

Landed https://github.com/danlehmann/arbitrary-int/pull/39.
This leaves the following:
unchecked versions of existing operations

unchecked_add
unchecked_mul
unchecked_shl
unchecked_shr
unchecked_sub

carrying versions of existing operations

carrying_add
carrying_mul

neg

neg
checked_neg
overflowing_neg
wrapping_neg

rem

rem
checked_rem
overflowing_rem
wrapping_rem

rem_euclid

rem_euclid
checked_rem_euclid
overflowing_rem_euclid
wrapping_rem_euclid

add_signed

saturating_add_signed
checked_add_signed
overflowing_add_signed
wrapping_add_signed

div_euclid

div_euclid
checked_div_euclid
overflowing_div_euclid
wrapping_div_euclid

ilog

ilog
ilog10
ilog2
checked_ilog
checked_ilog10
checked_ilog2

pow

pow
overflowing_pow
wrapping_pow
checked_pow

next_multiple_of

next_multiple_of
checked_next_multiple_of
checked_next_power_of_two

power_of_two

is_power_of_two
next_power_of_two
wrapping_next_power_of_two

other unimplemented operations

from_str_radix

abs_diff

div_ceil
div_floor
midpoint

borrowing_sub
widening_mul


[stable/ambassador] Endpoints resource missing from clusterrole

Is this a request for help?:

Is this a BUG REPORT or FEATURE REQUEST? (choose one):
BUG

Version of Helm and Kubernetes:
helm: 2.11.0
kubernetes: 1.12.7
Which chart:
Ambassador chart version 2.2.0
What happened:
Ambassador containers fail to init on clean install with error:
endpoints is forbidden: User "system:serviceaccount:infra:ambassador" cannot list resource "endpoints" in API group "" at the cluster scope
What you expected to happen:
Container should run successfully
How to reproduce it (as minimally and precisely as possible):
Install Ambassador with a clean environment with the helm chart (2.2.0)
Anything else we need to know:
Workaround:
manually editing the cluster role and adding "endpoints" fixes issue

https://github.com/helm/charts/pull/13218

Fixed, closing  issue


Loading bundle.js is too slow?

Hello,
Loading bundle.js is too slow. How can we fix it?
Thanks!

How to fix it??


lockdown timer without SIGNAL_CANCEL_LOCKDOWN_TIMER signal

Remove SIGNAL_CANCEL_LOCKDOWN_TIMER. It causes race conditions. (See #69)
I thought I could implement the lockdown timer without the SIGNAL_CANCEL_LOCKDOWN_TIMER signal. It seems to be working fine, but I don't fully understand this and I think there is a better implementation.
This fix will make it work correctly with solaris 11 sh (ksh).

I merged it, but the code (my legacy code) around the lockdown is complicated, so I'll fix it.


New Theme: VMware Clarity

Theme submission
Please make sure that you have read the theme submission guidelines before submitting a theme. The guidelines provide all relevant information and requirements that have to be fulfilled before the submission. We strongly suggest that you test your theme with the Hugo Themes Build Script before submitting the theme for review. If a submission does not meet the criteria mentioned in the README it will be closed. You may re-submit once you fix the problems with your submission. However, please note that we have limited resources and can not provide help for general web development issues. For Hugo support questions please refer to the dedicated support forum.
Please tick the relevant boxes for your theme in the checklist below:
Link to my theme repository: https://github.com/chipzoller/hugo-clarity
I made sure that...

[x] the repository contains a good README.md describing my theme
[x] an open source license has been added to LICENSE.md
[x] all metadata have been added to theme.toml
[x] screenshots have been added in the images/ folder with the required dimensions
[x] in case I'm using a customized demo via the exampleSite folder that

[x] https://example.com is set as base url in exampleSite/config.{toml, yaml, json} to avoid the abuse of unused domains
[x] I tested that my theme's demo works with the content directory of gohugoio/HugoBasicExample

[x] I tested my theme against the gohugoio/HugoBasicExample

[x] I've checked the developer tools' console in my browser for error messages

[x] in case my theme is using Hugo Pipes features like toCSS and PostCSS that I have committed the /resources directory with all generated assets, for my theme to work in the basic version of Hugo

N.B. By submitting a theme to the Hugo Themes Showcase you understand that you need to maintain your theme. If a theme demo breaks and remains broken then at some point it will be removed from the list without prior warning. If you no longer wish to maintain a theme please let us know.
New themes will usually be promoted on Hugo's official Twitter account. If you would like to be mentioned in the tweet please add your Twitter username to this submission.
Link to my Twitter account (optional): REPLACE-WITH-URL
Feel free to ask questions. We're glad to help.

Hi Chip,
thank you for sharing this theme with the Hugo community. I can image it caters the needs for many use cases.
Your theme should appear soon on Hugo's theme site. Next, I'll promote your theme on Hugo's official Twitter account.

Thank you for reviewing and accepting our theme. We hope it gets good use and will be adding more features in the future.


Fix N+1 queries when updating non-translated model attributes

One of the joys outcomes of Laravel Telescope is discovering cron jobs that have been causing a nightmare-ish number of N+1 database queries.
I have a (partially) translated model with a boolean status column frequently updated. Yesterday I discovered this package lazy-loads the $this->translations relationships even when there aren't changes to non-translated attributes.
To give you an idea of scale, it was 500k+ redundant translation SELECT database queries run in a 15min period every day.
e.g.,
App\PressRelease::first()->save()

^ that needlessly lazy-loads relationship PressRelease@translations when neither translated attributes nor "regular" Eloquent model attributes are flagged as dirty.
This pull request adds a check on Illuminate\Database\Eloquent\Model@relationLoaded('translations')
when saving the model. An Eloquent relationship's models can't be marked "dirty" if they have yet to be loaded into PHP memory.

Added $this->assertCount(..., DB::getQueryLog()) to inspect queries if that's what you're looking for.
I also added a second commit to remove duplicate save() conditional branches.


refactor: Replace react-bootstrap MenuItems with Antd Menu

SUMMARY
Replaces MenuItems in SliceHeaderControls, DisplayQueryButton and SliceAdder components.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Before:

After:

TEST PLAN

ADDITIONAL INFORMATION

[ ] Has associated issue:
[x] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

@rusackas @junlincc Can you take a look?

@rusackas This PR was bigger than it was supposed to be because I forgot to do the rebase and there were some changes that were already merged - I apologise for that. On the bright side, you caught some css in style thanks to that 😛

Codecov Report

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

@@            Coverage Diff             @@
##           master   #11554      +/-   ##
==========================================
+ Coverage   59.59%   61.46%   +1.86%
==========================================
  Files         832      420     -412
  Lines       40482    26182   -14300
  Branches     3666        0    -3666
==========================================
- Hits        24126    16092    -8034
+ Misses      16187    10090    -6097
+ Partials      169        0     -169

Flag
Coverage Δ

cypress
?

python
61.46% <ø> (-0.64%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/db_engine_specs/hive.py
53.90% <0.00%> (-30.08%)
:arrow_down:

superset/db_engine_specs/presto.py
69.76% <0.00%> (-12.53%)
:arrow_down:

superset/db_engine_specs/sqlite.py
65.62% <0.00%> (-9.38%)
:arrow_down:

superset/utils/celery.py
82.14% <0.00%> (-3.58%)
:arrow_down:

superset/examples/world_bank.py
97.10% <0.00%> (-2.90%)
:arrow_down:

superset/db_engine_specs/postgres.py
97.56% <0.00%> (-2.44%)
:arrow_down:

superset/examples/birth_names.py
96.51% <0.00%> (-2.33%)
:arrow_down:

superset/views/database/mixins.py
80.70% <0.00%> (-1.76%)
:arrow_down:

superset/result_set.py
96.69% <0.00%> (-1.66%)
:arrow_down:

... and 418 more

Continue to review full report at Codecov.

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

Previously the menu will automatically close whichever item you click, now it doesn't close.

@rusackas @kgabryje


[Suggestion] Add sleep in between spinning pokespots

Add a sleep mechanism to after spinning a pokespot to reduce chance of getting softbanned.
Suggested place: bot.py, line 46:
time.sleep(15)

sleep(randint(15,30))

#88


changelog-extract initial commit

I'm in favor of merging this and fixing the last few things later. :shipit:


speaker buzz and no sound playing

im making a homebrew lightsaber with nano dfplayer and mpu6050 , i have wired it as per the homebrew led star schematic and im getting no sound just a load buzzing sound from the speaker, i am also powering from usb and using a 470 ohm resistor from dfplayer rx to d8
serial monitor is displaying this :
size of StoreStruct: 72
32
L02⸮⸮⸮
EEPROM LOADED
Initializing I2C devices...
Testing device connections...
MPU6050 connection successful
Initializing DMP...
address: 200
output: -2038
address: 202
output: -468
address: 204
output: 1686
address: 206
output: 58
address: 208
output: -2
address: 210
output: 32
Enabling DMP...
Enabling interrupt detection (Arduino external interrupt 0)...
DMP ready! Waiting for first interrupt...
checkpoint 0
LoL

You either have a power or grounding issue.  Make sure your battery is
charged and that none of your solder joints are shorting.
Jason "Kuma" Brinkerhoff
*Mad Science Workshoppe, *proprietor
http://jbkuma.com/workshoppe
On Fri, Mar 9, 2018 at 1:31 PM, Luke Yeo<EMAIL_ADDRESS>wrote:

im making a homebrew lightsaber with nano dfplayer and mpu6050 , i have
wired it as per the homebrew led star schematic and im getting no sound
just a load buzzing sound from the speaker
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Protonerd/FX-SaberOS/issues/68, or mute the thread
https://github.com/notifications/unsubscribe-auth/ATdCMKdtvI0hGOtAVrwfuP0EXuDRetnFks5tcsqFgaJpZM4Skrip
.

im powering directly from my laptop via ftdi usb sorry this is my first electronic project so i am a noob , im using a breadboard at the mo and jumper so should have not sorting and the solder joints seem good on all of my parts

okay thanks i will give that a shot and hopefully that will work

I can confirm, USB will not be able to supply the board with a premium speaker connected to it at full volume. A homebrew will make the situation even worse. Easiest option to try is either to select a better supply (like jbkuma suggested, or simply hook up the battery), or lower the volume of the DFPlayer to about 15.

thanks for all your advice i have connected a 5v 1a power supply, and buzzing has ceased but now i  have some more issues i have a hum playing all the time even before i ignite the blade once ignited clash swing blaster and lock up interrupts work but the hum will only last 5 second afterwards
even tho the hum file in the sound file is 16 seconds long. thanks again for your help so far.

The sound file is the diyino prime image I dragged and dropped the content to the sd card after a full format to fat32 I'm using Windows10 and problem persist I can't seem to find what I am doing wrong I have ordered a new dfplayer from banggood to see if the issue lies there as mine is a Chinese copy from eBay


#4 Primary/replica selection

Possible implementation for #4

Worth noting that Postgres and libpq already offer something in this area - the ability to specify multiple hosts in the connection string + target_session_attrs: https://www.postgresql.org/docs/devel/libpq-connect.html#LIBPQ-CONNECT-TARGET-SESSION-ATTRS. These things are relatively new and are still not well adopted by libraries and frameworks, in my opinion.
Good article: https://paquier.xyz/postgresql-2/postgres-10-libpq-read-write/
About the improvements in PG14: https://www.postgresql.fastware.com/blog/enhancement-to-target-session-attrs


How to test in self customed data?

With the following code snippet, I got the output like this:
result = requests.post(
    "http://xxx.xx.xx.xx:5000/api/start_sample",
    json=StartSampleRequest(name="os-std", index="std-007-bootstrap-00001").dict()
)
print(result.json())
>>> {'session_id': 30, 'output': {'index': None, 'status': 'running', 'result': None, 'history': [{'role': 'user', 'content': 'You are an assistant that will act like a person, I\'will play the role of linux(ubuntu) operating system. Your goal is to implement the operations required by me or answer to the question proposed by me. For each of your turn, you should first think what you should do, and then take exact one of the three actions: "bash", "finish" or "answer". \n\n1. If you think you should execute some bash code, take bash action, and you should print like this:\n\nThink: put your thought here.\n\nAct: bash\n\n```bash\n# put your bash code here\n```\n\n2. If you think you have finished the task, take finish action, and you should print like this:\n\nThink: put your thought here.\n\nAct: finish\n\n3. If you think you have got the answer to the question, take answer action, and you should print like this:\n\nThink: put your thought here.\n\nAct: answer(Your answer to the question should be put in this pair of parentheses)\n\nIf the output is too long, I will truncate it. The truncated output is not complete. You have to deal with the truncating problem by yourself. Attention, your bash code should not contain any input operation. Once again, you should take only exact one of the three actions in each turn.\n\nNow, my problem is:\n\ntell me how many files are in the directory "/etc"?'}, {'role': 'agent', 'content': 'Think: To count the files in /etc, I need to print all the files in it.\n\nAct: bash\n\n```bash\nls /etc\n```'}, {'role': 'user', 'content': 'The output of the OS:\ncpi cron.hourly fuse.conf iproute2 lvm networkd-dispatcher protocols selinux tmpfiles.d [truncated because the output is too long]'}, {'role': 'agent', 'content': 'Think: The output has been truncated because it is too long, so I need to count files by script directly.\n\nAct: bash\n\n```bash\nls -1 /etc | wc -l\n```'}, {'role': 'user', 'content': 'The output of the OS:\n220'}, {'role': 'agent', 'content': 'Think: Now I get the answer, it is 220.\n\nAct: answer(220)'}, {'role': 'user', 'content': "Now, I will start a new problem in a new OS. My problem is:\n\nIn this problem, your task is to find the total count of processes that are currently running on the student's Linux (Ubuntu) operating system having 'bash' in their command name or path. The answer must be an integer."}]}}

It seems that I need to input a index and the system would test the pre-defined example corresponding to that index. Is there any way to test in new examples. For example, will simply replacing the data in data folder works? If that works, how should I set the index (i.e. what is the naming rule for the index correspoing to an example).
Also, a better way was like I can dirrectly set the question in start sample request like this:
result = requests.post(
    "http://xxx.xx.xx.xx:5000/api/start_sample",
    json={"name"="os-std", "question": "In this problem, your task is to ..."}
)

Is there any way to support this?

Hi, @Reason-Wang , First of all, I would like to clarify that this API is not designed to be requested manually.

It seems that I need to input a index and the system would test the pre-defined example corresponding to that index. Is there any way to test in new examples. For example, will simply replacing the data in data folder works? If that works, how should I set the index (i.e. what is the naming rule for the index correspoing to an example).

There's several ways to test custom data. If you wish to set up a new task setting, you may implement the Task class in src/server/task.py and start a new task worker. Or if you just want to add more data to an existing task, simply replacing the data in data folder will work, the indexing rule can be found in the corresponding task definition code, for example, here.

Also, a better way was like I can dirrectly set the question in start sample request like this:
result = requests.post(
    "http://xxx.xx.xx.xx:5000/api/start_sample",
    json={"name"="os-std", "question": "In this problem, your task is to ..."}
)

Is there any way to support this?

As mentioned before, This API is designed to be called by assigner. It's more convenient this way for pogram to identify which question has been tested and which hasn't.


"SHOW LABEL" checkbox for an annotation does nothing

In both 2.0.1 and 2.1.0rc1, nothing happens when I check the "SHOW LABEL" box.  Whether or not it's checked, the label appears on the chart legend and does not show on the chart.  I'm not sure what it's supposed to do, but it should do something.
This is the box:

Can confirm, also just experienced this bug. I didn't test this, but the GENERIC_CHART_AXES feature flag could have something to do with this. Afaik before enabling the feature flag we didn't have this problem on our production environment.
@sfirke : Do you guys have the feature flag enabled too or do you have this problem without having it enabled?

Yes I have that feature flag enabled.
On Mon, Mar 13, 2023, 10:32 AM D3nn3 @.***> wrote:

Can confirm, also just experienced this bug. I didn't test this, but the
GENERIC_CHART_AXES feature flag could have something to do with this.
Afaik before enabling the feature flag we didn't have this problem on our
production environment.
@sfirke https://github.com/sfirke : Do you guys have the feature flag
enabled too or do you have this problem without having it enabled?
—
Reply to this email directly, view it on GitHub
https://github.com/apache/superset/issues/23218#issuecomment-1466253652,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZYDEGMROKDBWO5PJX2MILW34VWJANCNFSM6AAAAAAVJXS6BM
.
You are receiving this because you were mentioned.Message ID:
@.***>

This version of Superset is no longer supported. If anyone is still encountering this in current versions (3.x) please open a new Issue or a PR to address the problem.

This is still the case in 3.0.1.  I'm planning to upgrade to 3.1.x shortly and can verify it's the case there, then re-open.

Is this maybe related to the following issue? https://github.com/apache/superset/issues/26206


Barebones Team-vs-Team-Proof of Concept in Docker containers

It's fairly basic but if you have Open Source GPU Drivers or nvidia-docker set up correctly you can run
TEAM_Y=001 TEAM_B=002 ./run-docker.sh

and webots will run (on your host's Xorg-session but without internet access for the container) one 10-minute-Halftime while returning the referee-log-json and mp4-recording of the game to ~/webots_video_out/

This has been superseded by the docker-tournament-run-branch


About Skip connection?

Hi, Jin:
I am sorry to bother you again. However, I have met a question recently.
In your super_resolution.py file, 227-230 line:
Your code:
for i in range(0, self.inference_depth + 1):
	self.Y1_conv[i] = util.conv2d_with_bias(self.H_conv[i], self.WD1_conv, self.cnn_stride, self.BD1_conv,
											add_relu=not self.residual, name="Y%d_1" % i)
	self.Y2_conv[i] = util.conv2d_with_bias(self.Y1_conv[i], self.WD2_conv, self.cnn_stride, self.BD2_conv,
											add_relu=not self.residual, name="Y%d_2" % i)

However, self.H_conv[0] is in embeding network. And from the authors' papet Figure 3(c). The skip connection should start self_conv[1].
and in 263-271 line,
Your code:
for i in range(0, self.inference_depth):
	if self.residual:
		self.Y2_conv[i] = self.Y2_conv[i] + self.x
	inference_sub = tf.subtract(self.y, self.Y2_conv[i], name="Loss1_%d_sub" % i)
	inference_square = tf.square(inference_sub, name="Loss1_%d_squ" % i)
	loss1_mse[i] = tf.reduce_mean(inference_square, name="Loss1_%d" % i)

loss1 = loss1_mse[0]
for i in range(1, self.inference_depth):
	if i == self.inference_depth:
		loss1 = tf.add(loss1, loss1_mse[i], name="loss1")
	else:
		loss1 = tf.add(loss1, loss1_mse[i], name="loss1_%d_add" % i)

only calculate loss from H[0] to H[self.inference_depth-1].
In fact, the loss should calculate from H[1] to H[self.inference_depth].
I think it should change like this. for 220-230 lines:
self.Y1_conv = self.inference_depth * [None]
self.Y2_conv = self.inference_depth * [None]
self.W = tf.Variable(
	np.full(fill_value=1.0 / (self.inference_depth), shape=[self.inference_depth], dtype=np.float32),name="layer_weight")
W_sum = tf.reduce_sum(self.W)

for i in range(0, self.inference_depth):
	self.Y1_conv[i] = util.conv2d_with_bias(self.H_conv[i+1], self.WD1_conv, self.cnn_stride, self.BD1_conv,
											add_relu=True, name="Y%d_1" % i)
	self.Y2_conv[i] = util.conv2d_with_bias(self.Y1_conv[i], self.WD2_conv, self.cnn_stride, self.BD2_conv,
											add_relu=not self.residual, name="Y%d_2" % i)

And it doesn't need to change for 263-271 line,.
I have got these results: (Set91 aug x4,  with residual learning)
Set5: 37.04
Set14: 32.57
urban100: 29.58
BSD: 31.41
And the converge is faster, I only use 2.5 hours get the results in NV1080 GPU

Besides, I think self.Y1_conv need to add relu, and the relu in self.Y2_conv should related with residual learning. In fact, the conv operation without relu is a linear operation. Even if you have adopted several conv operation, it is still a linear operation, it may can not make any difference.
What's more, your code style is really beautiful. I have learned a lot :).

Hi, sorry for late reply. I'm having a business trip and is very busy for this week.
Quick reply for you is

However, self.H_conv[0] is in embeding network. And from the authors' papet Figure 3(c). The skip connection should start self_conv[1].

Yeah, this point makes me confused most.
Please look at Figure 3 (a), there is a skip connection from Input.
That is why I included H_conv[0] and H[0] for output and loss function.
Now I'm thinking the skip connection from Input may be concatenated to every H_conv[1..depth+1] output.  How do you feel about it?

only calculate loss from H[0] to H[self.inference_depth-1].
In fact, the loss should calculate from H[1] to H[self.inference_depth].

Thank you, your words will be true.
Let me double check with graph output with tensorboard later.
Anyway, I will check it next week.
Thank you for you feedback and kind words. This code is my almost first python code and is very messy, though, I'm really happy to have your feedbacks. Thx!

ehhhh,  I have read a paper from CVPR2017 called 《Image Super-Resolution via Deep Recursive Residual Network. In this paper, the authors redescibe the DRCN, in their opinions, the think DRCN is look like the following:

How do you feel about it?

Hi,
Yep.
I believe the purple arrow (from the input) would be fed into every black
input.
Which is, I already mentioned that purple input is concatenated to every
black input.
I wanna implement that, however, I'm working at the other company and have
very few time to work with DL.
Wanted to try it this weekend but I couldn't. :(
Best,
Jin

Jin Yamanaka
<EMAIL_ADDRESS>2017-10-30 11:10 GMT+09:00 XiaotianM<EMAIL_ADDRESS>
ehhhh, I have read a paper from CVPR2017 called 《Image Super-Resolution
via Deep Recursive Residual Network. In this paper, the authors redescibe
the DRCN, in their opinions, the think DRCN is look like the following:
[image: 31]
https://user-images.githubusercontent.com/29722350/32151791-886cddf4-bd5a-11e7-99dd-8a3e73992784.JPG
How do you feel about it?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jiny2001/deeply-recursive-cnn-tf/issues/7#issuecomment-340325508,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMW-cFMA9q0tlIuu2Nb_LCEhvlHU0NVgks5sxTAqgaJpZM4QBYqd
.

Oh, never mind.  I have learned a lot by discussing with you.
Eh, In fact, this implement may be just the same as your implement with the residual connection.
when you feed the input to each black input:
it means:
w1*(y+y1)+w2*(y+y2)+.....+wn*(y+yn)
= (w1+w2+...+wn)y + w1y1 + w2y2+...+wnyn
Beacuse you have made normalization, so w1+w2+...+wn = 1;
Thus, the equation becomes:
= y + w1y1 + w2y2 + ... wn*yn

Uhm, No I don't think so.
Does the + operator in your equation mean adding the values like residual?
My answer is no.  ( also the dimension is different so you can't add the value directly? )
I think, not adding the value but adding the feature will be the correct way.
Well, I will try again this weekend since my current experiment will be done by the weekend. :)

uhmm, No, the y1..n in my equation are the output of the reconstruction for each skip connection.
Thus, the dimension of y1..n is equal to y, (all they are 1 channel)
I don't think it needs to concatenates the origin input(y) and the immediate features.
Of course, it's just my opnion, and I expect your new implement. :)

Oh no, actually, you don't need to close this.
I just refactored my code and removed Y0-node from loss.
And now I put input data into the first reconstruction CNN and having some experiments.
Let's see what will happen. :)

Hi,
I tested 2 types of new models.
A: put input signal into the first CNN of each reconstruction layer
B: put input signal into the last CNN of each reconstruction layer
And the network graph is like below.

The PSNR results of my experiments are
Before update:
Set5, Set14, BSD100: 36.914, 32.577, 31.462
A:
Set5, Set14, BSD100: 36.853, 32.464, 31.323
B:
Set5, Set14, BSD100: 37.054, 32.572, 31.451
We must do at least 3 or 5 experiments to evaluate the performance, however, it looks B is enough good and I believe B can be the same structure with the one you put in this thread.
So I updated the GitHub. Later, I will upload the weight trained with x4 augmented (Yang91+General100). Any comments is appreciated. Thx!

Hi,
Thank you for your comments.
I trained new model with larger training dataset (Yang91+general100)x4, and found I could get better results.
Set5 37.24 -> 37.37
Set14 32.77 -> 32.88
BSD100 31.64 -> 31.73
Urban100 29.78 -> 30.03
I updated readme and uploaded new weights. Thank you so much, again!
Jin


SLIM-1225 Fix find events response when no events are found

Test [@smartmetering]

retest this please

Test only [@smartmetering]

retest this please

retest this please

retest this please

retest this please

retest this please


BugPattern pages on website are all missing

It looks like none of the BugPattern links are working on the public website.  They all return 404 for me.
e.g.
http://errorprone.info/bugpattern/BadAnnotationImplementation
and
http://errorprone.info/bugpattern/DefaultCharset
are 404s

Thanks for the report! It looks like I missed a few things while trying to rejigger the documentation generation in c2747d07c35bdd937ea43b693ab9344efa05c5cb
This is fixed at origin/master now (b5c1cd195e8633443cb94ec0838676a22598a123).


Do not define and initialize global mutexes on configurations that do not use them.

On systems with limited memory this can save a few bytes in RAM.

Hi @Thuffir Thank you for your contribution!
We will look into this PR.

@Thuffir: Thank you for your contribution. I have rebased this PR on top of development and added an extra commit with a new ChangeLog entry for this patch. The new PR is https://github.com/ARMmbed/mbedtls/pull/1477.

Hi @Thuffir
Thanks very much for your contribution! We've merged your contribution via #1477
Thanks!


Cypress/E2E: Fix compliance export test

Summary

Isolate admin test by using new custom admin user
Added @compliance_export metadata so we can test this first and have the export processing time shorter given that the server has a small set of data during that initial period.
S3 minio -- used mattermost-test bucket which is the same as in local dev
Limit enabling/exporting as much as possible by moving some export commands at before hook
Make cy.visit more explicit in the test block itself - (see our related blog - item 4). Also doing so, it lessen unnecessary visit to a default team/channel.

Ticket Link
none, failed on daily Cypress run
Screenshots

NONE

No, but please check if you have minio docker instance running, accessible at localhost:9000 and see if it has the required bucket.
To add a bucket, either:
docker exec mattermost-minio sh -c 'mkdir -p /data/mattermost-test'

If still didn't work, then try to restart the minio docker instance.
Or add a bucket in the UI itself at localhost:9000.
I'll push another commit to add the instruction in the spec file itself.
Thanks for testing!

Thanks @furqanmlk for the PR reference. Have you tried adding the bucket manually as previously commented? Did it pass or still fail?

Thanks @furqanmlk for the PR reference. Have you tried adding the bucket manually as previously commented? Did it pass or still fail?

Yes it's passing after adding Buckets.
I thought it should be a part of test case to create bucket.
Everything looks good


[Suggestion] linqpad: remove "depends"

in linqpad's mainfest, it depends on dotnet-sdk.
"depends": "dotnet-sdk",

But if somebody installed dotnet-sdk via installer but not scoop(just like me), it will install dotnet-sdk automatically, obviously it's not necessary. So I hope we could remove the depends.
If ok, I'll create a PR later.

You can change it to
"suggest": {
    ".Net SDK": "dotnet-sdk"
}

same issue for extras/vcredist2010 in youtubedl.json
aside:
removing scoop-installed versions of vcredist , it clutters up fast. and entries shows up in control panel.

asd-collab


fix: Typo, PodRacing -> Padracing

Love that the name of the game got a typo, because I wanted people to think of PodRacing when I named it PadRacing (like PodRacing but on Dart-Pad), and it clearly worked. 😄

@domesticmouse @johnpryan