Make the Auctions page native by default

We also support a way to disable, can be removed in future builds.

1 Warning

:warning:
Found unstubbbed networking requests

ARFairFavoritesNetworkModelSpec in test_ignores_artworks_without_a_partner
ARFairFavoritesNetworkModelSpec in test_ignores_artworks_without_a_partner
ARFairFavoritesNetworkModelSpec in test_ignores_artworks_without_a_partner

  Generated by :no_entry_sign: danger


[translator] fix handling of empty mongo pipelines

Before this commit, simplifyMongoPipeline would output a [null]
mongo pipeline if fed with an empty one. This is of course incorrect and
is caused by the following statements at the beginning of the function:
  const outputSteps: MongoStep[] = [];
  let lastStep: MongoStep = mongoSteps[0];
  outputSteps.push(lastStep);

This commit doesn't change this specific logic but instead explicitly
tests for an empty input pipeline and return another empty one in that
case.

Codecov Report

Merging #183 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #183      +/-   ##
==========================================
+ Coverage   98.79%   98.79%   +<.01%
==========================================
  Files          34       34
  Lines         581      583       +2
  Branches      103      104       +1
==========================================
+ Hits          574      576       +2
  Misses          7        7

Impacted Files
Coverage Δ

src/lib/translators/mongo.ts
99.3% <100%> (ø)
:arrow_up:

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 a6386e6...4e80036. Read the comment docs.


Add newline option "$'\n'"

Is your feature request related to a problem? Please describe.
It would be great if there were an option for adding a newline to your $PROMPT, as when I've tried to add it using custom text, it doesn't work.
Describe the solution you'd like
A button that adds the text "$'\n'" to split your $PROMPT across lines. This is how the Parrot Sec project does it for their .zshrc file in their /etc/skel directory:
PROMPT="%F{red}┌[%f%F{cyan}%m%f%F{red}]─[%f%F{yellow}%D{%H:%M-%d/%m}%f%F{red}]─[%f%F{magenta}%d%f%F{red}]%f"$'\n'"%F{red}└╼%f%F{green}$USER%f%F{yellow}$%f"

Describe alternatives you've considered
I don't think there are any other alternatives to do this, but let me know if someone has a better way to do it!

a good work around in the meantime until this feature gets added is to add a character you don't plan on using in place of the line break. Then when you go to add the generated code to your .zshrc replace the character with "$'\n'"
This comment was very helpful in helping me find this workaround.


Trouble with V2.0.5 (Flickering, Ghost, offset) and example code to check

Hello mrfaptastic
Forgive again my English assisted by Google
I meet a problem of display with version 2.0.5 of your library.
After some tests I isolated this defect, and I offer you an easy example to reproduce.
A few days ago, I presented my SwinGraf project in your forum.
The models shown in the videos work perfectly with ESP32-HUB75-MatrixPanel-I2S-DMA version 1.2.4.
When you have published version 2.0.0, I tried some quick tests but I had too many offsets and ghosts, and not a lot of time to test the settings.
Last week I reload my tests with your version 2.0.5.
By reading all your recommendations, I could operate 90% of my program, but there are still some visible defects on moving frames around texts, and audio spectrums.
And also pixels that appear at left when the text scrolls.
I read your "common issues" and settled according to your recommendations.
After that I got a suitable display for fixed texts and graphics.
But in the case of scrolling texts, some LEDs light on the left on column 1 (like a mirror of column 128 or 129).
Another fault appears with animated frames (animated points that move around the panel).
When a frame is displayed, it causes a "definitive" offset on lines 1, 15, 16, and 32.
I say "definitive" because once triggered, the whole display is affected by this defect, and you have to restart the device to restore the display.
The SwinGraf code is bulky and I thought it could cause slowdowns in signals or memory.
***************** Issue noted and easily verifiable ****************************
To simplify all this, I used your first example "1_SimpleTestShapes" on two panels (2 x 64x32).
I used a new ESP32, and a new PCB.

The display of your example was normal and everything worked until I draw lines or out-of-frame points.
dma_display.drawFastVLine(0, 0, dma_display.height() + 1,  myRED);
An offset occurs if I trace a line or pixel that overflows from the panel.

The attached file contains some tests to cause this defect.
1_SimpleTestShapesWithFrame.zip
Just activate the corresponding lines at each test, and read my remarks.

Your example use virtual mode. I restored classic mode and compared with your two library versions.
I raised all the possible doubts with different models of panels (64x32 p4 or p5 and 64x64) and I got the same faults.
I tested several power supplies and added capacitors.
As the wiring of my PCB is different from your standard wiring, I wired a new one with the same connections as you.

Despite all these tests I confirm that the defects observed never occur with version 1.2.4, and always with version 2.0.5.
Finally I tried to compare your two versions to find differences between certain variables, but my skills have limits, and I did not find anything weird.
Now, you have the details of the problem, and surely the solution, but that it does not disturb your holidays.
Cordially.

Hello mrfaptastic
Thanks for your intervention.
I just did a quick test, and I note the change, but still some problems.
I would try better tomorrow, and I could give you a more precise answer.

Can you try and not use the drawFastVLine or drawFastHLine functions as they exist in 2.x branch?
That is, use the old 'drawLine' function. I think there might be an issue with drawFastVLine or drawFastHLine

I just tested (again) with "drawline" and there are also problems when it overflow the panel.
I had already done these tests with "drawline". They are in the file I have provided at the beginning. You can activate them to check the differences.
This morning I also compared what you have changed yesterday, but the result is worse. Now the offset fault is visible on several lines. I tried to play with the > and =, but chance was not with me.
Another thing: I work with a fixed power supply that delivers a little over 5V (5.4V) and I remember old p5 panels that are sensitive to voltage. To lift doubt this morning I used an adjustable power supply. But nothing of Flagrand, the variation of 4.8V to 5.4V changes a little the color of the staggered points, but does not solve the offset.
If you are not at home or if you do not have the opportunity to test. I can to do other tests, but in my case there is no urgency. Version 1.2.4 always works perfectly.

Any ideas @vortigont ?

Interesting.. let me set back my panel and check this.
Only one question so far
@FrenchLab47 how do you build your sketch?
I can see panel defines in your .ino file
#define MATRIX_WIDTH 128
#define MATRIX_HEIGHT 32
but later on you use old style constructor which default's are 64x32
dma_display.begin(R1_PIN, G1_PIN, B1_PIN, R2_PIN, G2_PIN, B2_PIN, A_PIN, B_PIN, C_PIN, D_PIN, E_PIN, LAT_PIN, OE_PIN, CLK_PIN); // my pins
If you build this under Arduino IDE your defines won't propagate while building the lib itself.
This is just to make things clear.

Hello vortigont,
Yes I define 128 and 32 in Arduino Ide just to remember.
And especially in the .h of the Library for spread it.
But I tested with a single panel of 64x32 with the original settings, and the problem is identical. If you have the opportunity to test my .ino, you must be able to reproduce it.

OK! I will set my panel back and check this out.

I've found the problem and fixed it in the SM5266P tree.
https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA/tree/SM5266P
dma_display->drawFastVLine(0, 0, dma_display->height() + 1,  myRED); // Defect on the text (and line)
Exposed an out of bounds error with the code, as you shouldn't be able to draw a line that's greater than the height of the chain of panels (the +1).
dma_display->drawFastVLine(0, 0, dma_display->height() - 1,  myRED); works perfectly for example.
Also, @FrenchLab47, you should use the new format with the pointer based used of the library:
#include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>

#define PANEL_RES_X 64     // Number of pixels wide of each INDIVIDUAL panel module.
#define PANEL_RES_Y 32     // Number of pixels tall of each INDIVIDUAL panel module.
#define PANEL_CHAIN 1      // Total number of panels chained one to another

// Change these to whatever suits
/*
#define R1_PIN 25
#define G1_PIN 26
#define B1_PIN 27
#define R2_PIN 14
#define G2_PIN 12
#define B2_PIN 13
#define A_PIN 3
#define B_PIN 22
#define C_PIN 21
#define D_PIN 33
#define E_PIN -1 // required for 1/32 scan panels, like 64x64. Any available pin would do, i.e. IO32
#define LAT_PIN 4
#define OE_PIN 15
#define CLK_PIN 2
*/

MatrixPanel_I2S_DMA *dma_display = nullptr;

uint16_t myBLACK = dma_display->color565(0, 0, 0);
uint16_t myWHITE = dma_display->color565(255, 255, 255);
uint16_t myRED = dma_display->color565(255, 0, 0);
uint16_t myGREEN = dma_display->color565(0, 255, 0);
uint16_t myBLUE = dma_display->color565(0, 0, 255);

// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
// From: https://gist.github.com/davidegironi/3144efdc6d67e5df55438cc3cba613c8
uint16_t colorWheel(uint8_t pos) {
  if (pos < 85) {
    return dma_display->color565(pos * 3, 255 - pos * 3, 0);
  } else if (pos < 170) {
    pos -= 85;
    return dma_display->color565(255 - pos * 3, 0, pos * 3);
  } else {
    pos -= 170;
    return dma_display->color565(0, pos * 3, 255 - pos * 3);
  }
}

void drawText(int colorWheelOffset)
{

  // draw text with a rotating colour
  dma_display->setTextSize(1);     // size 1 == 8 pixels high
  dma_display->setTextWrap(false); // Don't wrap at end of line - will do ourselves

  dma_display->setCursor(21, 0);    // start at top left, with 8 pixel of spacing
  uint8_t w = 0;
  const char *str = "ESP32 DMA TEST";
  for (w = 0; w < strlen(str); w++) {
    dma_display->setTextColor(colorWheel((w * 32) + colorWheelOffset));
    dma_display->print(str[w]);
  }

  dma_display->setCursor(21, 12);    // start at top left, with 8 pixel of spacing
  uint8_t w1 = 0;
  const char *str1 = "*** CENTER ***";
  for (w1 = 0; w1 < strlen(str1); w1++) {
    dma_display->setTextColor(colorWheel((w1 * 32) + colorWheelOffset));
    dma_display->print(str1[w1]);
  }

  dma_display->setCursor(21, 25);    // start at top left, with 8 pixel of spacing
  uint8_t w2 = 0;
  const char *str2 = "*** BOTTOM ***";
  for (w2 = 0; w2 < strlen(str2); w2++) {
    dma_display->setTextColor(colorWheel((w2 * 32) + colorWheelOffset));
    dma_display->print(str2[w2]);
  }

  //dma_display->println();
}

