PFS-73 Create pending invoice adjustment task

Codecov Report
Attention: Patch coverage is 72.38095% with 29 lines in your changes missing coverage. Please review.

Project coverage is 63.87%. Comparing base (62a122b) to head (d26a840).

Files
Patch %
Lines

...rnal/api/create_pending_invoice_adjustment_task.go
77.77%
10 Missing and 4 partials :warning:

finance-hub/internal/api/adjust_invoice.go
30.00%
5 Missing and 2 partials :warning:

finance-api/cmd/api/ledger_entries.go
50.00%
3 Missing and 1 partial :warning:

finance-hub/internal/server/environment_vars.go
75.00%
2 Missing and 1 partial :warning:

finance-api/internal/service/ledger_entries.go
83.33%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #74      +/-   ##
==========================================
+ Coverage   63.56%   63.87%   +0.31%
==========================================
  Files          64       65       +1
  Lines        2138     2223      +85
==========================================
+ Hits         1359     1420      +61
- Misses        670      687      +17
- Partials      109      116       +7

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


Phone app service

Phone app should dynamically update info in background and push to server

Rejected. Sprint 4 each implementation will begin their own part of services


price handling on category and product page by login logout  with different tax

What happened?
On category page and product detail page the prices not reactiv if you login or logout to account with different tax.
 The prices are shown with tax. When you log in to a business account with net prices the prices still displayed with tax. After you reload the page or click on next page the prices will display correctly.
The same way if you log out from account without tax. The prices are still displayed without tax until you reload the page or click to another page.
Steps To Reproduce
.env:
HOST=<IP_ADDRESS>
PORT=3000
ADMIN_USER=admin
ADMIN_PASSWORD=
ENABLE_DEVTOOLS=true
NODE_ENV=dev
EXPERIMENTAL_IMAGE_PROCESSING_SERVER=
Initial installation
npx @shopware-pwa/cli@canary init
Is there an existing issue for this?

[X] I have searched the existing issues

Version
Canary (generated by CLI)
Which element is affected?
No response
Environment
macosx High Sierra 10.13.6
node v14.17.5
1.0.0-canary.1492 also in 1.0.0-canary.1478
Nuxt @ v2.15.8
shopware v<IP_ADDRESS> Stable Version
PWA integration 0.3.1

Relevant log output
No response

hey, @brontius thanks for filling this issue.
The reason for that is we don't refresh the whole page after the user is logged in / logged out. That's why only when you refresh/change the page after these actions you have desired results.
Your case is perfectly valid, I don't think it matches most of the use cases though.
What would you say to register interceptor methods from useUser and refresh the page on these events?
setup() {
  const { onUserLogin, onLogout } = useUser()

   function refreshPage() {
    // logic to refresh page - you need to choose the method that suits you,
    // for example refreshing the entire page and invoke SSR or just force Vue router reload.
  }

  onMounted(() => {
    onUserLogin(refreshPage);
    onLogout(refreshPage);
  })
}

let me know if that solution works for you

thank you for your answer, seen from this site it is not a bug - sorry .
To your suggestion. I have insert the interceptor on the page and it works for us if we do a Vue router reload! Easy way.
The harder way is to make a refresh since I have to ensure that the right page data are fetched before. But at the moment for the most is it ok.

Perfect!
Thanks for reaching out to us, glad we could sort that out :)


ITI: DUB extensions to Public Comment

https://github.com/IHE/ITI.DSUB_extensions
Note:

The changes will be moved into proper WORD DOCX format by @dbabato  by November 1st

Hello,
the document "IHE_ITI_Suppl_DSUB_Extensions_Rev2-0_TI_2024-10-25.docx" in a WORD DOCX format is uploaded at the link:
IHE_ITI_Suppl_DSUB_Extensions_Rev2-0_TI_2024-10-25.docx

@MaryLJ This is ready for you to start work on.


Remove comment on confirm flag

Remove comment on confirm flag

/lgtm

/wip

/hold

 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.


Natural sorting for dicts in variable explorer

[ N/A] Wrote at least one-line docstrings (for any new functions) /
[X ] Added unit test(s) covering the changes (if testable)

As suggested in  https://github.com/spyder-ide/spyder/issues/13481#event-3658990833 I've implemented natural/human sorting for the keys. This means that numbers within strings are sorted correctly as well, e.g. test3 comes before test10, which with standard sorting would not be the case (as it just compares per character).
This could also be easily added to the main sorting mechanism of the variable explorer at https://github.com/spyder-ide/spyder/blob/9991196c311074236bb7cd0e56230919453560ab/spyder/widgets/collectionseditor.py#L250, should that be done? Might be quite useful.
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: skjerns

Hello @skjerns! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file spyder/widgets/collectionseditor.py:

Line 176:17: E731 do not assign a lambda expression, use a def
Line 177:58: W605 invalid escape sequence '\d'

In the file spyder/widgets/tests/test_collectioneditor.py:

Line 836:39: E231 missing whitespace after ':'

can anyone enlighten me why the slow tests work but the fast tests fail?

@skjerns, thanks a lot for your contribution! We'd like to include it in our next release in the Spyder 4 series. For that, please make your branch to derive from our 4.x branch (instead of master), with the following commands:
git checkout 4.x
git checkout
git rebase --onto 4.x master natural_sort_vareditor
git push -f origin natural_sort_vareditor

If you decline to do that, your work will be part of Spyder 5, to be released in 2021.

@ccordoba12 I'm not getting the rebase to work and have a ton of merge conflicts. As I don't exactly know what belongs where I decided to create a new PR at #13558 . Sorry! But let's continue there for 4.x.


Facebook count not working on some URL ?

Hi,
I'm facing a weird bug. On certain urls the JSsocials Facebook counter doesn't count anything (weird because on the OpenGraph, it does). Example : for url http://urltoshare.com/aabb/ Facebook debugger finds 2 shares / likes / comments : https://developers.facebook.com/tools/debug/sharing/?q=http%3A%2F%2Furltoshare.com%2Faabb%2F
While when retrieved through Jssocials it gives 0. I precise I configured JSsocials well by the way, because if  with the same script I change the url to http://urltoshare.com it works.
Any idea why this bug ? It's quite impairing unfortunately  :/

The reason of a different value is that js-socials gets the amount of shares, while in the debugger statistics you see overall value of likes, shares and comments. So this means that this resource has 2 likes (but not shares).

It actually has 2 shares, and 0 likes and 0 comments, I know it because I made them myself  ;) So this is not the reason... I tried adding 1 more share and 1 comment for a try but still JSsocials retrieves 0 on Facebook counter, while it should count a total of 4 (3 shares and 1 comment).

Could it be something fishy about the url itself? For instance, that this url doesn't exist.
In fact, js-socials fetches share count from FB, requesting this url: https://graph.facebook.com/?id={url}.
Indeed, for https://graph.facebook.com/?id=http://urltoshare.com it returns 10.
I've tested it for some urls and it seems to work just fine.
I'm not sure what we can do, since this is FB who is providing this info.
Have you experienced this problem for real urls?

Actually Facebook is not supposed to know (or care about the fact that) this url doesn't exist  ;) And yes I've had it on a production website, I just took the easy example above to show you the issue.
The bug may be due to several parameters :

