footerTemplate and headerTemplate don't use body styles

Tell us about your environment:
Puppeteer version: 1.0.0
Platform / OS version: Linux Mint 18.3
Node.js version: 8.9.4
What steps will reproduce the problem?
I have a piece of code i use to generate pdf reports from html documents:
  const page = await browser.newPage();
  await page.goto(file, { waitUntil: "networkidle0", timeout: 100000 });
  const default_options = {
    format: "A4",
    printBackground: true
  };
  const filename = `file-${uuid()}.pdf`;
  const final_options = Object.assign({}, default_options, { path: filename }, options);
  console.log(final_options);
  await page.pdf(final_options);
  await page.close();

file is a link to a local html file. In this file head, I load specific fonts that I need for the document.
Inside of the options , I pass the templates for headers and footers:
options: {
    headerTemplate: "

",
    footerTemplate: "

Footer text

",
    displayHeaderFooter: true,
    margin: {
      top: "100px",
      bottom: "200px"
    }
  }

What is the expected result?
I would expect the footer to use the font loaded in the html body.
What happens instead?
The footer is looking into my system for the first font that could correspond the name provided and put this one instead. If the font is not installed on the system, it is using a default one.

👍  same, setting footerTemplate and no footer shows up... :(

Anyone get traction on this? I'm also having the same issue

Same issue here! Any idea or workaround for this?

I have built a template to solve the following problems:

JavaScript in header and footer (similar possibilities as with phantomjs)
Same CSS as in the body
Display of images by base64

@ovheurdrive theoretically you just have to pull the style tags out of the body and assign them to header, footer
Code

Blame/History: https://github.com/cakebake/markdown-themeable-pdf/blame/rewrite/lib/api/convert/template.js
Template-Files: https://github.com/cakebake/markdown-themeable-pdf/tree/rewrite/markdown-themeable-pdf

Maybe it helps, or is an drive for your own thoughts.

I also noticed that if you stick a style tag in your header/footer templates, the CSS doesn't all work right. Font sizes are different, font family is not changeable it seems, etc, it's weird.

Right... I have just noticed. The CSS in the footer template overwrites / adds to the header template! I think in the background a DOM is built for both. font-size "rem" does not work either.
So my template has somehow become useless...

Inlining CSS in footer / header works correctly. Its a workaround to do the trick for now till this issue is fixed.

In-lining was the solution for me to  get this to work. Thank to @kyriakos
Some initial failure notes to share:
The header and footer sections do not have any style at all. Everything must be defined.

Left margin is zero even if you set it in the margin param for page.pdf, so you need to specify that independently in the header/footer css.
Note that in my example, the page number fields are enclosed in outer H1. If you do not do this, and independently style .pageNumber and .totalPage, then if you want Page N to M to show, you will also need to set  the font size for Page and OF parts. Just easier to enclose the whole thing in H1 to have the same font size.

var cssb = [];
cssb.push('');
var css = cssb.join('');

And
await page.pdf({
        path: outputPath, format: 'Letter',
        displayHeaderFooter: true,
        headerTemplate: css+'
'+'My PDF Report Header'+'
',
        footerTemplate: css+'
Page  of
',
        margin: {
          top: "100px",
          bottom: "200px",
          right: "30px",
          left: "30px",
        }
      });

Is it possible to use custom font family in footer template? I've tried adding

@TylerJAllen yes, it is possible to do that. Your
footer

Page: /
',
      displayHeaderFooter: true,
      margin: {
        top: "100px",
        bottom: "100px"
      }
    });

  await browser.close();
})();

In this example:

A custom font is loaded from the local folder "/mina"
Page numbers are printed
An image is added to the header. (Note that the image must be in BASE64 so I erased it because it takes a lot of space.)

It seems like as @imanabu said inline styles does work but only for element types!
so you can't right a new class.
I also found out that the font-family only works using the

I am having a similar issue. Using inline styles gets the header and footer to show, but the background color and so forth don't go with it.

@cyrus-za use printBackground: true option

@HosseinAgha I am using that. That's not the issue. The actual document prints background just fine, but the header and footer part didn't work the same way. It turned out to be a webkit issue. see https://github.com/GoogleChrome/puppeteer/issues/2182
TL;DR: add -webkit-print-color-adjust: exact to the header and footer styles

@adelriosantiago I tried your solution for custom fonts and it doesn't appear to work. I also tried using base64 encoded fonts but they crash the page. Any ideas?

@WalterWeidner It is very likely related to where the fonts are located. Are you sure the fonts are reachable? Show me the code to see if I can spot a mistake.
With CSS rule like: url(/mina/Mina-Regular.woff2)
The font file would be in: "/public/mina/Mina-Regular.woff2", (assuming "public" is your public folder)

Maybe this will help. I was running this just as basic node script from a folder like this:
myPackage
├── index.js
├── node_modules/
├── 312267_3_0.eot
├── 312267_3_0.ttf
├── 312267_3_0.woff
├── 312267_3_0.woff2```

Are you saying that the files need to be on the same domain as the page I am navigating to and then accessed relatively from there?

For example if I navigated to https://example.com/about and my font was at https://example.com/fonts/font.woff I would put `url(/fonts/font.woff)`?

Just saying, bur using web fonts will/can make the PDF somewhat 10 times larger since each character is rendered as a single SVG. You really should try to find the corresponding system font and install it. At least on Linux this works very well after some try and error. Also web fonts text can not be copy-pasted from the created PDF. Generally chrome has many problems of current/old phantomJS since they both are based on Webkit, so many phantomJS workarounds are working for chrome too.

That is the issue @WalterWeidner, those files are not in a "public" folder. You should use a framework like Express.JS to Serve static files
All this is assuming that you want to print a page you created in a Node project. Are you trying to print an external website? If so, you can try using an url directly from a CDN, try this:  url('https://fonts.googleapis.com/css?family=Maven+Pro:400,500,700,900'), note the quotes inside, it should load the Maven Pro font. This will probably work for the first case so you may want to try it.

We are loading our own website so I can access its public files. For some reason I can't load from other resources though. We have a our own static CDN we load resources from e.g., https://resources.mydomain.com/fonts/proximanova

Yeah still no dice @adelriosantiago. I added my test repo if you want to look: https://github.com/WalterWeidner/headless

I have the exact same issue as described by @WalterWeidner

@adelriosantiago I tried your solution for custom fonts and it doesn't appear to work. I also tried using base64 encoded fonts but they crash the page. Any ideas?

Inline fonts in base64 in header  make crash the page :

(node:13416) UnhandledPromiseRejectionWarning: Error: Page crashed!
at Page._onTargetCrashed (...\node_modules\puppeteer\lib\Page.js:176:24)
at CDPSession.Page.client.on.event (...\node_modules\puppeteer\lib\Page.js:138:56)
at CDPSession.emit (events.js:182:13)
at CDPSession.EventEmitter.emit (domain.js:442:20)
at CDPSession._onMessage (...\node_modules\puppeteer\lib\Connection.js:233:12)
at Connection._onMessage (...\node_modules\puppeteer\lib\Connection.js:119:19)
at WebSocket.emit (events.js:182:13)
at WebSocket.EventEmitter.emit (domain.js:442:20)
at Receiver.receiverOnMessage (...\node_modules\ws\lib\websocket.js:720:20)
at Receiver.emit (events.js:182:13)
NB: same css rule  works well in the body of the pdf

inline fonts by using a path to local file, for example  url(/mina/Mina-Regular.woff2),   doesn't work. It silently fails, there is no font loaded. And it's not a problem with the path, I tested the exact same css rule in the body and it works well

Not being able to use custom font-family in the header and footer have significant impact: the generated pdf looks clumsy as different fonts are displayed depending of the zone (header, body, footer)
I'm using node.js 10.1.0 and Puppeteer 1.8.0

@sellerin I found a weird fix for the issue you are experiencing (outlined below)
I too could not render the fonts using a relative path. The solution was to download the fonts then base64 encode them, put them inline and wrap another style sheet around it also base64 encoding that too.
Fix:
First download the .woff2 fonts that you require.
Then base64 encode them.
Then create an inlined style sheet like this:
@font-face {
font-family: 'Libre Barcode 39 Extended';
font-style: normal;
font-weight: 400;
src: local('Libre Barcode 39 Extended'), local('LibreBarcode39Extended-Regular'), url(data:application/x-font-woff;charset=utf-8;base64,d09GMgABAAAAAA..............AAA=) format('woff2');
unicode-range: U+0000-00FF, ....................;
}
Then base64 encode this style sheet too, like this:

Insert this style sheet as inlined in the template.
Now you can use the this style sheet in the header, body and footer e.g.
.someClass {
font-family: 'Libre Barcode 39 Extended';
font-style: normal;
font-weight: 400;
font-size: 12pt;
}
One other issue to mention. If I tried to use the above method in the header only it still causes the hang issue.
I had to also use the same inlined style sheet in the body and I also had to use the same font too but setting the font size to 0 so it was not displayed.

I am experiencing the issue @BernhardBehrendt describes, however setting margin doesn't resolve it for me. I have a 275 page PDF and it can find all the page numbering invisible when searching, but I only see the output on the last page. I dropped my footer down to this; same results

THIS IS A TEST

I still faced same problem. I used puppeteer 1.19.0. Node v12.6.0. If I set the footer like this:
await page.pdf({         format: 'A4',         printBackground: true,         landscape: true,         displayHeaderFooter: true,         headerTemplate: '

',         footerTemplate:

Page

of

,         margin: { top: 0, bottom: 60 },       });
it will crash. But, if I use this:
await page.pdf({         format: 'A4',         printBackground: true,         landscape: true,         displayHeaderFooter: true,         headerTemplate: '

',         footerTemplate:

The suggestion from @Trejay worked for me, although I had to use the TTF version of the font rather than WOFF or WOFF2.  Only TTF worked for me on Windows.  The other two formats were ignored.

@Trejay your method helped me get the font to appear (although I had to use the TTF; WOFF/WOFF2 were ignored).
However, if I try to use ANY other font anywhere in the document, Page crashes.  This happens whether in a CSS class or an inline style.  Also, it seems that the custom font must be declared in the body selector, or Page will crash.
How exactly did you configure the body to use another font?

Anyone ever get this resolved?
My HTML contents:

test data

Executive Summary

test data

Executive Summary

test data

Executive Summary

test data

Executive Summary

test data

My puppeteer options:
'use strict';

const puppeteer = require('puppeteer');

const createPdf = async() => {
  let browser;
  try {
    browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']});
    const page = await browser.newPage();
    await page.goto(process.argv[2], {timeout: 3000, waitUntil: 'networkidle2'});
    await page.waitFor(250);
    await page.pdf({
      path: process.argv[3],
      format: 'A4',
      margin: { top: 60, right: 36, bottom: 20, left: 36 },
      printBackground: true,
      displayHeaderFooter: true,
      headerTemplate: 'Header 1',
      footerTemplate: 'Page  of '
    });
  } catch (err) {
      console.log(err.message);
  } finally {
    if (browser) {
      browser.close();
    }
    process.exit();
  }
};
createPdf();

No luck.
This gets displayed on every page:

And then finally, on the last page, the page numbers are missing:

For now until the puppeteer lets us customize the header/footer I create this. It uses puppeteer and let fully customize header, footer, and pagination
https://github.com/PejmanNik/puppeteer-report#readme

For now until the puppeteer lets us customize the header/footer I create this. It uses puppeteer and let fully customize header, footer, and pagination
https://github.com/PejmanNik/puppeteer-report#readme

Wow, this is a lifesaver. Works really well.

Im using chrome-aws-lambda and the following works for me
(1) Simply pass a URL to your custom font face before launching Chromium
await chromium.font('https://url-to-fonts.com/tahoma.ttf');
(2) Use the font in the header/footer template
... footerTemplate: "" ...

Nice! I'll have to try testing this out in our solution. Much better than base64 encoding the entire font.

@Trejay I actually followed your tip and it worked! Although, I started doing some trial and error by removing certain things and it turns out that you only need the font src as base64 and to have the font included in your main HTML as well as the header/footer. You don't actually need to base64 encode and @import. At least not in my case. Thank you for your tip!

In-lining was the solution for me to get this to work. Thank to @kyriakos
Some initial failure notes to share:
The header and footer sections do not have any style at all. Everything must be defined.
* Left margin is zero even if you set it in the margin param for page.pdf, so you need to specify that independently in the header/footer css.

* Note that in my example, the page number fields are enclosed in outer H1. If you do not do this, and independently style .pageNumber and .totalPage, then if you want Page N to M to show, you will also need to set  the font size for Page and OF parts. Just easier to enclose the whole thing in H1 to have the same font size.

var cssb = [];
cssb.push('');
var css = cssb.join('');

And
await page.pdf({
        path: outputPath, format: 'Letter',
        displayHeaderFooter: true,
        headerTemplate: css+'
'+'My PDF Report Header'+'
',
        footerTemplate: css+'
Page  of
',
        margin: {
          top: "100px",
          bottom: "200px",
          right: "30px",
          left: "30px",
        }
      });

This one here really solved the problems.

In-lining was the solution for me to get this to work. Thank to @kyriakos
Some initial failure notes to share:
The header and footer sections do not have any style at all. Everything must be defined.

Left margin is zero even if you set it in the margin param for page.pdf, so you need to specify that independently in the header/footer css.
Note that in my example, the page number fields are enclosed in outer H1. If you do not do this, and independently style .pageNumber and .totalPage, then if you want Page N to M to show, you will also need to set  the font size for Page and OF parts. Just easier to enclose the whole thing in H1 to have the same font size.

var cssb = [];
cssb.push('');
var css = cssb.join('');

And
await page.pdf({
        path: outputPath, format: 'Letter',
        displayHeaderFooter: true,
        headerTemplate: css+'
'+'My PDF Report Header'+'
',
        footerTemplate: css+'
Page  of
',
        margin: {
          top: "100px",
          bottom: "200px",
          right: "30px",
          left: "30px",
        }
      });

Thank you!

@Trejay @gavin310 thank you two for the suggestions.
I have found this wonderful service for any google fonts to base64 transformation and used it for Barlow
https://amio.github.io/embedded-google-fonts/

On the other hand, I am using latest puppeteer 10.4.0 and just having any

I am custom font
`,`

This might help some, was trying to use Playwright with Chromium on OSX for PDF generation, sans-serif seemed to be ignored and gave me a serif default which was frustrating.
body {
    font-family: sans-serif;
}

Changing "sans-serif" to "system-ui" gave me a sans-serif font i can live with, without having to load any specific fonts.
body {
    font-family: system-ui;
}

https://caniuse.com/?search=system-ui

If I load fonts via CDN in the html like this:
<link href="https://fonts.googleapis.com/css2?family=family=Roboto:wght@300;400;500&display=swap" rel="stylesheet" />

How can I use the same font in footerTemplate?

freegroup are you sure the font of your footer is 12px? I have noticed that the header and footer are scaleed like 1.4 times (all elements are bigger than defined - margins, padding, fonts etc.)

About the font problem not applying to the header and footer you guys can use base64 it works for me and I don't need to follow inline stuff

Convert your font from woff2 or ttf... to base64 then save it to a text file
https://stackoverflow.com/a/59116157/12353877

Read the file and include it into your header (it will affect the footer as well)

  const fontContent = fs.readFileSync("./Inter-Regular.txt", "utf8");
  await page.pdf({
       printBackground: true,
       displayHeaderFooter: true,
       headerTemplate: `

