Illustrations (Initial Planning)

Approach

Illustrations could be made on an organically-shaped (vs. square) wash color background —that would enable them to be placed on both a white or a dark background. We could also do an "outline"/cut-out sort of vibe too maybe? Samo thinks it's wise to try to take a route like this to short circuit getting into the weeds of "does this illustration work on both white/black background".

We could set expectations that we are designing "elements" that might be repurposed or repositioned vs. try to get very exact. This might be more productive and give us more material to play with. Regardless, we probably want to do the illustrations first, and then have Samo "seat" them in the content vs. get pixel-perfect about how exactly the smaller ones might lock in. It's ok to have specific ideas like "this guitar overlaps this box" but ultimately there might be another round of design on the page, etc. When it doubt, being flexible is good.

We need to consider mobile for any "out of the box" layouts (like having decorations outside a text box) or any illustration that needs to be exactly positioned.

We can try out random decorative ideas like having an illustrated content separator, a decorative set of music icons to scatter about, etc.

The new theme is currently extremely dry and characterless, so even small touches of illustration here and there will significantly impact feel and make things much more friendly and approachable. We can confidently decide to "stay small" in most cases. Note: We will probably aim to keep pages like http://alonetone.com/sudara and https://alonetone.com/montgomeru/playlists/junior-dev almost hygienically clean — the music and artwork from the user takes center stage.

Deliverables

Illustrations should be 2x the dimensions they will appear on screen to support retina screens. So for something filling the full 960px content area, we'd need source illustrations in 1920px.

We need to be able to lift illustrations from the background. So, png or flat files work if the background is transparent OR if the illustration is on a wash color background.

Blank Slates
Purpose: Reassure the user that they are "on the right track" and provide some explicit friendly guidance. Without them, a page looks empty and there can be a sense of confusion about what's next or "writers block."
Layout: Full width on phone and the full 960px on desktop. On desktop, it might only take up a part of the page and have content below. On mobile, it will depend on the quantity of text, etc. Sometimes they will only show up until the user actually has content in place (upload first track) but in other cases they might always be present (adding tracks to a playlist).
Text: These contain "instructive" text (which could in part be in the illustration). Some of the text could be longer and more helpful, for example explaining that a playlist can be a group of work in progress tracks or a real album, etc.

"Go upload, upload your first track" when user is logged in and hasn't yet.

Layout: Typically full page. Imagine taking up most of a desktop browser or most of a phone screen. This is a chance to stretch out and have fun.
Text: These are pretty straightforward "dead end, sorry" messages that could be in the illustration.

No search results
404 not found
500 error

Flavor Enhancements / Flair
Purpose: Content-filled pages need some personality too! Details matter, and these are opportunities to make things more approachable. Note: We probably
Layout: These are smaller elements that will be laid out inline with attention given to mobile browsers.

Visiting homepage as guest

Person on a tiny island with guitar

About page / values
Forum categories
Different ways to "break the box layout" — for example, having an big ear illustration overlay the right hand side of the box for "who you follow"

Hi alonetone folks, my name is Alec Longstreth. I'm the illustrator Sudara has tapped for this project! You can see some of my previous illustrations over here.
Sudara, could you post (or send me) some of the previous graphics (logos, etc) that have been used on past versions of the site? Or like the hex code for the orange being used for headlines? It would be great to lock in a limited color palette for all the new illustrations to keep everything cohesive, and I'd love to build off of the unique oranges and grays that have been used in the past.
Also, what do you think of using animated GIFs for the No Search Results & 404 & 500 (GIFs instead of Punishments?). Like a big illustration with just a little bit of subtle motion? It might make these seem even more fun/less punishing.
For the deliverables being 2X - that's still at 72dpi, right? I thought retina displays could handle higher dpis?

Hey Alec! 👏
We actually just started an effort to get consistent on the color palette. The primary accent orange is #EB7B0C. We use #E02A02 red to indicate "warning" and have various other shades and grays here:

You can also poke around on figma at the design components — this will flesh out more over the months: https://www.figma.com/file/YdjrVsNumbBsWVo82Wje2h6N/alonetone-white-theme?node-id=0%3A1

Also, what do you think of using animated GIFs for the No Search Results & 404 & 500 (GIFs instead of Punishments?).

Not against it! It won't be "distracting" from anything, as there's literally no other content in these cases.

For the deliverables being 2X - that's still at 72dpi, right? I thought retina displays could handle higher dpis?