void setup() {

    //HUB75_I2S_CFG::i2s_pins _pins = {R1_PIN, G1_PIN, B1_PIN, R2_PIN, G2_PIN, B2_PIN, A_PIN, B_PIN, C_PIN, D_PIN, E_PIN, LAT_PIN, OE_PIN, CLK_PIN};
    HUB75_I2S_CFG mxconfig(
      PANEL_RES_X,   // module width
      PANEL_RES_Y,   // module height
      PANEL_CHAIN//,    // Chain length
    //  _pins
    );

    mxconfig.gpio.e = 18;
    //mxconfig.clkphase = false;
    //mxconfig.driver = HUB75_I2S_CFG::FM6126A;*/

  // Display Setup
  dma_display = new MatrixPanel_I2S_DMA(mxconfig);
  dma_display->begin(); // use default pins

  dma_display->setBrightness8(90); //0-255
  dma_display->clearScreen();

}

uint8_t wheelval = 0;

void loop() {

  // The text display is important for this test, please leave it activated
  //
  drawText(0);

  /* **************************************************************************************
      The code below works well with ESP32-HUB75-MatrixPanel-I2S-DMA Version 1.24
      But it causes some defects the version 2.05

      Please activate the lines below one by one to check
   *  **************************************************************************************

   *  **************************************************************************************
      Test 1 : I draw a vertical line on all the height
      Result OK everything is normal even if I move my line horizontally to the right
  */

  //dma_display->drawFastVLine(0, 0, dma_display->height(),  myRED); // OK
  //dma_display->drawFastVLine(20, 0, dma_display->height(),  myRED); // OK
  //dma_display->drawFastVLine(62, 0, dma_display->height(),  myRED); // OK

  /* ***************************************************************************************
     Test 2 : Now I draw a longer line (one pixel or more) and it overflows the panel
     Please note with the RED line, the offset along the horizontal line located in the center of the panel
     And oddly if I change the color of the line to GREEN or BLUE the behavior is different
     There is always an absent or offbeat point in the center of the vertical line
  */

    dma_display->drawFastVLine(0, 0, dma_display->height() + 1,  myRED); // Defect on the text (and line)
  //dma_display->drawFastVLine(0, 0, dma_display->height() + 1,  myGREEN); // Defect on the vertical line only
  //dma_display->drawFastVLine(0, 0, dma_display->height() + 1,  myBLUE); // Defect on the vertical line only

  /*
     Of course, I could place some limits in my code to prevent the drawings from overflowing from the panel, but when you scroll text or images it becomes impossible.
  */
  //dma_display->drawFastVLine(0, 3, dma_display->height() - 3,  myRED); // +3 -3 = OK

  /* ***************************************************************************************
    Test 3 : I move my line at y=5 but it overflows the panel
    The offset is still present
  */

  //dma_display->drawFastVLine(0, 5, dma_display->height(),  myRED); // Defect on the text

  /* ***************************************************************************************
    Test 4 : Now I trace horizontal lines.
    I do not see any impact on the text but there is a pixel too far left of the line.
    I also find pixels on the left in my horizontal scrollings.
  */

  //dma_display->drawFastHLine(5, 5, dma_display->width(),  myRED); // Defect : One pixel at left if the ligne overflows the panel

  //dma_display->drawFastHLine(5, 5, dma_display->width() - 10,  myRED); // OK

  /* ***************************************************************************************
    Test 5 : Now a test with free lines
  */

  //dma_display->drawLine(-5, 5, 50, 25,  myRED); // OK even if the line begin outside the frame

  //dma_display->drawLine(15, 5, 50, 25,  myRED); // OK

  //dma_display->drawLine(-5, 25, 50, 5,  myRED); // OK even if the line begin outside the frame

  /* ***************************************************************************************
    Test 6 : I finish this tests with drawLine and horizontal lines
  */

  //dma_display->drawLine(5, 25, 50, 25,  myRED); // Horizontal line in the frame OK

  //dma_display->drawLine(-1, 25, 50, 25,  myWHITE); // OUPS - This horizontal line that begin outside the frame is INVISIBLE (replace -1 by 1 to see)

  //dma_display->drawLine(67, 25, 130, 25,  myRED); // If the line overflows on the right, it is well drawn, but it always remains a pixel on the left

  delay(2000);

}

I'm sorry to disturb you with that.
I have just downloaded your files with the last correction.
I also tested the new "matrix->" format.
We agree, and as I also said at first, the display is correct, as long as we do not overflow the frame!
This is valid with "drawline" (in the example), but parasitic pixels also appear when animated texts or images that come out of the frame.
In my current project, I have big text scrolls that can overflow 800 pixels or more.
Animated gifs that move in all directions, and come out of the frame.
It seems to me complicated or impossible to control each pixel that passes the limit.
For the moment your version LEGACY 1.2.4 accepts all these freedoms, without displaying the slightest parasite pixel.
It gives me satisfaction as long as I do not need several lines of panels.
Thanks.

Add mxconfig.latch_blanking = 4; before the  dma_display = new MatrixPanel_I2S_DMA(mxconfig);
Does that fix the issue?

Je dois également noter que la bibliothèque doit toujours vérifier si un pixel est hors de portée et l'ignorer. J'utilise aussi google translate ici pour vous aider :-)
C'est ennuyeux pour moi qu'il y ait une régression dans la nouvelle version de la bibliothèque, donc j'aimerais idéalement résoudre ce problème.

Essayez ceci dans setup():

void setup() {

    HUB75_I2S_CFG::i2s_pins _pins = {R1_PIN, G1_PIN, B1_PIN, R2_PIN, G2_PIN, B2_PIN, A_PIN, B_PIN, C_PIN, D_PIN, E_PIN, LAT_PIN, OE_PIN, CLK_PIN};
    HUB75_I2S_CFG mxconfig(
      PANEL_RES_X,   // module width
      PANEL_RES_Y,   // module height
      PANEL_CHAIN//,    // Chain length
      _pins
    );

    mxconfig.latch_blanking = 4;
    mxconfig.clkphase = false;  // Pouvez-vous essayer cela aussi comme vrai ou faux et voir si cela fait une différence ?
    //mxconfig.driver = HUB75_I2S_CFG::FM6126A;

  // Display Setup
  dma_display = new MatrixPanel_I2S_DMA(mxconfig);

Effectivement c'est bien mieux !
A propos de
mxconfig.latch_blanking = 4;
mxconfig.clkphase = false;
Effectivement je n'ai pas pensé à les régler sur le dernier fichier.
Il faut bien ces deux lignes ensemble, PLUS votre dernière correction.
Et j'obtiens un affichage net, même si des lignes débordent du cadre.
Pour l'instant ça fonctionne avec les objets fixes de l'exemple ci-joint,
Demain je vais adapter tout mon code au nouveau format mais ça risque de m'occuper la matinée.
Je vous tiens informé...
Bonne soirée.

Juste pour vous assurer que votre réponse n'est pas "perdue dans la traduction". Mes suggestions ont-elles fait fonctionner parfaitement votre code maintenant?

Je suis de retour ce matin avec mes dernières observations :
Comme je le disais dans mon message précédent votre correctif fonctionne parfaitement.
Hier soir je n'ai testé que le fichier .ino que nous utilisons comme exemple, je n'ai relevé aucun défaut.
Aucune différence avec votre version legacy, à part cette ligne qui disparait encore complètement, c'est bizare mais facile sans importance.
dma_display->drawLine(-1, 25, 50, 25,  myWHITE); // OUPS - This horizontal line that begin outside the frame is INVISIBLE (replace -1 by 1 to see)
Maintenant les choses sérieuses.
Ce matin j'ai entrepris de faire fonctionner mon code (SwinGraf) avec votre librairie et ce nouveau correctif.
Première étape :
Avant de m'attaquer a modifier le format objet dans 40000 lignes de code, j'ai commencé par le format classique et j'ai gardé l'écriture "matrix." avec un point. (et les réglages en dur dans le fichier .h)
J'ai testé les textes défilant, les encadrements animés, les gifs qui se déplacent.
J'ai noté des petits ralentissements que je n'ai pas avec la version legacy. (peut-être des détails que je devrais optimiser)
Mais aucun défaut d'affichage
Tout fonctionne parfaitement avec cette version corrigée, BRAVO !
Deuxième étape :
Le passage au nouveau format.
Après modification de mon code avec la nouvelle écriture, je n'arrive plus à le compiler
Il me reste une erreur au moment de l'initialisation de la librairie U8G2 utilisée pour les polices de texte.
no matching function for call to 'U8G2_FOR_ADAFRUIT_GFX::begin(MatrixPanel_I2S_DMA*&)'
Mais ceci n'est plus de votre ressort, et je vais essayer de comprendre ce qu'il se passe.
Merci encore pour votre écoute et votre aide.

dma_display->drawLine(-1, 25, 50, 25, myWHITE); // OUPS - This horizontal line that begin outside the frame is INVISIBLE (replace -1 by 1 to see)

C'est le comportement de la bibliothèque sous-jacente AdaFruit GFX. Je n'ai jamais vu l'utilisation de coordonnées négatives.
Il ne devrait pas y avoir de ralentissement avec cette bibliothèque non plus - elle est beaucoup plus rapide que la version héritée de nos tests, donc cela pourrait être autre chose.

Après modification de mon code avec la nouvelle écriture, je n'arrive plus à le compiler
Il me reste une erreur au moment de l'initialisation de la librairie U8G2 utilisée pour les polices de texte.
no matching function for call to 'U8G2_FOR_ADAFRUIT_GFX::begin(MatrixPanel_I2S_DMA*&)'

Je ne peux pas t'aider car c'est une autre bibliothèque.
En toute honnêteté, si la version héritée fonctionne correctement, il semble qu'il serait plus facile de continuer à l'utiliser. Au moins à partir de cet exercice, nous avons trouvé un vrai bogue dans cette bibliothèque et l'avons corrigé - alors merci pour votre aide.

Sorry, but my last french lessons are decades behind :)
But there is something defenetely wrong with lines, I could see artifacts when drawing multiple single lines also.
Will take a look into this more closely, not sure if this my panel/wiring issue or lib.