Example text
`,
   });

But just remember that you will include base64 text to the header for each page so the PDF size will increase dramatically
I'm end up generate my header using pdf-lib and @pdf-lib/fontkit for my purpose

I had the same problem with exporting to PDF in Firebase functions.
Solved it by copying TTF font files to my repo and installing them to Chrome (helper)
Then, in footer/header (and in the main PDF file as well) just used styles

...


Use new supplier declaration status field in framework stats

Counts suppliers by declaration status:

null if declaration wasn't started (first page wasn't saved)
"started" if declaration was started but not complete
"complete" if declaration is complete

:+1:


BUGFIX: fix SearchedMultimodalDoc in docarray

Description
The summary of the proposed changes as long as the relevant motivation and context.
Issues
Fix the conflict definition of ImageDoc, TextImageDoc and SearchedMultimodalDoc.
Issue mentioned in comment: https://github.com/opea-project/GenAIComps/pull/496#issuecomment-2317686093
This change impact below PR: #496 #539 #575
Type of change
List the type of change like below. Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would break existing design and interface)
[ ] Others (enhancement, documentation, validation, etc.)

Dependencies
List the newly introduced 3rd party dependency if exists.
Tests
Describe the tests that you ran to verify your changes.

@tileintel @s-gobriel
Please see the final version of SearchedMultimodalDoc.

@XuhuiRen  @lvliang-intel  Please help to review this patch, we have several PRs depending on this aligned change. Much appreciated!

Hello Liang, any comment on the PR? @lvliang-intel


rename .data to .props

Because hyperapp did it. So any vdom decorator that aims to be compatible with both hyperapp and picodom can still be.

Codecov Report

Merging #31 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #31   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           2      2
  Lines         114    114
  Branches       32     32
=====================================
  Hits          114    114

Impacted Files
Coverage Δ

src/h.js
100% <ø> (ø)
:arrow_up:

src/patch.js
100% <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 72c607c...36156a7. Read the comment docs.

Codecov Report

Merging #31 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #31   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           2      2
  Lines         114    114
  Branches       32     32
=====================================
  Hits          114    114

Impacted Files
Coverage Δ

src/h.js
100% <ø> (ø)
:arrow_up:

src/patch.js
100% <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 72c607c...36156a7. Read the comment docs.

I added the enhancement tag, but then removed it because this is not really an enhancement. But if not, then what is it?
Maybe API?

tag -> type -- do it in this PR or separate one?

@JorgeBucaran Yeah, API I'd say

@zaceno Let's do it on a separate one and merge this right away.

@JorgeBucaran roger wilco. But I can't merge it (I don't think I have permissions) so you'll have to.

@Zaceno Thanks! 🎉
I fixed the permissions, now all members can push / merge.

🎉


python3Packages.xkcdpass: 1.17.3 -> 1.17.6

Motivation for this change
Update to latest upstream release 1.17.6
Changelog: https://github.com/redacted/XKCD-password-generator#changelog
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.


Add support for running a web app with the run button

Testing #22300
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def root():
    return {"message": "Hello World"}

If I click on the Editor Run action in the top right, the app is not actually run.
I have to go through the debug flow to choose Fast API to actually setup a proper launch.json
Could we improve the run experience so it also works?

Makes sense, thank you!


Make .flatScan work seedless

If just the reducer function is given, the first value of the source stream will be passed as initial event of the resulting Property and used as the left argument when the reducer is first invoked on the second source event.
I've found this useful to save meaningless lines of code. It should be easy understand because JS users are familiar with Array.reduce where the seed value is also optional. It should also be 100% non-breaking.
Bacon.fromArray([10, 20]).flatScan((a, b) => a + b).log();
// --> 10, 30

If you are in favour of this change, perhaps .scan should be extended as well.
Remarks:

I've found it very difficult to please the TypeScript's type checking. Because the first parameter to .flatScan is mow "multi-morphic" (i.e. a value or a function). Which IMO is naturally for dynamic JavaScript however TypeScript makes it really hard to enable this at all?
I've not updated the documentation yet.

Hi @raimohanska,
any comment on this PR?

I like the idea but hate how it makes the flatScan signature look. This is not easy to do in Typescript. If only the seed parameter was the last one, it would be feasible. Not sure how to proceed.

I agree that the TS signature for this is very troubling! (I spend more time on figuring it out then on the implementation and the tests btw.)
It's just that as a JavaScript programmer I see the .*scan functions as close relatives to Array.prototype.reduce (just with arguments flipped). I learned where that the seed is optional which makes reduce more versatile, so the programmer has not to master different methods.
Maybe now I am exaggerating, but in the end you'll have to decide if Bacon.js should be a TypeScript library which can also be used in JavaScript, or a JavaScript library.
While I certainly appreciate type support in my JS code (JSDoc only goes so far), I find TypeScript too opinionated (esp. strict mode) and not as easy approachable for beginners. Maybe in this case the type system gets in the way of getting things done cleanly and quickly :disappointed:

Yes, in this case the Typescript type system gets in the way, because it doesn't allow the kind of method overloading we'd like to have. Damn it :)

Took a closer look at this.
Just like for Array.reduce, or RxJs scan  the seedless version is possible only when input and output types are equal. So type signatures require a bit of honing. This is doable!
Another thing: checking for typeof the first argument will fail for streams containing functions as values.
Third: For consistency, the same improvement should be applied to scan, fold as well.

I pushed some improvements to to https://github.com/baconjs/bacon.js/commits/seedless-flatscan
Used overloading to keep the signatures nice, replaced typeof checking with argument count checking. What do you think?
For consistency, scan and fold should be updated as well, though.

So now the method has two, decent-looking signatures:
  flatScan<V2>(seed: V2, f: Function2<V2, V, Observable<V2>>): Property<V2>

  flatScan<V2>(f: Function2<V2, V, Observable<V2>>): Property<V2>

Oh, that's not nice.

This is better
  flatScan<V2>(seed: V2, f: Function2<V2, V, Observable<V2>>): Property<V2>

  flatScan(f: Function2<V, V, Observable<V>>): Property<V>


Blockquotes/context outside of e-content

More of a question/remark than anything else:
When I load https://jamesvandyne.com/feed/ and subsequently read, e.g., https://jamesvandyne.com/ed9f2982-9adf-47a7-b1e8-5624c498728e in my feed reader, it (obviously) displays the blockquote on top (because it's in the feed item).
But when I parse https://jamesvandyne.com/ as a microformats feed (which I prefer, because then I get all of the additional metadata, like reply-to URLs, etc.), the blockquote goes missing: my reader's mf2 parser (mf2-php), I believe, just drops it (it is not in e-content, after all).
In a way, that's fine (I have the link to the original article, after all), but if you were replying to a specific paragraph, for instance, that context would be lost (for mf2 followers).

@janboddez Thanks for the comment. That's a good point - are blockquotes considered part of the content? Logically I have the reply/blockquote separate from the reply content itself. But I suppose block quote should also be considered part of the content...I'll see if I can't rework the template to include the blockquote under e-content.

@janboddez I think I've fixed and deployed the issue, Let me know if all is well.
Cheers,
James

Yep, looks good!
(Left: RSS; right: HTML/microformats)


parallels-guest.nix is broken

Issue description
Configuring NixOS to use Parallels Tools is impossible.
https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/parallels-guest.nix
Steps to reproduce

Install NixOS as a Parallels guest VM on Mac
Add hardware.parallels.enable = true; to nix config and run nixos-rebuild switch
Expect the following error

***
Please, place Parallels Tools for Linux image into Nix store
using either
  nix-store --add-fixed sha256 prl-tools-lin.iso
or
  nix-prefetch-url file://path/to/prl-tools-lin.iso

***

Copy the prl-tools-lin.iso from the Mac /Applications folder into NixOS
As advised, run one of the above commands to add the .iso file
Re-run nixos-rebuild switch which (unexpectedly) repeats the same error in step 3

Technical details
 - system: `"x86_64-linux"`
 - host os: `Linux 4.9.61, NixOS, 17.09.2075.ac35504065 (Hummingbird)`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 1.11.15`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs`

Perhaps @nckx has some ideas ... ?

This value has to be updated with the output of nix-prefetch-url file://path/to/prl-tools-lin.iso (and the version should be updated too).

@orivej I assume you meant that I should be updating the pkgs/os-specific/linux/prl-tools/default.nix file? Where does this file exist on my NixOS?

I'm guessing this is a Mac thing, and I've never even used a Mac... I'm not quite sure why you thought I'd be able to help, but wish you the best of luck, @srid!

Sorry @nckx ... I think I should have instead tagged @lukeadams as he seems to be an user of it ... though git history shows that @abbradar originally created the file.

@orivej I located the file you must be referring to here: /nix/store/8nl96y7kw759aw7zlfxdck3bvrj95b31-nixos-17.09.2075.ac35504065/nixos/pkgs/os-specific/linux/prl-tools/default.nix but it is not editable. I wonder if you meant something else?

Take a look at https://nixos.org/nixpkgs/manual/#chap-quick-start and https://nixos.org/nixpkgs/manual/#idm140737318579552 on how to make changes to Nixpkgs. Basically for a one time fix, you obtain a copy of nixpkgs, edit the file in question, and do a nix-env -i or nix-build or nixos-rebuild switch -I nixpkgs=path/to/nixpkgs. I can't fix this issue without your help because I don't have access to prl-tools-lin.iso.

My commits download the prl-tools automatically, but I think it's only been
merged into master so far. What version of parallels are you using? With my
PR you can override the version in your configuration.nix so it downloads
the correct one.
On Fri, Nov 24, 2017, 18:55 Sridhar Ratnakumar<EMAIL_ADDRESS>wrote:

@orivej https://github.com/orivej I located the file you must be
referring to here:
/nix/store/8nl96y7kw759aw7zlfxdck3bvrj95b31-nixos-17.09.2075.ac35504065/nixos/pkgs/os-specific/linux/prl-tools/default.nix
but it is not editable. I wonder if you meant something else?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixpkgs/issues/31882#issuecomment-346910176,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADWHbd0-YX9Aw1ibbgTRA_XU95SYREluks5s52WFgaJpZM4QlKwS
.

--
Luke Adams

Getting this issue from: https://superuser.com/questions/1270304/installing-parallels-tools-on-nixos
Is this resolved yet?

still important to me

Is this fixed, any workaround?

Still waiting here too.

Feature request to support parallels-tools oficially: https://forum.parallels.com/threads/official-parallels-tools-support-on-nixos.351729/

For those who are interested, I've managed to install Parallels Tools 16 under Linux kernel 5.9. File sharing should be working via /media/psf.
However, features such as clipboard sharing or drag-and-drop seem to be broken. I tried to run prlcp under a FHS environment, but /var/log/parallels.log still reports Platform X11 (1) unsupported. Also, the mouse cursor became invisible after loading the prlvideo driver, so I decided not to load it.
Anyway, you can find the modified files here. Hope this helps.

Anyone / @wegank know how to submit this to Parallels for inclusion?

@ylluminate That would be quite difficult, as it will really force them to maintain a standalone Nix package, which they have never done before. But, as another issue (#60077) pointed out, it would be great if they removed all hard-coded paths in their source code.

Then at least if they would do as you suggest that would greatly simplify the situation. It would also be nice for them to address the other issues that you've noted as problems such as the clipboard, etc.

Then at least if they would do as you suggest that would greatly simplify the situation. It would also be nice for them to address the other issues that you've noted as problems such as the clipboard, etc.

Bump on this. Trying to get it working on M1 mac.

+1

For those using @wegank's modified files above for installing Parallel Tools and who want clipboard sharing (copy/paste to and from macOS) to work, patch the prl-tools.nix file from their repository with:
diff --git a/prl-tools.nix b/prl-tools.nix
index d78e0f1..183a760 100644
--- a/prl-tools.nix
+++ b/prl-tools.nix
@@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
   buildInputs = with xorg; [ stdenv.cc.cc libXrandr libXext libX11 libXcomposite libXinerama ]
     ++ lib.optionals (!libsOnly) [ libXi glib dbus-glib zlib ];

+  runtimeDependencies = [ glib xorg.libXrandr ];
+
   inherit libsOnly;

   unpackPhase = ''

and rebuild nix, then run prlcp &, and you should have copy/paste between NixOS and macOS working.
(tl;dr debugging saga) The clue was /var/log/parallels.nix, which showed that prlcp was trying to load the libXrandr.so shared library but failing. It wasn't listed in ldd, so I figured it must be trying to dlopen(3) it and failing to locate it on any path it was configured for. I located a path in the nix store to a libXrandr.so and manually set LD_LIBRARY_PATH and re-ran prlcp: this time it hung instead of immediately exiting, so, progress. I then ran prlcp with strace and looked for any other .sos it was trying to open and failing to do so, and after a bit of filtering zeroed in on libgconf-2.so, libgio-2.0.so, libglib-2.0.so, libgobject-2.0.so, which are all from the glib package. Again manually setting LD_LIBRARY_PATH, this time, success, I was able to copy and paste to and from macOS and NixOS. The only thing left was to do it the "right" way: according to the manual in the section on autoPatchelfHook, it describes the runtimeDependencies variable as a list of additional packages to add to the binary's rpath.
I was motivated to get this to work because I'm using NixOS in a VM on a new M1 MacBook Pro as my main development environment now, and it was the last major hurdle to overcome to have a smooth integration between guest and host.

@wegank @paulsmith Great work! Will you consider making a PR with these changes, and possibly taking maintainership? I originally packaged prl-tools for a friend with a Mac and cannot maintain this by myself without the hardware.

@paulsmith Works great for me!
@abbradar I think we still need maintainers for Intel platforms, since we are both on M1. Also, I'm not sure if the package would work on x86_64.

I see. Maybe someone else from the thread can test this on Intel Macs?

@abbradar I consolidated @wegank's changes and my patch into a PR here.
Unfortunately, yes, due to my lack of access to an Intel Mac, I don't think I can help maintain this.


Player bar layout

Summary
Changes

Reduce player bar height
Reduce font-size
Remove unwanted spaces, margin, padding

Screenshot

Note
--Don't merge yet changes are still ongoing!

Am closing this PR to reopn a new one .


Disable/group new file annotations

Is there a way to disable this new behaviour?
Or at least group them into one such (expandable) line?
Some older files with multiple formatting issues, stack a multitude of those yellow lines.
This doesn't leave much room to actually read code, so it's quite intrusive.
Aside from that, that settings wheel just shows an empty window.
Not sure if this is as expected?
an example:

Originally posted by @SnyersK in https://github.com/detekt/detekt-intellij-plugin/issues/173#issuecomment-1156606132

We could introduce an option to:

Show the old behavior
Show the new behavior
Just mark the first line / character of the file for such issues
New behavior with grouping if possible


Toggle between tableData when editable

Use branch feature/px-datetime-picker
Select columns demo
Select more rows
Enable editing mode
Select "less" rows

The grid becomes empty. Somehow when toggling data and editable at the same time something breaks.

Works for @limonte (Linux, Chrome), but not for me (MacOS, Chrome)

Can't reproduce.


IEEE 754 - Floating Point Arithmetic Printing

Problem
AParser was suppose to be returning full length or 16 precision of double. We should include the floating point arithmetic Wikipedia - IEEE 754

Another step of fixing #92 #93
Fix this before implementing test cases #94

Test cases will be implemented in #94 . #101 fixed printing more decimal places


Add 'while Channelling' mod support

This will enable the 'while channelling' mods from the new Singular Focus and Lucidity nodes.
Added a new config option in combat called "Are you channelling?".

Apologies in advance if I am making wrong assumptions since I am not familiar enough with the codebase to tell whether this is a good solution:
I am more speaking from a users perspective here, but isn't channeling something that could be inferred from the main skill itself?
Skills should only be affected by channeling mods if they are either a channeling skill or cast via "cast while channeling" correct?
Is this just the most simple solution for the chanelling mods or are you trying to accommodate a situation like someone fully stacking a blade vortex and then casting a channeling skill while the BV is still dealing damage? This seems like too much of an edge case though.
Thank you for the work you put into the tool!

I’m also pretty new to the code base and was just following the same pattern as with other effects :)
I agree with you that it would definitely be better to infer from the main skill, good call!
Is this possible to do?
@Openarl maybe you could shed some light on this?

So I was looking through this codebase last night it looks like currently there isn't support for channeling on the active skill flags. You can look into adding support for the new flag, it's already being exported by pypoe exporter. If you look into the export folder and the skillList you'll see channeling but if you actually look at the skills lua there's no active flag for channeling.
It appears like OpenArl already got this working in the latest commit or someone else did and he merged it.

I have removed the extra checkbox in the Calcs section. Instead we know check if the selected main skill is a channelling skill. Thanks @arne-z for the suggestion and please check if you want and have the time :)
@ianmarmour @Openarl, the only data that I found regarding skill tags was in the tagString. The solution now is to match that string with a keyword and then update the condition accordingly.
I'm not 100% happy with this approach because string matching. I would much rather just get it from the flags (or tags) directly so that we can do: mainSkill.skillFlags.channelling. However when I check the existing data the tags table is always empty and the only place where I see 'channelling' is on the tagString.
Let me know what you think.

@markuspersson In https://github.com/Openarl/PathOfBuilding/blob/master/Modules/ModParser-3_0.lua you can find that the mod for channeling nodes on gear or skilltree is used as such:
["with channelling skills"] = { tag = { type = "SkillType", skillType = SkillType.Channelled } },

That should get you around the string checking. This doesn't fully solve the "while channelling" issue since it doesn't handle the case of using a skill with cast while channeling. I would look at the
https://github.com/Openarl/PathOfBuilding/blob/master/Export/Skills/sup_int.txt
for how the cast while channeling support works.

Already implemented.


Is it possible to use lenses with different focal lengths

Hello,
I am new to the GitHub, so I hope I am putting my question in a right spot.
From my recent approaches to the software I understood I can easily use typical concave and convex lenses. However, I was wondering if it be possible to have an Ideal leans with different focal points such as plano-concave lens etc. Or if it be possible to import the geometry of lens as an .stl file to the simulation.
Regards,

The "ideal lens" tool is an ideal object that obeys the thin lens equation exactly, so it does not corresponds to a specific shape, and whether it is plano-concave or double concave is irrelevant.
If you want to create a plano-concave lens where the concave surface is spherical (circular), you can use the "spherical lens" tool with a grid and adjust the points:

Or you can use the "Custom shape" tool.
This is a 2D optics simulator, so a 3d .stl file is irrelevant to the goal of this simulator. Importing 2d CAD file is desirable but not currently possible. However, you may model the curve with a mathematical equation and use the "Custom equation" tool.

Thank you so much for your response.


Add versions to generated token

Will need to check when the token will be implemented
BeamMW/beam#1435

This task can't be done in this release.
This big solution. We need implement assets.

@DenisDemyanko This task was not implemented in version 5.1. Please implement this task.

1.When user insert address generated by newer version text about address version doesn't fit on the screen and "show address" button and address expiration isn't displayed

2. When user minimize wallet screen and then reopen it text about address version is disappear

3. Text color should be gray

When user insert address generated by newer version "show address" button and address expiration (one-time use or permanent) isn't displayed

Change text sequence as in UI wallet. Text about address version should be right under the addres

Checked


Possible NULL pointer dereference

The check for _q == NULL is done after _q->M
https://github.com/jgaeddert/liquid-dsp/blob/b1f8da417960198af87b244337f0dc06a2df65db/src/modem/src/modem_common.c#L370-L376

Good catch. I meant to check that _q->symbol_map wasn't NULL, not the main object.
Fixed in be24d2b821426faa942155e360cea44b34a73297


Use absolute path to get bufnr when using select() issue #563

function get_exact_name was created in #541 to fix issue #540 . This PR fixes #563 while not breaking the previous fix. Getting bufnr using absolute path gets the right buffer number regardless of how the path of a buffer was saved

Just realized that list_item.value could already be an absolute path. I guess we need to check if it is in to_absolute_path and if so just return it without concatenating?

Fixed by using uv.fs_realpath() to get absolute path


CloseAllContents in MainForm does not always work

Debug.Assert(dockPanel.Panes.Count == 0);
If we append an assertion as above to the end of this method, it would fire when a document is float. As panes are not cleared completely, this will lead to other exceptions in the following execution.
This can be consistently reproduced, by switching themes after making a document float.
Need further investigation to see how to fix this.

Float windows require some special processing, which is implemented in 44d973722d0509d8c53cd31ba677a96fc6104137


feat: add "on backgrounded" function

MapeoManager#onBackgrounded() should be called when the app goes into the background. It will do its best to gracefully shut down sync.
Closes #576.

Thanks for all the review here. Hopefully this is the last round!


[electron] Update 18.2.3, 17.4.4, 16.2.6, 15.5.5

https://github.com/electron/electron/releases/tag/v18.2.3
https://github.com/electron/electron/releases/tag/v17.4.4
https://github.com/electron/electron/releases/tag/v16.2.6
https://github.com/electron/electron/releases/tag/v15.5.5

@BiNZGi Thank you :100: :1st_place_medal: :tada:  LGTM
To be honest i am still waiting v20.x  :)


Is it possible to check that an object can be cast to the type (something like "test" is B)?

General Question
I want to check that an obkect can be cast to the type.
Currently I found only one method: get type name with typeof and compare with target type name and all of childs target type names.
For example:
schema A:
    name: str

schema B(A):
    foo: str

schema B1(B):
    foo = "1"

schema B2(B):
    foo = "2"

is_B = lambda o: A {
    # Is it possible make this expression without compare with all child type names?
    typeof(o) == "B" or typeof(o) == "B1" or typeof(o) == "B2"
}

a = A {name = "a"}

b = B {name = "b", foo = "3"}

b1 = B1 {name = "b1"}

b2 = B2 {name = "b2"}

check_a = is_B(a)
check_b = is_B(b)
check_b1 = is_B(b1)
check_b2 = is_B(b2)

In finally I wan create some logic for type B and all subtypes.
Something like:
bar = lambda a: A {
    _x: B = Undefined
    if is_B(b1):
        _x = b1

    {
        if _x:
            test: _x.name
    }
}

In my current task type hierary is something like: endpoint declaration -> endpoint declaration with chart deploy info -> endpoint declaration with chart deploy info with project-specific default


Rubik Cube Game Added [GSSoc`23]