Yeah, exactly. Retina displays basically display somewhere around 2 x 72 DPI (it's really all over the place). Confusingly, DPI isn't really technically relevant on the web, as the only thing that matters is the actual number of actual pixels contained in the image (can increase DPI or image width).
Annnyway, since 72DPI used to be the standard for screen, the standard tends to be working with images that are at that DPI but 2x the width/height of the target image we need, and the browser renders that down to size.

Well, I'm already leaning stuff!
I whipped up a Photoshop .ACO file which can be imported into the "swatches" panel for easy access to the two main highlight colors and all these other variations. Please let me know if any more colors are added and I can update the file!

Hey Alec!
Working with @smoofles (long time alonetone designer!) last Friday, we did preliminary investigation into how a "blank slate" could look and mocked out a placeholder for the "edit playlist" page.

I'm kinda into the black and white sketch feel — it really contributes a TON of feel and feels "different" from the UI in a good way. Open minded for it not to be pen / black and white — but I'm guessing to keep differentiation we want to avoid that primary orange highlight color, as it's a prime ingredient for the UI.
I thought the white "wash" that the illustration and blank slate text sits on is something we could give minimum dimensions on and you could cook up to match the illustration style. Otherwise we can do it too. I guess we'd default to  #FFF and #000 depending on the theme.
More on dark vs. light theme: If we keep things one/two color, we can also have samo adjust the color so it looks good in both themes. His recommendation was to deliver colors (if they exist) on independent layers so we can adjust. He also said we should just try 1 or 2 things out and see if it works before going crazy with the rest of the illustrations.

Just realized we might have mobile compatibility issues with a static "wash" behind the illustration/text, as we won't be able to display the same width on mobile. Hmmm maybe @ofsound has some smart thinking.

For a rough edge on the illustration, I could do it two ways:

Option 1: You guys give me a pixel dimension to stay within and I could create the illustration, leaving a bit of space to transition to transparency with the rough edge.
Option 2: I could make "normal" rectangular illustrations and then we could overlay a frame with a  rough edge that matches the background color of the page. This might be a fix for the mobile thing? You could make a mobile-specific frame that works on top of a resized rectangular image file. You could also reuse it around the site? I guess we'd need multiple sets for mobile, desktop, dark vs. light, etc.
I'm cool sticking with black and white (especially during the first round of tests) and then once we see the overall page design we could see if adding color would work or not. I'm thinking more clean line drawings than cross-hatching, which can have trouble looking nice at small sizes.
If it's literally just black lines on a white background that can also reverse very cleanly (white lines on a black background) for dark theme.

I was supposed to come up with a sample illustration for "What's a Playlist?" (over in 767) but I realized I can't do that yet until I know what type of illustrations you guys want on the site.
I spent the weekend doing a bunch of quick drawings in my sketchbook, and I've grouped them into five different "treatments." Hopefully folks can weigh in and we can pick a direction, then I can start brainstorming specific illustrations within that approach.
Treatment 1 - Non-Descript Musician Figures

Con: Might be too detailed for the small image size? Pro: Would look cool on the big "Gift instead of Punishment" pages
Treatment 2 - Music Gnomes

Treatment 3 - Word Art

(As with all of these sketches, the text here is placeholder - I realize that the 500 Error would be a full page illustration, etc). Would this be visually overwhelming? Text paired with more text?
Treatment 4 - Musical Objects

Treatment 5 - Extreme Close-Up

Sorry for the long post! Let me know if one of these ideas (or some combination of multiple ideas) feels like a good fit for the site.

I spent the weekend doing a bunch of quick drawings in my sketchbook

😱 😱 😱 Where's the invoice, because YOUR DONE! 16 illustrations in the bag, rake in the cash, let's go!
Seriously though, very excited about some of these! And using sketches in general.

I can't do that yet until I know what type of illustrations you guys want on the site.

I've been waiting for this to come up 😈
I only have a couple solid ideas, and they are all contextual:

On the homepage for "what is alonetone?" it might be funny to do a twist on the classic desert island schtick: a person leaning against a palm tree playing a guitar.

I've been warming up to the idea of there being a narrator who emotionally expressive, especially for the blank slates / gift instead of punishments.

We're on the same wavelength about smaller decoration stuff. I think there's some good opportunity to go through some of the drier content (like FAQ / about) and pull out some themes that might be funny to illustrate. I can start off by generating a list.

You just did step 1 and "seeded" the otherwise blank page so yay! I think this gives us a ton to work from.
I <3 treatments 1/2/5 generally — I'd like to maybe go through some more of the content the illustrations are accompanying before deciding on subjects.
That gnome....looks....suspiciously....like.....a lone toney — could the gnomes narrate?

For a rough edge on the illustration, I could do it two ways:

Oooh, missed this a couple days ago. I think I'm a bit confused by the two options, I think both of those are fine as long as we can hand samo the frame and illustration separately.
Good call, I do think cooking up a couple sizes of frames is the way to go.  I just don't know yet how we'd organize text + illustration on a constrained width browser like a phone for something like https://github.com/sudara/alonetone/issues/767

On the homepage for "what is alonetone?" it might be funny to do a twist on the classic desert island schtick: a person leaning against a palm tree playing a guitar.

That would work well with the Treatment 1 idea. But c'mon, ukulele not guitar for that gag, right? 😎

I've been warming up to the idea of there being a narrator who emotionally expressive, especially for the blank slates / gift instead of punishments.

I'm open to this idea, but in my sketches I was wary of making it a specific narrator (like me, or Sudara, or one fictional character). In comics there is this technique of making your main character as simple as possible so that more readers can see themselves in those shoes. If there is a lot of detail (a tall white guy with thick black glasses and a beard) it's harder for readers who do not share those attributes to go "that's me."
 If it's a specific narrator, how does that feel for a diverse set of users? My idea with the Treatment 1 non-descript folks would be that maybe users don't identify with every character, but as they navigate the site and are exposed to more and more of these illustrations, there might be one or two that they do identify with, and seeing a diverse group of narrators might help build a sense of community?
It's also possible I'm over-thinking this....

We're on the same wavelength about smaller decoration stuff. I think there's some good opportunity to go through some of the drier content (like FAQ / about) and pull out some themes that might be funny to illustrate. I can start off by generating a list.

Yeah, we could also mix and match the approaches above. Like use Treatments 1 or 2 on the site, but Treatment 5 on the message board. Since they will all come from the same hand with the same tools, they'll still feel cohesive.

That gnome....looks....suspiciously....like.....a lone toney — could the gnomes narrate?

Totally! I could put the orange alonetone whole note on his chest, and then the head changes to whatever's needed? That might make it clear it's always the same character, but with different heads, depending on the situation? It would work for the "non-specific" thoughts above. I know "Tony" was just a joke, but it could work, if that's the direction you want!

ukulele not guitar for that gag, right?

I'm down with that :)

In comics there is this technique of making your main character as simple as possible so that more readers can see themselves in those shoes. If there is a lot of detail (a tall white guy with thick black glasses and a beard) it's harder for readers who do not share those attributes to go "that's me."

Thanks for sharing that. That seems like wise thinking.
This line of thinking came from seeing your illustrated face juxtaposed in the design — it feels personal and different and expressive and like "your helper buddy" is there — something we might miss out on going the non-descript route. In other words, the character would be a friend vs. "you."
I don't want to be the narrator, but thinking about it logically, it does seem like it would make sense to have a specific human personality.  Maybe Ben? Heheheh. Let's sign him up! HMMMMMMM.

Since they will all come from the same hand with the same tools, they'll still feel cohesive.

💯 to that. Zoomed out, the approach on our end is "have our talented artist friend add spots of black and white sketches to contrast against the very clean/featureless UI." That being said, I'm all for (attempting to reach) thematic consistency, plus it's fun!

Sudara and I talked over Skype today and decided that we really do want a narrator character to use throughout the site. I tried a few ideas based on Treatments 1 & 2 (above) and then plugged them all into the "desert island gag" illustration, so we can see how these would all look in use.
Let me know if one of these feels like the right narrator and we can start digging into the list of illustrations! (We can also use multiple and/or all of these styles in different parts of the site/message board, if we want, etc.)
Humans - Quasi-fictional laid back and/or helpful people

A Lone "Tony" - A super cartoony approach

A Lone Gnome - two different ideas for the musical "head" treatment

Oh Em Gee. Really appreciate all the effort here. So absolutely fun to look at
and a bit overwhelming! So many options!
My final votes:

The narrator will only be used for 4-5 illustrations in total: the "blank slates with instruction." The context is "we actually have something to say." If we use a narrator, I'm pretty stuck on using a real person, such as ben / myself — really frame it as "the people who made this wanna let you know..." Let's have it be personal if we do humans. We could actually use both of us if @ofsound is willing to be a character. I could ask the others if they would be into being a character on one spot too (manfred / samo / jenya), but that might be 5x the work... On the other hand, we could have a sarcastic samo character, so that's a plus! You mentioned speech bubbles – I'm not against reducing/massaging the words and trying that out.

For the "big" full pagers like the 404/500, I think we should go for very busy, very populated, very hectic "music-headed gnomes partying" vibe and pull out all the stops, go conceptual, go punny, etc. Ideal: people instantly see the message (ERROR!), but get distracted looking at WTF is going on. For example, instead of 1 cohesive scene, 4-5 sub-scenes going on.

For the smaller "flavor" stuff, I do think there are gnome-ortunities. For example "we are not a startup" we could have alonetone-logo-headed gnome facing off against spotify/facebook/soundcloud-headed gnomes in suits. We can actually upgrade this one to a fuller width and have it take up more space on the "about" page. This might be the case for some of the other "flavor" ones that pair with text, we'll have to see what concepts we come up with.

However, some of the smaller flavor things might be better "gnome-free" vs. forcing the gnome — for example, "report bugs" is one of the forums. Sure, this could be a gnome chasing/picking up a bug, but it could also just be a very simple illustration of a bug. We might be more size constrained there, so it might be nicer to keep some of the flavor spots simpler and less dominant/complex. We can play it by ear!

We should pick a gnome for the desert island illustration (vs. narrator). Uke-gnome is perfect! alonetone-sun is a stroke of genius! We just need to make sure it'll work at size (we can add 1-2 colors to that one).

This process was really useful! As a next step, I think we should throw some ink at the actual page It can be temporary or iterative, but I think getting a few initial things roughed in will help iron out deets.

gnomes R us.

If we use a narrator, I'm pretty stuck on using a real person, such as ben / myself — really frame it as "the people who made this wanna let you know..." Let's have it be personal if we do humans. We could actually use both of us if @ofsound is willing to be a character. I could ask the others if they would be into being a character on one spot too (manfred / samo / jenya), but that might be 5x the work...

Oh man, as soon as I read this it was like a little light went on (DING!). That's the perfect solution I think -- actually make it the people who built the site! Could I get "approved" photos of team members to design their cartoon selves off of? Like a good headshot from front/side and one full figure photo (from head to toe?). Only folks who want to "opt-in" to this idea, I guess...
Everything else sounds great! I'm going to like print this comment out and tape it in my sketchbook. I'll start going through the lists over in on 784 and 767 and start drawing the illustrations and/or sketching out ideas.
Should I upload .jpgs to GitHub? I don't want to bog down threads or make it hard to search for stuff. I could also put these in a dropbox folder for people to check out at their leisure?  Any guidance on dimensions/proportions would be helpful.
Thanks for going through this initial "design phase" with me. I know it was a lot to dig through, but I'm happy where it ended up, and all this stuff gives me a better idea of what we are going for, and so will hopefully simplify things going forward!

I just had my aha! moment — as one of the contributors building this site, it wouldn’t be complete without narrator Alec!

Okay, I'm in!

Seems like we nailed everything down, so I'm going to close this out. It'll still be here for reference as a "closed" issue.


Add step to clean generated files

Changes:

Add a step in sedge cli command to clean generated files.

This will remove any duplicate envvars or command flags from the generated files.

Removing duplicates flags allow the user to add extra flags that overwrittes the templates fixed flags.

Types of changes
What types of changes does your code introduce?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Other (please describe):

Testing
Requires testing

[x] Yes
[ ] No

In case you checked yes, did you write tests?

[ ] Yes
[x] No

Codecov Report

Merging #100 (a6af3c8) into develop (e5a7205) will increase coverage by 0.49%.
The diff coverage is 92.09%.

@@             Coverage Diff             @@
##           develop     #100      +/-   ##
===========================================
+ Coverage    84.66%   85.16%   +0.49%
===========================================
  Files           32       34       +2
  Lines         1859     2009     +150
===========================================
+ Hits          1574     1711     +137
- Misses         230      239       +9
- Partials        55       59       +4

Flag
Coverage Δ

unittests
85.16% <92.09%> (+0.49%)
:arrow_up:

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

Impacted Files
Coverage Δ

cli/cli.go
69.07% <66.66%> (+0.16%)
:arrow_up:

internal/pkg/generate/clean_scripts.go
92.75% <92.75%> (ø)

internal/pkg/generate/generate_scripts.go
96.39% <100.00%> (-0.11%)
:arrow_down:

internal/ui/files.go
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Remove unused bundles

There was a problem with bundled version of API - JS files were absent, as they are currently unused. It also appears that API help does not work properly yet, but it is scheduled as a separate task now.

 Fix bundling of JS missing in API package


update documentation for readme.md and folders.md

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

 All committers have signed the CLA.


Would it be possible to add custom examine text?

I'm sure it's possible but as of currently I have no plans to, sorry. I had quite a lot of help with the plugin and not really looking to ask the person again, I'll definitely keep it in mind for the future though.
The focus of this plugin was to only change NPC/Item names and not being able to change them yourself. That feature just so happened to be added along the way, but because of that, your idea is not a bad idea for the future.

Thanks :)


Columbus Browser

Columbus Browser #389

Coverage remained the same at 100.0% when pulling 4d0c131bb8e2b9023dee72fe555f9280d04293ed on ayumi-cloud:Columbus into 4899110cd2f87b01e04ced62dbb9dec541031dee on WhichBrowser:master.


More rooms?

Hey,
i dont know if that is an issue, but does anybody figured out how to specify more than a "default room"?

You set the rooms up yourself in the Homes app or use another app such as Eve it's not related to this plugin.


Possible way to blacklist certain enemies?

Using Lethalmin, would blacklisting Pikmin be possible? There are far too many to cycle through.

Set this config option to True

Thank you


Systemd start

Hi,
I installed papermerge "Manual Way"
I want it to  strart at boot via Systemd. My path is /root/PapermergeDMS
can you help me with .ervice files?
Best regards
John

https://papermerge.com/docs/Installation/server_configuration.html#step-2-systemd-service-for-gunicorn


Update image and the flavor of Dilmurat's VM

The previous image has issues with installing CUDA and NVIDIA drivers due to the broken CUDA repo GPG key. Manual debugging and installation attempts do not fix due to the lack of storage on the root disk so this PR updates the flavor along with the GPU image (using the same image as the one we use for our worker nodes).

Q: we do have a GPU image with prebuild CUDO do we?

Q: we do have a GPU image with prebuild CUDA do we?

The VGCN repo shows that the installation is turned off: https://github.com/usegalaxy-eu/vgcn/blob/00829423b35b5da3b7fbe4d49dfacea85d554d57/ansible-roles/group_vars/gpu.yml#L2-L5
Not sure, why though. So we inject the installation through cloud-init in our TF files.


Olde version React 15 dependency

I'ts important to update module to the new version of react 17. I'ts generating a peerDependencies conflict on npm update command ou npm upgrade command. Look:
npm info react-html-table-to-excel peerDependencies
{ react: '^15.x.x' }
confict:
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/react-html-table-to-excel
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

I agree @TonioloF the package seems to be dependent on react version 15; however, react has made it to version 16 and 17. @zsusac is it possible to update react-html-table-to-excel to use a new version of react?

?


Create a PR of the contract file to the platform repo

Used the new resinci-deploy pr contract command to make a pr on the platform repo.
Change-type: patch
Signed-off-by: Stathis Moraitidis<EMAIL_ADDRESS>

Made as a draft, as I think it needs the the relevant repos in the orgs to be created first.


Wait timeout for build pod is too small

Signed-off-by: bohmber<EMAIL_ADDRESS>

60 sec is not enough in some cases

@dev-gaur you can do the squash it during merge?