Hello vortigont,
Here is a small summary in my translated French.
I did all my tests by comparing with the LEGACY version 1.2.4
The last fix proposed by mrfaptastic fix the display defects I had described in the attached .ino file.
Only Test 6 (White Line) at the end of the Sketch still does not appear on the new version, but it is unimportant.
Then I compiled my big code (swingraf) with the new library.
I do not use virtual mode and the new format (matrix->) because my code refuses to compile with the U8G2_FOR_ADAFRUIT_GFX library
Even in normal mode, the result is perfect.
The following settings are the ones that are best for my panels:
mxconfig.latch_blanking = 4;
mxconfig.clkphase = false;
And this morning, I even solved slowdowns with big texts that scroll by increasing the value min_refresh_rate
min_refresh_rate 255;
I would be well mounted higher, but this value is limited by uint8_t
Conclusion:
Everything works for me!
Thank you.

well, glad it all OK for you now, @FrenchLab47
I will check the latest changes from @mrfaptastic might solve my garbage too.
BTW, bumping refresh rate to high results in degraded dynamic range, mostly for shadows. But I think it's OK if you do text mostly.
It could also be of a great help here to reduce PIXEL_COLOR_DEPTH_BITS build-time option.


Browser bundle size problems - rjxs

As I was preparing the first release of our library I noticed that our browser bundle was quite drastically huge (1,2MB) and started to do some analysis. I have found out that from Erebos we brought in rjxs dependency which takes around 197kB (~16%) of the bundle size. To me this is too much especially since we don't use it at all.
From my understanding, it is used only for its Observable function (at least in the api-bzz part). Do you know if it is either possible to customize rjxs bundle to bundle only this part and drop rest?
Or what would be your thoughts to drop the Observable support in favor of browser bundle size? I think that since now there is the support of streams I don't think Observable is really needed anymore.

rxjs isn't used only for its Observable class, it's used for all the flow logic related to polling feeds. It's also used in other Erebos packages so I don't think it would be beneficial to try to remove it from api-bzz-base anyways.
Regarding the bundle size I think it's caused by the switch to webpack in v0.11: in v0.10 the size of erebos.swarm.production.js (included in @erebos/swarm-browser) is 93944 bytes and it jumps to 242398 bytes in v0.11.
My guess is that either webpack doesn't handle ESM imports as well as Rollup does, or adding the readable-stream and tar-stream dependencies cause this much increase, so I'd rather remove these from the api-bzz-base package and provide the functionality in another package that could be installed separately.
Thinking about bundle size further, I think the api-bzz packages could even be split further, between Swarm "basic" functionalities (immutable data), feeds (that adds the rxjs and @erebos/keccak256 dependencies) and Node streams support (adding the readable-stream and tar-stream dependencies), so it would be more granular to support various application needs, what do you think?

Oh I did not know about the other usages, sorry. Well, that makes more sense.
Yeah, you are right there is definitely some improvement space regarding the Webpack build setup. I am unfortunately not an expert in this area. I think we might focus on this part in the future, so I guess as part of that endeavor I will tackle the build process here as well, but I can't estimate when that gonna be.
Well, I would agree with the separation of feeds, but I admit I might be biased here as I would like to see the rjxs out of the scope 😅Also not quite sure what is the position of the feeds as I do not use them, so I think you or somebody who was general overview of Swarm should evaluate that.
But I am strongly against removing the readable-stream and tar-stream. They provide functionality that I would consider as part of the "core" bzz functionality. Directory handling is definitely needed and for that tar-stream is needed as well and with that need for readable-stream is needed as well for browser. Btw. readable-stream is only browser specific as it is "mock" of Node's stream package 😉

I started splitting out the bzz modules into the following:

bzz contains the core functionalities with no dependency, it could be enough for some browser apps
bzz-browser extends bzz with methods to upload and download directories, it adds the tar-stream dependency but eventually that could be replace by a browser implementation if available
bzz-node adds the node-fetch and form-data dependencies needed to extend bzz for node
bzz-feed contains the feed-related methods
bzz-fs contains the FS-related methods when using node

So doing this readable-stream is still a transitive dependency in bzz-browser because it uses tar-stream but it should get easier to remove, especially since it's only needed to extract files from the tar.
Eventually that should allow to package the library using rollup rather than webpack because from my understanding the fundamental issue is the circular dependency in readable-stream.

Soo if I understand it right you want to remove stream support for browser? To remove the downloadStream() method and generally remove the capability of downloading directory structures in browsers?


Add a page (or pages) with a list of keywords, and links to documentation

Such a list would make it easier for users to get and retain a fuller grasp of Typescript, by having an overview of the syntax of the language, and by clearly differentiating the parts that are common to ES5/6/7 and the parts that are unique to Typescript.
Presenting this information in this way, would allow users to reduce the question of "What does this keyword do in Typescript?", to "What does this keyword do differently in Typescript than in Javascript?".
There is something similar on MDN, but I think the format of the Javascript statment list on MSDN, with a one-line description for each keyword, is better:

Keyword
Definition

const
Force the use of const enums

(The MDN list is actually a single page describing the entire JS grammer -- whitespace, comments, operators, and literals -- but there is no point in describing these behaviors because whitespace, comments etc. are exactly the same as in Typescript. The only major area of difference is in the keywords.)
For the usages which Typescript shares with Javascript, I'm not sure which would be better -- not to mention them (this is a Typescript reference, not a Javascript reference), or link to authoritative sources of Javascript documentation (MDN and/or MSDN):

Keyword
Language
Definition

const
JS
MDN

TS
Force the use of const enums (Spec)