PR Description 📜
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
#780

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added working video of the game in README.md (optional)
[x] I have added README.md in my folder
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @Kalivarapubindusree ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

we are already having this game on GameZone !!!

Thank you  @Kalivarapubindusree , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Figure out how to host this docker thing in oracle cloud

Do we want
A) Kubernetes?
B) docker-compose?
C) Plain docker?

Pros & Cons
Kubernetes
pros

rolling updates
easily scalable and transferable to new clouds
cons
quite a bit of work to set up

Docker Compose
pros

Easily coordinate Postgres & @kurabu/api
cons
still not easy to set up
no rolling updates

Plain docker
pros

Easier to set up, as in almost done already
cons
No rolling updates
Harder to make Postgres and @kurabu/api work together

Kubernetes will be used


South African English Assessment

Trello card link TBA.

South African English is no longer a targeted language. Closing.


Modifies wxcode check_tree utility function to report issues with unreachable nodes

Modifies wxcode check_tree utility function to report issues with unreachable nodes

Unit-test to show this works
Acceptance test to show this works at CLI level
Master CLI test wrapper modified to return whatever the CLI returns so these strings can be tested.

Addresses https://github.com/metoppv/mo-blue-team/issues/161
Testing:

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

Acceptance test data also merged.


DPL-823 Import PBMC pool plates into Sequencescape