Remove temp dir before the execution of actual dynamic action

In case of dynamic action that does something with all the files and directories in the working directory, like copying them somewhere else, .tmp-dynamic-uses will be also included.
With this change no workarounds are needed and workflows stay simple.

This is great, thanks @JoakimJoensuu!


Add automatic (English) spell spelling

From the discussion in #122
In order to have to add to the words list a very long list of keywords, I suggest passing to pyspelling that is able to skip code blocks, still giving the actual work to aspell.
I suggest:

adding the configuration pyspelling, that can be run with pyspelling -c spelling_config.yml; the configuration reported at the bottom is very close to a good one
Recreating the words list from an empty words list
moving these files in a subfolder to avoid too much confusion in the repo

Up to here, I see no harm. Then:

Once this is done, rediscuss if this is good enough to be added to the travis tests or it's too much work (see also #122)

If we feel the need of keeping also a words list for the whole document, we can also do so - but as discussed in #122 we shouldn't add this to travis.
Content of spelling_config.yml:
matrix:
- name: markdown
  sources:
  - optimade.md
  aspell:
    lang: en
  dictionary:
    wordlists:
    - .words.lst
  pipeline:
  - pyspelling.filters.markdown:
      markdown_extensions:
        - markdown.extensions.fenced_code
  - pyspelling.filters.html:
      comments: false
      attributes:
        - title
        - alt
      ignores:
        - code
        - pre

Is this still relevant? Spellcheck seems to be in place already, so maybe this is already done?

I think I added this in #336... wasn't aware of this previous effort

I'm going to say this is closed by #336; spell check has been flagging some things for a while for us though could always be improved (I don't think the schemas are currently spellchecked, for example)


Does convolution backward descriptor really need a forward hint as parameter?

The need of hint is quite cumbersome and in fact this parameter seems never be active in convolution implementations. Besides, primitive_desc had no way to wrapper a nullptr_t.
So, is it possible just to remove it from interface (or add a new interface without a hint)?

Hi @4pao,
forward_hint is a standard way (interface) for all mkl-dnn backward primitives to verify they are compatible with the executed forward ones. At the moment this is crucial for batch-normalization, lrn, and pooling since different implementation may use different workspace layout (hence making impl-a be incompatible with impl-b). Even though backward convolutions do not depend on forward ones at the moment we cannot guarantee that would be always the case. In particular, for winograd implementation it is possible to reuse on backward pass some of the arrays computed on forward pass. That means we should be aware of what happened on that forward pass, and the only way to know is forward_hint...

Hi  @emfomenk , thanks for the explanation.
There is a case that use convolution backward data to implement deconvolution layer. If hint is mandatory, I have to create a dummy forward primitive descriptor which make the implementation not that clean. So please consider the possibility that allow a empty hint.

Yeah... make sense, you are right.
Will think what we can do with that then.

In my completely uneducated opinion a separate primitive would make more sense. It could use same implementation internally. Use of backward computations this way is bending the semantics quite a bit.

Absolutely agree that a separate primitive is required here.
But still there is something to think about, since de-convolution implementation would rely on the backward direct convolution (hence having the problem of asking the hint).

Having 2 primitive creators, static assert in the hintless one could remind that a non-null hint is required.  Some compilers can also warn about explicitly passing a nullptr hint (attribute nonnull).
Regardless of whether a second primitive creator is adopted, hints can still be given as nullptr right now to avoid the tedium of creating fwd descriptor just for hint. But, for robustness, I suppose checks on proper hint / private data workspace should be added to the various init() functions. "Is a required workspace non-null?", "Is a required workspace right size?", "Does workspace magic match for bkwd/fwd impls?", etc.
Thanks for the thread - I've been ignoring hint issues in last few days as I iterate over conv impls in benchdnn and now I can document why I can get away with lazy nullptr hints for now.
Resolving this issue should also include handling of hints for the primitive iterators.  One possibility is that the iterator should gracefully, but possibly slowly deal with absent/nullptr by exceptionally allowing workspaces to be auto-created and attempt to propagate to the next impl.  This sucks for speed, so should only be allowed for the iterator, but I'm guessing iteration over impls is would mainly for benchmarking or other non-critical use. Once a best implementation has been determined, there would be no additional workspace creation fee to be paid.

Recently added deconvolution primitive addresses this issue.


How do I disable the compile on save feature of typescript ?

Could someone please tell me how to disable the compile on save feature of typescript plugin for Atom ?

Add "compileOnSave": false to your tsconfig.json.

this option is specific to this package only but not to typescript itself. I do not understand why it should be stated in tsconfig? IMO it should be buried somewhere in atom-typescript package settings
@basarat what do you think on this?

also one more question on this option: does it imply somehow on 'Live error analysis' feature of this plugin?


Change SPEC_TYPE_IS_MISSING_IN_KIO to infer from specification_url

The specification type (GitHub issues, JIRA, ..) should be inferred from Kio's specification_url.
See https://github.com/zalando-stups/kio/issues/47

specification_url is validated from kio as a valid URI.
We should than infer the URI and validate.
Types:

paper
jira
github
..

This should be implemented in Kio and not in Fullstop, because it should be possible for Kio users to see the spec type of applications.


add coveralls integration

Changes Unknown when pulling 50b8142def48c96e6a163c932160d010e0794bc6 on coveralls into ** on master**.

Changes Unknown when pulling 821a20901c406edfbfba48ab3d4edc8993be7feb on coveralls into ** on master**.


SmtpTransport.get_ehlo() method fails with "Connection closed"

I think the problem is that before SmtpTransport.send() is called, the SmtpTransport.client field is not connected, but the get_ehlo() method expects it to be.
These lines in SmtpTransport.send() seem to connect the client if it is not already connected before get_ehlo() is called. Should something like this also be run at the beginning of get_ehlo()? I can send a PR with this if it would be useful.

Yes, you should call connect before get_ehlo. Why don't you use the send method directly, is it a specific use case?

The use case was to verify email settings on application startup. I'm away
from my code at the moment but I think I ended up using the client module
one level lower in the lettre library to do some basic verification.
On 6 Aug 2017 17:34, "Alexis Mousset"<EMAIL_ADDRESS>wrote:

Yes, you should call connect before get_ehlo. Why don't you use the send
method directly, is it a specific use case?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lettre/lettre/issues/179#issuecomment-320517506, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAm2ksSkPG29dpSkIbcXDxog4B5YGuYoks5sVesVgaJpZM4OdQsl
.

This is indeed a better idea. Closing the issue, feel free to ask again if it is not working as expected.


Create 0912-sort-an-array.c

File(s) Modified: 0912-sort-an-array.c
Language(s) Used: C
Submission URL: https://leetcode.com/problems/sort-an-array/submissions/1076800227/

Important
Please make sure the file name is lowercase and a duplicate file does not already exist before merging.

Removed unused prototype, updated global variables to an enum and updated comment. I resubmitted it and updated the submission link in the PR


Rapid white flashes occur after the end of loop memory transfer

After I die and my memories are sent to the statue, a series of bright flashes occur before I am respawned on Timber Hearth. They are not, as far as I can tell, related to the way that SteamVR will occasionally boot you back to a default screen when a program is loading or running slowly.

Yeah this epilepsy party also happens some times if you go inside the sun and some other scenarios. Not sure what can be done about it...


Correct use of patchKey in zf-configuration

zf-configuration' patchKey acted like a replaceKey.  Fixing this alone breaks this repository.  A fix comprised of three repositories will need to be applied together.

[ ] [not ready]  Merge https://github.com/zfcampus/zf-configuration/pull/30 and create a release.
[ ] [not ready] Merge https://github.com/zfcampus/zf-apigility-admin/pull/390
[ ] [not ready] Update composer.json on https://github.com/zfcampus/zf-apigility-admin to require the release for zf-configuration done above.
[ ] [not ready] Create a release for https://github.com/zfcampus/zf-apigility-admin
[ ] [not ready] Merge https://github.com/zfcampus/zf-apigility-doctrine/pull/305
[ ] [not ready] Update composer.json on https://github.com/zfcampus/zf-apigility-doctrine to require the release for zf-configuration done above and update require-dev for zfcampus/zf-apigility-admin to the zf-apigility-admin release created above.
[ ] [not ready] Create a release for https://github.com/zfcampus/zf-apigility-doctrine

This repository has been closed and moved to laminas-api-tools/api-tools-admin; a new issue has been opened at https://github.com/laminas-api-tools/api-tools-admin/issues/4.


data file to scan convert

@loic-fejoz
the phantom rep is not clear -> the data file img_kydney.txt is the raw signal that needs to be filtered. It is the resource for the envelope detection from which pixels intensity are deduced. The resulting pixel file sits in data_kydney.csv. I am going to adapt the READ.ME
@kelu124 I am going to document more clearly the constants