var
JS
MDN [MSDN] (https://msdn.microsoft.com/en-us/library/z16cackw(v=vs.94).aspx)

Most of the content is available. so if you would be willing to start the page would happily take the PR.

Microsoft/TypeScript#2536 - issue regarding the spec.

@mhegazy I've created a PR.
There are a few keywords which I am unsure of their meaning / context:

of, from, package

and there are a few for which I couldn't find documentation in the Handbook:

type annotaions - null, never, void, undefined
is
readonly is referencing Microsoft/Typescript#6532


Cvl resultaten fix

discard the label in overview
don't add label to the pdf
show the category as 'notitie' in waarde registreren screen
different layout for notitie field
bug fix when registering waardes

good job


Many to many?

Is many to many possible with this? What the syntax would be?

There's currently no syntactic support for it in this addon.
Been thinking about syntaxes as the following:
db.version(1).stores({
    genres: 'id, name',
    bands: 'id, name, *genreIds -> genres.id',
    albums: 'id, name, bandId -> bands.id, year'
});

To load, use db.bands.with({genres: "genreIds"})
If so, it could utilize multiEntry index for this. Pull requests are welcome!
/D


VsTestConsoleWrapper doesn't work with Microsoft.TestPlatform.CLI

Description
In lieu of #702, I'm attempting to build a small program to lists tests and run a select subset. In doing so, it appears that there is a mismatch between Microsoft.TestPlatform.VsTestConsole.TranslationLayer.VsTestConsoleProcessManager and Microsoft.TestPlatform.CLI
Steps to reproduce

Restore the NuGet package Microsoft.TestPlatform.CLI version 15.0.0 to C:\Temp\VSTest\Microsoft.TestPlatform.CLI.15.0.0
Run the following code example on .NET Framework 4.6, with a NuGet reference to Microsoft.TestPlatform.VsTestConsole.TranslationLayer

using System;
using System.Collections.Generic;
using System.IO;
using Microsoft.TestPlatform.VsTestConsole.TranslationLayer;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;

namespace VSTest
{
	class Program
	{
		static void Main(string[] args)
		{
			var vstestConsolePath = @"C:\temp\VSTest\packages\Microsoft.TestPlatform.CLI.15.0.0\contentFiles\any\any\TestHost\testhost.exe";
			var consoleParameters = new ConsoleParameters
			{
				LogFilePath = Path.Combine(Environment.CurrentDirectory, $"VSTestLog_{DateTime.Now:yyyyMMdd-HHmmss}.log")
			};
			var wrapper = new VsTestConsoleWrapper(vstestConsolePath, consoleParameters);

			var source = @"C:\Temp\ExampleXUnitTestProject\ExampleXUnitTestProject\bin\Debug\netcoreapp1.1\ExampleXUnitTestProject.dll";
			var sources = new[] { source };
			var discoverySettings = default(string);

			wrapper.DiscoverTests(sources, discoverySettings, new TestDiscoveryEventsHandler());
		}

		class TestDiscoveryEventsHandler : ITestDiscoveryEventsHandler
		{
			public void HandleDiscoveredTests(IEnumerable<TestCase> discoveredTestCases)
			{
				foreach (var testCase in discoveredTestCases)
				{
					Console.WriteLine($"Discovered test case: {testCase.FullyQualifiedName}");
				}
			}

			public void HandleDiscoveryComplete(long totalTests, IEnumerable<TestCase> lastChunk, bool isAborted)
			{
				Console.WriteLine("Discovery completed.");
			}

			public void HandleLogMessage(TestMessageLevel level, string message)
			{
				Console.WriteLine($"Log message: [{level}] {message}");
			}

			public void HandleRawMessage(string rawMessage)
			{
				Console.WriteLine($"Raw message: {rawMessage}");
			}
		}
	}
}

Expected behavior
Some output is printed to the console.
Actual behavior
After a 30-second timeout, the following exception is thrown:
Microsoft.TestPlatform.VsTestConsole.TranslationLayer.TransationLayerException occurred
  HResult=0x80131500
  Message=Error connecting to Vstest Command Line
  Source=Microsoft.TestPlatform.VsTestConsole.TranslationLayer
  StackTrace:
   at Microsoft.TestPlatform.VsTestConsole.TranslationLayer.VsTestConsoleWrapper.EnsureInitialized()
   at Microsoft.TestPlatform.VsTestConsole.TranslationLayer.VsTestConsoleWrapper.DiscoverTests(IEnumerable`1 sources, String discoverySettings, ITestDiscoveryEventsHandler discoveryEventsHandler)
   at VSTest.Program.Main(String[] args) in C:\temp\VSTest\VSTest\Program.cs:line 26

Environment
Microsoft Windows 10 v1703 (10.0.15063.296)
Microsoft Visual Studio 2017 15.1.26403.7

It appears that VsTestConsoleWrapper uses command-line arguments of the form /switch:value, whereas testhost.exe and vstest.console.exe expect command-line arguments of the form --switch value.
Am I going about this in completely the wrong direction, and should be doing something else entirely, or is this indeed the correct path and it just doesn't quite work right?

@yaakov-h Restore Microsoft.TestPlatform package,  you should assign value for vstestConsolePath from "...\Microsoft.TestPlatform.15.0.0\tools\net46\vstest.console.exe". Program.cs may help you.

Microsoft.TestPlatform, as a package unto itself, doesn't appear to exist.
https://www.nuget.org/packages?q=Microsoft.testplatform

@yaakov-h Yeah, you are right, I don't know exact reason why it wasn't published to nuget.org.Can you please use source https://dotnet.myget.org/F/vstest/api/v3/index.json for workaround.

Thanks, making progress. I now get a different exception:
System.ArgumentNullException occurred
  HResult=0x80004003
  Message=Value cannot be null.
  Source=Newtonsoft.Json
  StackTrace:
   at Newtonsoft.Json.Linq.JToken.FromObjectInternal(Object o, JsonSerializer jsonSerializer)
   at Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.JsonDataSerializer.SerializePayload(String messageType, Object payload)
   at Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.SocketCommunicationManager.SendMessage(String messageType, Object payload)
   at Microsoft.TestPlatform.VsTestConsole.TranslationLayer.VsTestConsoleRequestSender.InitializeExtensions(IEnumerable`1 pathToAdditionalExtensions)
   at Microsoft.TestPlatform.VsTestConsole.TranslationLayer.VsTestConsoleWrapper.EnsureInitialized()
   at Microsoft.TestPlatform.VsTestConsole.TranslationLayer.VsTestConsoleWrapper.DiscoverTests(IEnumerable`1 sources, String discoverySettings, ITestDiscoveryEventsHandler discoveryEventsHandler)
   at VSTest.Program.Main(String[] args) in C:\Temp\VSTest\VSTest\Program.cs:line 29

Did you can call wrapper.StartSession(): Starts vstest.console and wrapper.InitializeExtensions(): Initializes test adapter? Example.

EnsureInitialized calls StartSession and InitializeExtensions internally.

OK so that seems to work - calling wrapper.StartSession() before wrapper.InitializeExtensions(...) does fix the problem.
Unfortunately it doesn't seem to like the test adapter assembly:
TpTrace Information: 0 : 4748, 8, 2017/05/14, 19:20:35.863,<PHONE_NUMBER>75, testhost.x86.exe, AssemblyResolver: xunit.runner.visualstudio.dotnetcore.testadapter: Resolving assembly.
TpTrace Information: 0 : 4748, 8, 2017/05/14, 19:20:35.864,<PHONE_NUMBER>96, testhost.x86.exe, AssemblyResolver: xunit.runner.visualstudio.dotnetcore.testadapter: Resolved assembly.
TpTrace Warning: 0 : 4748, 8, 2017/05/14, 19:20:35.866,<PHONE_NUMBER>53, testhost.x86.exe, TestPluginDiscoverer: Failed to get types from assembly 'xunit.runner.visualstudio.dotnetcore.testadapter, Version=<IP_ADDRESS>4, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c'.  Skipping test extension scan for this assembly.  Error: System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
   at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
   at System.Reflection.RuntimeModule.GetTypes()
   at System.Reflection.Assembly.GetTypes()
   at Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.TestPluginDiscoverer.GetTestExtensionsFromAssembly(Assembly assembly, Dictionary`2 testDiscoverers, Dictionary`2 testExecutors, Dictionary`2 testSettingsProviders, Dictionary`2 testLoggers)
TpTrace Warning: 0 : 4748, 8, 2017/05/14, 19:20:35.866,<PHONE_NUMBER>59, testhost.x86.exe, LoaderExceptions: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Runtime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.Assembly.Load(AssemblyName assemblyRef)
   at Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.TestPluginCache.CurrentDomainAssemblyResolve(Object sender, ResolveEventArgs args)
   at System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName)

...

TpTrace Warning: 0 : 4748, 8, 2017/05/14, 19:20:35.866,<PHONE_NUMBER>30, testhost.x86.exe, LoaderExceptions: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Runtime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.Assembly.Load(AssemblyName assemblyRef)
   at Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.TestPluginCache.CurrentDomainAssemblyResolve(Object sender, ResolveEventArgs args)
   at System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName)

I also get the exact same error if I replace all of my code with the E2E sample above.
I'm using:

C:\Temp\VSTest\packages\Microsoft.TestPlatform.15.0.0\tools\net46\vstest.console.exe as the runner path
C:\Temp\ExampleXUnitTestProject\ExampleXUnitTestProject\bin\Debug\netcoreapp1.1\xunit.runner.visualstudio.dotnetcore.testadapter.dll as the test adapter path
C:\Temp\ExampleXUnitTestProject\ExampleXUnitTestProject\bin\Debug\netcoreapp1.1\ExampleXUnitTestProject.dll as the test assembly.

@yaakov-h : I am looking into it, will update you soon.

@yaakov-h here is the working code
using System;
using System.Collections.Generic;
using System.IO;
using Microsoft.TestPlatform.VsTestConsole.TranslationLayer;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;

namespace VSTest
{
    class Program
    {
        static void Main(string[] args)
        {
            var vstestConsolePath = @"E:\Enlistments\vstest\artifacts\Debug\net46\win7-x64\vstest.console.exe";
            var consoleParameters = new ConsoleParameters
            {
                LogFilePath = Path.Combine(Environment.CurrentDirectory, $"VSTestLog_{DateTime.Now:yyyyMMdd-HHmmss}.log")
            };
            var wrapper = new VsTestConsoleWrapper(vstestConsolePath, consoleParameters);

            var source = @"C:\Users\faahmad\Documents\Visual Studio 2017\Projects\UnitTestProject7\UnitTestProject7\bin\Debug\netcoreapp1.1\UnitTestProject7.dll";
            var sources = new[] { source };

            var runSettingsXml = @"<RunSettings>
                                        <RunConfiguration>
                                            <TargetFrameworkVersion>FrameworkCore10</TargetFrameworkVersion>
                                        </RunConfiguration>
                                    </RunSettings>";
            var discoverySettings = runSettingsXml;

            wrapper.StartSession();

            var adapterPaths = new List<string>();
            adapterPaths.Add(@"C:\Users\faahmad\Documents\Visual Studio 2017\Projects\UnitTestProject7\UnitTestProject7\bin\Debug\netcoreapp1.1\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll");

            wrapper.InitializeExtensions(adapterPaths);

            wrapper.DiscoverTests(sources, discoverySettings, new TestDiscoveryEventsHandler());
        }

        class TestDiscoveryEventsHandler : ITestDiscoveryEventsHandler
        {
            public void HandleDiscoveredTests(IEnumerable<TestCase> discoveredTestCases)
            {
                foreach (var testCase in discoveredTestCases)
                {
                    Console.WriteLine($"Discovered test case: {testCase.FullyQualifiedName}");
                }
            }

            public void HandleDiscoveryComplete(long totalTests, IEnumerable<TestCase> lastChunk, bool isAborted)
            {
                if (lastChunk != null)
                {
                    foreach (var testCase in lastChunk)
                    {
                        Console.WriteLine($"Discovered test case: {testCase.FullyQualifiedName}");
                    }
                }

                Console.WriteLine("Discovery completed.");
            }

            public void HandleLogMessage(TestMessageLevel level, string message)
            {
                Console.WriteLine($"Log message: [{level}] {message}");
            }

            public void HandleRawMessage(string rawMessage)
            {
                Console.WriteLine($"Raw message: {rawMessage}");
            }
        }
    }
}

Thinks to be take care:

The project for which you are running test is targeting netcoreapp, so you need to pass this information to runner via runsetting file.

Some test result can come as part of DiscoveryComplete event.

For project targeting netcoreapp there is no need to pass testadapterfullpath through initialize extension (wrapper.InitializeExtensions) but due to bug https://github.com/Microsoft/vstest/issues/823 you are hitting that exception.  Once the above bug will get fixed you don't need to call

wrapper.StartSession();
wrapper.InitializeExtensions(adapterPaths);

before calling wrapper.DiscoverTests(sources, discoverySettings, new TestDiscoveryEventsHandler()) for test project targeting netcoreapp.

Thanks @Faizan2304, I'll try that shortly.
Is the discovery settings XML documented anywhere?

Detail doc here : https://msdn.microsoft.com/en-us/library/jj635153.aspx

@Faizan2304 Thanks, that xml was the magic I was missing. It now works like a charm.
Are there any plans to publish Microsoft.TestPlatform to nuget.org?

@yaakov-h We don't have any immediate plan to publish Microsoft.TestPlatform to nuget.org but we will publish in near future.
If you want to use/dogfood latest TPV2 then you can use myget feed https://dotnet.myget.org/F/vstest/api/v3/index.json to get Microsoft.TestPlatform  package. We keep uploading our daily build there.

@Faizan2304 OK, thank you.

Any news on publishing Microsoft.TestPlatform to nuget?
There is a package Microsoft.TestPlatform.CLI which contains a vstest.console.dll but when I tried to use that with the apporach above I had the same error that started this issue.
Message=Error connecting to Vstest Command Line
If that package is not available on nuget it means we'd have to install VS on the machine we intend to run the code, where as just including it as part of the tool we are building will be the best approach.
Help?
Luis

@codito  @pvlakshm

@luis-cortina

Any news on publishing Microsoft.TestPlatform to nuget?

Unfortunately no

If that package is not available on nuget it means we'd have to install VS on the machine we intend to run the code, where as just including it as part of the tool we are building will be the best approach.

If you want to use/dogfood latest TPV2 then you can use myget feed https://dotnet.myget.org/F/vstest/api/v3/index.json to get Microsoft.TestPlatform package. We keep uploading our daily build there.

@luis-cortina : we have created this issue https://github.com/Microsoft/vstest/issues/910 to track your request to publish Microsoft.TestPlatform to nuget.


nvtop: fix meta.platforms

Closes #358366
meta.platforms currently is a list with the list of platforms:
nix-repl> :p nvtopPackages.apple.meta.platforms
[
  [
    "x86_64-darwin"
    "i686-darwin"
    "aarch64-darwin"
    "armv7a-darwin"
  ]
]

but it should be just a single list.
Using a simple if expression here is also more readable imo.
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

Not on 24.11


Update .gitignore

Avoid accidental commit of sqsh files.
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thank you. Merged.


fix task data copied for retries

Pull Request Test Coverage Report for Build 2012

14 of 15 (93.33%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 63.019%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

core/src/main/java/com/netflix/conductor/core/execution/DeciderService.java
5
6
83.33%

Totals

Change from base Build 1994:
0.0%

Covered Lines:
7043

Relevant Lines:
11176

💛  - Coveralls


avoid value-based error check in random.choice

So the result here is that if there are any negative values, the output will be garbage with no user-visible indication of an issue. What would you think about setting p = abs(p) instead?


Expanding bencmark for Mujoco1M with DDPG, ACKTR and A2C

@pzhokhov Is it possible to add other algorithms on benchmark Mujoco please(seems Ant environment is missing)? And It would be good to also release the data that is used to create these graphs so we can create a graph with our algorithm included to compare against benchmark or choose best 3 seeds out of 6 seeds.  What we need to change in order to get mean and variance graph from result_plotter? I can only get straight line for each run unless I modify result_plotter with interpolation and and calculating mean and variance of different runs.

Hi @erincmer!
Let me see what we can do about releasing the data (we'll probably need to host it somewhere, which creates some issues of its own).
The results_plotter.py is a very very basic tool; in fact, we did not use it to get those benchmark graphs; rather, code in common/plot_util.py.
Maybe a good answer to both is a jupyter notebook with data and plots - this way we'll publish the data, let users play with it the way they want, and also render it automatically on github. Expanding benchmark onto a2c, ddpg and acktr - sounds like a good idea to me, just need some time and manpower to do it (set it up, fix issues, maybe tune the hyperparameters a little bit). Don't have the timeline for it just yet.

actually, scratch common/plot_util.py idea - turns out it is still in the works and not in the master branch... let me see if I can expedite publishing it

Not to takeover the thread, but on the topic of Benchmarking,  it would be nice to have

Exact script needed to reproduce the results. e.g. python -m baselines.run --alg=ppo2 --env=Humanoid-v2 --network=mlp --num_timesteps=2e7 --ent_coef=0.1 --num_hidden=32 --num_layers=3 --value_network=copy as alt text for the different algos.
Include benchmarks for the robot environments as well. Even though they are mujoco based, they are viewed as a separate.


Examples in documentation are wrong. data-src instead of data-original

Right, the doc describes version 10, but if you use version 8 the default value is different. I will update it. Thanks

Fixed that - added an IMPORTANT section at the beginning of the doc with the link to the older documentation which is now in a separate file.


Unnecessary final modifier for try with resources.

Describe the bug
The final modifier is added for variables declared in a try with resources. This is not necessary and causes a warning during the static analysis (unnecessary modifier).
The code looks like try (ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
and it will be automatically changed to: try (final ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
What triggered the plugin
Frame deactivation (window loses focus), CTRL+SHIFT+S, CTRL+S.
Versions
IntelliJ IDEA 2019.3.1 (Ultimate Edition)
Build #IU-193.5662.53, built on December 18, 2019
Runtime version: 11.0.5+10-b520.17 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.15.2
GC: ParNew, ConcurrentMarkSweep
Memory: 1979M
Cores: 12
Registry: ide.mac.file.chooser.native=false
Non-Bundled Plugins: CheckStyle-IDEA, EclipseCodeFormatter, FindBugs-IDEA, IdeaVIM, JRebelPlugin, PMDPlugin, ccom.intellij.idea.plugin.commerce.integration, com.dubreuia

@cbertoldi You sure this doesn't work? I merged that at the beginning of the year #232. You need to activate a specific option I think

Try activating "Add final modifier to local variable or parameter except if implicit". If it doesn't work reopen

Yes, I forgot to mention that I've tried with that option as well but the behavior is the same.


Display UITableViewController and handle tableView:didSelectRow

Describe the bug
I present a UITableViewController :
let vc = /* instantiate my UITableViewController */

var attributes = EKAttributes.bottomFloat
attributes.entryBackground = .clear
attributes.entranceAnimation = .init(
	translate: .init(duration: 0.5, anchorPosition: .bottom, delay: 0, spring: .init(damping: 1.0, initialVelocity: 1)),
	scale: nil,
	fade: nil
)
attributes.displayDuration = .infinity
attributes.shadow = .none
attributes.scroll = .disabled
attributes.entryInteraction = .absorbTouches
attributes.screenInteraction = .dismiss
attributes.positionConstraints.verticalOffset = 0
attributes.positionConstraints.maxSize = .init(width: .constant(value: 500), height: .constant(value: 700))
attributes.positionConstraints.size = .init(width: .fill, height: .constant(value: (7 * 56) + 40))
attributes.screenBackground = .color(color: UIColor.black.withAlphaComponent(0.4))
attributes.windowLevel = .normal
attributes.exitAnimation = .init(
	translate: .init(duration: 0.2, anchorPosition: .bottom, delay: 0, spring: nil),
	scale: nil,
	fade: nil
)

SwiftEntryKit.display(entry: vc, using: attributes)

Expected behavior
I used this:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
	print(#function)
	DispatchQueue.main.async { [weak self] in
		SwiftEntryKit.dismiss(with: { [weak self] in
			/* something */
		})
	}
}

But nothing happened; Even print did NOT call.
iPhone (please complete the following information):

Device: iPhone 8
iOS Version: 12.0
Xcode Version 10
Dependency Manager Version: CocoaPods 1.4.0
SwiftEntryKit Release: 0.5.6

Hi @omidgolparvar! Thank you for the detailed issue. I'll look into it during the next few days and keep you posted.

@omidgolparvar
It's a bug in SwiftEntryKit's tap gesture handling.
The gesture recognizer swallows the touch instead of transferring it to the table view.
I'll update with a new version tomorrow.

Hi @omidgolparvar - I managed to fix it. Please try 0.8.2. Let me know if that works for you.

Hey, I seem to be experiencing this issue on the latest version of SwiftEntryKit. I have the same setup, where I'm using a TVC in a Float and didSelectRowAt isn't being called.

@justJS Which params?

~Hey, I seem to be experiencing this issue on the latest version of SwiftEntryKit. I have the same setup, where I'm using a TVC in a Float and didSelectRowAt isn't being called.~
Seems to be fixed after tinkering around with the parameters. Sorry bout that.

What are those parameters you used?


[sql-cli] Fix run_dag tests

Description
What is the current behavior?
Currently, when running sql-cli tests, we are not always setting up airflow - only in the case of e2e tests in __main__.py. But we have test_run_dag.py which relies on an airflow database to be set up.
What is the new behavior?
Set up an airflow database for test_run_dag.py tests.
Does this introduce a breaking change?
No.
Checklist

[ ] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

Thank you @pankajkoti for your big help on identifying and fixing this issue ❤


IMPRO-1504: Reliability calibration table creation CLI

A CLI for the reliabiltiy calibration table creation plugin. This is very simple. There is one acceptance test as the CLI does very little. Please see the notebook for details on the construction of the acceptance test.
Testing:

[x] Ran tests and they passed OK
[x] Added new tests for the new feature(s)

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- improver/cli/construct_reliability_tables.py  1
- improver_tests/acceptance/test_construct_reliability_tables.py  1

See the complete overview on Codacy

Attributes added to input cubes and KGO updated.
I definitely had a reason I decided against using units of hours and switched it to 1, but I cannot remember it and didn't write it down. As such, I've set the unit as 'hour' and if it ever comes back to me I can always change it (I doubt it).

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- improver/cli/construct_reliability_tables.py  1
- improver_tests/acceptance/test_construct_reliability_tables.py  1

See the complete overview on Codacy


Update create-extraction-manifest.sql

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi,
Not sure this adds enough information to users.


do not hardcode enableSuperMixins - fixes #677

@devoncarew do not hardcode enableSuperMixins now that analysis server supports enableSuperMixins in _embedded.yaml and .analysis_options

@sethladd, FYI, we may turn off the enableSuperMixins flag, and rely on users enabling it via config files. Does flutter enable this in their embedder.yaml file?
@pq

Looks like it! https://github.com/flutter/flutter/blob/master/packages/flutter/lib/_embedder.yaml#L3
Try it out. The latest Flutter has this file. Things should "just work"

lgtm w/ tweak

What Seth said! :+1:


WIP: lesson-4 Prometheus

Working on prometheus lesson
cc @Evalle

closing as its probably duplicate of #18


⚠ Jenkins Plugins Artifactory has degraded performance

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

HTTP code: 200
Response time: 1284 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 12b8e54 after 21 minutes.


Is there a way to start the WSL in another terminal i.e. the Windows terminal so there can be multiple tabs?

That's it just wanted to know if this was possible and if so is there a place for documentation?

I am not sure if this is what you're after, but doesn't the "screen" application do this (You will have to install it sudo aptinstall screen)?

In the CMD shell, start your WSL shell (wsl or ubuntu1804 or ...).
In your WSL shell, start the screen application (screen).
If you want multiple tabs, just create them when needed...

There are instructions on how to visualize the tabs of screen, but I haven't tried those myself:
For the functionality you're after, I start an X server on my windows platform.
Then I launch 'konsole', it is a terminal that has built-in tabs...

And of course, there are plenty of Windows applications that offer a tabbed view of different CMD windows, and you can invoke wsl in each of them at your hearts' content?

@beltaurus i'm sorry how do you access the screen application?

@xtianus79  the Windows Terminal supports WSL out of the box! If you go install it you'll see all of your WSL distros should be enumerated automatically for you.

@beltaurus i'm sorry how do you access the screen application?

It probably needs to be installed first

screen --version
# If this gives an error message, then install it:
sudo apt install screen

Before using it for the first time, you need to have an administration directory:

mkdir -m 700 ~/.screen
# You can make this directory anywhere you want, this location is just a suggestion

Then you invoke it by just typing the command

screen

Use the [Ctrl]+[a],[key] to execute a screen administration command:
You can look at the man page for a complete list, but the interesting [key] commands are:

'a': Create a new window (tab)
'"': List all windows (tabs), allow to select
'n': Go to the Next window (tab)
'p': Go to the Previous window (tab)
[Ctrl]+[\]:  Exit screen session

The main feature that 'screen' users are after is the fact that you can detach from your working session (all is cached in the administration directory), and reattach later on.
There are many more features such as window naming, splitting,...
Another tool that has similar properties, but also visualizes the tabs without any magic is tmux... People find it a bit more intuitive than screen, here is a quick snapshot:

But if you're going for intuitive, I personally just go through the trouble of starting an X Server, and launching Konsole.

@xtianus79 the Windows Terminal supports WSL out of the box! If you go install it you'll see all of your WSL distros should be enumerated automatically for you.

Or you can just launch a bunch of CMD terminals, and launc wsl in each and every one of those.
If your question is to how to create multiple terminals WITHIN one window, then my answer (screen, tmux,...) would apply. But if it comes down to having multiple windows, I still prefer launching konsole, or even a desktop...

Or just click the v part of the + v menu in Windows Terminal and choose your favorite 40 distributions. Each one opens in its own tab.

in Windows Terminal

Ah, it looks like you decoded the question more accurately than I did...
I hadn't used Windows Terminal, so I didn't recognize it as the object of the quesiton... Sorry for all the confusion.

You can use cmder, follow the instructions at:
https://gist.github.com/nickautomatic/02ccb76292f7f8d9767e
The command for the task would be
%windir%\sysnative\wsl.exe for the default distribution
%windir%\sysnative\wsl.exe -d Legacy for the one installed by lxrun.exe
Run wsl -l for the list of available shells.

@craigloewen-msft thank you. and all of this information is correct. perfect!


Docs/Install: Requires torch>=2.3

Below 2.3 uint64 isn't available (and possibly other things as well).

Thanks - we are gearing up for 1.1 now, will leave this open so we know to test min torch versions


[Docs] Guide about SSR, RSCs, NextJS, Remix

An increasing number of people use SSR & frameworks like NextJS (page router or app router) and Remix, so we should have a guide section covering that.
Some topics:

How do I use this with NextJs (we probably need separate sections for the pages router and the app router). Can I do SSR? In the case of RSC’s, do I need a client component? Can I use server actions?
How do I use this with Remix? Remix has [a dedicated Form element]((https://remix.run/docs/en/main/components/form), are we compatible with that?

Love this. Right now we have a blocking bug via #470, but this is a good addition

Removing the good first issue flag and assigning this work to myself. I spoke with @tannerlinsley about a potential API we're investigating that looks something like this:
import { useFormState } from "react-dom";
import {
    createFormFactory,
    // Proposed API
    useTransform,
    // Proposed API
    mergeForm
} from "@tanstack/react-form";

const {
  useForm,
  // Proposed API
  validateFormData,
  // Proposed API
  // This allows us to ensure that the types of `useFormState`'s `state`
  // is the same as returned from onServerValidate without having to force the
  // user to manually replicate
  initialFormState,
} = createFormFactory({
  defaultValues: {
    name: "",
    age: 0,
  },
  // Proposed API
  onServerValidate: async (values) => {
    if (values.name.includes("server_error")) {
      return {
        name: "This is a server error",
      };
    }
  },
});

async function submitForm(formData) {
  "use server";
  const results = await validateFormData({ formData });
  if (results) return results;
}

export default function CreatePerson() {
  const [state, dispatch] = useFormState(submitForm, initialFormState);
  const form = useForm({
    /**
     * Proposed API
     *
     * Transforms under-the-hood to a non-framework agnostic:
     * { fn: formBase => mergeForm(formBase, state),
     * deps: [state] }
     *
     * Which would allow us to watch the deps changes in `form-core` and run the relevant functions ourselves
     *
     * But is a custom hook because it allows us to have auto-fixed deps without
     * writing our own ESLint plugin:
     *
     * @see https://www.npmjs.com/package/eslint-plugin-react-hooks#advanced-configuration
     */
    transform: useTransform((formBase) => mergeForm(formBase, state), [state]),
  });

  return (
    <form.Provider>
      <form action={dispatch}>
        <form.Field
          name="name"
          onChange={(val) =>
            val.includes("client_error") ? "This is a client error" : ""
          }
        >
          {(field) => (
            <>
              First Name:
              <input
                name={field.name}
                value={field.state.value}
                onBlur={field.handleBlur}
                onChange={(e) => field.handleChange(e.target.value)}
              />
              {field.state.meta.errors ? (
                <>
                  {field.state.meta.errors.map((error) => (
                    // Merge client errors and form errors

{error}

                  ))}
                </>
              ) : null}
            </>
          )}
        </form.Field>
        <button type="submit">Submit</button>
      </form>
    </form.Provider>
  );
}

Using this API, we believe we're able to support:

NextJS' server actions & useFormState
Remix server validation (I might need help with this, reach out to me or comment here please)
Nuxt/non-React SSR/SSG usage

And support progressively enhanced (disable JS, still see form errors via page refresh), isomorphic (client and server validation support using the same API) form valdiation.
I'd love to hear anyone's thoughts on this API or our approach.

Just got off a call with @Fredkiss3 (Server actions superstar). Turns out we have a few problems with our potential API:

You cannot declare a "use server" function in a "use client" component, despite the inline "use server" syntax
useFormState requires "use client"

This means that we can change our usable API slightly to something like so, where we first define our shared state:
// form-base.ts
import {
    createFormFactory,
} from "@tanstack/react-form";

const {
  useForm,
  validateFormData,
  initialFormState,
} = createFormFactory({
  defaultValues: {
    name: "",
    age: 0,
  },
  // Proposed API
  onServerValidate: async (values) => {
    if (values.name.includes("server_error")) {
      return {
        name: "This is a server error",
      };
    }
  },
});

export {
  useForm,
  validateFormData,
  initialFormState
}

Then migrate our action to a "use server file:
"use server"

// form-action.ts
import  {
  validateFormData,
} from "./form-base";

export default async function submitForm(formData) {
  const results = await validateFormData({ formData });
  if (results) return results;
}

And finally we can use this in our client comp:
"use client"
import { useFormState } from "react-dom";
import {
    useTransform,
    mergeForm
} from "@tanstack/react-form";
import {useForm, initialFormState} from "./form-base";
import { submitForm } from "./form-action";

export default function CreatePerson() {
  const [state, dispatch] = useFormState(submitForm, initialFormState);
  const form = useForm({
    transform: useTransform((formBase) => mergeForm(formBase, state), [state]),
  });

  return (
    <form.Provider>
      <form action={dispatch}>
        <form.Field
          name="name"
          onChange={(val) =>
            val.includes("client_error") ? "This is a client error" : ""
          }
        >
          {(field) => (
            <>
              First Name:
              <input
                name={field.name}
                value={field.state.value}
                onBlur={field.handleBlur}
                onChange={(e) => field.handleChange(e.target.value)}
              />
              {field.state.meta.errors ? (
                <>
                  {field.state.meta.errors.map((error) => (
                    // Merge client errors and form errors

{error}

                  ))}
                </>
              ) : null}
            </>
          )}
        </form.Field>
        <button type="submit">Submit</button>
      </form>
    </form.Provider>
  );
}

However, there's a third issue here as well, that I'll outline in the next comment.

@Fredkiss3 then informed me a major problem with this bit of our POC code:
const {
  // This will throw an error in a `"use server"` usage
  useForm,
  validateFormData,
  initialFormState,
} = createFormFactory({
   // ...
});

This is because when you have a setup that imports from useState (even lazily), like so:
"use client"

import { useFormState } from "react-dom"
import someAction from "./action";

export const ClientComp = () => {
  const [data, action] = useFormState(someAction, "Hello client");

  return <form action={action}>

{data}

    <button type={"submit"}>Update data</button>
  </form>
}

"use server"
// action.ts

import {data} from "./shared-code";

export default async function someAction() {
  return "Hello " + data.name;
}

// shared-code.ts
import {useState} from "react";

export const data = {
  useForm: <T>(val: T) => {
      useState(val)
  },
  name: "server"
}

You'll be presented with the following error:
./src/app/shared-code.ts
ReactServerComponentsError:

You're importing a component that needs useState. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.
Learn more: https://nextjs.org/docs/getting-started/react-essentials

   ╭─[/src/app/shared-code.ts:1:1]
 1 │ import {useState} from "react";
   ·         ────────
 2 │
 3 │ export const data = {
 3 │   useForm: <T>(val: T) => {
   ╰────

Maybe one of these should be marked as a client entry with "use client":
./src/app/shared-code.ts
./src/app/action.ts

This is because NextJS statistically analyzes usage of useState to ensure it's not being utilized in a useState.
This has been written about here:
https://phryneas.de/react-server-components-controversy
And documented in this issue:
https://github.com/apollographql/apollo-client/issues/10974
It seems like there may be a workaround here:
https://github.com/apollographql/apollo-client/issues/10974#issuecomment-1594746276
But it's unclear if that's still needed per:
https://github.com/vercel/next.js/pull/56501
I'll reach out to some folks and see if there's anything else I can learn prior to prototyping and shipping

The "safe" workaround currently suggested by the React team is
if (Object(React).useState) {

because the Object(React) will work around all static analysis right now.
To be honest, I don't feel comfortable with that workaround (another future bundler could still detect it and we'd end up in an endless cat-and-mouse game), so Apollo Client will likely use rehackt as a wrapper around React.
Small warning about that package: It has not been fully reviewed yet - reviews welcome :)

All that said: the "official" solution would be to put an exports field in your package.json and have a separate import condition for RSC where all of that code has been stripped out.

Closing, as we have documented and working support for SSR/Server Actions
https://tanstack.com/form/latest/docs/framework/react/guides/ssr

hi, thanks for you awesome work
is for vue this the same ? beacuse there is no onServerValidate prop

@cannap, there is no Vue support for SSR TanStack Usage at this time. It should be a relatively light lift, but I just don't have experience in Nuxt


Build failure on older system with undeclare macro error

Trying to package Hawck for openSUSE, but unfortunately it builds correctly only for Tumbleweed (the rolling release).
Every version of Leap (the stable release) fails even with gcc10. I couldn't pinpoint the problem, here's the full build log.

Looks like invisible spaces, I'm guessing they were introduced when I copied and pasted that long list. You can confirm it with a hexdump -C, the most recent versions of gcc probably just treat them like normal ASCII spaces.
filter_ghosts.py:
import sys

for c in sys.stdin.read():
    if ord(c) not in INVISIBLE_SPACES:
        sys.stdout.write(c)

Looks like invisible spaces, I'm guessing they were introduced when I copied and pasted that long list. You can confirm it with a hexdump -C, the most recent versions of gcc probably just treat them like normal ASCII spaces.
filter_ghosts.py:
import sys

for c in sys.stdin.read():
    if ord(c) not in INVISIBLE_SPACES:
        sys.stdout.write(c)

@lgbaldoni If the issue is caused by invisible spaces then you can send a pull request after running the filter and I'll get it merged.

@lgbaldoni If the issue is caused by invisible spaces then you can send a pull request after running the filter and I'll get it merged.

Looks like the problem is with the kernel version (5.3 vs. 5.10). I diffed /usr/include/linux/input-event-codes.h and the missing macros are all in there 😕
Do you see a way out of this?

Looks like the problem is with the kernel version (5.3 vs. 5.10). I diffed /usr/include/linux/input-event-codes.h and the missing macros are all in there 😕
Do you see a way out of this?

@lgbaldoni I think we need some #ifdefs, can you post the diff?
Then, for each of the missing macros we'll just have:
#ifdef MAYBE_DECLARED
MAYBE_DECLARED,
#endif

Alternatively, one big (or several) #if KERNEL_VERSION > x

@lgbaldoni I think we need some #ifdefs, can you post the diff?
Then, for each of the missing macros we'll just have:
#ifdef MAYBE_DECLARED
MAYBE_DECLARED,
#endif

Alternatively, one big (or several) #if KERNEL_VERSION > x

The laziest option is to have an #ifdef for each of the macros, but that's a bad idea because it'll fail silently.
Thinking about it some more, checking the kernel version is probably best.

The laziest option is to have an #ifdef for each of the macros, but that's a bad idea because it'll fail silently.
Thinking about it some more, checking the kernel version is probably best.

I downloaded the various versions for each main release from upstream and compared them, in case you want to use the exact kernel version that introduced each key. Otherwise just look at the main one (53_510.diff).
input_event_codes_diffs.tar.gz

I downloaded the various versions for each main release from upstream and compared them, in case you want to use the exact kernel version that introduced each key. Otherwise just look at the main one (53_510.diff).
input_event_codes_diffs.tar.gz

@lgbaldoni Added some #ifs, let me know if that resolves the build problem. Thanks for the diffs.

@lgbaldoni Added some #ifs, let me know if that resolves the build problem. Thanks for the diffs.

Works for me, thanks.

Works for me, thanks.


Adapted processor instantiation to same way as a BlockProcessor is in…

…stantiated.
https://github.com/asciidoctor/asciidoctorj/commit/009d94887d333139ff8264242e07984fe90bd105 changed the way that BlockProcessors are instantiated if they are registered as classes.
This PR repeats the same for all other processor classes.
Thereby all processor classes now registered as a class now require a constructor without a config map, that is either only with a String or a no-arg constructor.
IMO it does not make much sense to always invoke a constructor with an empty or null config map.

:+1:

:+1:


Not so much an issue but a question regarding the output

I am by no means an expert at anything but I am having a fun time playing.  I found this project and I just finished an on line python class, and sadly they did not cover venvs until the end so I had all kind of crap in my environment and it literally got version locked, trying to do anything resulted in conflicts.  So, I nuked everything and started afresh.  Yahoo, and now every toy goes into it's own venv and things are a lot happier.  I had no issued getting the background remover going, and I also got the drawing model for it.
So, I wanted to show a pal what I had been up to and it is neat seeing a photo go to the no background to the drawing.  Only I was using gmail and it started telling me I was over 25 megs with 3 files.  WTF, right?  The input file was about 2 megs.  So I had a look, the background removed flavor is over 3 and the drawing is like 16.  I get the feeling that the output quality is set way higher than the input quality.  That may be necessary for GFPGAN or Real-ESRGAN, but does the background removed do any sort of sharpening?
Also, this may not be correct, I am an old command line unix user and I used to use djpeg and cjpeg with the pbm utilities back in the day to fix things from the command line.  I recently got the idea to try ffmpeg on images and it is happy to swallow them so if you need to or want to change say a png into a jpe, it is fast and easy from the command line.  So I figured WTF, let me see if I zap one of the jpg's that is big into a jpg with ffmpeg, perhaps the default quality factor will be set more um, reasonable and the file will be smaller.  The good news is that it is smaller.  The bad news is that it is dark.  I think there may be something wrong with the background, as far as an image goes and my Microsoft photos app sees the background as white but ffmpeg sees it as black.  Not sure if that is a correct assumption or not of if it is a feature or a bug.
If you are curious, here is a dir listing of the files.  The ones with the 1 in them are the ones ran back through ffmpeg to shrink them.
:\Users\sdr\Downloads\Playground\rmbg>dir dav*.*
Volume in drive C has no label.
Volume Serial Number is CE6D-DA90
Directory of C:\Users\sdr\Downloads\Playground\rmbg
02/05/2022  12:03 AM         2,033,132 Davids_House.jpg
02/05/2022  12:04 AM        16,211,639 Davids_House.jpg_drawing.jpg
02/05/2022  12:23 AM           592,604 Davids_House.jpg_drawing1.jpg
02/05/2022  12:05 AM         3,806,480 Davids_House.jpg_rmbg.jpg
02/05/2022  12:22 AM           304,349 Davids_House.jpg_rmbg1.jpg
5 File(s)     22,948,204 bytes
0 Dir(s)  82,501,693,440 bytes free
C:\Users\sdr\Downloads\Playground\rmbg>
This is a really cool piece of work and I am having a good time with it.  Thank you for putting the time into putting it out there.
--Matthew

try newest release if you are having an issue, cause I'm not sure I understand https://github.com/nadermx/backgroundremover/releases/tag/v0.2.1


Stop init loops

Checklist

[x] CLA is signed

Description of change

Under certain circumstances, the libcrypto init code would loop,
causing a deadlock.  This would typically happen if something in
ossl_init_base() caused an OpenSSL error, and the error stack routines
would recurse into the init code before the flag that ossl_init_base()
had been run was checked.
This change makes sure ossl_init_base isn't run once more of the base
is initiated.
Thanks to Dmitry Kostjuchenko for the idea.
Fixes #1899

There is a minor issue with this approach. Basically anything after the line where base_inited is set to 1 cannot do any init that needs to be done before other threads come along, e.g. if the init_lock initialisation line were moved to after where base_inited was set to 1 then we would have a race condition. That's not a problem as long as we are aware of it. I suggest we put a nice big obvious comment around the line where base_inited is set to warn about this.

I added a comment, please have a look

Merged.  Thanks!


Error on action(button press) while keyboard is open

Steps to Reproduce
If I press a button while the keyboard is on screen it gives where as if the keyboard is not on screen it does not give error
Logs
V/PhoneWindow(17798): updateColorViewInt()else drawable=null color=1073741824
I/flutter (17798): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (17798): The following assertion was thrown building NotificationListener:
I/flutter (17798): 'package:flutter/src/rendering/object.dart': Failed assertion: line 3111 pos 14:
I/flutter (17798): '_debugUltimatePreviousSiblingOf(after, equals: _firstChild)': is not true.
I/flutter (17798): Either the assertion indicates an error in the framework itself, or we should provide substantially
I/flutter (17798): more information in this error message to help you determine and fix the underlying cause.

I/flutter (17798): Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 3111 pos 14: '_debugUltimatePreviousSiblingOf(after, equals: _firstChild)': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 3111 pos 14: '_debugUltimatePreviousSiblingOf(after, equals: _firstChild)': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3459 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3597 pos 12: 'child == _child': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 4565 pos 12: 'renderObject.child == child': is not true.
I/flutter (17798): Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 4565 pos 12: 'renderObject.child == child': is not true.
I/flutter (17798): Another exception was thrown: Duplicate GlobalKey detected in widget tree.
Flutter Doctor
[✓] Flutter (on Linux, locale en_IN, channel alpha)
• Flutter at /home/****/workspace/Flutter/flutter
• Framework revision 701d534ba9 (2 weeks ago), 2017-09-12 14:01:51 -0700
• Engine revision 31d03de019
• Tools Dart version 1.25.0-dev.11.0
[✓] Android toolchain - develop for Android devices (Android SDK 26.0.1)
• Android SDK at /home/nonstopio/Android/Sdk
• Platform android-26, build-tools 26.0.1
• Java binary at: /usr/lib/jvm/java-8-oracle/bin/java
• Java version Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
[-] Android Studio (version 2.1)
• Android Studio at /home/nonstopio/Android/AND STUDIO/androidstudio/android-studio
✗ Unable to find bundled Java version.
• Try updating or re-installing Android Studio.
[✓] IntelliJ IDEA Community Edition (version 2017.2)
• Flutter plugin version 17.0
• Dart plugin version 172.4155.35
[✓] Connected devices
• Lenovo A6000 • **** • android-arm • Android 5.0.2 (API 21)

For more information about diagnosing and reporting Flutter bugs, please see https://flutter.io/bug-reports/.

I have the same issue. Is there any workaround? thanks

The problem arised for me when I had a tabcontroller with text fields on each page. If I open up the keyboard on a text field on the first page, then switch over to the last tab the text field from the first page still has focus. Popping the widget using Navigator.pop would then result in this error.
I worked around it by removing the focus ob tab swipe:
FocusScope.of(context).requestFocus(new FocusNode());

Same error, any ideas when it will be fixed?

Or may be somebody know any tricks how to preveent this error message?

I have a similar problem
I/flutter (25848): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════ I/flutter (25848): The following NoSuchMethodError was thrown during performLayout(): I/flutter (25848): The getter 'iterator' was called on null. I/flutter (25848): Receiver: null I/flutter (25848): Tried calling: iterator I/flutter (25848):  I/flutter (25848): When the exception was thrown, this was the stack: I/flutter (25848): #0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:46:5) I/flutter (25848): #1      SliverAppBarDelegate.build (package:travels_app/components/SliverAppBarDelegate.dart:28:28) I/flutter (25848): #2      _SliverPersistentHeaderElement._build.<anonymous closure> (package:flutter/src/widgets/sliver_persistent_header.dart:198:50) I/flutter (25848): #3      BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2222:19) I/flutter (25848): #4      _SliverPersistentHeaderElement._build (package:flutter/src/widgets/sliver_persistent_header.dart:197:11) I/flutter (25848): #5      __RenderSliverPinnedPersistentHeaderForWidgets&_RenderSliverPinnedPersistentHeader&_RenderSliverPersistentHeaderForWidgetsMixin.updateChild (package:flutter/src/widgets/sliver_persistent_header.dart:269:14) I/flutter (25848): #6      RenderSliverPersistentHeader.layoutChild.<anonymous closure> (package:flutter/src/rendering/sliver_persistent_header.dart:126:9) I/flutter (25848): #7      RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:1666:58) I/flutter (25848): #8      PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:740:15) I/flutter (25848): #9      RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1666:13) I/flutter (25848): #10     RenderSliverPersistentHeader.layoutChild (package:flutter/src/rendering/sliver_persistent_header.dart:124:7) I/flutter (25848): #11     RenderSliverPinnedPersistentHeader.performLayout (package:flutter/src/rendering/sliver_persistent_header.dart:294:5) I/flutter (25848): #12     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7) I/flutter (25848): #13     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:336:13) I/flutter (25848): #14     RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1131:12) I/flutter (25848): #15     RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1049:20) I/flutter (25848): #16     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7) I/flutter (25848): #17     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13) I/flutter (25848): #18     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7) I/flutter (25848): #19     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13) I/flutter (25848): #20     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7) I/flutter (25848): #21     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13) I/flutter (25848): #22     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7) I/flutter (25848): #23     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13) I/flutter (25848): #24     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7) I/flutter (25848): #25     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13) I/flutter (25848): #26     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7) I/flutter (25848): #27     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13) I/flutter (25848): #28     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7) I/flutter (25848): #29     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13) I/flutter (25848): #30     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7) I/flutter (25848): #31     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13) I/flutter (25848): #32     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7) I/flutter (25848): #33     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:141:11) I/flutter (25848): #34     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:399:7) I/flutter (25848): #35     MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:211:7) I/flutter (25848): #36     RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:355:14) I/flutter (25848): #37     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1445:7) I/flutter (25848): #38     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:709:18) I/flutter (25848): #39     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:270:19) I/flutter (25848): #40     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:627:13) I/flutter (25848): #41     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5) I/flutter (25848): #42     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15) I/flutter (25848): #43     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9) I/flutter (25848): #44     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:842:5) I/flutter (25848): #45     _invoke (dart:ui/hooks.dart:120:13) I/flutter (25848): #46     _drawFrame (dart:ui/hooks.dart:109:3) I/flutter (25848):  I/flutter (25848): The following RenderObject was being processed when the exception was fired: I/flutter (25848):   _RenderSliverPinnedPersistentHeaderForWidgets#1777a relayoutBoundary=up1 NEEDS-LAYOUT NEEDS-PAINT I/flutter (25848):   creator: _SliverPinnedPersistentHeader ← SliverPersistentHeader ← StaticHeader ← Viewport ← I/flutter (25848):   _ScrollableScope ← IgnorePointer-[GlobalKey#eeeb3] ← Semantics ← Listener ← _GestureSemantics ← I/flutter (25848):   RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#95892] ← I/flutter (25848):   _ExcludableScrollSemantics-[GlobalKey#ebc44] ← RepaintBoundary ← ⋯ I/flutter (25848):   parentData: paintOffset=Offset(0.0, 280.0) (can use size) I/flutter (25848):   constraints: SliverConstraints(AxisDirection.down, GrowthDirection.forward, ScrollDirection.idle, I/flutter (25848):   scrollOffset: 0.0, remainingPaintExtent: 174.5, crossAxisExtent: 392.7, crossAxisDirection: I/flutter (25848):   AxisDirection.right, viewportMainAxisExtent: 454.5, remainingCacheExtent: 424.5 cacheOrigin: 0.0 ) I/flutter (25848):   geometry: SliverGeometry(scrollExtent: 128.0, paintExtent: 128.0, maxPaintExtent: 128.0, I/flutter (25848):   hasVisualOverflow: true, cacheExtent: 128.0) I/flutter (25848):   maxExtent: 128.0 I/flutter (25848):   child position: 0.0 I/flutter (25848): This RenderObject had the following descendants (showing up to depth 5): I/flutter (25848):   RenderPhysicalModel#c3dbf relayoutBoundary=up2 NEEDS-LAYOUT NEEDS-PAINT I/flutter (25848):     _RenderInkFeatures#ba9f7 relayoutBoundary=up3 NEEDS-LAYOUT NEEDS-PAINT I/flutter (25848):       RenderCustomMultiChildLayoutBox#1af0e relayoutBoundary=up4 NEEDS-LAYOUT NEEDS-PAINT I/flutter (25848):         RenderDecoratedBox#f54c1 relayoutBoundary=up5 NEEDS-PAINT I/flutter (25848):           RenderPadding#bf9f4 relayoutBoundary=up6 I/flutter (25848):         RenderStack#5f606 relayoutBoundary=up5 I/flutter (25848):           RenderTransform#d812b relayoutBoundary=up6 I/flutter (25848): ════════════════════════════════════════════════════════════════════════════════════════════════════ I/flutter (25848): Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 1347 pos 14: '_debugSubtreeRelayoutRootAlreadyMarkedNeedsLayout()': is not true. I/flutter (25848): Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 1347 pos 14: '_debugSubtreeRelayoutRootAlreadyMarkedNeedsLayout()': is not true. I/flutter (25848): Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 1091 pos 12: 'child.parentData != null': is not true. I/flutter (25848): Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 1091 pos 12: 'child.parentData != null': is not true. I/flutter (25848): Another exception was thrown: 'package:flutter/src/foundation/node.dart': Failed assertion: line 102 pos 12: '_owner != null': is not true. I/flutter (25848): Another exception was thrown: 'package:flutter/src/foundation/node.dart': Failed assertion: line 102 pos 12: '_owner != null': is not true. I/flutter (25848): Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 1091 pos 12: 'child.parentData != null': is not true. I/flutter (25848): Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 1091 pos 12: 'child.parentData != null': is not true. I/flutter (25848): Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 1091 pos 12: 'child.parentData != null': is not true. I/flutter (25848): Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 1091 pos 12: 'child.parentData != null': is not true. I/flutter (25848): Another exception was thrown: NoSuchMethodError: The getter 'iterator' was called on null. W/IInputConnectionWrapper(25848): reportFullscreenMode on inexistent InputConnection W/IInputConnectionWrapper(25848): finishComposingText on inactive InputConnection
when I open an input after
Navigator.of(context).push(    new MaterialPageRoute(          builder: (context) => new AddExpenseAccountPage(travel: widget.travel),          fullscreenDialog: true,    ),  );
it fails and loses the states of the previous screen while I'm still in the modal.

Duplicate of https://github.com/flutter/flutter/issues/11895.


deserialize app size for more info section on detail page (bug 1103201)

@robhudson r?

 I wonder if it's that newly created file throwing things off?

updated

looking mostly good?

r+wc

thanks

Shouldn't you add it in elasticsearch and then make the get_file_size() method work when the data is coming from ES ?

@diox what the...I did add it to all the ES code but I don't see it in my PR anymore. Thanks for the catch.


Update 03-linear-regression.Rmd

The inequality is reversed because we are multiplying by a negative numbers. + Some formatting

Thanks!