User story
As a member of the ? team, who has received a plate from faculty containing thawed, pooled PBMCs, I would like to be able to import them into Sequencescape along with all the required data.
Who are the primary contacts for this story
Laura, Lesley, Katy
Who is the nominated tester for UAT
Laura, Lesley
Acceptance criteria
To be considered successful the solution must allow:

[ ] I can upload the plate as a "LRC PBMC Pools Stock" (TBC) plate in Sequencescape
[ ] I can record the following against it:

Study
For each of the samples:

Collected By (site)
Donor id
Which well it's in

Retention Instruction (This field is now mandatory for all samples to comply with Sanger sample retention policy.)

[ ] Update documentation - it currently has instructions from DPL-908 (linked below) - add similar instructions regarding this import.

References
This story has a non-blocking relationship with:

https://github.com/sanger/sequencescape/issues/3849 - equivalent but for fresh blood

Outstanding questions for stakeholders

Who will upload the sample manifest? BioResource team? SSRs?
Is there any additional data that should be recorded against the plate / samples, except for that mentioned above?
Will these plates always contain samples that are new to Sequencescape? Or might some previously banked cells from the cell extraction pipeline end up on one of these plates, for instance?
How will these plates be barcoded? SSRs generate barcodes and send them to faculty? Faculty generate their own barcodes?
Lesley confirmed on Slack that we need to record the individual sample information - can I ask why this is? I think when multiplexed library manifests are imported, the pool is represented as just one sample.