no open graph tags on the page, though it is super unlikely that this is the reason
variables in the url, for instance this url  (http://youflox.com/fr/aabbccdd-fftt-eerr-ssdafffahhh-s-sss/?show_answer=713) is retrieved by FB (1 share and 1 comment, that I made myself) but not by JSsocials which gives 0... Could that be the reason ?

Yes, it is not supposed to know, but since we have this issue, I just tried to figured out a possible reason.
For this one http://urltoshare.com/aabb/ you don't have any parameters in the url, but it doesn't work. So most probably it's og info.
What's about your production website? Do you have og tags on the page having issues with share count?

Yes I have OG on the website I am currently working on. I'm confused because yesterday evening when I tried it was working, and now it no longer does, and I dn't think I have changed anything relevant since then... Could it be that the Facebook counting API is fed up with me asking counts and refreshing the page (which I do for testing purposes) and decides to block the information from being sent to me at some point ?
Actually, on my local test it doesn't work either, while it worked yesterday. I put 2 sets of buttons, each having FB, Twitter, Pinterest and G+1, and none of them retrieves any count (neither the FB / Twitter / Pinterest /G+1 nor the global counter). BUT if I start sharing from the first set of buttons on Facebook, and then refreshes the page, now it actually shows all the shares for both sets of buttons.
I'm totally lost. But I think this is fairly important to debug this, on the other hand.

Just to rule out the 'correctness' of the page you are sharing via facebook: https://developers.facebook.com/tools/debug/sharing/
Here facebook tells you what it sees, what is wrong, and you have the possibility to clear the cache that facebook holds for that page.

Yes thanks @Ruud68 but I already checked that. So far I am only interested in the number of shares / likes / comments which should be right, not the other og: parameters
And I think I know the reason : the number of shares appears from time to time, but if I refresh the page several times it totally disappears.  I guess this is either because FB blocks me at some point (remember there are 7 different urls on each of my pages so that could give way to an overload of the API somehow) or Jssocials is not configured to work in this specific condition ?
If this is the first possibility, I'd be interested in knowing if the count is asked to FB on each page load (I think it does) or if there is a specific way of caching JSsocial uses.
Thank for your answer !

(PS : I tried putting 10 sets of buttons with different urls on a simple html page, nothing else, and at the beginning the Facebook counts are retrieved properly, but if I CTRL+F5 to refresh the page several times in the same minute, they disappear, and I get errors in the console :  Failed to load resource: the server responded with a status of 403 (Forbidden)
https://graph.facebook.com/?id=.......). Then if I go with a different IP (from my phone with data and not wifi) they are shown again.
So I am no developer but it seems that this is all due to the Facebook API, right ?  If you are interested I also found the limit you can hit the FB API, here : https://developers.facebook.com/docs/graph-api/advanced/rate-limiting
Any way to bypass this ? Registering a custom API ? Caching ?

Yes, this is FB API limitation.
You are right, this can be solved with caching. Since we are talking about page refresh, caching should be done on backend side. Check out my answer to this issue https://github.com/tabalinas/jssocials/issues/120

Ok thanks for your answer  ! :)


[6.x] Implement RedisClient

This PR implements a new optional Redis driver called RedisClient as an alternative to Predis.
Most work still lies in fixing the remaining failing tests and properly configuring clusters.
Todo

[ ] Fix tests
[ ] Implement cluster support

Nice, that's pretty cool. I think the major benefit over the php-redis extension is this:

Connections to Redis are established lazily by the client upon the first command.

@mfn yup. Predis also has this btw.

Going to just hold off on this for now as the library doesn't have large adoption at the moment it seems and we could just focus on the people using the Redis extension. We can revisit this later if needed.


Eslint not configured for new project created with CRA

Is this a bug report?
Yes. I think so

Can you also reproduce the problem with npm 4.x?

Using yarn
Which terms did you search for in User Guide?

eslint
Environment

node -v: 8.6.0
npm -v: 5.4.2
yarn --version (if you use Yarn): 1.3.2
npm ls react-scripts (if you haven’t ejected): 1.0.17

Then, specify:

Operating system: Mac OSX 10.13.1 (High Sierra)
Browser and version (if relevant):

Steps to Reproduce

(Write your steps here:)

create-react-app hello-app
cd hello-app
eslint src

Expected Behavior

Eslint runs for source
Actual Behavior

Oops! Something went wrong! :(
ESLint: 4.12.1.
ESLint couldn't find a configuration file. To set up a configuration file for this project, please run:
eslint --init

Reproducible Demo

(Paste the link to an example project and exact instructions to reproduce the issue.)

https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#displaying-lint-output-in-the-editor

@Timer is eslint not automatically set up for the command line either?

Oh nvm, I get it. Eslint is configured to run on yarn start

We do not intend for our users to ever run eslint by hand -- we have an issue about adding a npm run lint command, but it's not merged yet.
As for running with your global eslint, you need that .eslintrc file.


One tunnel deep, FD test fails

https://github.com/tenstorrent/tt-metal/actions/runs/9193264814/job/25284110942
[  FAILED  ] CommandQueueSingleCardFixture.TestSendRuntimeArgsMultiCoreRange
[  FAILED  ] CommandQueueSingleCardFixture.TestUpdateRuntimeArgsMultiCoreRange
[  FAILED  ] CommandQueueSingleCardFixture.ShardedBufferReadWrites

Probably testing changes more than functionality issues.

Passing now on galaxy/main


Keywords not being chosen over Identifiers

I am seeing an issue where I can not get the Lexer to recognize a keyword over an identifier.  I am working based on the example here: https://github.com/chevrotain/chevrotain/blob/master/examples/lexer/keywords_vs_identifiers/keywords_vs_identifiers.js
My test case is this:
it.only('Reproduce chevrotain example', () => {
      const Identifier = createToken({
      name: "Identifier",
      pattern: /[a-zA-z]\w+/,
      });

      const While = createToken({
      name: "While",
      pattern: /while/,
      // longer_alt: Identifier,  // prefer the While token over the Identifier token
      });

      const keywordsVsIdentifiersLexer = new Lexer([While, Identifier], {});
      const tokenResult = keywordsVsIdentifiersLexer.tokenize('textwhiletest');

      expect(tokenResult.errors.length, `Got at least 1 error: ${tokenResult.errors[0]?.message}`).toBe(0);
      expect(tokenResult.tokens.length).toBe(3);
      expect(tokenResult.tokens[0].tokenType.name).toBe(Identifier.name);
      expect(tokenResult.tokens[1].tokenType.name).toBe(While.name);
      expect(tokenResult.tokens[2].tokenType.name).toBe(Identifier.name);
   })

This fails because it is recognizing only 1 Identifier, when I expect it the token vector to be ['text','while','text'].
I am using cevrotain version 10.5.0 so that I can test it with Jest.
Am I missing something?

Hey @ccastillo232,
the regex used /[a-zA-z]\w+/ is eager - as long as it doesn't encounter a delimiter (i.e. as long as there are more \w characters to read) it will continue lexing until the end of the text. Internally, Chevrotain is just using the regex engine of the runtime and behaves just like any regex would on the input.
As such, this behavior is exactly within expectation. You will either need to limit your regex to be less eager or use delimiters in your input. Most languages just use whitespace for that ;)

Thank you for addressing this.  It does make sense, although it presents me with a problem for my particular use case.  I'll have to get creative.

Closing


Documentation: Global override without themes not documented well

[X] This is not a v0.x issue.
[X] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior 🤔
How to override the styling of e.g. all buttons on a page is documented well.
Current Behavior 😯
It is not documented well.
Steps to Reproduce 🕹
I want to override the font-size of ALL buttons on the page. Of course I can create a custom component, but according to here I can override styling of all components on a page.
However, when I click on the link, it explains how class names are generated, and how to apply this to an individual component.
So it's unclear to me how I can globally inject those styles to make sure that e.g. all buttons have a larger font size.

@rolandoldengarm Thanks for opening this issue, it's definitely a point we want to be a no-brainer for our users. I'm happy to be able to dive into it with you!
The first problem I can see is in https://material-ui.com/customization/components/#using-the-dev-tools. The screenshot and the wording are outdated. We should fix it, there is no UUID anymore.
It stricks me that the section n°5 of this page doesn't have any examples, while the others have. I think that we should add a few. We could take your use case as an example. So, how can you do it?

Theme variables

theme.typography.button.fontSize = '1rem';

Global CSS override

.MuiButton-root {
  font-size: 1rem;
}

Global theme override

theme.overrides = {
  MuiButton:
    root: {
      fontSize: '1rem',
    },
  },
};

Would it help? We can write more explanations around these 3 cases. What else do you think that we should add?

Hi @oliviertassinari thank you so much for your reply! Very much appreciated, you are doing an awesome job.
Yep this would be awesome. I guess these are the three most useful cases. It would be good to see it working end-to-end, e.g. not just above code examples, but also how to integrate it and see a working example. Being relatively new to Material UI, I find all the different styling methods (makeStyles, createStyles, themes, etc.) quite overwhelming, so not always sure how it works together and when to use one or the other.
For example the first example here is awesome, it describes how to override the default Typography.
Please let me know if you need more input. I've just started a project with Material UI, and while I had some startup problems, I'm now tracking along much better.

I'm on it, PR incoming.

@rolandoldengarm Let me know what you think of #16067.

Awesome, perfect @oliviertassinari !!


Package versions mismatch causes error

If there is a mismatch between the version number of Microsoft.EntityFrameworkCore.Design (in my case 7.0.4) that the user installs as part of the tutorial and Microsoft.VisualStudio.Web.CodeGeneration.Design (in my case 6.0.13) that is installed as part of Visual studio, the user will get an error saying:
There was an error running the selected code generator:
'Install the package Microsoft.VisualStudio.Web.CodeGeneration.Design and try again.'
It seems that this can occur in cases where a user may have had VS installed for a little while, and the latest stable version of Microsoft.EntityFrameworkCore.Design has moved one (or maybe more) major version ahead of the Microsoft.VisualStudio.Web.CodeGeneration.Design that seems to be pre-installed. In my case one of the packages was on version 6 and the other I installed version 7
The error is confusing because it implies that Microsoft.VisualStudio.Web.CodeGeneration.Design is not installed at all, so when the user checks and sees that this package is installed, they will likely not immediately spot the issue of version mismatches.
Alternatively the error may have occurred for some other reason that I wasn't able to identify, and was resolved when I made the package major versions match (downgrading Microsoft.EntityFrameworkCore.Design to match the major version in the tutorial, which is 6), so the description above is my best guess as to what the error was and how my solution solved that error.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 6719f08e-3bd7-dc1a-71df-f2ef9fbca9d8
Version Independent ID: 7096fdb3-612e-9e00-bd0b-8ea4886a09ce
Content: Part 2, add a model
Content Source: aspnetcore/tutorials/razor-pages/model.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @wadepickett
Microsoft Alias: wpickett

Make sure you have the SDK installed for the major version you're targeting.


Be excellent to each other

I found the rambling hit piece on the maintainers of Carthage in your read me to be pretty confronting.
I believe you're doing your own OSS project & contributions a disservice by dunking on other unpaid OSS maintainers.
Your justification for building this tool stands up without needing to take a swipe at Carthage's maintainers — I'd urge you to think about rewording your readme to make it about the positive aspects of why your project is a good choice.

@tonyarnold Thank you for opening that topic. You're right, of course. I knew there was a big risk for me of being negative when writing that section. I even tried being as objective as it was possible for me to not go to a personal level. But if you say that it is too confronting, you must be right.
Since I'm still pretty biased though (I don't think I will ever forget how frustrating the discussion in https://github.com/Carthage/Carthage/pull/1990 had been), I'm not sure which parts exactly are too harsh, so it would be great if you could just change the section in a way that it is more positive and post a PR. I'd happily merge that. Would that be okay with you?

The negativity about Carthage left a bad first impression on me.
Carthage has issues and we may not like how it’s maintained, but it has been a valuable tool in the community and our lives be so much harder without it than they are with its flaws.
I’m looking forward to a more positive readme.

I just merged #20 and hope this issue is fixed now. Sorry for being negative in the first place.


Implement missing parts of OSS RE caching

This enables action caching on OSS builds. There were two missing pieces:

write_action_result, for writing to the action cache. This was the major piece; without it, all you have is a bunch of uploaded CAS blobs for various things, but no way to find them again from the action digest. Now that the action results are uploaded as well, buck can find them when it's querying for cached actions based on the calculated digest alone.
upload_blob was a less-exercised piece of code, it was only used for uploading stdout and stderr, and even then, only if they were more than 50KiB. I have added a test for it, but not sure if internal is the right one for it to be in, or when these tests get run.

I've successfully used this implementation with BuildBuddy, both from Linux (using remote_enabled = True), and from macOS, with remote_enabled = False but caching still enabled. I have only tested it with RBE v2.3+ output_paths mode.
As an implementation note, I found it very difficult to even figure out that these parts weren't implemented. Buck2 was just saying "0% cache hits mate" and reporting that every re_action_cache (= attempts to fetch a cached action, not attempts to cache an executed action!) had failed. None of these failures were logged anywhere. I don't know what the appropriate mechanism to log this stuff is, but I whacked a tracing::warn for failed action result cache writes in there.

The TODOs around symlinking are related to https://github.com/facebook/buck2/issues/222

Having upload blob take a digest shouldn't be a big deal since I think the amount of data flowing through this API isn't big enough to matter. I can see why this is more convenient and matches the upload API better.
However, once we are going through that path, maybe we should just delete upload_blob entirely and reuse upload? That already takes a InlinedBlobWithDigest so then we could have fewer functions?

However, once we are going through that path, maybe we should just delete upload_blob entirely and reuse upload? That already takes a InlinedBlobWithDigest so then we could have fewer functions?

There is a lot of "code overhead" for each piece of GRPC client API you want to expose. There are about 5 layers of nesting that, for fn upload_blob, add exactly nothing at each layer. Each layer basically does "return this.field.upload_blob(...)". So it would certainly be economical to delete one of those function stacks. However I imagine there are opportunities to collapse the nesting and make it less costly to maintain in the first place. I might report back on that.