BTW, where can we find the angles / starting depth for the scan conversion (ideally all the params listed in http://echopen.org/index.php?title=Scan_Conversion )

hi @kelu124 check out #6. Fixed in 585c0c7 but sure can be improved/detailed. Don't hesitate to write some doc around the class definition if you think it is needed


[Exclusivity] Remove dominated access checks with no nested conflict.

Radar rdar://problem/42789656
General case:
—
begin_access A (may or may not have no_nested_conflict)
load/store
end_access
apply // may have a scoped access that conflicts with A
begin_access A [no_nested_conflict]
load/store
end_access A
—
The second access scope does not need to be emitted.
NOTE: KeyPath access must be identified at the top-level, non-inlinable stdlib entry point.
As such, The sodlib entry pointed is annotated by a new @_semantics that is equivalent to inline(never)

@swift-ci Please test OS X

@swift-ci Please test

@swift-ci Please test

@eeckstein I have added a new commit that makes the changes we discussed offline - mainly bailing out when encountering unpaired accesses and the new recursive walk that avoids explicitly checking for proper dominance:
I went with a small vector of (begin_access, storage location) that only keeps track of distinct storage locations that can be optimized (which should be a tiny set no matter the size of the function or number of begin_access instructions in it)
This vector keeps track of the first (begin_access, storage location) seen in the dominator (sub)tree.
When encountering a begin_access instruction we just have to see if its storage location is in said vector or not - iterating over a handful of unique storage locations at the most
When we are done with a sub-tree, we just have to remove the new elements in the small vector, which are the last entries we pushed back, this is efficiently implemented of course.

Build failed
Swift Test Linux Platform
Git Sha - 63b50f65a4c75ac7839b9afc241f3cebd13a67e9

Build failed
Swift Test OS X Platform
Git Sha - c70ff9b747673d3f36b27747604893b78cb8ff98

@swift-ci Please test OS X

Build failed
Swift Test OS X Platform
Git Sha - c70ff9b747673d3f36b27747604893b78cb8ff98

@swift-ci Please smoke test OS X

@swift-ci Please smoke test OS X

@swift-ci Please smoke test

@swift-ci Please smoke test

@eeckstein I’ve done all the changes in the review, including adding recursion and quadratic compile time bail-outs, new key path test and bug-fix for the equal-check of accesses. I also changed the new attribute from a decl attribute to a semantic attribute


node crashes when promoted and no listen-addr is provided

➜  swarmd node -l debug -d /tmp/swarm-node3 --join-addr <IP_ADDRESS>:4242
...
sha256:4d32bf566ad1a00bcdbaed7c047c704d2f77d32e4477
INFO[0083] Downloaded new TLS credentials with role: swarm-worker.
DEBU[0083] (*Agent).run exited
Error: failed to create socket directory: mkdir /var/run/docker: permission denied

/cc @tonistiigi @LK4D4

Maybe we should not allow promotion on nodes that didn't provide advertise address. Writing some kind of retry mechanism there doesn't make sense because this will always be unrecoverable.

Agreed.

#988 should address problems that arise from not providing a listen address through the API.
But I don't think that's what's happening here. In swarmd, the listen address should default to <IP_ADDRESS>:4242. The problem I see reported in the log is a permissions issue with the state directory.

Can this one be closed? This is most likely fixed now and the original error seems unrelated.

This is only fixed in a way that default control socket is now relative to working dir and docker always runs as root. There is still no way for the node to check if it is capable of promotion of cluster to check is node can be promoted.

@diogomonica I just going through old issues here.
Is this one still valid or ca we close it?


Unexpected PlaybackState behavior

There are 3 slightly different cases. The common part is that we're playing a short sound on a separate AudioChannel with play() method.

Waiting for the sound to end. Checking PlaybackState: it is permanently PlaybackState::Playing
Waiting for the sound to end, running stop() method. Checking PlaybackState: it is permanently PlaybackState::Playing
Not waiting for the sound to end, running stop() method while the sound is still playing. Checking PlaybackState: it is permanently PlaybackState::Stopping

In all cases my expectation for PlaybackState would be PlaybackState::Stopped.

With this library, I can't figure out any way to know my audio has played (to e.g. start another background song after it).
Even the example gives Playing status after stopping the channel.
Audio stopped.
Loop audio Playing { position: 0.9663492063492064 }

I would too expect that a song would turn to Stopped after playing in all above cases.
Also, the PlaybackState::Playing never reaches the duration (seconds) of the audio in position.

Found and fixed a bug concerning the "Stopped" state. The original three cases should now all work as expected on main.

That when I compared where the duration as secs f64 of the audio vs the position in playing, it did not stop at the duration, but before.
but I was trying to use the duration comparison only because the state did not go to Stopped. Thst was all I needed.
I don’t know what the expected behavior is regarding that.
@NiklasEi

The state gets updated once per frame. Meaning that there can be a time difference of up to the current delta. Kira itself probably also updates on an interval, but I would expect that to be much smaller than a usual frame duration.
I will consider this issue closed then. Feel free to open a new issue if you find the discrepancy of the play time larger than expected.


Fix issue #45

This PR fixes issue #45 . The issue can only be re-produced in release build where ProGuard is enabled. This commit keeps essential classes so that the transfer header can be properly parsed from JSON.

So that's what was causing it. Thank you so much!


Added randomly generated wiki pages

Imo, it would be better to just return the data without the reply.

i copied the structure of the code, The structure is already bad but i thought of it

Imo, it would be better to just return the data without the reply.

that's how the whole class is intended to work, if you want that you should use a wikipedia api wrapper


Google Cloud Storage | CRC32c of large files.

Hello,
I'm developing a service to upload files between 1GB and 2GB to Google Cloud Storage.
There's a way to calculate the CRC32hash while i'm writing the stream in the WriteChannel ?
The problem is that always i need to calculate the hash of the whole file before create the blobInfo with the calculated hash.
Here is my current code.

Thanks everyone!

I think, the way you upload files is the right way.
Because instances of Blob and BlobInfo classes are immutable objects, you cannot modify Crc32 value of an existing object. So, to enable data validation you need to provide CRC32hash before you open a WriteChannel. The hash calculated after WriteChannel is opened can't be used for validation.
To speed up crc32 hash calculating for your local files I would recommend you to increase the buffer size. 1k seems to be very small size.  On my local machine resizing from 1k to 128k reduced hash calculation time from 50 seconds to 4. With the buffer of 1M size calculation took 3 seconds. Experimenting with the size will allow you to figure out the most optimal value.
I hope my answer will help.
Thanks

I also noticed a bug in your code of CRC calculation:
Instead of:
hasher = hasher.putBytes(ByteBuffer.wrap(buffer, 0, limit-1));
should be:
hasher = hasher.putBytes(ByteBuffer.wrap(buffer, 0, limit));
Otherwise, the last byte in each chunk will be ignored.


fix: don't duplicate issues when same artifact is reported again

Changes:

Check the artifact result's hash before parsing. Ignore the artifact if the hash is same.
Raise sentry info alerts for unsanitised issues
fix type hints
add missing tests

Also fixes https://linear.app/deepsource/issue/ENG-386/raise-sentry-info-when-sarif-parser-cant-find-an-issue-code-in-the


Remove key prefix handler

Kept the PrependTranslators for now

Let's wait for https://github.com/gingersnap-project/cache-manager/pull/5 to be ready too.

Actually, we don't need to wait, right? There are a few conflicts.

Rebased to fix conflicts.


Migrate GrumPHP to Captain Hook

Due to Captain Hook has similar features as GrumPHP but it also offers more options. As @kpicaza commented, we could evaluate this library and have the same configuration as the one we have in GrumPHP but using Captain Hook.
So, we should:

[ ]  Migrate our current GrumPHP usage to Captain Hook
[ ] Find other options available in Captain Hook that can be useful in our context

@xserrat I'm creating a small project to filter changelog based on issue|PR title, and I'm testing captain hook. It looks good, currently, here it checks the commit message structure, then runs unit test, and last runs PHP code style checker.
Very easy to configure using JSON(mostly generated automatically)

{
    "commit-msg": {
        "enabled": true,
        "actions": [
            {
                "action": "\\CaptainHook\\App\\Hook\\Message\\Action\\Beams",
                "options": {
                    "subjectLength": 50,
                    "bodyLineLength": 72
                },
                "conditions": []
            },
            {
                "action": "\\CaptainHook\\App\\Hook\\Message\\Action\\Regex",
                "options": {
                    "regex": "`$\\[#[a-z0-9\\-]+\\].*`"
                }
            }
        ]
    },
    "pre-commit": {
        "enabled": true,
        "actions": [
            {
                "action": "\\CaptainHook\\App\\Hook\\PHP\\Action\\Linting",
                "options": [],
                "conditions": []
            },
            {
                "action": "vendor/bin/phpunit",
                "options": [],
                "conditions": []
            },
            {
                "action": "vendor/bin/phpcs --standard=psr12 src",
                "options": [],
                "conditions": []
            }
        ]
    },
}


Setup react, photon-kit and flux architecture

This PR deals with #8. Planned work:

integration of React as the front-end/rendering framework
integration of Photon-kit using React Photon-kit components.
setting up Flux architecture to completely separate app logic from representation and rendering.

Perhaps we can use something like Redux instead of implementing the architecture from scratch. What do you think @johndbritton @tarebyte ?
Side note: the build is going to break because of a bug in ESLint. A fix has been made but not published.

Huh, the build did not break - this is odd 😮

Not sure why travis wasn't getting the error I was getting locally, but running eslint with the --debug flag showed that it was running on .js files in dist - something it shouldn't be doing. I fixed this by adding an ignore file.

Perhaps we can use something like Redux instead of implementing the architecture from scratch.

I think Redux is the recommended way to do things, but I don't have a ton of experience. I say go for it if you think it makes sense.

@johndbritton I think I will - I read some blog posts comparing the different frameworks around, and everybody is praising Redux, even the engineers at Facebook. I'll start with it for now, but I'll take care to make as much of the logic Redux-agnostic as I can so we can change later if needed :)

Hey @johndbritton @tarebyte - I think this is ready for review 🎉

@btmills @atareshawty would either of you mind giving this a 👀  over?