Outstanding questions / comments for devs

Think we don't import untagged pools anywhere in other manifests (check this with SSRs?), so this will be bigger than a normal sample manifest story.
Might need to use the tag_index field to differentiate the samples in a pool (created to avoid tag clash detection for Cardinal), as these are untagged samples being pooled together.
Do we want to import these as "LRC PBMC Pools" or "LRC PBMC Pools Stock" plates?

Just checked whether plates that go down the existing 5' 10X pipeline have pools in wells, where each individual sample is listed in the LIMS - no, they have one sample per well as far as the LIMS knows (queries below).
SELECT l.id, l.name, l.created_at, r.map_id, COUNT(a.id) AS num_aliquots
FROM labware l
JOIN plate_purposes pp ON l.plate_purpose_id = pp.id
JOIN receptacles r ON l.id = r.labware_id
JOIN aliquots a ON r.id = a.receptacle_id
WHERE pp.name IN ('LBC Stock', 'LBC Cherrypick', 'LBC Aggregate', 'LBC 5p GEX Dil') AND l.created_at > '2023-01-01 00:00:00'
GROUP BY r.id
-- HAVING COUNT(a.id) > 1
ORDER BY l.id DESC, r.map_id;

Who will upload the sample manifest? BioResource team? SSRs? Will need to be picked up by SSRs and Bioresource, but likely to be SSRs. I understand Krista is setting up a meeting where this could be discussed.

Is there any additional data that should be recorded against the plate / samples, except for that mentioned above? Cell counting is a consideration, however, this is likely to be standardised to a set figure that faculty will supply at for immediate loading on the 10x chip.

Will these plates always contain samples that are new to Sequencescape? Or might some previously banked cells from the cell extraction pipeline end up on one of these plates, for instance? The likelihood of this is low, but it may be an edge case we need to address in the longer term, can we pick this up for discussion on Monday?

How will these plates be barcoded? SSRs generate barcodes and send them to faculty? Faculty generate their own barcodes? Assumption would be SSRs, but is a discussion to pick up with :-)

Lesley confirmed on Slack that we need to record the individual sample information - can I ask why this is? I think when multiplexed library manifests are imported, the pool is represented as just one sample. Apologies, I take this back just the information for the pool will be required.

Removed this from description as it's no longer correct if we're not recording individual sample information. Pasting here in case useful in future:

[ ] I can record the following against it:

Study
For each of the samples:

Collected By (site)
Donor id
Which well it's in

Retention Instruction (This field is now mandatory for all samples to comply with Sanger sample retention policy.)

Former outstanding questions:

Think we don't import untagged pools anywhere in other manifests (check this with SSRs?), so this will be bigger than a normal sample manifest story.
Might need to use the tag_index field to differentiate the samples in a pool (created to avoid tag clash detection for Cardinal), as these are untagged samples being pooled together.

Some notes from the meeting yesterday:
There's still uncertainty about whether we should import individual donor information here, or just record information at the pool level.

By the time the data gets to the iseq_flowcell table in the MLWH, NPG will probably want just a single sample representing the pool, because they can't cope with multiple rows representing different samples with the same tags - this discussion was had for Cardinal and we used "compound samples" to overcome this. Should check this with NPG.
The LIMS may need to know which donors make up the pools in order to prevent pools being created that contain multiple samples from the same donor at different time points.
There are two pooling steps at which this could happen - pooling into the 10X chip, and pooling into a lane for sequencing.
It would be neater if the data looked the same regardless of which entrypoint the samples came in at (fresh blood, pooled PBMCs, or cDNA)

It looks to me at the moment like the best solution is to use compound samples from the pools plate stage onwards - so each pool would be represented by a single compound sample, but there would be underlying data that recorded which donor samples it was made up of.
However, it needs to be discussed with NPG and with HumGen informatics.

Confirmed with Danni, these count as 'derivative samples', so we don't need to include a 'retention instruction' as a column of the manifest. All derivative samples are destroyed after 2 years, unless the sample custodian has requested long term storage / to be returned.

Q1. Study is currently specified at the whole manifest level. Is it OK here to mandate that all samples in a manifest will fall under the same study?
Q2. Should supplier name be included in the manifest? For the samples coming into SeqOps as blood, we are setting the supplier name to the Blood Vac tube barcode, so if multiple aliquots are taken from the same Blood Vac tube, we know they came from the same donor sample.
We are already including donor id, which is different - multiple samples from the same donor would have the same donor id (but different supplier names / Blood Vac tube barcodes).

Some ideas as to how to implement this:

Generate sheet with ~20 rows per well to fill in.

Ignore rows not filled in (get them to delete autogenerated fields, or check whether a specific field (donor_id) is filled in).
Can continue to generate sanger sample ids upfront, just waste some
New ‘well’ field, that allows multiple rows per well, and adds tag_depth?

Comma-separated list of donor ids, one row per well.

Get rid of ‘collected by’ field - is it needed?
Need some validation on that list, as easy to make mistakes.
Generate (all or additional) sanger sample ids on upload instead of upfront, because otherwise you’d just have one per pool/well.

Have only one sample per well; store list of donor ids in a field for clash detection.

Would be inconsistent with pools coming through from SeqOps (unless we did the same with them).

Mock ups (empty and filled in) for option 1 (multiple rows per well):

Mock ups (empty and filled in) for option 1 (single row per well):

Putting on hold and back in to do until I've had a conversation with R&D. It might not be required (or could be greatly simplified at least), as donor id 'clash' detection (https://github.com/sanger/sequencescape/issues/3940) might not be required.

From Abby on working group meeting 22/02/2024:

it was agreed that samples can be pooled together at sequencing where donors are the same because at this point they will be tagged. We just need to have the donor clash prevention step for pooling before chip loading as at this point there will be no barcoding

There was a question of whether we should still import sample-level information at this stage, to keep the data consistent with that coming down the other route (pooled in SeqOps).
Decided with Andrew & Abdullah yesterday (26/02/2024) to keep it simple and only import the information we need - i.e. modify this story to just import pool-level information.
Emailed Vivek to check with him if this is OK from the data analysis point of view.

Modifying the story description / acceptance criteria (explained in comment above), so archiving the old version here:
User story
As a member of the SSR team, who has received a plate from faculty containing thawed, pooled PBMCs, I would like to be able to import them into Sequencescape along with all the required data.
Who are the primary contacts for this story
Lesley, Abby, Katy, Liz H
Who is the nominated tester for UAT
Abby, Liz H
Acceptance criteria
To be considered successful the solution must allow:

[ ] I can upload the plate as a "LRC PBMC Pools Input" plate in Sequencescape
[ ] Record pools, with the following information:

[ ] The samples that make up the pool

[ ] For each sample, record:

[ ] ~Study~ --> currently has to be the same across the whole manifest
[ ] Collected By (site)
[ ] Donor id
[ ] Which well it's in
[ ] Unique tag_depth index (assign automatically on upload, not provided by user), to avoid tag clash and enable compound sample creation when sequencing request is made later on

[ ] Update documentation - it currently has instructions from DPL-809 (linked below) - add similar instructions regarding this import.

References
This story has a non-blocking relationship with:

https://github.com/sanger/sequencescape/issues/3849 - equivalent but for fresh blood
https://github.com/sanger/sequencescape/issues/3937 - equivalent but for cDNA

Additional information
This will use the normal manifest process - SSRs generate the manifest & barcode labels, send them to faculty, who use the barcodes on their plates and send the manifest back filled in.
This is new functionality for manifests - existing manifests that import pools (e.g. multiplexed library manifests) do not include the individual sample information.

I had half implemented the story before this requirements change. Old code archived in DPL-823-Import-PBMC-pool-plates-into-Sequencescape branch. It allows download of a sample manifest with multiple rows per well, but does not yet allow upload of it.

Check the data gets into the MLWH OK - stock resource table & samples table, then compound samples table when the samples get to the sequencing stage.

We decided in discussion with HumGen Informatics to still import the sample-level information within the pools. Notes here - https://docs.google.com/document/d/1y1s9v4324qDVhuLmxnlYihOZOPTpGxVq49EQPugTuYM/edit?usp=sharing
I have reinstated the old acceptance criteria in the story description.


Unit testing: Panic messages should not contain control characters

This PR refers to issue #678 .
The relevant panic message should primarily appear on linux systems without either Wayland or X11. This is true for example on the Windows Subsystem for Linux, on which I tested the changes. Please let me know if I should test on additional platforms.
The binary used to trigger the panic is the example window. After the change, the panic message looks as follows:
$ cargo run --example window
thread 'main' panicked at 'Failed to initialize any backend! Wayland status: XdgRuntimeDirNotSet X11 status: XOpenDisplayFailed', src/platform/linux/mod.rs:437:9
note: Run with `RUST_BACKTRACE=1` for a backtrace.

[X] Tested on all platforms changed
[X] Added an entry to CHANGELOG.md if knowledge of this change could be valuable to users
[ ] Updated documentation to reflect any user-facing changes, including notes of platform-specific behavior (not applicable)
[ ] Created an example program if it would help users understand this functionality (not applicable)

Thanks for the PR! Everything looks good.


api/client: have cli.call() return headers

Some command line options will soon need access to arbitrary response headers from the remote API. This patch adds all headers to the return values of cli.clientRequest() rather than the Content-Type header only, and bubbles the headers up to the return of cli.call().

In general I like the idea - just wondering if the number of return params is enough that we should consider a struct now instead of individual params?

@jlhawn are there current returned headers which could be made use of today or is this entirely for new features?

@dmcgowan The only headers currently set by the daemon are Content-Type and some CORS headers. There is current client code that inspects Content-Type but they already had access to it. This is intended for new features such as ongoing work in #13171

thanks @jlhawn
LGTM

Agree with @duglin, I think it's worth doing in a followup PR (@jlhawn want to take this?).
But right now LGTM.