Some of these layers of forwarding are so we can inject the internal closed source RE client (closed source because it uses a lot of systems that aren't open source, rather than because it has magical properties). They might need to stay (or might not).

Hi @benbrittain, I haven't had any time to work on this recently. I've given you push access to my fork cormacrelf/buck2, so you can keep working on the rbe-writes branch.

Is there anything I can do here to help push this to being landed? I'm happy to finish the PR if you'd like @cormacrelf

@cormacrelf  @benbrittain any update on this PR? This might help our RE execution efficiency, and I can help if no one is working on it.

Hey @miaoyipu! It's on my near term TODO but I'm certainly not against you picking it up. If you do so though, let me know :)

Hi @cormacrelf

I've successfully used this implementation with BuildBuddy, both from Linux (using remote_enabled = True), and from macOS, with remote_enabled = False but caching still enabled. I have only tested it with RBE v2.3+ output_paths mode.

I am also trying to use this with Buildbuddy and disabled remote_enabled on Linux but I cannot get it to work. Could you share your config so I can compare that to mine? Thank you!


URGENT: Package calculation off

Hi there,
When trying to print pick lists for this month's distributions, we noticed that the package counts are off. It also appeared that the distribution quantities were changed on items.

We may also need a refresher on Distribution quantity vs. package size for inventory items. We seem to have problems getting those two numbers correct for our distributions.
We were hoping to get all these printed today so that we can have volunteers start filling orders. Please let me know if I can provide any more info to help move this along!
--Megan

Hi again--it turns out this is only happening on one organization, which seems really weird. Happy to jump on the phone if need be!

We figured out what was going on!


Make key prefixes nice

Let's remember that keyname prefixes get used in the dashboard and are a common first impression that people have of the project.  With that in mind it's important that, at least for common operations, these names are evocative and simple.
As an example, for dd.read_parquet(...) this should probably be "read_parquet" or "parquet" and not, as it is today "readparquetfsspec".

Some other concerns:

p2pshuffle -> shuffle maybe?
sum-tree / mean-tree -> sum/mean?

I would like names to be simple to understand at first glance and descriptive.
I'd think about having a general structure that we stick to, for example:
<logical expr>-<physical variant>-<task>
This would translate to sum-tree, shuffle-p2p-unpack.
Once we have a scheduler integration, we should be able to show progress on individual expressions instead of tasks which is probably a better representation for end users.

I don't object to a structure like that in theory.  I do want to make sure that we're optimizing the experience for users rather than for ourselves.  If the user really doesn't care about the physical variant, then it might not make sense to include it (unless it's really important for us when tracking down common failures (which it might be)).


Multi-turn and follow-up prompts rending bug fixes

Fix #115
Fix #113

@aosolis please take a look at this PR. Two customers are blocked.

Close. Created one PR for all fixes #117


Boorich/application game dev experience

Project Abstract

Please replace these instructions with a brief description of your project summarising key points (1-2 paragraphs).

Application Checklist
[ ] The application template or delivery template has been copied and aptly renamed for an application (project_name.md) and a delivery (project_name_m1.md).
[ ] I have read the games bounty guidelines.
[ ] Payment details have been provided (Polkadot address in the application).
[ ] The initial PR contains only one commit (squash and force-push if needed).

@boorich Thanks for the application. The GamesBounty team is reviewing it.

@darkfriend77 just flagging that we are still adding details but we expect to have a final version ready for review by this Friday May 10/2014. At the moment it's still a work in progress, it needs some additional color and internal revision to have it officially submitted your way.

@darkfriend77 This is still WIP. Please provide feedback and be in touch if you require further details. The team is working on this as we speak and we will see more commits.

@darkfriend77 just flagging that we are still adding details but we expect to have a final version ready for review by this Friday May 10/2014. At the moment it's still a work in progress, it needs some additional color and internal revision to have it officially submitted your way.

Okay, then we will wait till, you give us a go.

In the final version, please also add any relationships the team might have with curators.

replaced with: https://github.com/PolkadotPlay/GamesBounty/pull/8


Help article: How to migrate an implicit to an explicit m-n relation

We should explain how this works based on this Slack request:

Closing this as it's a duplicate of #3325


move testing to docker

Thanks for contributing to Logstash! If you haven't already signed our CLA, here's a handy link: https://www.elastic.co/contributor-agreement/

Overall, I think this makes sense, but I have not tested locally; do we plan to port this work to the rest of the plugins via mass_effect?

I'd like to avoid having our plugin tests build logstash for every test. So either we download the tar.gz or use docker images. I've been leaning towards using docker and been converting some of the plugin tests to use this strategy, which keeps getting refined by comments like yours. I think we'll soon be ready to mass convert plugins to this strategy unless there's some reason not to, wdyt?

@yaauie let me know if there are any other concerns here. thanks

Tests are failing now on master. Can test setup be updated?


Refactoring

Split refactoring commit from #42

Continuing the discussion from #42

But I am not convinced by the new design.
I cannot see a reason to use this explicit visitor pattern from a pre-modern C++ or Java world when there was no generic lambdas...
You have created a new explicit visitor with all the object-dependent implementation in it breaking the encapsulation by in-lining here all what was in the hit function before.

I don't think we "break" the encapsulation. In fact, now a sphere or rectangle don't have to be aware of what is a hit_record or a task_context, so this new design avoid a tight coupling between the scene graph objects and the rendering task.
There remains a few bit of it that could be further simplified, (especially the image_texture that still has the non satisfactory requirement of a dependency injection of a sycl::global_ptr<uint8_t>).
Speaking strictly of design, I think there is a rational for a sphere class, and rational for a ray class, but the sphere should be able to leave without knowledge of the ray (for instance if we plan to provide a scene editor, or a renderer by rasterisation...), so it does not seems a bad idea to me to have the intersection in the outside of both of these classes.
An alternative to a complete visitor class would be to have a set of overloaded intersect function, such as:
bool intersect(scene::box const& b, task_context& ctx, const ray& r, real_t min, real_t max,
               hit_record& rec, material_t&  hit_material_type) {
    hit_record temp_rec;
    scene::material_t temp_material_type;
    auto hit_anything = false;
    auto closest_so_far = max;
    // Checking if the ray hits any of the sides
    for (const auto& side : b.sides) {
      if (dev_visit(_hitable_hit(ctx, r, min, closest_so_far, temp_rec,
                                 temp_material_type),
                    side)) {
        hit_anything = true;
        closest_so_far = temp_rec.t;
        rec = temp_rec;
        hit_material_type = temp_material_type;
      }
    }
    return hit_anything;
  }

And creating implicit visitor by using
dev_visit([&ctx, &r, =min, =max, &rec,  &material](auto&& obj){
    return intersect(obj, ctx, r, min, max, rec, material);
}, variant);

But having the complete visitor class allow to DRY.

After looking at the code now with the increased complexity with new kitchen-sink visitor requiring direct access to public object members or über-friendship, I am even less convinced...

It is always read-only access on object properties, if these property become private there is no problem to get an accessor on it.
I don't think I introduced any friendship relation with this refactoring.

Having a distributed hit like before does prevent to add some hierarchy if you have 2 different implementations of sphere for example, by having a hit implemented in some sphere specific class which is inherited by the various spheres.

Not sure I understand you completely here

I need to dive into the code again...
It would be interesting whether the https://en.wikipedia.org/wiki/Bounding_volume_hierarchy will have an impact on this.

I am unsure we want to close this. Perhaps keeping this as a Draft PR instead to keep track of this?


[BUG] cloth category section

Description
Describe the bug:
Scroll in x axis is getting out of page
Or we can overflow in x axis in cloth section
https://github.com/UBA-GCOEN/StichHub/assets/92094765/8244638c-3636-4dee-a998-089b95100db1
https://github.com/UBA-GCOEN/StichHub/assets/92094765/e64a089c-7513-4874-a2e5-f18d640822d9
This issue arises in mobile devices
Pls assign this to me under gssoc23

Hey @Soulpurr
I checked the issue, so it does not happen with all mobile devices, but happens with some of them,
Kindly make it responsive for all mobile devices.
I am assigning you these issues.


Set supported python version to >=3.9 - 20