@tarebyte I've only had a chance to skim a little. Here's one thing that I noticed though:
When creating a component, the two ways I've experienced/read about are either React.createClass or class ItemList extends React.Component
Referencing (https://github.com/education/classroom-desktop/pull/12/files#diff-e406471fd3bfe87c9712e64367df9253)
Using the later option would look something like this
import React, { Component, PropTypes } from 'react';
import { Pane, ListGroup } from 'react-photonkit';

import Item from './Item';

export default class ItemList extends Component {

  static propTypes = {
    items: PropTypes.array.isRequired,
    handleItemClick: PropTypes.func.isRequired
  }

  render() {
    return (
      <Pane>
        <ListGroup>
          {items.map(({ active, id, text }) =>
            (
              <Item
                active={active}
                handleClick={() => { this.props.handleItemClick(id) }}
                key={id}
                text={text}
              />
            )
        </ListGroup>
      </Pane>
    );
  }
}

Some benefits of this:

[ ] Once you start dealing with state, you're going to want to start using this.setState(state), which you get from extending Component
[ ] You only have to declare your propTypes once. Now, you have them as 'destructured' properties of an object getting passed to your component.
[ ] Personally, I like the syntax although I've read a lot of differing opinions there

I have a small amount of experience, so @btmills would be the person to ask there.
Hope I helped a little. I'm excited to see how this turns out :rocket:

From an idiomatic React perspective, this is really good code :+1:
(@atareshawty - we use ES6 Component on our stuff because, back when we started it, createClass was the only option, and porting from createClass to Component is much easier than the next step, which will be Component to the pure functional components we see here. As much as possible, functional components are the preferred method for green field projects today.)
@NickTikhonov nice separation of container and presentational components. For functional components, I recommend checking out recompose. Specifically, the withHandlers() higher-order component ought to help with https://github.com/education/classroom-desktop/pull/12#discussion_r69360774. In fact, the docs for that give you a better explanation than I did in my comment.

Thanks for having a glance over and for your suggestions @atareshawty @btmills :) I'll definitely take a look at recompose today and fix the issue before merging this in.

@btmills - I enabled react/jsx-no-bind which flagged the line you commented on. I read up the docs, and it seems that the arrow function is the problem here since it's analogous to calling bind on an existing function. The error went away when I replaced the arrow function with:
handleClick={function () { handleItemClick(todo.id) }}

I am guessing the above won't cause any problems on re-render since the VM can cache the unbound function - what do you think? I've taken a look at withHandlers from recompose, and I'm struggling to apply it to this case. Out of interested, could you provide an example of how it can be used here? Thanks for your help! 🍻

I'm going to merge this in and open up a new Issue/PR for a UI mock in React that implements the design proposed in #11 :)

I am guessing the above won't cause any problems on re-render since the VM can cache the unbound function - what do you think?

@NickTikhonov I can't say this for sure, but I'm guessing it wouldn't be able to cache because it needs to maintain a reference to the todo in the closure. Let me clone this and see what I can find out...
--
diff --git a/app/components/Item.jsx b/app/components/Item.jsx
index ea07c98..7d85863 100644
--- a/app/components/Item.jsx
+++ b/app/components/Item.jsx
@@ -1,20 +1,27 @@
 import React, { PropTypes } from "react"
 import {ListItem} from "react-photonkit"

+const handlers = window.handlers = new Set()
+
 const Item = ({
   text,
   active,
   handleClick
-}) => (
-  <div
-    onClick={handleClick}>
-    <ListItem
-        image="https://avatars3.githubusercontent.com/u/1744446?v=3&s=400"
-        title={text}
-        subtitle="subtitle"
-        active={active} />
-  </div>
-)
+}) => {
+  handlers.add(handleClick)
+  console.log(handlers.size)
+
+  return (
+    <div
+      onClick={handleClick}>
+      <ListItem
+          image="https://avatars3.githubusercontent.com/u/1744446?v=3&s=400"
+          title={text}
+          subtitle="subtitle"
+          active={active} />
+    </div>
+  )
+}

 Item.propTypes = {
   text: PropTypes.string.isRequired,

The above diff adds code to keep track of the handlers that the Item gets passed. If you run it, you'll see it logging a continuously incrementing size every time the state changes.
--
diff --git a/app/components/Item.jsx b/app/components/Item.jsx
index ea07c98..ae58951 100644
--- a/app/components/Item.jsx
+++ b/app/components/Item.jsx
@@ -1,25 +1,40 @@
 import React, { PropTypes } from "react"
 import {ListItem} from "react-photonkit"
+import { withHandlers } from "recompose"
+
+const handlers = window.handlers = new Set()
+
+const enhance = withHandlers({
+  handleClick: (props) => () => {
+    props.handleClick(props.id)
+  }
+})

 const Item = ({
   text,
   active,
   handleClick
-}) => (
-  <div
-    onClick={handleClick}>
-    <ListItem
-        image="https://avatars3.githubusercontent.com/u/1744446?v=3&s=400"
-        title={text}
-        subtitle="subtitle"
-        active={active} />
-  </div>
-)
+}) => {
+  handlers.add(handleClick)
+  console.log(handlers.size)
+
+  return (
+    <div
+      onClick={handleClick}>
+      <ListItem
+          image="https://avatars3.githubusercontent.com/u/1744446?v=3&s=400"
+          title={text}
+          subtitle="subtitle"
+          active={active} />
+    </div>
+  )
+}

 Item.propTypes = {
+  id: PropTypes.number.isRequired,
   text: PropTypes.string.isRequired,
   active: PropTypes.bool.isRequired,
   handleClick: PropTypes.func.isRequired
 }

-export default Item
+export default enhance(Item)
diff --git a/app/components/ItemList.jsx b/app/components/ItemList.jsx
index d50880c..66d246a 100644
--- a/app/components/ItemList.jsx
+++ b/app/components/ItemList.jsx
@@ -12,9 +12,10 @@ const ItemList = ({
         return (
           <Item
             key={todo.id}
+            id={todo.id}
             text={todo.text}
             active={todo.active}
-            handleClick={function () { handleItemClick(todo.id) }}
+            handleClick={handleItemClick}
           />
         )
       })}

If, instead, we use withHandlers, you'll see that the size of the set stays constant at 2, no matter how many times the state changes.
--
Removing the logging code, we end up with this:
diff --git a/app/components/Item.jsx b/app/components/Item.jsx
index ea07c98..248f3a4 100644
--- a/app/components/Item.jsx
+++ b/app/components/Item.jsx
@@ -1,5 +1,14 @@
 import React, { PropTypes } from "react"
 import {ListItem} from "react-photonkit"