[GH-#259] Limited maximum txs in a block

Resolves #259

@thepiwo  Ok, will be done

use the default merge commit message in future, so github knows whats going on


Add Spotbugs

I would like to add SpotBugs to improve on the code quality and eliminate possible bugs. Exclude all the issues, for now, so we can add them one by one and keep the PR's maintainable.

Travis failure looks maybe legitimate:
[ERROR] Failed to execute goal com.github.spotbugs:spotbugs-maven-plugin:3.1.12:check (default-cli) on project druid-datasketches: failed with 1 bugs and 0 errors -> [Help 1]
[ERROR] Failed to execute goal com.github.spotbugs:spotbugs-maven-plugin:3.1.12:check (default-cli) on project druid-influx-extensions: failed with 3 bugs and 0 errors -> [Help 1]
[ERROR] Failed to execute goal com.github.spotbugs:spotbugs-maven-plugin:3.1.12:check (default-cli) on project ambari-metrics-emitter: failed with 1 bugs and 0 errors -> [Help 1]
[ERROR] Failed to execute goal com.github.spotbugs:spotbugs-maven-plugin:3.1.12:check (default-cli) on project druid-momentsketch: failed with 1 bugs and 0 errors -> [Help 1]

Thanks @clintropolis @leventov
There were some more violations. I've now added all the rules to exclude all the errors. If this is merged, we can re-enable the rules by removing them from the XML, and fixing the code smells.


Auto lock resources in registry.getResource following RAII principle

Description

Return LockableView when requesting registry resource to lock the resource used.
This can be enabled/disabled with the ECSTASY_AUTO_LOCK_RESOURCES compilation option.

Close #133
What type of PR is this? (check all applicable)

[ ] Refactor
[x] Feature
[ ] Bug Fix
[ ] Optimization
[ ] Documentation Update

Added/updated tests?

[ ] New tests written
[x] Existing tests updated
[ ] Tests are not required because this is a documentation update
[ ] I need help with writing tests

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

Project coverage is 83.54%. Comparing base (1b4f9fb) to head (9ab4d4a).

Files
Patch %
Lines

src/ecstasy/resources/Resource.hpp
0.00%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #142      +/-   ##
==========================================
- Coverage   83.77%   83.54%   -0.23%
==========================================
  Files          61       62       +1
  Lines        1091     1082       -9
  Branches      337      345       +8
==========================================
- Hits          914      904      -10
- Misses        121      122       +1
  Partials       56       56

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


added support in the Verifier for the 'Authorization' header

I'm not very good at reading specs so I might be wrong, but afaik it should be possible to use the 'Authorization' header without the 'Signature' header...
At least some libraries in other languages (python for example) don't send the 'Signature' header along, only the 'Authorization' so it would be nice if the Verifier would be able to deal with that!
Even if it's not completely acording to spec (I'm not sure, I get dizzy whenever I open that http://tools.ietf.org/html/draft-cavage-http-signatures-03#section-2.1.3 page) this doesn't break anything and it does add support for the slightly different implentations!

@pda another one of those PRs that has been open for a while, does this need anything to get merged?
I've been running a fork for a while now :D

Looks good. @navitronic agree?
This can land in the same 2.0 release as #5.
If anybody wants, and if we're sure it's completely backwards compatible, it could also be back-ported to a 1.2.x release.

Yep, looks good to me.
It looks like a 1.2 release with this would be fine, but happy for it to land in 2.0.


[ci] refactor CI workflows

@ptillet How can i run the third_party integration test workflow? I don't see it in our Github actions; not sure if it needs to be registered there or the issue is that we have to yml files with the same name.


fix(react-query): importOperationTypesFrom missing prefix

Description
Fix importOperationTypesFrom missing prefix.
Related #493 #434
Type of change

[x] Bug fix (non-breaking change which fixes an issue)

Checklist:

[x] I have followed the
CONTRIBUTING doc and the
style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Further Messages:
Thanks all of you who help to test and find issue for 6.0.0!
Special thanks to @knoefel for digging into the code and @groomain for creating the test repo!

@neil585456525 Anything we can do to support getting this merged? It's the last piece of the puzzle for us to upgrade to v5! Thanks!

@saihaj Please review this pr when you available, thx!

Hi @saihaj - would you be able to unblock us on this? Thanks!

Published<EMAIL_ADDRESS>


[Bug]: Tab widget jumps while toggling between tabs

Is there an existing issue for this?

[X] I have searched the existing issues

Description
If in one of the tabs of a Tab widget we have other child widgets & the we click on a tab which does not have any child widgets, we can see that the Tab widgets jumps while adjusting its height in Deploy mode.
Can this be due to Auto-Height?
Steps To Reproduce

D&D a Tab widget.
Add multiple tabs to it.
Now D&D any widget inside a couple of Tabs.
Now switch between tabs that have child widgets & tab that don't

Expected: The experience while switching should be smooth & there should be no jumps on the screen.
Actual: While switching from a tab with child widget to a tab with none, we can see the Tab widget jump a little
Public Sample App
No response
Environment
Production
Issue video log
https://www.loom.com/share/0738b981d8e64a8c913c0b90f634a2ea
Version
Cloud

is this issue still unresolved?


FUSE deadlock in page_chunk_swapfile (inconsistent ordering)

Describe the bug
FUSE deadlock - see go-deadlock output: https://gist.github.com/werdnum/9a1ce4ccf5e6bf0747a8b1c90596b21e
System Setup
Custom build based on 3.49 59f55c1a661516033e05f6cc306cdb92e885117c with go-deadlock added

func (i *FileHandleToInode) ReleaseByInode(inode uint64) {
	i.Lock()
	defer i.Unlock()
	fh, found := i.inode2fh[inode]
	if found {
		fh.counter--
		if fh.counter <= 0 {
			delete(i.inode2fh, inode)
			delete(i.fh2inode, fh.fh)
			fh.ReleaseHandle()
		}
	}
[}](url)

ReleaseHandle is protected by a counter, deadlocks do not occur.


get_canonical_link() method - return og:url if available

As proposed in #175
If rel=canonical is not available, try to get the open graph equivalent: og:url.

LGTM, thanks for also refactoring


community[patch]: Add support for inner product and Euclidean distance to PGVector

Summary
Add support for inner product and Euclidean distance to PGVector. The implementation is modeled after the CassandraStore implementation.
To Do

[x] Figure out how to run PGVector tests.
[x] Update LangChain's PGVector documentation to indicate that different vector types are supported.

Future

I can probably make this change in the Python library as well.

References

PGVector Vector Operators
Discord thread

I see that the Python implementation uses the naming "distance strategy". I can update this PR to make the naming consistent across both libraries.

Yes, consistent naming would be good if you can make that change

Steps to run PGVector tests locally.

Create fake environment variable for OPENAI_API_KEY. export OPENAI_API_KEY=fake_api_key.
Run docker-compose up --build from libs/langchain-community/src/vectorstores/tests/pgvector.
Run yarn test:single src/vectorstores/tests/pgvector/pgvector.int.test.ts. Verify that test for computeOperatorString succeeds.

Heads up @bracesproul @jacoblee93, docker-compose.yml specifies port 5432 (default Postgres port), but all the configuration in pgvector.int.test.ts uses port 5433. I had to manually change the port configuration to successfully connect to the database. Is this a bug or is there some reason for this mismatch?

Steps to run PGVector tests locally.

Create fake environment variable for OPENAI_API_KEY. export OPENAI_API_KEY=fake_api_key.
Run docker-compose up --build from libs/langchain-community/src/vectorstores/tests/pgvector.
Run yarn test:single src/vectorstores/tests/pgvector/pgvector.int.test.ts. Verify that test for computeOperatorString succeeds.

Heads up @bracesproul @jacoblee93, docker-compose.yml specifies port 5432 (default Postgres port), but all the configuration in pgvector.int.test.ts uses port 5433. I had to manually change the port configuration to successfully connect to the database. Is this a bug or is there some reason for this mismatch?

Bug, thanks for fixing

It's too avoid conflict with any default Postgres instances running but should probably be the default in any public examples.


Installation on Windows via GitHub action fails

This used to work until last week... but now installing Nim on Windows (using GitHub actions) via choosenim fails:
2024-10-27T11:03:52.9527486Z ##[group]Run<EMAIL_ADDRESS>2024-10-27T11:03:52.9527978Z with:
2024-10-27T11:03:52.9528241Z   version: stable
2024-10-27T11:03:52.9528529Z env:
2024-10-27T11:03:52.9528789Z   CHOOSENIM_CHOOSE_VERSION: stable
2024-10-27T11:03:52.9529171Z   CHOOSENIM_NO_ANALYTICS: 1
2024-10-27T11:03:52.9529507Z   MSYSTEM: MINGW64
2024-10-27T11:03:52.9529779Z ##[endgroup]
2024-10-27T11:03:52.9797562Z ##[group]Run export SHELL=/bin/bash
2024-10-27T11:03:52.9797906Z export SHELL=/bin/bash
2024-10-27T11:03:52.9798362Z 'D:\a\_actions\iffy\install-nim\v4.5.0/install-nim.sh' 'stable'
2024-10-27T11:03:52.9811566Z shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
2024-10-27T11:03:52.9812079Z env:
2024-10-27T11:03:52.9812311Z   CHOOSENIM_CHOOSE_VERSION: stable
2024-10-27T11:03:52.9812623Z   CHOOSENIM_NO_ANALYTICS: 1
2024-10-27T11:03:52.9812890Z   MSYSTEM: MINGW64
2024-10-27T11:03:52.9813115Z ##[endgroup]
2024-10-27T11:03:53.7130224Z Install type: choosenim
2024-10-27T11:03:53.7130849Z        param: stable
2024-10-27T11:03:53.7188676Z Installing via choosenim for: stable
2024-10-27T11:03:53.8296172Z Found version
2024-10-27T11:03:54.9059805Z choosenim-init: Downloading choosenim-0.8.9_windows_amd64.zip
2024-10-27T11:03:55.7524090Z main: line 79: /tmp/choosenim-0.8.9_windows_amd64.zip: cannot execute binary file: Exec format error
2024-10-27T11:03:55.7604769Z ##[error]Process completed with exit code 126.

See:

Failed run with iffy/install-nim
Failed run with my own action
Successful run with my own action

Because in https://github.com/nim-lang/choosenim/pull/41, it provides a zip file instead of an exe file to ship some necessaries DLLs, bat files etc.
Either https://github.com/iffy/install-nim/blob/019401647969089934e8ad6b31b4915839cf282a/install-nim.sh#L383 unzip the the zip file or use a custom init.sh

Make sense. I have reverted https://github.com/nim-lang/choosenim/pull/41. I will fix windows later


Add script to refresh sorbet_ruby patches from the patch branches

Motivation
Now that we have set up https://github.com/sorbet/ruby as a central place to hold our Ruby patches, it'll be handy to have a script to regenerate the patches in the sorbet repo.
Test plan
Ran some offline testing to verify that after running this script, the new patches look sane and the build still works. Also manually tested various scenarios wrt an already-existing $HOME/stripe/sorbet_ruby directory.

Why are we not setting things up so that our external ruby source is sorbet/ruby?  Is that because we still have to have unpatched ruby for various things?

Personally I wouldn't mind doing things that way! Just wasn't sure we knew exactly what we wanted yet, so this is an easy way to move the source of truth to the new fork while otherwise leaving the current build process ~undisturbed until we get the particulars nailed down.

Why are we not setting things up so that our external ruby source is sorbet/ruby?

(fwiw this was my first thought too, happy to have this halfway step or just jump straight to the endgame)

Why are we not setting things up so that our external ruby source is sorbet/ruby?

(fwiw this was my first thought too, happy to have this halfway step or just jump straight to the endgame)

I think I was the only hold-out for the Old Way, as it was useful to be able to quickly revert one of the patches recently. Given that it wouldn't be much harder to revert a commit in sorbet/ruby and bump the dependency, I'm fine moving over to depending directly on our ruby fork 👍

Okay, sounds like we're all on board with depending directly on the fork! I'd be glad to take that on, either as a follow-on to this PR or in lieu of it entirely.

Closing in favor of the straight-from-GitHub approach (will be working on that today)


[BEAM-10450][BEAM-10449][BEAM-10453][BEAM-10995] Enable more Java tests on Python FnRunner

https://ci-beam.apache.org/job/beam_PostCommit_Java_ValidatesRunner_ULR_PR/1/testReport/
r: @kennknowles

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run ULR Loopback ValidatesRunner

Run ULR Loopback ValidatesRunner

It seems like org.apache.beam.sdk.transforms.windowing.WindowingTest.testWindowPreservation is flaky though.

Run ULR Loopback ValidatesRunner

Thanks for your quick review!


Settings pages are badly layed out especially on High DPI

General page of settings is cut at the left and bottom if Options window has minimum allowed size.
See screenshot. Bottom and right lines of groupbox are absent while top and left has some undesired margin

While Code Generation page is badly aligned at the left, top and is not resizable. Maybe it must not be resizable, but if you do not align it to the very left it looks like it should.

The line of goupbox in both mentioned pages must be aligned to a center of searchbox lens circle.
For reference look at Environment section General page.

We are not UI experts and very much appreciate a help from one :) The dialog is a WinForms control, so it's easily editable.