[Auto generated]
Number: [#20]

openshift-cluster-management-python-client[pull_request][99bc-11ef-95c7-9f82fa1b364c][PR 20]: Closing issue for PR: Set supported python version to >=3.9.
PR was closed.


Multithreading java to js compile

About slowly compile in https://github.com/xpenatan/gdx-dragome-backend/issues/17
When dragome compile java to js it used only one thread.
Maybe there is possibility enable multithreading dragome compile java to js?

Something is blocking.  generating with eclipse is super fast.

Dragome spend many time after write log "ClassPath Order" and before write "Compiling classes..."
And when count of class more than 3000 it spend 2-3 minutes for apply filter for all class in single thread use cpu only 10%.
Maybe this logic
https://github.com/xpenatan/gdx-dragome-backend/blob/master/backends/gdx-backend-dragome/src/com/badlogic/gdx/backends/dragome/DragomeConfiguration.java#L122
can done multithreading?


Project Manager Should Prioritize Bundled Runtime

General Summary
The project manager bundle uses local JVM runtime located at ~/.local/share/enso/runtime even if the bundled one is available:
.
├── bin
│   └── project-manager
├── dist
│   └── 0.5.19
├── runtime
│   └── graalvm-ce-java11-<IP_ADDRESS>
└── THIRD-PARTY

Steps to Reproduce

Download the project-manager bundle (tested with a 0.5.19 staging release

Extract and start the project manager

Run the IDE with --no-backend flag
./enso-linux-2.0.0-alpha.2.AppImage --dev --no-backend

ps shows that the language server is using the local JVM runtime
$ ps -ef | grep java
dbushev   298050  297863 65 17:29 pts/8    00:02:00 /home/dbushev/.local/share/enso/runtime/graalvm-ce-java11-<IP_ADDRESS>/bin/java -Dpolyglot.engine.IterativePartialEscape=true -Dtruffle.class.path.append=/home/dbushev/Downloads/enso-project-manager-0.5.19-linux-amd64/enso/dist/0.5.19/component/runtime.jar -jar /home/dbushev/Downloads/enso-project-manager-0.5.19-linux-amd64/enso/dist/0.5.19/component/runner.jar --logger-connect ws://localhost:39415/ --server --root-id 45be41b5-9c64-42e9-bac3-a359fc6661b9 --path /home/dbushev/enso/projects/Test_R --interface <IP_ADDRESS> --rpc-port 59015 --data-port 61124 --log-level info

If you remove the local runtime, the project manager starts using the bundled one.

Expected Result
The project manager uses the bundled JVM runtime even if the local one is available.

Actual Result
The project manager always uses local JVM runtime if available.

Enso Version
main @ 117ca51921c3475a39e7874d74a8185b9341af26

The project manager is doing what is globally correct. The issue is that we don't enable the launcher to download python and graal into the runtimes it downloads, but we should.


Feature request: absolute TTL

My use-case for this is as a caching layer in front of an external authoritative service. In order to guarantee changes are reflected everywhere after a certain amount of time an absolute TTL is required.
For example max = 50, maxTTL = 24h
To guarantee that cached data is updated at least once every 24h.
The current TTL option does not provide for this as a get would bump the TTL allowing for indefinitely stale data.

i like it!

The new expire property, or 4th parameter for the factory, will remove an item regardless of a ttl timer.

Nice :D thanks for looking into it.
I had a scroll through the implementation and have a question about it.
It looks as though evict / remove does not clear the expire timeout. So if fresh data from the authoritative service was readded later, it would expire sooner than the 24h.
Reset also seems to dereference, not clear the timeout.

doh, forgot about evict; probably shouldn't rush this stuff during the work day :D I'll take care of em now.

Fixed with https://github.com/avoidwork/tiny-lru/commit/bbbfacbef590f82b5f5221e0b1d1936e1196a8b5

Thank you :tada: I'll be deploying this in the wild.

Hi @avoidwork, awesome library here!
I have a similar issue; I am caching URLs and would like the oldest one that was read to be removed if there are too many. However, I would also like a maximum expiration period for each one to make sure that the data is fresh. Sounds like @Beanow situation!
So the conditions to remove an item are any of these:

Too many items; remove the last one by access_time (NOT by expiration_time).
Item too old; remove the old items to make sure the data stays fresh when the expiration_time is over.

Just wanted to make sure I understand how expire works.

Hi @franciscop,
The ttl property could be thought of as an early/soft expiration which will reset if reused, & the expire property is finite lifespan of the item in the cache, which will not reset upon access/use.
I should've named ttl something else, because it doesn't behave as you would expect in comparison to other products, it's a 'soft' expiration; when I made it I wasn't trying to force things out based on time 😬

A way to use both would be to have expire = n & ttl = expire / 2


feat: set correct numbers style based on user chosen language

Description
\setmainfont[Numbers={OldStyle}]{Linux Libertine} in XeTeX supports settings different styles for numbers, check this post for OldStyle and Lining numbers:

While OldStyles numbers looks pretty nice in English resumes, it looks bad in CJK resumes, so we want to set proper numbers style based on resume languages.
[Optional] Possible Solutions
NA
Acceptance Criteria

set OldStyle numbers for English resumes
set Lining numbers for English resumes

Todo list
NA

This is done.
For English resumes, PPResume would apply old style numbers, while for CJK resumes, it would use lining numbers.
Preview:


Implement LCD

The LCD has been integrated into the UI State Machine:

An instance of the LCD is created in the Titrator Class
States are updated to call the Titrator LCD object to update the LCD
lcd init and begin have been merged into one function
lcd_mock init and begin have been merged into one function
Unused interfaces imports were removed
Tests have been updated to reflect these changes

Added additional tests for python 3.9, 3.10, and 3.11.


Immune cell atlas - New data

Previous AUDR ticket, to track things that need attention with this dataset

Previous AUDR ticket

**Dataset/group this task is for:**

project full name:  Census of Immune Cells
project short name:  1M Immune Cells
project uuid:  cc95ff89-2e68-4a08-a234-480eca21ce79
submission date:  2019-07-03T08:31:02.873Z
submission uuid:  85e72912-9f91-4489-8169-3b43cc65a16a
update date:  2019-07-03T09:13:08.660Z
involved wranglers: Mallory,Ann,Freeberg; Danielle,,Welter;
Analysis state:  COMPLETE
Project state:  COMPLETE
Wrangler responsible for this dataset/lab:

Mallory
Description of the task:

[x] review design: cord blood donor age 0 years
[x] update postpartum EFO term to appropriate HsapDv term
[x] update project short name to not include spaces
[ ] dissociation protocol states 10x v2??
[x] review organ and organ_part ontologies in relation to all the data

Not simple:

[x] Update old less specific 10x v2 sequencing ontology (EFO:0009310) to the newer more specific 10x 3'/5' v2 sequencing ontology (EFO:0009899/EFO:0009900). This is currently dependent on when pipeline change their subscription queries: https://github.com/HumanCellAtlas/secondary-analysis/issues/800

[ ] Update file_format field from "fastq.gz" to "fastq". This is a file metadata update and is NOT a simple update.

Acceptance criteria for the task:

[ ] spreadsheet updated in Google Drive
[ ] dataset AUDRed in prod

Project short name:
Primary Wrangler:
@ESapenaVentura
Secondary Wrangler:

Associated files:

Google Drive: https://drive.google.com/drive/folders/1aFRYJu3S1IDtbpx29vwHnl8tCXXUXnZl
Latest spreadsheet: https://docs.google.com/spreadsheets/d/1DSyIB6at4K2e1TEmeAZVybRsuXPTkZbS/edit?usp=share_link&ouid=105945877951113459382&rtpof=true&sd=true
Upload areas:

New data: 69357760-b367-4085-b5c3-44d3548b0ce6/
Old data: 8ed6cfe7-1ff9-4d2f-9398-deb81ec15e7c/

Key Events

[x] Send initial instructions about contributing, including questionnaire and T&Cs
[x] Receive project questionnaire
[x] Assign the Primary Wrangler
[x] Receive T&C form filled out by at least 1 representative of group/project
[x] Send custom metadata template spreadsheet, how-to guide and directions for submitting data, matrix and cell annotation files.
[x] Receive spreadsheet (to a sufficient standard to submit dataset)
[x] Receive data, matrix and cell annotation files (to a sufficient standard to submit dataset)
[x] Curate metadata spreadsheet with ontologies
[x] Upload sheet to validate metadata
[ ] Run graph validator & Check linking
[ ] Validate data files
[ ] Ask the Secondary Wrangler for an end-to-end review of the project. Ask the Expertise Wrangler to review specific tabs if needed
[ ] Get final approval of submission from the contributor including release date, metadata spreadsheet and data files
[ ] Submit to production and inform ingest-devs the project is ready for archiving
[ ] Complete the Export SOP
[ ] Convert project data to SCEA format following the SCEA conversion SOP if appropriate

Please track the below as well as the key events:

Track date first spreadsheet received and final spreadsheet sent by editing ticket to include
date next to event.
Track spreadsheet iterations by placing asterisks next to receive spreadsheet event.
Track any metadata issues/tickets made for dataset with a bulleted list of links under
received spreadsheet event. Links should be to the ticket in the metadata repo.

Waiting on contributors to give us access to files / or to give us files via hca-util.

We finally got a spreadsheet with minimal information

Contradictory metadata in the spreadsheet that has been sent to us, will flag it and communicate to contributors.

Contacted bo About this data - Once he answers, I will proceed moving the data from terra to s3

Old submission is in metadata valid - I am going to assume that the changes were made, but the submission could not be exported because exporting of DCP1 datasets was not well understood.
I am going to export it and then proceed to create the new one

Exported DCP1 update - Will need to delete

Sequence file metadata
Links
File descriptors

New submission gave some linking errors. @ESapenaVentura will look into it today

There are 48 missing fastq files in the bucket - I am attaching the list
Sent an email to the contributor
Otherwise, the dataset is ready for secondary review!

@ESapenaVentura to message @Wkt8 when ready for review

Enrique to retrigger file validation and when that has occurred it will be ready for review.

re-triggered file validation, waiting for it to happen

This AUDR is amazing. Only two short things!
Project tabs:
Add yourself as a contributor?
Donor_Organism:
CB9 doesn't have any metadata - is this correct?
Apart from that still waiting on the dataset to hit graph valid

Hi Wei! Thanks for the review

Add yourself as a contributor?

Good catch! I'll add myself :)

CB9 doesn't have any metadata - is this correct?

I did not receive any metadata for this donor, but I can ask the contributor. A lot of the CB donors (even from previous submission) lack metadata so maybe they just don't have it

@ESapenaVentura The file validation for this has finished.

There is a problem exporting this submission asa spreadsheet.
Investigating:
2022-12-05 11:55:44,419 - TerraSpreadsheetExporter - INFO - submission_uuid:28ff3c1c-08e9-4e27-833f-04a521e24487 - export_job_id:638a2f3731a4c47b19a7c103 - project_uuid:cc95ff89-2e68-4a08-a234-480eca21ce79 - Message received
2022-12-05 11:55:44,436 - TerraSpreadsheetExporter - INFO - submission_uuid:28ff3c1c-08e9-4e27-833f-04a521e24487 - export_job_id:638a2f3731a4c47b19a7c103 - project_uuid:cc95ff89-2e68-4a08-a234-480eca21ce79 - Received spreadsheet export message, informing ingest
2022-12-05 11:55:44,472 - TerraSpreadsheetExporter - INFO - submission_uuid:28ff3c1c-08e9-4e27-833f-04a521e24487 - export_job_id:638a2f3731a4c47b19a7c103 - project_uuid:cc95ff89-2e68-4a08-a234-480eca21ce79 - Generating Spreadsheet
2022-12-05 11:56:38,198 - TerraSpreadsheetExporter - ERROR - submission_uuid:28ff3c1c-08e9-4e27-833f-04a521e24487 - export_job_id:638a2f3731a4c47b19a7c103 - project_uuid:cc95ff89-2e68-4a08-a234-480eca21ce79 - Rejecting message: {\"exportJobId\":\"638a2f3731a4c47b19a7c103\",\"submissionUuid\":\"28ff3c1c-08e9-4e27-833f-04a521e24487\",\"projectUuid\":\"cc95ff89-2e68-4a08-a234-480eca21ce79\",\"callbackLink\":\"/exportJobs/638a2f3731a4c47b19a7c103\",\"context\":{}} due to error: '5d1c67c988fa640008aff7d0'
2022-12-05 11:56:38,198 - TerraSpreadsheetExporter - ERROR - submission_uuid:28ff3c1c-08e9-4e27-833f-04a521e24487 - export_job_id:638a2f3731a4c47b19a7c103 - project_uuid:cc95ff89-2e68-4a08-a234-480eca21ce79 - '5d1c67c988fa640008aff7d0'
Traceback (most recent call last):
 File \"/app/exporter/queue/listener.py\", line 39, in try_handle_or_reject
 self.handler.handle_message(json_body, msg)
 File \"/app/exporter/terra/spreadsheet/handler.py\", line 36, in handle_message
 self.exporter.export_spreadsheet(message.project_uuid, message.submission_uuid)
 File \"/app/exporter/terra/spreadsheet/exporter.py\", line 26, in export_spreadsheet
 workbook = self.downloader.get_workbook_from_submission(submission_uuid)
 File \"/usr/local/lib/python3.10/site-packages/hca_ingest/downloader/workbook.py\", line 18, in get_workbook_from_submission
 entity_dict = self.collector.collect_data_by_submission_uuid(submission_uuid)
 File \"/usr/local/lib/python3.10/site-packages/hca_ingest/downloader/data_collector.py\", line 13, in collect_data_by_submission_uuid
 entity_dict = self.__build_entity_dict(submission)
 File \"/usr/local/lib/python3.10/site-packages/hca_ingest/downloader/data_collector.py\", line 23, in __build_entity_dict
 self.__set_inputs(entity_dict, linking_map)
 File \"/usr/local/lib/python3.10/site-packages/hca_ingest/downloader/data_collector.py\", line 75, in __set_inputs
 input_biomaterials = [entity_dict[id] for id in input_biomaterial_ids]
 File \"/usr/local/lib/python3.10/site-packages/hca_ingest/downloader/data_collector.py\", line 75, in <listcomp>
 input_biomaterials = [entity_dict[id] for id in input_biomaterial_ids]
KeyError: '5d1c67c988fa640008aff7d0'

This submission is failing because it includes new 'specimen from organism' entities that are derived from a donor exported in a previous submission.
While the export to terra process now supports this, the actual spreadsheet generator code does not.
I recommend skipping spreadsheet export for this submission, and any submission that is for a "Multi-submission project"

Looks good but I'd want Enrique to double check as this is a contributor dataset without any publication info I can check with.

The analysis files are not showing up in the matrices tab because I forgot to include the file_source
This needs a quick update. Not super important so we can go on with the release as usual

Pending the dev task:
export of project with two submission.

waiting for ebi-ait/dcp-ingest-central#928 to be in production before exporting again


andThrows with custom parameters

I have an exception that extends another, and assembles a message based upon, passing it to the parent constructor:
class CustomException extends Exception
{
    public function __construct(array $response)
    {
        $message = "";
        foreach($response as $error) {
            $message = "Error: $error\n";
        }
        parent::__construct($message);
    }
}

This type of setup isn't able to be triggered via Mockery since the andThrow method forces a string message, not any other method.
Is there a way around this?
What I've tried
$mock->andThrow(new CustomException(['test', 'test2']));
$mock->andThrow(CustomException::class, ['test', 'test2]);

Maybe you could new up the exception manually? I think that works.
$mock->shouldReceive("foo")->andThrow(new CustomException(['some error']));

Doesn't the andThrow method only accept a string as reference to the exception to be thrown?
I'll give it a spin.

This worked. Thanks


Website link in README.md points to non-functional web page

When http://caca.zoy.org/wiki/zzuf is clicked in the README.md "503 - Service Not Available" error message is shown.

Cannot reproduce now, probably fixed.

Cannot reproduce now, probably fixed.

Yes, it works for me now.

@samhocevar ready to close.


Unable to parse ObjectId.fromDate

Example that works fine in the Mongo Shell in Azure Portal, but fails in the scrapbook with a syntax error:
db.my_collection.find({
  "_id": {
    "$lt": ObjectId.fromDate(new Date("2022-08-04"))
  }
}).count();

Error details:
[{
	"resource": "REDACTED/Scrapbook-1.mongo",
	"owner": "cosmosDB.mongo",
	"severity": 8,
	"message": "Expecting parentheses or quotes at 'ObjectId'",
	"startLineNumber": 3,
	"startColumn": 12,
	"endLineNumber": 3,
	"endColumn": 12
},{
	"resource": "REDACTED/Scrapbook-1.mongo",
	"owner": "cosmosDB.mongo",
	"severity": 8,
	"message": "mismatched input '.' expecting '('",
	"startLineNumber": 3,
	"startColumn": 20,
	"endLineNumber": 3,
	"endColumn": 20
},{
	"resource": "REDACTED/Scrapbook-1.mongo",
	"owner": "cosmosDB.mongo",
	"severity": 8,
	"message": "mismatched input ')' expecting <EOF>",
	"startLineNumber": 3,
	"startColumn": 52,
	"endLineNumber": 3,
	"endColumn": 52
}]

My guess is that the grammar isn't designed for that syntax.
Workaround:
db.my_collection.countDocuments({
    $expr: { $lt: [{ $toDate: "$_id" }, ISODate("2022-08-04T11:59:59.999Z")] },
});

Just now did some deeper looking. Seems that while many people recommend the ObjectId.fromDate() method, that's a legacy Mongo Shell method from before Mongo Shell 1.0.
The workaround is acceptable for this use case.


frequent occurrences of freezing or hanging when loading the sampler

When running the "bash ./run_sim_experiments.sh --dataset_name ogbn-products --dataset_dir ../dataset --partition_labels_dir ../dataset/partition-labels --num_partitions 2", there are frequent occurrences of freezing or hanging when loading the sampler at line 71 of SALIENT_plusplus_artifact/caching/vip.py (i.e.,   for mfg in sampler:). May I ask how you handle such issues? Thank you!

Could you share the version of pytorch geometric and pytorch you are using? Also a few details about the machine you are running on would be helpful --- e.g., the number of physical CPUs.
We didn't encounter this issue when performing the original experiments or preparing/testing the artifact. I have, however, had a student who recently encountered a similar issue this fall.
The "freezing" is happening when using the pytorch geometric neighborsampler. A longer term fix for this artifact is probably to replace the neighborsampler with SALIENT's fast sampler --- mainly so that the artifact can be compatible with newer versions of pytorch geometric that have made changes to the neighborsampler/neighborloader.
As for quick, potential fixes, I might suggest trying one or both of the following:

try modifying line 66 num_workers=num_workers_sampler, and change num_workers_sampler to be equal to max(2,P-1) where P is the number of physical CPUs on your machine.

try setting pin_memory = False on line 67. I do not think there is any need to use pinned memory for the simulation code.

I may not have time to look into this more carefully for 1-2 weeks, unfortunately, but we definitely want to fix this properly. As such, I'd certainly appreciate any additional information you collect about the issue and your attempts to resolve it.
Cheers,
Tim

Thanks for your help! I am grateful for your response. My version of pytorch geometric and pytorch is same with you. My machine has 2 CPUs (each has 24 cores), and I think the neighborSampler is excuted at CPU, so it may not be related to the GPU. My codes performed will when I add torch.set_num_threads(num) where num is less than 24 (the number of cores in my CPU). Through I do not know why this makes snese. I referred https://discuss.pytorch.org/t/possible-deadlock-training-example-gets-stuck/94221.
Thank you very much!
Changyuan


react tour

Pull request template
Checklist

[ ] I have read the CONTRIBUTING guide
[ ] branch rebased on develop
[ ] styleguide check npm run validate
[ ] good naming
[ ] keep simple
[ ] video or screenshot attached
[ ] testing instruction attached
[ ] check your PR once again

Description

Video or screenshot

What and how to test

@DariaPurtova {
selector: '[data-tut="reactour__address"]',
content: This is your personal bitcoin address.       We do not store your private keys. Everything is being kept in your browser.       No server, no back-end, completely decentralized. ,
},
{
selector: '[data-tut="reactour__save"]',
content: We dont store your keys, please save it in the safe place,
},
{
selector: '[data-tut="reactour__balance"]',
content: This is your bitcoin balance. You can close your browser, reboot your computer, but your funds will be safe,
},
{
selector: '[data-tut="reactour__store"]',
content: You can store crypto of different blockcahins including Bitcoin, Ethereum, EOS, Bitcoin Cash, Litecoin and various tokens,
},
{
selector: '[data-tut="reactour__exchange"]',
content: Our killer feature is peer-to-peer exchange available in our wallet. You can perfrom Atomic Swaps with any crypto listed in our wallet. Click here!,
},
{
selector: '[data-tut="reactour__subscribe"]',
content: Join to our white list discounts, gifts, better exchange rates, etc.,

https://drive.google.com/file/d/1GuUD2ultzMiIKeuys0UVx22noOY8kWE2/view

[ ] тур должен открыватся сам при первом заходе на сайт, пока чел сам его не закроет

@Pasha8914 @noxonsu
selector: '[data-tut="reactour__address"]',
content: This is your personal bitcoin address. We do not store your private keys. Everything is kept in your browser. No server, no back-end, completely decentralized. ,
},
{
selector: '[data-tut="reactour__save"]',
content: Swap Online does NOT store your private keys, please download and keep them in a secured place,
},
{
selector: '[data-tut="reactour__balance"]',
content: This is your bitcoin balance. You can close your browser, reboot your computer. Your funds will remain safe, just don't forget to save your private keys
},
{
selector: '[data-tut="reactour__store"]',
content: You can store crypto of different blockcahins including Bitcoin, Ethereum, EOS, Bitcoin Cash, Litecoin and various tokens,
},
{
selector: '[data-tut="reactour__exchange"]',
content: Our killer feature is the peer-to-peer exchange available in our wallet powered by atomic swap technology. You can perfrom swaps with any crypto listed in our wallet. Click here!,
},
{
selector: '[data-tut="reactour__subscribe"]',
content: Join our whitelist for discounts, gifts, better exchange rates, etc.,


[SERF-1676] Add Optional Configurations And Fix Unwanted Error

Description
SERF-1676 Instantiate configuration even if some app configuration files doesn't exist

introduced configurable type for pre-defined apps
renamed pkg/internal/configuration to pkg/configration/builder
integrated all configs along with test files into pkg/configuration/apps
making config files more similar and deleted settings for incompatibility

Testing considerations
docker-compose run --rm sdk mage test:run

Related links

SERF-1676

cc @Neurostep
first of, thank you so much for putting time to read my PR and leave insight comments. I will explain my trail of problems and solutions here so we can figure out the parts we can discuss or fix.
tl;dr
It was not possible to do it in multiple commits, as it would either fail in compiling or testing.

I.Problem:
handle errors gracefully when a file is missing.
I.Solution:
config files must be specified to ignore having error, so NewConfig() must accept pre defined structures. it was accepted upon
variadic parameters would be a proper solution in a short video call. so we will have inevitable breaking change here. Solution is to create a type for pre-defined structures and pass it optionally to NewConfig()
I.Design:
a regular app NewConfig() looks like this:
func NewConfig() (*Config, error) {
	config := &Config{}
	viperBuilder := cbuilder.New("database")
...

we see 2 dependencies to this function, Config and builder so the type would be something like type Configurable func(builder.Builder, *Configuration) error . This would allow us to change builders default behavior for every app config before passing to it.To make every app config to adapt this type, we face problem II
II.Problem:

filename was included inside apps NewConfig(), now beside that it should be in configuration package where it belongs, it raises a problem, breaking tests and preventing it to have custom testfile directory, like here
as long as we're supposed to extract builder out of app configs, best place for it is configuration package. now if we use viperBuilder, it wouldn't be forward compatible (we are forcing client to only use viperBuilder), can't apply different builders to different app configs and it's impossible to mock builder within configuration package.
not a related to this ticket but still a miner problem, viperBuilder itself cannot be mocked for testing purposes.

II.Solution:
making viperBuilder an implementation of a Builder type as an interface{} could address all problems above.
II.Design:
the design is plain simple and is a copy paste of already written viperBuilder functionality (thanks to the author). To be able to write tests now, we encounter "III.challenge"
III.Challenge*:
to test apps NewConfig() we need a mock builder to be created first and then pass it to FetchConfig. the challenge comes in 2 parts. first is that we should call this new "NewMockBuilder" for each test in each package which results in having same code in every package. Other miner challenge we have is that configuration package imports 7 internal packages which increases coupling.
III.Solution:
if we gather all config files to a separate package under configuration, both problems would be solved, now we have a apps_test.go that prepares a mock builder and is used in other app configs. this way, we have a more structured configuration files using same mocked builder to reduce entropy. also, now our configuration package is only importing 2 internal library, builder and apps. also by using same mocked builder, now we can have all test files under same directory and have better readability.


Push Notification Without using Firebase and Google Service?

Hi, are there any ways to do push notification in flutter without using firebase and google service? I can not use them because firebase and google service are blocked in China and in some other countries too. Thanks a lot.

@collinjackson likely has context.
https://flutter.io/platform-channels/ are docs on writing a plugin around arbitrary system services.

Currently, the most maintained 3rd party lib looks like flutter_local_notifications

Pushy is a paid push notification solution that supports worldwide notification delivery, including delivery to Android devices in China.
We have just released an official plugin for Flutter! 🎉
https://pushy.me/docs/additional-platforms/flutter

https://onesignal.com/mobile-push

@aydin-faruk OneSignal uses Firebase Cloud Messaging and therefore cannot deliver notifications in China.

@aydin-faruk OneSignal uses Firebase Cloud Messaging and therefore cannot deliver notifications in China.

Really ? So what is the problem

@muhammad1122 FCM is blocked in China. To deliver notifications to your Flutter app within China, you will need to use another service that does not use FCM behind-the-scenes.
Pushy is such a service:
http://pushy.me/china


One Switch for Natural/Straight Mode on supporting fans

I would like to have one switch between natural and straight mode for supporting fans. Right now there are two switches (one for natural and one for straight mode) and when I turn off the one that is turned on, it turns on again without a change of modes.
I would like to have a switch specifically for straight mode. So when it is turned off (standard) the natural mode is on.
This would have the advantage that you can also switch off the straight mode from the Home.app overview. Now only one switch appears to be on and when you press it, it goes off and on again and nothing changes:

You would also no longer have to scroll in the control view of the fan:

Hi,
unfortunately it is not that easy as you imagine it. The biggest issue is here that a lot of fans support 3 modes. Straight, natural and sleep for example. How would you imagine the toggle button would behave in that case where you have 3 states? When sleep mode is enabled then the button can be neither on or off  it either it would indicate the wrong status.
It makes sense what you describe, but it cannot be that easy implemented due to the various variations which exists out there.

I understand - thank you for your fast reply.
I tried to poke around in the sourcecode but I could not get it to work for my fan. If anyone finds a solution, I would really appreciate it if you share it with me. :)


Scale based on positionX and positionY is not working

Tried passing the X and Y axis like below.
<TransformWrapper pan={panOpts}
                  defaultScale={2}
                  positionX={200}
                  positionY={100}>
....

Also tried passing negative value for positionX and positionY. No luck.

Thanks, I'll take a look at this soon and see if I can re-produce.

I have the exact same issue as well, I haven't been able to affect the position of the image if I set the scaling.

I was able to "fix" the issue locally by changing wrapperComponent.offsetWidth to !wrapperComponent.offsetWidth in StateProvider (pls see the attached image), as the logic inside the if statement overrides the transform statement. I don't know if this really a mistake, or some functionality I just don't use, so please take my fix with a grain of salt on it. In my case, which is really similar to @suriyakrish 's usage, it solved the problem.

Try adding the following options
<TransformWrapper
  pan={panOpts}
  defaultScale={2}
  positionX={200}
  positionY={100}
  options={{
    centerContent: false,
    limitToBounds: false
  }}
>

See https://github.com/prc5/react-zoom-pan-pinch/issues/34#issuecomment-796131576


Add support for pattern  in ID's

manageiq-api-common gem requires that ID's have a format.

@syncrou @lindgrenj6 Please review


[Error] There was trouble creating the ESLint CLIEngine

Hello !
First of all, thanks for this amazing project, I love it :)
Context : I'm using prettier-standard with husky and lint-staged. Relevant parts of package.json :
{
  "name": "client",
  "version": "1.0.0",
  "private": true,
  "devDependencies": {
    "husky": "^0.13.2",
    "lint-staged": "^3.4.0",
    "prettier-standard": "^1.0.4",
    "react-scripts": "^0.8.4"
  },
  "dependencies": {
    ...
  },
  "scripts": {
   ...
    "precommit": "lint-staged"
  },
  "lint-staged": {
    "gitDir": "../",
    "linters": {
      "client/src/**/*.js": [
        "prettier-standard",
        "git add"
      ]
    }
  },
  "proxy": "http://localhost:8080"
}

I don't know if it's relevant, but my git repository contains two folders : client and server. Server is a Java spring boot application, and client contains the package.json above (hence the 'gitDir' option and the linter pattern)
When I run yarn run precommit, I get the following error :
yarn run v0.20.3
$ lint-staged
 ❯ Running tasks for client/src/**/*.js
   → failure formatting 1 file with prettier-standard
   ✖ prettier-standard
     → failure formatting 1 file with prettier-standard
     git add
🚫 prettier-standard found some errors. Please fix them and try committing again.
prettier-eslint [ERROR]: There was trouble creating the ESLint CLIEngine. Is "eslintPath: /home/benoit/Documents/YR/ihm-address-control/client/node_modules/prettier-standard/node_modules/eslint" a correct path to the ESLint module?
prettier-standard [ERROR]: There was an error formatting "/home/benoit/Documents/YR/ihm-address-control/client/src/index.js":
    Error: Cannot find module '/home/benoit/Documents/YR/ihm-address-control/client/node_modules/prettier-standard/node_modules/eslint'
        at Function.Module._resolveFilename (module.js:472:15)
        at Function.Module._load (module.js:420:25)
        at Module.require (module.js:500:17)
        at require (internal/module.js:20:19)
        at getESLintCLIEngine (/home/benoit/Documents/YR/ihm-address-control/client/node_modules/prettier-eslint/dist/index.js:219:20)
        at getConfig (/home/benoit/Documents/YR/ihm-address-control/client/node_modules/prettier-eslint/dist/index.js:187:22)
        at format (/home/benoit/Documents/YR/ihm-address-control/client/node_modules/prettier-eslint/dist/index.js:78:54)
        at MapSubscriber.rxReadFile.map.text [as project] (/home/benoit/Documents/YR/ihm-address-control/client/node_modules/prettier-standard/lib/format-files.js:242:55)
        at MapSubscriber._next (/home/benoit/Documents/YR/ihm-address-control/client/node_modules/rxjs/operator/map.js:77:35)
        at MapSubscriber.Subscriber.next (/home/benoit/Documents/YR/ihm-address-control/client/node_modules/rxjs/Subscriber.js:89:18)
failure formatting 1 file with prettier-standard

I'm guessing the problem commes from prettier-standard because the path it's complaining about is in prettier-standard, but I could be wrong.
The problem is that eslint is included both by prettier-standard and prettier-eslint, so yarn doesn't put it in the prettier-standard node_modules folder. I found a workaround by adding an old version of prettier-eslint in my package.json, so that the current version end up in the folder that causes the error.
Do you know what might be causng this ? I looked in the code a bit, and it seems this line should find the correct path, but it doesn't for some reason.
Is there an option that I can give to prettier-standard to avoid this, or is there a bug ?
Thanks in advance

Hey,
Thanks for bug-report. FIrst af all prettier-eslint is a part of prettier-standard so you don't need both if you happen to depend on both of them.
For now I'm not able to reproduce this issue. What's the location of package.json? I see you're writing client/src/**/*.js in linters section, but node_modules seems to be in ihm-address-control/client/node_modules. What's your node version? Maybe you could push a repository that reproduces this issue?

Thanks for the quick reply.
Here is how the repository is :
ihm-address-control # that's the root of my repo
├ integration-tests/ #Contains some javascript code that I don't want touched by prettier-standard
├ server/ # that's java code in there. We don't care
└ client/
    ├ src/ # my source code. This is what I want formatted
    ├ node_modules/
    └ package.json # this is the package.json I've included earlier.

Currently, my package.json contains "prettier-eslint": "4.2.0", but that's only because this is the workaround I've found. Ideally, i'd remove this (like I showed in the package.json included above).
When I put prettier-eslint inside my package.json, I have the following in the repo directory :

eslint 3.8.1 in client/node_modules/eslint/
prettier-eslint 4.2.0 and eslint 3.17.1 in client/node_modules/prettier-eslint/node_modules/eslint
prettier-standard 1.0.4 and eslint 3.1.7 in client/node_modules/prettier-standard/node_modules/eslint
prettier-eslint 4.3.2 in client/node_modules/prettier-standard/node_modules/prettier-eslint

With this, everything works fine.
But when I don't put prettier-eslint in my package.json, here's what I have

eslint 3.8.1 in client/node_modules/eslint/ (no change : probably the eslint included by react-scripts)
prettier-eslint 4.3.2 and eslint 3.17.1 in client/node_modules/prettier-eslint/node_modules/eslint
prettier-standard 1.0.4 in client/node_modules/prettier-standard but nothing in client/node_modules/prettier-standard/node_modules (because prettier-eslint is already in the parent node_modules since yarn flattens the dependencies if it can)

I think this is normal : Yarn tries to flattent the dependencies inside node_modules when it can, and when I include an older version of prettier-eslint this has the effet of preventing this, which makes eslint end up in prettier-standard node_modules.
But what I don't understand is why the correct path of eslint is not detected : from what I've read of your source code, you are using find-up to find eslint, which should always work (at worst, finding eslint at the topmost level in my project's node_modules). But when eslint is not present in the prettier-standard node_module, it seems to still look for it at the same place (which cause the error i've copied in my first post).
I hope this helps you understand the problem. I'll try to make a repo to reproduce.

Thanks, I've managed to reproduce the issue, let me see what I can do

This should be fixed if you update to 1.0.5, thanks!

@BenoitAverty Do you mind if I add you to the contributors list in the README?

Awesome, It looks like it works ! Tanks a lot for your very quick fix.
You're welcome to add me to the contributors list of course, and thank you for that also (I just now discovered the awesome contributors spec)

Oops, this is broken again in 6.0.0, but works in 5.1.0

Im seeing this same error in 7.x

Experiencing in 8.0.1

I'm experiencing the same issue on version 9.0.1

@sheerun: would you please confirm whether it happens on your end for version 9.0.1?

Works for me. Please remove eslint from devDependencies or use the latest version. Otherwise please provide package.json that reproduces this issue and doesn't use legacy version of eslint

Here my package.json
  "scripts": {
    "lint": "eslint '**/*.js'",
    "lint:fix": "prettier-eslint '**/*.js' --write"
  },
  "devDependencies": {
    "eslint": "^6.7.2",
    "eslint-config-standard": "^14.1.0",
    "eslint-plugin-import": "^2.18.2",
    "eslint-plugin-node": "^10.0.0",
    "eslint-plugin-promise": "^4.2.1",
    "eslint-plugin-react": "^7.17.0",
    "eslint-plugin-standard": "^4.0.1",
    "prettier-eslint": "^9.0.1",
    "prettier-eslint-cli": "^5.0.0"
  }

@gsonly You are using prettier-eslint, not prettier-standard this is prettier-standard

@sheerun oh  my bad but thanks for response anyway


Some minor adjustments

This could be a breaking change depending on how this library is used, but I still think these changes make it more usable, and should be easy to adjust for as a user if needed (just don't call input_byte when receiving line feed if you still want the old behaviour).
As for the change regarding the output "song and dance", I'm not sure if I'm missing something, or if it's just overly complicated. Also the old solution does not work well with terminals like Cutecom, which ignore carriage return.

This should also fix issue #7

Redrawing the prompt and the line of text was quite deliberate. If you don't, you can't handle Backspace and instead can only support terminals that do line buffering.

I think this was fixed in #9


Can't find the property OperationProcessors

I want to add an OperationProcessor (for a header parameter), but don't find to option described in
https://github.com/RicoSuter/NSwag/wiki/Document-Processors-and-Operation-Processors
Here it says:

Custom processors can be added with the settings object, e.g.
settings.OperationProcessors.Add(new MyOperationProcessor());

However it doesn't say where I can find the settings object and what type it is.
I expected it to be "SwaggerUi3Settings", which is found trough the startup:
  public static void RegisterWebApi(this IAppBuilder app, HttpConfiguration config)
     {
         app.UseSwaggerUi3(typeof(Startup).Assembly, settings =>
         {
             settings.

However this object doesn't have the expected property.
Where can I set this property?

It's on the settings.GeneratorSettings property

Thanks, now I see it and it works


Fix documented HTTP return code in console POST

Addresses #9260.
Looking at instance GET (just above instance PATCH) I thought I saw another return-code/example mismatch, and I figured I might as well just PR a fix. When grepping, I realized my mistake, but also found an actual mismatch :grin: This PR fixes that one.

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

Thansk!

Can you also run make update-api and then add a separate commit with the commit text doc/rest-api: Refresh swagger YAML

Shoot, was committing with the wrong email too. Fixed.

make: swagger: Command not found

Any advise on how best to get this installed? I didn't see it mentioned in the readme.

Shoot, was committing with the wrong email too. Fixed.

make: swagger: Command not found

Any advise on how best to get this installed? I didn't see it mentioned in the readme.

It should install it as part of the make command:
https://github.com/lxc/lxd/blob/master/Makefile#L109-L111

Where is your GOBIN directory?

Seems to work OK:
rm ~/go/bin/swagger
(cd / ; GO111MODULE=on go get -v -x github.com/go-swagger/go-swagger/cmd/swagger)
ls -la ~/go/bin/swagger
-rwxrwxr-x 1 user user 24121621 Sep 22 12:13 /home/user/go/bin/swagger

The module was there, but I had to export PATH=$HOME/go/bin:$PATH for it to be found.
It is not producing any changes in the repository though:
ricab@ricab-xps13:~/mydev/lxd $ make update-api
(cd / ; GO111MODULE=on go get -v -x github.com/go-swagger/go-swagger/cmd/swagger)
# get https://proxy.golang.org/github.com/@v/list
# get https://proxy.golang.org/github.com/go-swagger/go-swagger/cmd/@v/list
# get https://proxy.golang.org/github.com/go-swagger/go-swagger/cmd/swagger/@v/list
# get https://proxy.golang.org/github.com/go-swagger/@v/list
# get https://proxy.golang.org/github.com/go-swagger/go-swagger/@v/list
# get https://proxy.golang.org/github.com/@v/list: 410 Gone (0.241s)
# get https://proxy.golang.org/github.com/go-swagger/@v/list: 410 Gone (0.358s)
# get https://proxy.golang.org/github.com/go-swagger/go-swagger/cmd/@v/list: 410 Gone (0.362s)
# get https://proxy.golang.org/github.com/go-swagger/go-swagger/cmd/swagger/@v/list: 410 Gone (0.362s)
# get https://proxy.golang.org/github.com/go-swagger/go-swagger/@v/list: 200 OK (0.372s)
WORK=/tmp/go-build528721086
swagger generate spec -o doc/rest-api.yaml -w ./lxd -m
ricab@ricab-xps13:~/mydev/lxd $ echo $?
0
ricab@ricab-xps13:~/mydev/lxd $ git status
On branch console-200-to-202
Your branch is up to date with 'origin/console-200-to-202'.

nothing to commit, working tree clean

Ah its because you've updated doc/rest-api.yaml manually which we don't normally do, just let swagger generate it.

OK, I split that one into a separate commit.

Oops, missed that one in my grep yesterday :)


Is it necessary to do retry, when failure happens?

Feature Request
We can combine Curcuit-Breaker and Retry in Resilizece4J to acquire high availability of gateway.

Please describe it in more detail.

Please describe it in more detail.

Sorry,  I mean we can use R4J Retry module to accomplish this feature.

you can pull request  to this feature.

No progress now. Closing it and please feel free to reopen it if you have any question. Thanks.


Add cute images to the README

I have some cute images from my current branding which would be good to use:

Here are some other ones we can use as well:

And these are just food items. They are low res, so one would (maybe) be good for a favicon:

Completed and merged.


Two app gateways required?

For this to work resiliently, won't there also need to be another App Gateway behind API Management to route the APIM backend across multiple servers?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 37c1f253-44c2-bd07-4c74-9d4c77c45e6e
Version Independent ID: 281ce98c-115b-3c39-52b7-3df95dfd8b52
Content: How to use Azure API Management in Virtual Network with Application Gateway
Content Source: articles/api-management/api-management-howto-integrate-internal-vnet-appgateway.md
Service: api-management
GitHub Login: @solankisamir
Microsoft Alias: sasolank

Hi @OffColour, Thanks for the feedback! We are currently investigating and will update you shortly.

Hi @OffColour Could you elaborate? Did you have any further feedback for any specific content on this documentation?

Hey @OffColour Since we haven't heard back from you, we will now proceed to close this thread for now.
If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Prevent a deprecation notice when checking the version.

Two of these were ficxed, this one was missed:

Apparently my local was out of date, sorry for the noise!


Refactor lazypath: is it possible

i want to ask about using some convention about the usage of lazypath, to be more practice when we test many configs.
i want to send the same PR
local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
end

vim.opt.rtp:prepend(lazypath)

if not pcall(require, "lazy") then
  vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" }}, true, {})
  vim.fn.getchar()
  vim.cmd.quit()
end

or hardcode the lazypath:
local lazypath = vim.fn.stdpath "data" .. "/lazykickstart/lazy.nvim"

but's, maybe i am wrong about simplicity of using many configs.

@ayoubelmhamdi you want to use multiple configs with neovim?
Then the easiest is to use the NVIM_APPNAME as suggested in the README FAQ:
https://github.com/nvim-lua/kickstart.nvim?tab=readme-ov-file#faq

Can I keep my existing configuration in parallel to kickstart?

Yes! You can use NVIM_APPNAME=nvim-NAME to maintain multiple configurations. For example, you can install the kickstart configuration in ~/.config/nvim-kickstart and create an alias:
alias nvim-kickstart='NVIM_APPNAME="nvim-kickstart" nvim'

When you run Neovim using nvim-kickstart alias it will use the alternative config directory and the matching local directory ~/.local/share/nvim-kickstart. You can apply this approach to any Neovim distribution that you would like to try out.

When you run Neovim using nvim-kickstart alias it will use the alternative config directory and the matching local directory ~/.local/share/nvim-kickstart. You can apply this approach to any Neovim distribution that you would like to try out.

is awesome, this is very very intuitive, i don't think it's works easily like that, i think i should handle the location of plugins manually.


[stable/spinnaker] Missing Line Feed after dockerRegistry password-file

Describe the bug
Code introduced in spinnaker chart version 1.23.1 for docker registry, results in no linefeed at end of password-file resulting in failed step.
https://github.com/helm/charts/commit/7cb80611b962946fe1bd0142fac41e96457f52ab#diff-af1256557bb91bed861ac163fdf85152
CREDS+="--username {{ $registry.username }}"
{{ if $registry.passwordCommand -}}
CREDS+=" --password-command {{ $registry.passwordCommand | quote }}"
{{- else -}}
CREDS+=" --password-file /opt/registry/passwords/{{ $registry.name }}"
{{- end -}}
{{ if $registry.email -}}	    {{ if $registry.email -}}
CREDS+=" --email {{ $registry.email }}"
{{- end -}}

Version of Helm and Kubernetes:
1.23.1 - gke 1.14.8
Which chart:
stable/spinnaker
What happened:
command ends up like
hal --daemon-endpoint http://cd-spinnaker-halyard:8064 config provider docker-registry account edit gcr --address https://gcr.io --username _json_key --password-file /opt/registry/passwords/gcrCRED+- --email<EMAIL_ADDRESS>What you expected to happen:
should be:
hal --daemon-endpoint http://cd-spinnaker-halyard:8064 config provider docker-registry account edit gcr --address https://gcr.io --username _json_key --password-file /opt/registry/passwords/gcr --email<EMAIL_ADDRESS>How to reproduce it (as minimally and precisely as possible):
It's visible in haliyard-config configmap after running chart install or upgrade
Anything else we need to know:

I am having the same issue and I ended up working around it by creating a script and mounting this using an additionalConfigMaps and mounting it on the clouddriver machine as well.
halyard:
  additionalConfigMaps:
    create: false
    name:
      aws-ecr-script
  additionalServiceSettings:
    clouddriver.yml:
        volumes:
        - id: aws-ecr-script
          type: configMap
          mountPath: /opt/halyard/additionalConfigMaps


Set up testing and CI

If anyone knows how to do this, help would be appreciated

With the increasing amount of issues, I had some thoughts on this:

Refactor DebugSession.run(PhpDebugSession); into a run.ts file that imports PhpDebugSession

In the tests:

construct  a new session with new
connect to it with a Node socket
send it valid XDebug messages over the socket
call PhpDebugSession request handler methods with valid VS Code protocol message object

Problems:

How to run mocha with ts tests
PhpDebugSession request handler methods are protected, how can they be called from tests?
Instead, another option would be to child_process.spawn the debug adapter and talk to it from stdin / stdout just like VS Code would
Even another option would be to mock methods with SinonJS and assert on call with specific args etc.

Thoughts?

@felixfbecker I'm working on a test suite that uses the approach you've mentioned above:
"Instead, another option would be to child_process.spawn the debug adapter and talk to it from stdin / stdout just like VS Code would"

@weinand I started on using that approach, but ran into a few issues:

For tests there needs to be a high-level API to send request, it is not acceptable to write raw Buffers to the stdin stream and parse the stdout manually.
It is going to be hard to split these tests up into isolated tests. For example, if you use mocha. Lets say you have a test (describe) for launchRequest, one for setBreakpointsRequest etc. But you can only test the setBreakpointsRequest after you also send a launchRequest. So you have 2 options:

couple your tests. make the spawned debug adapter stateful and simply make sure the launchRequest test comes before the setBreakpointsRequest test. This is definitely an antipattern.
Write helper functions that setup and teardown the debug adapter for each test in isolation, from spawning, initialization to the needed requests that need to be done beforehand. I got stuck on this.

If vscode-debugadapter-node included a class for mocking VS Code in tests, that provided an API like sendSetBreakpointsRequest() etc, that would be extremely helpful.

@felixfbecker this is what I am working on:

A high-level (most likely async/await based) API to send requests.
A framework that sets up and tears down the adapter for each test (and deals with events returned from the adapter).
Every test tests a specific VS Code scenario: e.g. "set and hit a valid breakpoint", "set a breakpoint that resolves to a different location", etc. For every adapter you will have to adapt the test suite because not every test makes sense.

:+1:
By async/await you probably mean promise-based, right? Since TypeScript only supports async/await for ES6, and then Node will throw up on the default parameters.

@weinand afaik you have written these classes in https://github.com/Microsoft/vscode-node-debug/tree/master/src/tests. I think they would make much more sense in their own NPM module so they could be added as devDependency. Will this happen anytime soon or should I copy the files over to my project?

@felixfbecker I will make this available as part of the npm module after GA (end of March). Until then
I suggest that you copy the files, use them and provide feedback!


Need help in contributing to ms dictionary

Malaysian address is mainly written in Malay. However, it is not uncommon to see certain parts written in other languages (always romanized), for e.g.
Romanized Chinese: Chan Sow Lin

IBS Centre, Level 1, Block E, Lot 8, Jalan Chan Sow Lin, 55200 Kuala Lumpur, Malaysia

Romanized (possibly) Tamil: Sambanthan

Menara Shell. No. 211 Jalan Tun Sambanthan. 50470 Kuala Lumpur

Sometimes, certain words can be written in either english and malay, e.g.
Damansara Heights (English) instead of Bukit Damansara (malay)

United Nations Malaysia,
Wisma UN, Block C
Kompleks Pejabat Damansara
Jalan Dungun, Damansara Heights
50490 Kuala Lumpur

another example: kondo/condo, blok/block

1-12-04, tingkat 12, blok 1, Kondo Rakyat Desa Pantai, Jalan Pantai Murni 2, Pantai, 59200 Kuala Lumpur

can be rewritten as

1-12-04, 12th floor, block 1, Rakyat Desa Pantai Condo, Jalan Pantai Murni 2, Pantai, 59200 Kuala Lumpur

So as far as I see in the dictionary I assume there's no order (besides each entry should start with the full spelling of term, followed by abbreviations). Is there anything I need to do to allow libpostal to handle our addresses? For example, is this necessary?

condominium|kondominium|condo|kondo

or

kondominium|kondo

is already sufficient?
Also having working exclusively with Malaysian address, I am not sure if this applies to Brunei (ms-BN) too.

Ok, so as far as the parser goes, the version that's currently in master is probably not going to work very well for your task because it doesn't handle any sub-building information (12th floor, block 1, apartment numbers, etc.) It's only designed to deal with the fields that are commonly used in OSM e.g. house_number, road, city, postcode, etc. I'd also say that Malaysia is not very well-represented in OSM relative to the number of people that live there, so there are maybe 10k training addresses in OSM, which is orders of magnitude smaller than for other countries. It's still possible to get pseudo-addresses from the road network, intersections, etc.
There's a huge rewrite of the parser being done in the parser-data branch. It's a work-in-progress and may not be ready to use for a little bit, but when it is, it includes several new address components such as unit and level. The way we accomplish that is by randomly generating sub-building information in different languages using the dictionaries, so if we get "house_number=211" and "road=Jalan Tun Sambanthan" from OSM, we might generate "apt 2" and "5th floor". There are detailed YAML configs that do this for each language. Malay is not currently included in these configs because, as you say, the sub-building info is written in English most of the time. It would be easy to copy the English config and use the slightly expanded spellings from the Malay dictionaries (in that case, you would write all the synonyms like condominium|kondominium|condo|kondo in the Malay dictionary - that means if we see "condominium" in OSM where they don't abbreviate, we can sample randomly from the dictionary and occasionally produce "kondo", etc.) Then there are some additional formatting configs which are used to specify the order of the newly added components (level comes after house number, etc.)
When that's ready to deploy, it should do reasonably well on Malaysian addresses, although I'd be more confident if there were more data in OSM. If you have any address data sets that can be contributed to either OSM or OpenAddresses, that would be another way to improve libpostal.

Unfortunately I don't own the data, so I cannot contribute them. Also most of my data do not even have coordinates attached to it.
I am actually also building a parser based on what I have (not open, and also part of my job). One thing I find frustrating about unit number for highrise buildings is that they are written in all possible permutation ($block-$level-$number, $number.$level.$block, $block$level$number etc.).
While I cannot provide addresses, I can certainly start contributing to the dictionary (aiming to send in a pull request today or early tomorrow). I probably can also start contributing random addresses to OpenAddresses from my self-composed test-set once I have them.

Hey @Jeffrey04, libpostal 1.0 has been released, and can handle units, floors, etc.
The block format used in Malaysia and Singapore is still something I'm trying to figure out how to handle consistently around the world, so that's not part of the release.
For parsing house numbers like "1-12-04", we're just going to call that the house number and not try to break it up into its constituent parts (if that's hard in one language, it's almost impossible to do across languages).

@thatdatabaseguy not sure about singapore, but in malaysia, based on the data i have in hand, there is no consistent block format.
and regarding breaking up the house numbers... if you come out with a solution, i probably always have a counterexample for that S:
anyway i will check the dictionary and see what i can contribute (:

The usps has some logic provided on how you should read high rise addresses in the us:
https://ribbs.usps.gov/cassmassguidelines/CASS and MASS Guidelines/508Version/address_match_parsing_highrise_building.htm


Tweaked the documentation

Did a pass over the documentation to polish it a little.

Great! Thanks!


xeeny xamarin

Hi,
i'm trying to use your library to connect xamarin forms server with xamarin forms client.
i can call server method but no response on the client.
my exception is: "Timeout reached without reponse"
this is StackTrace
at Xeeny.Transports.ResponseContext.GetResponse () [0x00021] in <917d92855ad64c8795ccaaf2e3600964>:0
at Xeeny.Transports.TransportBase.SendRequest (Xeeny.Transports.Message message) [0x0013f] in <917d92855ad64c8795ccaaf2e3600964>:0
at Xeeny.Connections.ClientConnection.InvokeAsync[TResponse] (System.String operation, System.Object[] parameters) [0x00099] in <33f4d7a082534d29b53ff98c310e6bbc>:0
Can you help me to use your library?

I am no longer maintaining this framework, but you can send me your code and I will check it for you.


at beginning of first run, write blank file to <homedir>/.cookiedough/.keep

this preparation step will establish if its a first-time run or not from a quick dir scan in subsequent runs

2: setup config checks for home dir + .cookiedough dir as optional spots for the user global config


Add bluge v0.2.2

Resolves #36
📝 NOTE

bluge doesn't support count only query
bluge doesn't support force merge

Indexing works. Merge does not (we can live without it if necessary). Search does not work yet..

@fulmicoton
Excuse me for leaving this PR for a long time.
I think it's ready for review, could you take a look when you have time?🙏

thank you k-yomo.
we will have a look

@k-yomo It ran fine on my computer. Thank you


Improve documentation for getting access token the official way

Hi, I am trying to get this working but the sparse information for the official way section made me struggle a lot.

Visit this page and follow tutorial to create your own application

Inform user that a read-only API key will suffice, as I do not see a reason for this page to need write.
If it needs write, include rationale.
Redirect URI seems to need some endpoint, so probably tell user to do EXAMPLE.COM/test or simialr.

Open this page and continue the process

I presume Server type is necessary here(not Client), so fill that in.
Replace Client ID and Client Secret with those of your own application.
Click the two generate buttons in Step 1.
Here's where I hit a big snag, the URL in step 2 did not seem to contain my registered callback URL.

I manually removed the redirect_uri parameter from the URL and that worked. What would be the correct approach here?

After you authorize your own application, you will get a ACCESS TOKEN and REFRESH TOKEN after following the whole process

REMEMBER : Each API key has an hourly call limit and expires forever after 8 hours. One key will not work forever. If you use the same key in quick succession, you may hit the hourly rate limit.

Couldn't you also accept the refresh token and generate a new access token as needed?

The redirect URL should be something like https://localhost:8000/ where you can redirect so you can copy everything from the redirected url bar which contains the auth code. A read only API works fine. It can be server type or client type ( that won't matter )
I deliberately avoided the refresh token option because you generate this chart once every few months and I am not hosting a persistent server. I am not storing any data from the user so I am not taking in any refresh token for persistent access.

The redirect URL should be something like https://localhost:8000/ where you can redirect so you can copy everything from the redirected url bar which contains the auth code.

This did not work for me, as per the error screenshot, could you show how you have your app setup in case it's some oddity?

I deliberately avoided the refresh token option because you generate this chart once every few months and I am not hosting a persistent server.

This however means that it's up to the user re-generating the token outside of the application, instead of just providing the same refresh token, I believe it'd be possible to use the refresh token on the client side so the user doesn't have to keep going through the annoying setup process repeatedly (or get a new token on the CLI if they're so inclined).
For example I would like to save the refresh token in my password manager and just copy paste it when necessary to use in this app.

if you use https://localhost:8000/ it will indeed show the page cannot be reached once you click allow, but you just need to copy the whole url bar and paste it in the given text box and it will filter the tokens out.
The refresh token changes every time you request an access token with it. You do not need to redo the whole app creation process. You can send a curl request with your refresh token ( as shown on the oauth tutorial page ), get a new access and refresh token pair, save the refresh token for next time, and use the new access token. It's better for security if the client handles the access token so the access is not persistent for my server.


Config source consul support 1st array

Check whether the 1st level encoded json is array or not, to
support 1st level array in consul config.
During debug, i suspected the incapability of arrray is caused by
json reader, so i added test for array. I think it makes no harm
to also check that in.

The conflicts for this need to be resolved.

Conflict resolved.