+import { withHandlers } from "recompose"
+
+const handlers = window.handlers = new Set()
+
+const enhance = withHandlers({
+  handleClick: (props) => () => {
+    props.handleClick(props.id)
+  }
+})

 const Item = ({
   text,
@@ -17,9 +26,10 @@ const Item = ({
 )

 Item.propTypes = {
+  id: PropTypes.number.isRequired,
   text: PropTypes.string.isRequired,
   active: PropTypes.bool.isRequired,
   handleClick: PropTypes.func.isRequired
 }

-export default Item
+export default enhance(Item)
diff --git a/app/components/ItemList.jsx b/app/components/ItemList.jsx
index d50880c..66d246a 100644
--- a/app/components/ItemList.jsx
+++ b/app/components/ItemList.jsx
@@ -12,9 +12,10 @@ const ItemList = ({
         return (
           <Item
             key={todo.id}
+            id={todo.id}
             text={todo.text}
             active={todo.active}
-            handleClick={function () { handleItemClick(todo.id) }}
+            handleClick={handleItemClick}
           />
         )
       })}

Hope this helps! :beers:

Awesome, thanks for the example! I think I now understand what is happening 🙌 . I'll be sure to use this pattern in the future.


Portability issue: ps on macOS does not have -s option

duct invokes ps with the -s option for filtering by session ID, but the version of ps available on macOS by default (as of macOS Sonomoa 14.5 on an Intel chip) does not have this option (or, seemingly, any way to directly filter by session).

Thats unfortunate-- ps -s is the backbone of how this whole thing works :/

One possible option for working around this would be to give up on the idea of "no dependencies" (not sure why you're prioritizing that to begin with) and using https://github.com/giampaolo/psutil instead of ps.

Without dependencies, the script is runnable even without "installing" by just executing the script directly. @yarikoptic suggested this would be helpful in tightly controlled HPC environments.

Surely such environments would still allow installation inside a virtualenv, though?

https://github.com/giampaolo/psutil looks interesting ... but that one also does not seems to have a concept for "session" (upon a quick search).
I wonder what would be the preferable way then to track the children processes using psutil?
NB smells like we might need some pluggable/switchable setup to allow for different ways to track children processes if we decide to go cross-platform which in general would be great to have.

@jwodder could you please research on the concept of "sessions" under OSX and if ps could be used then to get processes for a specific session?

@yarikoptic

could you please research on the concept of "sessions" under OSX

They exist.

and if ps could be used then to get processes for a specific session?

Based on the ps manpage, the only viable option seems to be to use the -o or -O option to include sess (session ID) in the output while listing all processes and then filter the results inside duct.
I really think you should reconsider your aversion to using psutil as a dependency.

Is using sessions rather than just process groups even the best idea here?  Sessions seem to be intended for things like login sessions.

@jwodder please submit a PR which on OSX would perform needed ps + filtering (in the duct process) filter.
here we are mostly starting from how smon of brainlife (which has worked out for them fine for years) did it.  I have not thought yet about considering other way like groups.  From a brief overview in https://unix.stackexchange.com/questions/404054/how-is-a-process-group-id-set smells like subprocesses might be in their own groups? (which would kinda invalidate the goal here).

@yarikoptic

From a brief overview in https://unix.stackexchange.com/questions/404054/how-is-a-process-group-id-set smells like subprocesses might be in their own groups? (which would kinda invalidate the goal here).

That's not true, and that's not what that links says.  A subprocess is only in a separate process group if it or its parent process decides for it to be.

In https://github.com/con/duct/pull/151 we make assertions about the values collected in the samples, but all the MacOS tests failed.
From one of the failing mac runs Samples Collected: 0,
Wall Clock Time: 1.139 sec
Memory Peak Usage (RSS): unknown bytes
Memory Average Usage (RSS): unknown bytes
Virtual Memory Peak Usage (VSZ): unknown bytes
Virtual Memory Average Usage (VSZ): unknown bytes
Memory Peak Percentage: unknown%
Memory Average Percentage: unknown%
CPU Peak Usage: unknown%
Average CPU Usage: unknown%
Samples Collected: 0
Reports Written: 0
Since we aren't collecting samples on Mac, I've disabled those tests over there.

FWIW -- ps seems to have a way to limit by group ID
yoh@datalads-imac2 ~ % man ps | grep -1 'group ID'
     -G      Display information about processes which are running with the
             specified real group IDs.

exploring on my laptop what I have running now:
❯ ps -eo user,pid,pgid,sid,tty,stat,start,time,command --forest | head
USER         PID    PGID     SID TT       STAT  STARTED     TIME COMMAND
root           2       0       0 ?        S      Aug 07 00:00:03 [kthreadd]
root           3       0       0 ?        S      Aug 07 00:00:00  \_ [pool_workqueue_release]
root           4       0       0 ?        I<     Aug 07 00:00:00  \_ [kworker/R-rcu_g]
...
yoh      2603207    3855    3855 ?        S      Aug 14 00:00:00  \_ /usr/bin/zoom zoommtg://dartmouth.zoom.us/join?action=join&confno=7103553664&confid=dXRpZD1VVElEXzA5NDVmNDI2YWQ4MDRkOGNiMTQzNmNlN2YxMjNhMjBjJnVzcz16Z1pJak9ZWGV2WW5vSkJmelpIcGtzV2lBbmNyVURxX2tUcXluRjRBUTNuUUxVNHVDUzBtLXE2MWUzbGpZMXZMYWd0QnR6YXZ4RnBkbFViMzUwSkVMS2RmdXV6eEtrRzdWYkM0V2ozaEw4WTkxVUozbVY1T2JnTjI4blhlWkFLa3hJcHREb2tyT2dud0FYMEgwamdXN3dNVW1CUS5URFlGenhxMnlLem5oNjVkJnRpZD01NGU3ZjNlMmYxMTE0NTM0OTA2YzVkMzk3ZGQ0YTFjZg%3D%3D&browser=chrome
yoh      2603210    3855    3855 ?        SLl    Aug 14 18:50:07  |   \_ /opt/zoom/zoom zoommtg://dartmouth.zoom.us/join?action=join&confno=7103553664&confid=dXRpZD1VVElEXzA5NDVmNDI2YWQ4MDRkOGNiMTQzNmNlN2YxMjNhMjBjJnVzcz16Z1pJak9ZWGV2WW5vSkJmelpIcGtzV2lBbmNyVURxX2tUcXluRjRBUTNuUUxVNHVDUzBtLXE2MWUzbGpZMXZMYWd0QnR6YXZ4RnBkbFViMzUwSkVMS2RmdXV6eEtrRzdWYkM0V2ozaEw4WTkxVUozbVY1T2JnTjI4blhlWkFLa3hJcHREb2tyT2dud0FYMEgwamdXN3dNVW1CUS5URFlGenhxMnlLem5oNjVkJnRpZD01NGU3ZjNlMmYxMTE0NTM0OTA2YzVkMzk3ZGQ0YTFjZg%3D%3D&browser=chrome
yoh      2603223    3855    3855 ?        S      Aug 14 00:00:00  |       \_ /opt/zoom/zoom --type=zygote --no-zygote-sandbox --disable-seccomp-filter-sandbox --locales-dir-path=/opt/zoom/cef/locales --log-severity=error --resources-dir-path=/opt/zoom/cef --user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.129 Safari/537.36 Zoom/6.0.10 (5325) --lang=en-US --user-data-dir=/home/yoh/.zoom/data/cefcache/2603210 --log-file=/home/yoh/.zoom/logs/cef.log --bridge-obj-name=CefViewClient
yoh      2603265    3855    3855 ?        Sl     Aug 14 00:00:21  |       |   \_ /opt/zoom/zoom --type=gpu-process --disable-seccomp-filter-sandbox --locales-dir-path=/opt/zoom/cef/locales --log-severity=error --resources-dir-path=/opt/zoom/cef --user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.129 Safari/537.36 Zoom/6.0.10 (5325) --lang=en-US --user-data-dir=/home/yoh/.zoom/data/cefcache/2603210 --bridge-obj-name=CefViewClient --gpu-preferences=WAAAAAAAAAAgAAAEAAAAAAAAAAAAAAAAAABgAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAGAAAAAAAAAAYAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAA== --use-gl=angle --use-angle=swiftshader-webgl --log-file=/home/yoh/.zoom/logs/cef.log --shared-files --field-trial-handle=0,i,17741532032572538217,1435375236002627611,262144 --disable-features=NetworkService --variations-seed-version
yoh      2603224    3855    3855 ?        S      Aug 14 00:00:00  |       \_ /opt/zoom/zoom --type=zygote --disable-seccomp-filter-sandbox --locales-dir-path=/opt/zoom/cef/locales --log-severity=error --resources-dir-path=/opt/zoom/cef --user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.129 Safari/537.36 Zoom/6.0.10 (5325) --lang=en-US --user-data-dir=/home/yoh/.zoom/data/cefcache/2603210 --log-file=/home/yoh/.zoom/logs/cef.log --bridge-obj-name=CefViewClient
yoh      2603246    3855    3855 ?        S      Aug 14 00:00:00  |       |   \_ /opt/zoom/zoom --type=zygote --disable-seccomp-filter-sandbox --locales-dir-path=/opt/zoom/cef/locales --log-severity=error --resources-dir-path=/opt/zoom/cef --user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.129 Safari/537.36 Zoom/6.0.10 (5325) --lang=en-US --user-data-dir=/home/yoh/.zoom/data/cefcache/2603210 --log-file=/home/yoh/.zoom/logs/cef.log --bridge-obj-name=CefViewClient
yoh      2603426    3855    3855 ?        Sl     Aug 14 00:00:00  |       |       \_ /opt/zoom/zoom --type=utility --utility-sub-type=storage.mojom.StorageService --lang=en-US --service-sandbox-type=utility --locales-dir-path=/opt/zoom/cef/locales --log-severity=error --resources-dir-path=/opt/zoom/cef --user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.129 Safari/537.36 Zoom/6.0.10 (5325) --lang=en-US --user-data-dir=/home/yoh/.zoom/data/cefcache/2603210 --bridge-obj-name=CefViewSidebarEventCard --log-file=/home/yoh/.zoom/logs/cef.log --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,i,17741532032572538217,1435375236002627611,262144 --disable-features=NetworkService --variations-seed-version
yoh      2603433    3855    3855 ?        Sl     Aug 14 00:00:00  |       |       \_ /opt/zoom/zoom --type=renderer --locales-dir-path=/opt/zoom/cef/locales --log-severity=error --resources-dir-path=/opt/zoom/cef --user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.129 Safari/537.36 Zoom/6.0.10 (5325) --user-data-dir=/home/yoh/.zoom/data/cefcache/2603210 --bridge-obj-name=CefViewSidebarEventCard --first-renderer-process --disable-seccomp-filter-sandbox --force-gpu-mem-available-mb=4096 --log-file=/home/yoh/.zoom/logs/cef.log --disable-gpu-compositing --lang=en-US --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=6 --time-ticks-at-unix-epoch=-1723216287983640 --launch-time-ticks=445310822013 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,i,17741532032572538217,1435375236002627611,262144 --disable-features=NetworkService --variations-seed-version
yoh      2603435    3855    3855 ?        Sl     Aug 14 00:00:02  |       |       \_ /opt/zoom/zoom --type=renderer --locales-dir-path=/opt/zoom/cef/locales --log-severity=error --resources-dir-path=/opt/zoom/cef --user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.129 Safari/537.36 Zoom/6.0.10 (5325) --user-data-dir=/home/yoh/.zoom/data/cefcache/2603210 --bridge-obj-name=CefViewSidebarEventCard --disable-seccomp-filter-sandbox --force-gpu-mem-available-mb=4096 --log-file=/home/yoh/.zoom/logs/cef.log --disable-gpu-compositing --lang=en-US --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=5 --time-ticks-at-unix-epoch=-1723216287983640 --launch-time-ticks=445310823822 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,i,17741532032572538217,1435375236002627611,262144 --disable-features=NetworkService --variations-seed-version
yoh      2603354    3855    3855 ?        Sl     Aug 14 00:00:24  |       \_ /opt/zoom/zoom --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --locales-dir-path=/opt/zoom/cef/locales --log-severity=error --resources-dir-path=/opt/zoom/cef --user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.129 Safari/537.36 Zoom/6.0.10 (5325) --lang=en-US --user-data-dir=/home/yoh/.zoom/data/cefcache/2603210 --bridge-obj-name=CefViewClient --log-file=/home/yoh/.zoom/logs/cef.log --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,i,17741532032572538217,1435375236002627611,262144 --disable-features=NetworkService --variations-seed-version
yoh      2753828 2753827 2752414 ?        Sl     Aug 15 00:01:40  \_ emacs notes-20240815.org
yoh      2753874 2753874 2753874 ?                Sl     Aug 16 00:00:04  \_ gnome-terminal --wait
yoh      2903765 2903764 2903622 pts/13   S      Aug 16 00:00:00  \_ zsh
yoh      2903794 2903764 2903622 pts/13   Sl     Aug 16 00:00:20  |   \_ /home/yoh/.cache/gitstatus/gitstatusd-linux-x86_64 -G v1.5.4 -s -1 -u -1 -d -1 -c -1 -m -1 -v FATAL -t 32
yoh      2903791 2903790 2903622 pts/13   S      Aug 16 00:00:00  \_ zsh
yoh      2903792 2903790 2903622 pts/13   S      Aug 16 00:00:10  \_ zsh
yoh      2906434 2906433 2906287 pts/19   S      Aug 16 00:00:00  \_ zsh
yoh      2906457 2906433 2906287 pts/19   Sl     Aug 16 00:00:20  |   \_ /home/yoh/.cache/gitstatus/gitstatusd-linux-x86_64 -G v1.5.4 -s -1 -u -1 -d -1 -c -1 -m -1 -v FATAL -t 32
yoh      2906454 2906453 2906287 pts/19   S      Aug 16 00:00:00  \_ zsh
yoh      2906455 2906453 2906287 pts/19   S      Aug 16 00:00:09  \_ zsh
yoh      3159890 3159889 3159743 pts/27   S      Aug 19 00:00:00  \_ zsh
yoh      3159922 3159889 3159743 pts/27   Sl     Aug 19 00:00:06  |   \_ /home/yoh/.cache/gitstatus/gitstatusd-linux-x86_64 -G v1.5.4 -s -1 -u -1 -d -1 -c -1 -m -1 -v FATAL -t 32
yoh      3159919 3159918 3159743 pts/27   S      Aug 19 00:00:00  \_ zsh
yoh      3159921 3159918 3159743 pts/27   S      Aug 19 00:00:01  \_ zsh

so in zoom we have nice hierarchy of processes under the same GID and SID but then there are cases with new GID and SID for trivial child processes (aspell) and some times multiple zsh share the same SID but have different GID...
Interestingly I cannot even call setsid within my ipython process so I might be using it incorrectly or smth like that @asmacdo ?
❯ ipython3
Python 3.12.4 (main, Jul 15 2024, 12:17:32) [GCC 13.3.0]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.20.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import os

In [2]: os.setsid?
Signature: os.setsid()
Docstring: Call the system call setsid().
Type:      builtin_function_or_method

In [3]: os.setsid()
---------------------------------------------------------------------------
PermissionError                           Traceback (most recent call last)
Cell In[3], line 1
----> 1 os.setsid()

PermissionError: [Errno 1] Operation not permitted

In [4]: !ps -eo user,pid,pgid,sid,tty,stat,start,time,command --forest | grep -1 'ipython[3]'
yoh      3438456 3438456 3438456 pts/37   Ss   10:06:43 00:00:01  |   \_ zsh
yoh      3443116 3443116 3438456 pts/37   Sl+  10:32:05 00:00:00  |       \_ /usr/bin/python3 /usr/bin/ipython3
yoh      3443126 3443116 3438456 pts/37   S+   10:32:23 00:00:00  |           \_ /bin/zsh -c ps -eo user,pid,pgid,sid,tty,stat,start,time,command --forest | grep -1 'ipython[3]'

In [5]: os.getpid(), os.getpgrp(), os.getsid(os.getpid())
Out[5]: (3443116, 3443116, 3438456)

In [6]: os.setpgrp()

In [7]: os.getpid(), os.getpgrp(), os.getsid(os.getpid())
Out[7]: (3443116, 3443116, 3438456)

In [8]: !ps -eo user,pid,pgid,sid,tty,stat,start,time,command --forest | grep -1 'ipython[3]'
yoh      3438456 3438456 3438456 pts/37   Ss   10:06:43 00:00:01  |   \_ zsh
yoh      3443116 3443116 3438456 pts/37   Sl+  10:32:05 00:00:00  |       \_ /usr/bin/python3 /usr/bin/ipython3
yoh      3443207 3443116 3438456 pts/37   S+   10:33:20 00:00:00  |           \_ /bin/zsh -c ps -eo user,pid,pgid,sid,tty,stat,start,time,command --forest | grep -1 'ipython[3]'

without setsid I am inheriting zsh's session id, and ipython3 has its own gid, likely done by python or ipython itself first

@soichih I wonder if you considered group IDs based tracking of the processes for smon ?  may be you know if it would be better or worse for the common cases you had in brainlife?

@djarecka might help with this on her mighty aluminum beast!


Fix for piotrmurach/issues/35

Describe the change
It fixes an issue that happens by rotating to vertical and back providing no header described at piotrmurach/issues/35.
Why are we doing this?
It was failing when the table size exceeds the currently set width and it defaults to vertical orientation.
Benefits
The gem will behave as expected when rotated to vertical and again when back to horizontal.
Drawbacks
None that I can foresee, but does not hurt to have a look before. Could be good to improve all specs to have further columns and different number of columns vs rows both including versions with more columns than rows and more rows than columns to check if further similar issues are found across the library.
Requirements
Put an X between brackets on each line if you have done the item:
[X] Tests written & passing locally?
[X] Code style checked?
[X] Rebased with master branch?
[] Documentation updated?

@piotrmurach can you have a look at this?


HTTP/0.9 impl doesn't wait for fin flag.

If ATS couldn't read whole request at the first read, it fails to convert the request into HTTP/1.1 and causes 400 bad request.

From slack channel:

mcmanus [12:18 AM]
so it arrives in 3 frames.. "GET " "/" and "\r\n(withfin)"
[12:18]
that's been known to confuse people :slightly_smiling_face:
maskit [12:39 AM]
Confirmed that ATS returns 400 bad request if it couldn’t read whole request at the first read (because it doesn’t wait for fin flag). Thanks.
mcmanus [12:40 AM]
yeah.. I've never been clear on if we decided the req was terminated by fin or crlf
nibanks [12:41 AM]
I thought it was decided that FIN was the terminator,

Fixed by https://github.com/apache/trafficserver/commit/ac2e13dcd1c59fb98eeefd3f69505680ebeb0dd2


Adds nice photos and hero animations to the Grid gallery demo

You should add a README to the repo and itemize the mapping from URLs to images. And include some comforting words about the images' licensing terms.

LGTM


Revise control system for customizability

Right now it is all kinds of hacked together

Now that we've moved away from JelliScript, you can just access Control natively and this isn't really an issue any longer.


chore: update workflows

Self explanatory. Necessary for #117

@distractedm1nd currently none of the checks are required for merge.
Do you want to update that?
Also is the plan to fix all the red or was this red before?

@MSevey yes, will fix the red and then reopen for review.
I would like the linters and tests to be required for merge - this repo is simple enough that there should never be flakes

@MSevey yes, will fix the red and then reopen for review.
I would like the linters and tests to be required for merge - this repo is simple enough that there should never be flakes

Updated


feat: parse vue components in text elements

Changes

closes #649 - Refactor CmsElementText.vue to have a render function that maps certain html elements to vue components
Checklist

[x] I followed contributing guidelines

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.rigo seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

A couple of words on the code:
It's still a WIP, I've pushed so you can discuss the work done and give me some feedback.
What has been done:

HTML to AST to Vue render function
Vue render function skip compiling if there is no element to compile
We can remove/add components with a map that defines both the condition that makes the component replace a specific HTML tag and the render function that goes with it (see example with SfLink)
What's missing:
Boring code implementations should be invisible (most of the functions like the renderer, the AST visit function etc should be moved in another location
variables naming seems a bit off to me but maybe it's ok
extraComponentsMap should be moved somewhere else in a dedicated spot
Implement the correct number of extraComponents with every possibility (buttons, links, secondary and primary etc)

I hope I've done an acceptable job, if it seems alright I'll proceeds with what's missing (need some help on where to put code implementation and extraComponentsMap. Also, I need some help understanding how many components I should map and to which .vue file)

This is great feature however I'm a little bit worried about the bundle size @patzick. Maybe we should load the parser dynamically just when it's really needed. The second idea is that maybe we should have this logic in kind-of a server-side service (filtering out the CMS content before it landed from the API - to streamline the client's side logic)

Hi Piotr, bundle size is not an issue IMHO, the parser I've used is 600 bytes minified+gzipped. It's so small because it's based on regexes and assumes the HTML is valid XHTML (each tag is closed correctly).
Generating the AST server side, therefore, doesn't change that much

good thing this component is already lazy-loaded only when CMS text-element is used
but @Rigo-m as html-parse-stringify2 is very light, other two lodash and html-entities are unfortunately too large to be used here, look at this:

lodash -<EMAIL_ADDRESS>html-entities -<EMAIL_ADDRESS>so it's almost 40kB for a single component. Do you see a way to use it without these two libs?

The rest of it looks very promising, I'll test it shortly and dive deep into code :)

Lodash can be cherry picked (I'll do it while polishing the code), I'll find a solution for html-entities for sure, thanks for pointing that out.
My goal right now is to publish a small library to npm to convert html to render functions, so that code implementation will be hidden behind the library (and also other people will be able to use it)
I'll see if I can manage to implement @pkarw advices about lazy loading imports as well
The end result will be something like

export default {
  render: function (createElement) {
  return renderer(this.rawHtml, config, createElement)
}
[...]
}```

Sounds good to you?


Karpenter Addon: On upgrade to 0.33+, new CRDs are not installed by blueprints

Describe the bug
The upgrade from Alpha to Beta CRDs requires new CRDs to be installed into the cluster ahead of the helm addon.
These CRDs should be installed if they don't yet exist as a pre-install step ahead of the helm chart, when installing versions >0.32.
Currently - cluster upgrade fails with Helm failing:
UPDATE_FAILED        | Custom::AWSCDK-EKS-HelmChart          | <stackname>/chart-karpenter/Resource/Default (<biglongstackname>chartkarpenter<hash>) Received response status [FAILED] from custom resource. Message returned: Error: b'Error: UPGRADE FAILED: client rate limiter Wait returned an error: context deadline exceeded\n'
Expected Behavior
I expected the blueprints to handle installing the new CRDs.
For new installs, the easiest would be to use the CRD helm chart of the same version.  Note - this won't work if upgrading clusters that have manually added/worked around the CRD issue, due to helm dogmatically avoiding the issue of retrofitting helm over existing resources.
Otherwise, just install the 3x manifests, as per: https://karpenter.sh/docs/upgrading/upgrade-guide/#crd-upgrades
Current Behavior
Upgrade fails and rolls back.  (And if a cluster upgrade at the same time, rollback fails.)
Reproduction Steps
Install an EKS blueprint using December version + Karpenter 0.31.x
Upgrade cluster + Karpenter to 0.34.x
Possible Solution
https://karpenter.sh/docs/upgrading/upgrade-guide/#crd-upgrades
Add the CRD's to the addon code.
Additional Information/Context
No response
CDK CLI Version
2.131.0
EKS Blueprints Version
1.14.0
Node.js Version
20.11.0
Environment details (OS name and version, etc.)
gitlab ci runners
Other information
No response

Further - if we go down the helm-crd's path, then https://karpenter.sh/docs/troubleshooting/#helm-error-when-installing-the-karpenter-crd-chart provides upgrade troubleshooting.

example 1 becomes: kubectl label crd ec2nodeclasses.karpenter.k8s.aws nodepools.karpenter.sh nodeclaims.karpenter.sh app.kubernetes.io/managed-by=Helm --overwrite

example 2 becomes:
kubectl annotate crd aec2nodeclasses.karpenter.k8s.aws nodepools.karpenter.sh nodeclaims.karpenter.sh meta.helm.sh/release-namespace=karpenter --overwrite```

I want to remind everyone that even when not changing the apiVersion, CRDs can get updated with new fields.
For example, support for mounting instance store volumes was added in 0.34.0: https://github.com/aws/karpenter-provider-aws/commit/571e0fb471f04f873c290287e2ff03a6210410f6#diff-f564782b6203376bd2904fb153e560aceea1ef793c2b2e5621eb9a0886e48afe

@elamaran11 should close this as solved by PR

@Feder1co5oave Yes we can close unless there is any other issues.


Error compiling html.js when using wrapRootElement in gatsby-ssr.js with select firebase imports

As mentioned in this comment on another issue, there is an error compiling html.js after running either gatsby develop or gatsby build when wrapRootElement is used in conjunction with select firebase package imports in gatsby-ssr.js. Specifically, at least messaging, analytics, and performance all cause this error when imported, whereas firestore and functions (for example) do not cause the error.
Screenshot from the linked comment:

Github repo demonstrating the problem
Edit:
The problem just seems to be from importing those packages in gatsby-ssr.js, independent of this plugin per se. That is, there is something between firebase and gatsby that won't allow those packages to be imported in gatsby-ssr.js when using wrapRootElement. gatsby-browser.js seems to have no real problem with those imports, and indeed they work fine in development as long as the imports are left out of gatsby-ssr.js.

It occurs to me that it's not obvious why those firebase packages would need to be imported to gatsby-ssr.js anyway. I'm fairly new to Gatsby, but it seems like it would be fine to just import them in gatsby-browser.js since firebase only needs to be used during runtime, right?
I've tried building my project without any firebase imports in gatsby-ssr.js and everything seems to work correctly. Maybe the docs just need to be updated?

@BenAOlson That's a valid point. If you don't include the Firebase imports in gatsby-ssr.js, everything works as expected?
Would you be interested in making a PR in the docs?

Yes, as far as I can tell everything is working correctly of the things I have used so far in both development and from a full build.


--watch didn't check for changes in imported files

To get a serious --watch option, we should handle this. Or drop --watch.

Similar issue : https://github.com/suitcss/preprocessor/issues/3 -> https://github.com/philipwalton/deep-watch ?

We should plug a callback on postcss-import#onImport option to listen on every imported file.

You can play with a WIP by doing npm install cssnext/cssnext#watch-imported.
There is still a minor issue related to the watcher https://github.com/paulmillr/chokidar/issues/258


Correct spelling

What kind of change does this PR introduce?
Fixing incorrect spellings in /docs
Incorrect spellings are detected by Visual Studio Code's extension, Code Spell Checker(https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)

Does this PR introduce a breaking change?
No, just updating .md files

What needs to be documented once your changes are merged?
There is no need to be documented.

✅Nice!


undefined method `frame_line_idx' for an instance of Vernier::Result>

Hey hey! I'm trying out Vernier for Sentry so that it could potentially replace StackProf, and my goal is to create an output that has the same structure as StackProf so that it could Just Work with the Sentry backend (at least for a good start).
I looked into the Result class and discovered each_sample so I thought I could just use that and then I hit this:
result.each_sample { |stack, _| puts stack.frames.map(&:to_s).join("\n") }
#<NoMethodError: undefined method `frame_line_idx' for an instance of Vernier::Result>

Seems like a bug?

Thanks for the report! Fixing in https://github.com/jhawthorn/vernier/pull/88

Fix has been included in 1.1.2.


can we test for a pair of imgL and imgR?

How can we evaluate the code for  just one pair of input image with one left image and one right image?

Yes, you can implement it by editing the test file, i.e., kitti15_test.


Add example for C2103

Added a small example of the error.

#hold-off
For some reason this isn't generating the warning for me. I also tried /W4 and /Wall

This is a C (not C++) error. I added a note to clarify that.


Update to GRIDSS 2.0 module plus liftover for bedpe files

Thanks so much for the speedy and thorough review, @Kdreval! This is ready for approval now.


About the implementation on multi-scale condition.

Thanks for sharing this great work.
In the paper, you mentioned that "transfer rich multi-scale texture patterns from the source image distribution to the noise prediction"
How ever, in the code, I find that just the last layer feature of the encoder is used for cross attention. As the [-1] means:
pose_out = self.cros_attn2(x = xt_feats[-1], cond = pose_feats[-1]).mean([2,3])
Could you please briefly tell me where is the implementation of "multi-scale" feature for cross attention?

Well, I think the actual main model is class "BeatGANsAutoencModel" instead of class "BeatGANsPoseGuideModel".  And the multiscale condition feature is saved in variable "enc_cond_emb" "mid_cond_emb" and "dec_cond_emb". Is it right?

Well, I think the actual main model is class "BeatGANsAutoencModel" instead of class "BeatGANsPoseGuideModel". And the multiscale condition feature is saved in variable "enc_cond_emb" "mid_cond_emb" and "dec_cond_emb". Is it right?

I have the same question. I don't see any cross attention in BeatGANsAutoencModel, it's different from what had been shown in the original paper.


Fix for #1921

This pull request changes the downloader in the Dockerfile from wget to curl to fix #1921
Wget in busybox does not support HTTPS.
Curl is already used earlier in the same Dockerfile.

Ok, I reproduced the same issue on my machine but I don't understand why it was working on Docker Hub since it's an automated build.


[process-agent] Add loopback resolution

What does this PR do?
Add resolution for loopback to loopback flows
Motivation
This is required for visibility within pods
Additional Notes
Describe your test plan

Setup istio on a k8s cluster
Deploy an nginx pod with istio injected
curl the pod IP of the nginx pod
In flow explorer, check for loopback to loopback connections, dest port 80, source port ephemeral. These should resolve to source container as the istio sidecar proxy container and the dest container as the nginx container.

Looks great to me. I left one nit about the tests (feel free to ignore it though).
Apart from that, could you perhaps update the comments on
func (l *LocalResolver) Resolve(c *model.Connections)

And provide some context/explanation about what it is being done there?

Done, let me what you think @p-lambert


Speak not working!

Plugin not working either on web or even in android devices. Getting error:
ERROR Error:
Uncaught (in promise): TypeError: Failed to set the 'voice' property on 'SpeechSynthesisUtterance': The provided value is not of type 'SpeechSynthesisVoice'.
Also installation commends are wrong:
it should be as per the NPM directory: npm i @capacitor-community/text-to-speech

Same here!

I had the same issue, and commenting the lines 40 to 42 in<EMAIL_ADDRESS>worked for me.

I had the same issue, and commenting the lines 40 to 42 in<EMAIL_ADDRESS>worked for me.

@Vall98 would you be able to send a PR? 😊

@Vall98 would you be able to send a PR? 😊

Looks like the project is dead ?

Looks like the project is dead ?

Just opened #13

Note that it only fix the issue on web. I'm getting an other error on Android, but I don't know if it's related:
"Cannot find a differ supporting object [Voice [Name: ... ]]"


Added carbage collection back. Added arm64 binary. Moved ChangeLog to CHANGELOG.md.

Thanks to xet7 !

Oh, wow!  You not only cracked that weird gc thing he had (which is now part of build-essential or glibc?  Totally gonna try your revised Makefile lol) but you added Mac support?  That's awesome!


fix: restarted browsers not running tests

Currently whenever a browser disconnects completely (no socket.io connection loss), the launcher is instructed to "restart" the browser.
Whenever the restarted browser now tries to "register" again, Karma considers the browser instance to be still executing and doesn't do anything about it (except setting the state from EXECUTING_DISCONNECTED to EXECUTING again).
This means that the browser is in the state of executing, but practically it does nothing and just waits.
Resulting in another disconnect (story repeats here)

Note: The NodeJS v6 failures are unrelated to this pull request.

@johnjbarton Addressed mostly all of your comments. Please have another look.

Maybe v2.x of karma-sauce-launcher does not work on nodejs 6. I tried three re-runs but all fail.

@johnjbarton Yeah, selenium-webdriver which is now a dependency of the Saucelabs launcher, does not support NodeJS v6. See<EMAIL_ADDRESS>

I think we should pin karma-runner 3.x to sauce-launcher 1.x first, then release last 3.x and move on to 4.x without node 6
This PR can do in after the first step if it passes with sauce-launcher 1.x

@johnjbarton Thanks for restarting. And the plan sounds good!


Portuguese (maybe other languages) can get a false positive match on a negative sentiment

I'm not familiar with the structure of Portuguese, but it seems that a negating statement can still match our filters. The translation for "I want to go vegan" and " I don't want to go vegan" both match.
Eg: https://twitter.com/_farytopia/status/666450937188323330
Is there a way we can turn them into regex phrases that fail when there's a specific word at the start or end? Would the negative lookahead work for this purpose? http://stackoverflow.com/questions/1240275/how-to-negate-specific-word-in-regex/1240365#1240365
(My RegEx is weak)
@filp - any thoughts?

Checking the start would need a negative lookbehind, and lookbehinds don't exist in Javascript's regex implementation.
One way around that would be to match the RegEx as normal, and then split the tweet into 3 parts--before the matching phrase, the matching phrase, and after the matching phrase--and then run regex's on the before and after that would exclude the tweet if they matched. This is basically the same thing that the quote detector does currently (which I did try using regex for at one point and ran into the same lookbehind issue).
If we wanted to do that, it might be best to add a third supported filter type that is a function, and then just do all the logic in that. Or perhaps an array of [regex|string, function] where the regex/string is applied as normal but the matching phrase and full text is passed to the function to see if it should be excluded.


NoMethodError: undefined method `register_preprocessor' for nil:NilClass

Using Rails 4.2.4:
% bundle exec rake assets:precompile RAILS_ENV=production
rake aborted!
NoMethodError: undefined method `register_preprocessor' for nil:NilClass
/home/www/myapp/vendor/bundle/ruby/2.2.0/gems/i18n-js-2.1.2/lib/i18n-js/engine.rb:12:in `block in <class:Engine>'
/home/www/myapp/vendor/bundle/ruby/2.2.0/gems/railties-4.2.4/lib/rails/initializable.rb:30:in `instance_exec'
/home/www/myapp/vendor/bundle/ruby/2.2.0/gems/railties-4.2.4/lib/rails/initializable.rb:30:in `run'
/home/www/myapp/vendor/bundle/ruby/2.2.0/gems/railties-4.2.4/lib/rails/initializable.rb:55:in `block in run_initializers'
/home/www/myapp/vendor/bundle/ruby/2.2.0/gems/railties-4.2.4/lib/rails/initializable.rb:54:in `run_initializers'
/home/www/myapp/vendor/bundle/ruby/2.2.0/gems/railties-4.2.4/lib/rails/application.rb:352:in `initialize!'
/home/www/myapp/vendor/bundle/ruby/2.2.0/gems/railties-4.2.4/lib/rails/railtie.rb:194:in `public_send'
/home/www/myapp/vendor/bundle/ruby/2.2.0/gems/railties-4.2.4/lib/rails/railtie.rb:194:in `method_missing'
/usr/home/www/myapp/config/environment.rb:5:in `<top (required)>'
/home/www/myapp/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `require'
/home/www/myapp/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `block in require'
/home/www/myapp/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:240:in `load_dependency'
/home/www/myapp/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `require'
/home/www/myapp/vendor/bundle/ruby/2.2.0/gems/railties-4.2.4/lib/rails/application.rb:328:in `require_environment!'
/home/www/myapp/vendor/bundle/ruby/2.2.0/gems/railties-4.2.4/lib/rails/application.rb:457:in `block in run_tasks_blocks'
/home/www/myapp/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.0.0/lib/sprockets/rails/task.rb:62:in `block (2 levels) in define'
Tasks: TOP => environment
(See full trace by running task with --trace)

This is most likely due to Sprockets, a temp fix would be to set this in your Gemfile:
gem 'sprockets-rails', '~> 2'

Please try master and see if it fixes the problem
I will release it once enough people confirmed it's working fine

It works fine for me while using master.
Maybe you should let this issue open if you want more people to give you feedbacks.

Sure :)

I will properly release this before the new year anyway

3.0.0.rc12 released with fix for this issue