Fixed myself
Please merge

Fixed in https://github.com/fsprojects/VisualFSharpPowerTools/pull/1024


Reconnect test hangs

Test for reconnect in the server seems to hang sometimes, probably a timing issue where we're publishing before actually reconnected. When they hang you can restart the job in Travis CI and thus override the error/output from the build so sadly I don't have any examples. I've had to restart the build twice today and I think that build #69 was a failed one if the raw log might tell something.

I'm not really sure what this means but I tried to run the test 100 times in a row (not concurrent or raced) with something like this: for _ in {1..100}; do GOCACHE=off go test ./...; done.
2/100 times I get the following output:
ok      github.com/bombsimon/amqp-rpc/client    0.001s
?       github.com/bombsimon/amqp-rpc/examples/one-server       [no test files]
ok      github.com/bombsimon/amqp-rpc/logger    0.002s
2018/04/13 11:46:38 staring listener: amqp://guest:guest@localhost:5672/
2018/04/13 11:46:38 waiting for messages on queue 'myqueue'
2018/04/13 11:46:38 got message
2018/04/13 11:46:38 request processed, will publish response
2018/04/13 11:46:38 stopped waiting for messages on queue 'myqueue'
2018/04/13 11:46:38 staring listener: amqp://guest:guest@localhost:5672/
2018/04/13 11:46:38 waiting for messages on queue 'myqueue'
2018/04/13 11:46:38 got error: Exception (501) Reason: "read tcp <IP_ADDRESS>:46070-><IP_ADDRESS>:5672: use of closed network connection", will reconnect in 1 second(s)
2018/04/13 11:46:38 got message
2018/04/13 11:46:38 stopped waiting for messages on queue 'myqueue'
2018/04/13 11:46:38 request processed, will publish response
2018/04/13 11:46:38 could not publish response, will retry later
2018/04/13 11:46:39 staring listener: amqp://guest:guest@localhost:5672/
2018/04/13 11:46:39 waiting for messages on queue 'myqueue'
2018/04/13 11:46:39 got message
2018/04/13 11:46:39 request processed, will publish response
2018/04/13 11:46:39 request processed, will publish response
2018/04/13 11:46:39 stopped waiting for messages on queue 'myqueue'
server_test.go:151 [71 111 116 32 109 101 115 115 97 103 101 58 32 116 104 105 115 32 105 115 32 109 101 115 115 97 103 101 32 48] does not equal [71 111 116 32 109 101 115 115 97 103 101 58 32 116 104 105 115 32 105 115 32 109 101 115 115 97 103 101 32 49]
2018/04/13 11:46:39 got error: Exception (501) Reason: "read tcp <IP_ADDRESS>:46074-><IP_ADDRESS>:5672: use of closed network connection", will reconnect in 1 second(s)
--- FAIL: TestReconnect (0.62s)
FAIL
FAIL    github.com/bombsimon/amqp-rpc/server    0.644s

The other 98 tests gives no output:
ok      github.com/bombsimon/amqp-rpc/client    0.009s
?       github.com/bombsimon/amqp-rpc/examples/one-server       [no test files]
ok      github.com/bombsimon/amqp-rpc/logger    0.005s
ok      github.com/bombsimon/amqp-rpc/server    1.194s

Isn't it also wierd that I don't see any output? The noEcho() test feature with silent loggers is not merged to master yet (still in branch client).

I'll take a look at this.

Ok finally this happened again and apparently the build can be viewed in Travis. See https://travis-ci.org/bombsimon/amqp-rpc/builds/372744035 for information. Rebuild trigger solved the problem.

This problem hasn't gone away but it's quite seldom and can be resolved with a re-build every time.
However, since last merge I get this problem much more often. The problem seen is that if you run all the tests at once, most of the time the tests hangs:
$ go test ./...

If they're run separately they seem to work as before about 98% of the time.
$ for dir in $(find . -maxdepth 1 -type d -not -name '.*'); do go test $dir/*; done

Not sure how we should troubleshoot this.

The problem persists with the last merge as well. Seems to only affect master branch in Travis?

As we can see in the logs, the server has finished starting up after we've published the message. And I think this is the problem.
When publishing to rabbit and the queue that rabbit wants to send the message to doesn't exist, rabbit will silently drop the message unless mandatory is set, which we don't do.
If we want to handle the case of publishing to a queue that doesn't exist we would need to implement "returns" and trying again.
I wrote a test that will always reproduce the behavior:
diff --git a/server/server_test.go b/server/server_test.go
index 4ba29c5..7564827 100644
--- a/server/server_test.go
+++ b/server/server_test.go
@@ -10,6 +10,7 @@ import (
 	"github.com/bombsimon/amqp-rpc/client"
 	"github.com/bombsimon/amqp-rpc/connection"
 	"github.com/bombsimon/amqp-rpc/testhelpers"
+	uuid "github.com/satori/go.uuid"
 	"github.com/streadway/amqp"
 	. "gopkg.in/go-playground/assert.v1"
 )
@@ -39,6 +40,38 @@ func TestSendWithReply(t *testing.T) {
 	Equal(t, reply.Body, []byte("Got message: this is a message"))
 }

+func TestStartingServerAfterClientSend(t *testing.T) {
+	s := New(url)
+	queueName := uuid.Must(uuid.NewV4()).String()
+	s.AddHandler(queueName, func(ctx context.Context, d amqp.Delivery) []byte {
+		return []byte{}
+	})
+
+	go func() {
+		time.Sleep(1 * time.Second)
+		s.ListenAndServe()
+	}()
+
+	c := client.New(url)
+	request := client.NewRequest(queueName).WithStringBody("this is a message")
+
+	cha := make(chan *amqp.Delivery, 1)
+	// This will timeout.
+	go func() {
+		reply, err := c.Send(request)
+		Equal(t, err, nil)
+		NotEqual(t, reply, nil)
+		cha <- reply
+	}()
+
+	select {
+	case reply := <-cha:
+		Equal(t, reply.Body, []byte{})
+	case <-time.After(5 * time.Second):
+		t.Fatal("Did not get reply after waiting a while.")
+	}
+}
+
 func TestMiddleware(t *testing.T) {
 	mw := func(rk string, ctx context.Context, d *amqp.Delivery) error {
 		if rk == "denied" {

Running this test with go test -count 1 -t TestStartingServerAfterClientSend gives:
2018/05/29 17:43:15 client: sender: replyChan is 0xc4200e4000
2018/05/29 17:43:15 client: connecting...
2018/05/29 17:43:15 client: starting up
2018/05/29 17:43:15 client: running publisher
2018/05/29 17:43:15 client: publishing d880c033-90df-4077-82c8-05dfcb12a795
2018/05/29 17:43:15 client: did publish message
2018/05/29 17:43:15 client: waiting for replies
2018/05/29 17:43:15 client: waiting for error
2018/05/29 17:43:15 client: no error
2018/05/29 17:43:15 client: waiting for delivery
2018/05/29 17:43:16 server: staring listener: amqp://guest:guest@localhost:5672/
2018/05/29 17:43:16 server: waiting for messages on queue '8d3c5c8a-2d82-4702-b17e-40908dedba70'
--- FAIL: TestStartingServerAfterClientSend (5.00s)
	server_test.go:71: Did not get reply after waiting a while.
FAIL
FAIL	github.com/bombsimon/amqp-rpc/server	5.004s

Cool, great job! Let's have a look at what happens if we publish to a queue that does not yet exist and later on creates it in the server.
However, I think the soultion here would be to just use mandatory maybe?

Yea, this is exactly the problem, rabbit drops the message if the queue doesn't exist. To be able to handle that case we need to:

Put the Channel in confirm mode.
Listen on NotifyReturn.
???

We should probably do that after we've figured out how we want to do with retries in the client.


Update gradle

Why is it needed to depend on such a recent forge version? I usually prefer to depend on older versions unless I absolutely need newer so that I know my mod is more compatible with older versions too.
Additionally you upgraded gradlew.bat but not the linux script. I'm a bit scared to merge this as I need the 'gradlew' script and don't understand exactly what you're changing here.

Whoops, I needed to update Forge because I was testing with a mod in my dev env that required a newer version.
The Gradle Wrapper is just a set of scripts and a jar file automatically download and use the specified version of Gradle, saving the user the hassle of installing it themselves. In a version of Gradle between 2.0 (what you had been using) and 2.6 (the latest) changes (bugfixes and/or improvements) were made to the Windows wrapper script while the Linux/Mac one stayed the same. Gradle 2.6 works perfectly fine (better, in some cases) and upgrading will not affect anything.

Ok. I will try and test this out later before I confirm the merge.

I can guarantee it does, I'm using Gradle 2.6 for all of my projects.


Cherry pick 6ee9bc03 - Add a note on rust compiler testing and compatibility #726

Manual cherry-pick of 6ee9bc03 originally appearing in https://github.com/apache/arrow-rs/pull/726
Note it also contains some content from master about versioning which I think is ok.

Codecov Report

Merging #754 (9f07029) into active_release (9f7707c) will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff               @@
##           active_release     #754   +/-   ##
===============================================
  Coverage           82.45%   82.45%
===============================================
  Files                 167      167
  Lines               46810    46810
===============================================
  Hits                38598    38598
  Misses               8212     8212

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 9f7707c...9f07029. Read the comment docs.


Enable dynamic channel posting depending on service impacted

Right now the bot is limited to posting/update in two specific channels – this is far too static. It should be able to post in Slack channels depending on which service is currently impacted by the incident.

also a risk channel names will get changed


ttyd: 1.7.4 -> 1.7.5

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/tsl0922/ttyd/releases.
meta.description for ttyd is: Share your terminal over the web
meta.homepage for ttyd is: https://github.com/tsl0922/ttyd
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.7.5 in filename of file in /nix/store/cp5ladjh8dd5ksxxz6p93jday097qwzf-ttyd-1.7.5

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
ttyd
vhs

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/cp5ladjh8dd5ksxxz6p93jday097qwzf-ttyd-1.7.5 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ttyd https://github.com/r-ryantm/nixpkgs/archive/8930b25eaf6c2902a96f2dc2874c65cff97e7e73.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/8930b25eaf6c2902a96f2dc2874c65cff97e7e73#ttyd

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/cp5ladjh8dd5ksxxz6p93jday097qwzf-ttyd-1.7.5
ls -la /nix/store/cp5ladjh8dd5ksxxz6p93jday097qwzf-ttyd-1.7.5/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review took longer than 120m and timed out

Maintainer pings
cc @thoughtpolice for testing.

@ofborg build vhs


Float parser comitting to leading 'e'

Similar to #28, the float parser comitts when it encounters an 'e', making it impossible to have a parser that reads either a float or some text:
floatOrText =
    oneOf
        [ float |> map (\n -> "Number: " ++ String.fromFloat n)
        , chompUntilEndOr "\n" |> getChompedString
    ]

run floatOrText "not starting with e" --> Ok "not starting with e"
run floatOrText "1e10" --> Ok "Number:<PHONE_NUMBER>0"
run floatOrText "e should be text" --> Err: ExpectingFloat

(Try it on Ellie: https://ellie-app.com/8yp6MxtzSsna1)

As a workaround, one can define their own float parser:
{-| The built-in float parser has a bug with leading 'e'.
See <https://github.com/elm/parser/issues/44>
-}
parseFloat : Parser Float
parseFloat =
    {- By making it backtrackable, even if the input start with an 'e',
       we will be able to try out other alternatives instead of getting
       stuck on it as an invalid number.
    -}
    Parser.backtrackable <| Parser.float ExpectingFloat InvalidNumber

int parser has the same problem of committing the leading 'e'

I ran in to this same problem:
term : Parser Expr
term =
  P.oneOf
    [ P.succeed Number
        |= number
    , P.succeed EParam
        |= param
    ]

Given,
Parser.run term "E"

it returns
Err [{ col = 2, problem = ExpectingInt, row = 1 }]

instead of
Ok (EParam "E")


Unit test should not depend on github API

We are getting this errors sometime on the unit tests :
I0828 17:40:31.616] --- FAIL: TestVersion (3.02s)
I0828 17:40:31.616]     --- PASS: TestVersion/no_flags (0.00s)
I0828 17:40:31.616]     --- FAIL: TestVersion/with_a_check_flag (3.01s)
I0828 17:40:31.617]         version_test.go:54: #1 Unexpected error: failed to fetch the latest version: Get https://api.github.com/repos/tektoncd/cli/releases/latest: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

we need to find a way to mock the github api call instead of doing an actual call

/assign

that should go to tektoncd/cli :\


Warning scheduler get_lr

I get the following warning while training on spine generic : warnings.warn("To get the last learning rate computed by the scheduler, ""please use get_last_lr().")
Look like we need to replace get_lr with get_last_lr
https://github.com/pytorch/pytorch/blob/4ed790d74223ff3af95bbf8585cb67664805b6b9/torch/optim/lr_scheduler.py#L231

Fixed by #213


Don't cache specific API calls

Is it possible to not cache specific API calls? Say I have an e-commerce shop, I don't mind all the product page responses are cached, but I'd prefer if "add to cart" response is not cached, and also product variations API request.

@simplenotezy generally it's possible, but I'm not sure about your case.
Two steps:

Exclude specific paths you want to be ignored by using blacklist option:

['nuxt-payload-extractor, {
      blacklist: ['/'],
    }
]

Remove this code from asyncData

if(process.static && process.client && $payloadURL)
    return await $axios.$get($payloadURL(route))

from the route you don't want to be cached

Thanks for a prompt reply @DreaMinder! I'll play around with it

I hope you figured it out


Adds theme field to data object in selenium tests

Checklist

[x] I have read the Contribution & Best practices Guide.
[x] My branch is up-to-date with the Upstream development branch.

Short description of what this resolves:
Fixes overview site samples by adding specifying the theme field in the data object.
Fixes #1947

@geekyd @ParthS007 @pradeepgangwar @mayank8318 please review.


Updated Readme file

🛠 Fixes Issue #2

👨💻 Changes proposed

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers
Added tech stack

📷 Screenshots

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Need Python bindings for Depthwise 2d Convolution (?)

do we need to implement https://github.com/apache/incubator-mxnet/pull/7393 in python?

no


Resolve the problem of Renyi elbo with reject sampling

In this paper by @martinjankowiak and @fritzo, they mentioned that we can drop score function term at the cost of small bias. So I go ahead and drop it in the implementation of Renyi elbo. The test with ShapeAugmentedGamma passes now.

@fehiepsi i'm a bit confused about the purpose of this PR. if you're using a rejector type distribution (which you don't explicitly check for in the code) it's true that one can often drop the score function term at the cost of small bias, but at least for the rejector type distributions that we have implemented, we also have fully pathwise distributions implemented. if someone were to try renyi + discrete random variables they'll now get incorrect results, no? (instead of NotImplementedError)

@martinjankowiak I don't know what is going on with discrete variables so I can't say. I believe you know much better than me about these stuffs so I will close this pull request. :)

@martinjankowiak I re-open this pull request for further discussion. In the first pull request for Renyi, I wrote a derivation for non-reparameterizable variable here. In test.inferece, we have various tests for non-reparameterizable. If I understand right, then for fully pathwise distributions, we just use reparameterizable version of Renyi. This pull request deals with the distributions which have both score_function and entropy_term. To my knowledge, only Rejectors have both terms nonzero and from the the paper of you and Fritz, it seems that we can omit score_function term in gradient estimation. That's why I made this pull request.


How should it work on GTZAN dataset?

I fill the music folder with the dataset & write filenames in list_example.txt, after I run the program I got an error which is:
Traceback (most recent call last):
File "quick_test.py", line 47, in
X_test, num_frames_test= extract_melgrams(test_songs_list, MULTIFRAMES, process_all_song=False, num_songs_genre='')
File "/home/lauyick/Workspaces/python/DLR-DQN/utils.py", line 124, in extract_melgrams
melgrams = np.concatenate((melgrams, melgram), axis=0)
ValueError: all the input array dimensions except for the concatenation axis must match exactly
It seems that something wrong with the array size when using numpy.

maybe i've fixed it, sry!

I have added the lists containing the name of the GTZAN dataset, if you change the paths to your dataset it should work.
If you want to test it using GTZAN I suggest using the script train_tagger_net.py and putting the paths of the song list while setting TEST mode.

Thanks a lot!
Have you try it with Million Song Dataset or its subset?

No, we trained with a custom dataset and tested on gtzan. I think we had 300 songs in total, 30 per genre.

Do I need to change other parameters while using train_tagger_net.py ?I've changed the paths to my dataset & also got an error like I posted in the issue. I tried to set process_all_song in to True but it didn't work...

@AmberLau this is an old project and we are currently don't working on it, but I suggest you look at here to see the models and maybe you could take our train code as example.


Update Blog “biryani”

Automatically generated by Netlify CMS

👷 Deploy Preview for koyomiya processing.

Name
Link

🔨 Latest commit
9771ebc4defa1cb4b84ecd8ba6265b2f1e182c50

🔍 Latest deploy log
https://app.netlify.com/sites/koyomiya/deploys/62d0283165bb7d0008cf68cd