Fix request url generation

for now I'll leave it with the following behavior: if there's host header in the request - use it to set request url host, otherwise use a default value of "lambdahost:[port_number]" with http schema


tie document subscription with user pool subscription together

Summary
Test Plan

Please consider the impact of your changes on the other developers.

#28  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Silver-Sword and the rest of your teammates on  Graphite


[feat]: Develop an official website for this Guthub repository

This website needs to be able to present basic information about all open source communities~

What's the different between this and China Open Source map?


The indentation looks weird

https://github.com/NotAKidOnSteam/AssetInstancer/blob/main/AssetInstancer/Editor/AssetInstancer.cs#L1-L331
Fix it


Instructions for connecting to SQL/Kusto DB in ADS

Currently when you try to run a query in a SQL/Kusto cell that doesn't have a connection it prints a message like this :
A SQL connection has not been established.

To connect to a database, first add the SQL extension package by running the following in a C# cell:

    #r "nuget:Microsoft.DotNet.Interactive.SqlServer,*-*"

But if the user does this they'll end up with other errors since the latest version of the package usually isn't going to work with the ADS version of the extension. The instructions should be updated to specify the exact version that users for the ADS version need to use.

Ok, with the correct version of the extension this doesn't seem to be an issue. The version it pulled worked correctly. But we should make sure that this isn't going to break in the future if newer versions of the sql/kusto extensions are released.

Did you have NuGet configured to use an internal feed that might have a newer, incompatible version of the package?

Maybe - didn't really investigate that part of it when I had this issue. Given that I was able to get it working I'm not sure there's actually a bug here that customers would normally hit so I'm going to close this until we have a solid repro or issue to address.


Added gene annotation tests and a test set for control

Added gene annotation tests in file scr/memote.jl and a test set for control in test/memote.jl

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@ee4196f). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master      #16   +/-   ##
=========================================
  Coverage          ?   48.14%
=========================================
  Files             ?        2
  Lines             ?      135
  Branches          ?        0
=========================================
  Hits              ?       65
  Misses            ?       70
  Partials          ?        0

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

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

@Fl-Sch when #20 is merged pls rebase this and add yourself to the list of authors :]

you will have to rebase this PR since the structure of the code dramatically changed...

Should I add a new file gene.jl for the gene annotation tests in the memote folder like for metabolites and reactions?

Should I add a new file gene.jl for the gene annotation tests in the memote folder like for metabolites and reactions?

Yeah, technically that would make sense (esp. if there's gonna be more tests of that kind)

I have not fixed the formating  because I do not know how since I use windows.

Did you just format or did my /format work somehow?

Did you just format or did my /format work somehow?

Hmm I am not sure who formatted your PR. But if you comment /format the bot will format your PR for you. Alternatively, you can use JuliaFormatter (a package) to format your PR. Either way is fine, I usually just use /format but you need to git fetch before making more edits otherwise you will run into merge issues as your local branch will be out of sync with the remote branch.

weirdly some tests failed...

all_unannotated_genes isn't exported it seems

I will fix

Not sure if I can look over it today but I will look at it tomorrow

EDIT: actually all 3 functions are not exported but only all_unnanotated_genes is displayed as the testset fails at that point.
Possible fixes:

export all 3 functions (in src/FBCModelTests.jl)
in tests, use the prefix, as in FBCModelTests.all_unnannotated_genes for all functions

if you rebase on the current master then you won't have to do this as the auto export has been implemented there (see FBCModelTests.jl

Hope the problem is fixed now

I also needed to push the file reference to the doc generator; now I guess all is okay. Thanks a lot!


Updated missing Azure Monitor Private Endpoint DNS

Updated missing Azure Monitor Private Endpoint DNS Zone

Learn Build status updates of commit cbf172a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/private-link/private-endpoint-dns.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@asudbring

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Document first-time developer setup, add conda option

Type of PR

[ ] BUG
[ ] FEAT
[ ] MAINT
[x] DOC

Is your Pull Request linked to an existing Issue or Pull Request?
https://github.com/moj-analytical-services/splink/discussions/2019
Give a brief description for the solution you have provided
More or less followed the outline I gave in https://github.com/moj-analytical-services/splink/discussions/2019#discussioncomment-8794530, except I reordered some things.
PR Checklist

[ ] Added documentation for changes
[ ] Added feature to example notebooks or tutorial (if appropriate)
[ ] Added tests (if appropriate)
[ ] Updated CHANGELOG.md (if appropriate)
[ ] Made changes based off the latest version of Splink
[ ] Run the linter

@ThomasHepworth would you mind having a quick look at this?  I've gone through in detail, but I think it'd be good to get a second pair of eyes specifically on docs/dev_guides/changing_splink/development_quickstart.md
I have:

Built the docs locally and they look fine to me
Worked through the conda instructions, got the conda environment working and tests running within it

So I think it's just a sense check that's needed

Thank you for doing all of this!
It's really useful for us to get input and feedback from people coming to Splink from outside our bubble. I'll check it over now and leave a few comments.

Tom and I had a chat about this earlier.  We both agree it's a great improvement.
There's one aspect both of us picked up on:  Whilst the quickstart page contains options for both conda and non-conda, the way its layed out implicitly suggests that conda is the recommended option.  This didn't feel quite right because none of the core dev team use conda.
You'll see I've done a draft PR to move things around a little and include a (hopefully not too controversial) line on whether re recommend conda or not.

Thank you both for your reviews! I believe I've addressed all the comments now. See my comments on the de-emphasize conda PR -- if they look good to you, I can merge those changes into this branch.

Thanks @zmbc  yeah happy for you to go ahead and merge in the de-emphasize conda PR and after that we should be good to go.
Thanks again!

@ThomasHepworth I think this is just waiting for follow-up on your two unresolved comments above. Once we get those ironed out, it should be good to go!

@zmbc after you've tweaked the mkdocs.yml file, I'm happy to approve this from my end.
Thanks again for your work on this!

Addressed the comments, and I believe my changes should now fix the CI failures, except that the mkdocs CI seems to not like that this PR is from a fork.


[Feature Request] Add more syntax sugar to Permission class

/offtop First of all, I would like to say thank you! I really like your powerful yet simple and lightweight module! I have been bumping my head against Flask-Principal for days, but it is unnecessary too complex and I don't like the look of the code, and still I couldn't find the right way of using it (it seems that even the author has troubles with it...).
Here is my suggestion as to the subject:
Add "with" statement syntax work, for example:
class AdminRolePermission(Permission):
    # ...

# ...
with AdminRolePermission():
    # do something

It should be quite straightforward to implement and looks way better than
permission = AdminRolePermissions()
if not permission.check():
    permission.deny()
else:
    # do something

I have to say I'm alse been bumping my head against Flask-Principal for days, I really hate its complex!
Your suggestion is good, I will start to work on it in my spare time.
Thanks again!

Please, review PR #2


Convert all imgs to WebP and serve both(with fallback to basic img)

WebP is a new img format made for the web, created by Google. It's at least 10% smaller in size.

This issue has been addressed!


One-Click Application Packaging for Madara across MacOS, Linux, and Windows

Feature Description
We are looking for a solution that would allow users to run Madara as a full node on the Sharingan testnet with just one click. The application should support various platforms - MacOS, Linux, and Windows. Upon execution, it should employ a default configuration and immediately connect to the Sharingan testnet.
Requirements

Packaging: The application should be available as a downloadable package on the respective platform.
One-Click Execution: Once downloaded, users should be able to run the application with a single click.
Default Configuration: The application should automatically configure itself as a full node for the Sharingan testnet, using default settings.
Connection to Sharingan Testnet: Post-setup, the application should automatically connect to the Sharingan testnet.

Preferred User Flow

User downloads the application package suitable for their platform (MacOS, Linux, Windows).
User executes the downloaded package.
The application sets up Madara as a full node with default configuration.
The application connects to the Sharingan testnet.

Who can help?
Anyone with experience in application packaging and distribution across MacOS, Linux, and Windows platforms is invited to contribute to this feature. Furthermore, a basic understanding of the Madara full node setup and the Sharingan testnet would be beneficial.
Thank you!

close #728 as duplicate and add #727 as a blocker for this

@abdelhamidbakhta can I pick this?

Sure, assigned to you

@apoorvsadana and this team did this during the Paris hackaton


Global environments at collection level

I have checked the following:

[X] I've searched existing issues and found nothing related to my issue.

Describe the feature you want to add
Global environment at collection level so when we share collections, those variables are bundled.
Mockups or Images of the feature

Hey @g54799 !
When sharing collections, Collection Environments are included. Is there any reason why the variables couldn’t be stored directly within the collection environment itself?

E.g. I have these 3 collection environments: DEV, TEST, PREPROD
I would like to be able to define variables common to all 3 environments, so I do not have to replicate them 3 times.
Currently I can define them in a global environment but when I export the collection, those global environments are not bundled in the export.
So I would like to have a global environment at collection level.

Hi, just ran into the same issue - I'd say global envs at collection level don't make much sense, but if you just allow them to be written to their own file in a selected directory this would solve the problem, as it would allows to store it in git cleanly as each user wishes.
It ties into the problem mentioned above but the biggest problem I have at the moment is that the only way to import globals is through postman global environments... Which we're not allowed to use anymore and overall seems weird to have to maintain after migrating to bruno. I'd imagine once globals have their own file it'd be easier to manage this.
Using bruno 1.34.2 - noticed now that 1.35 is out but not really easy to update on corp machine, and see no mention of either functionality

Hi, just ran into the same issue - I'd say global envs at collection level don't make much sense, but if you just allow them to be written to their own file in a selected directory this would solve the problem, as it would allow users to store it in git cleanly as they wish .
It ties into the problem mentioned above but the biggest problem I have at the moment is that the only way to import globals is through postman global environments... Which we're not allowed to use anymore and overall seems weird to have to maintain after migrating to bruno. I'd imagine once globals have their own file it'd be easier to manage this.
Using bruno 1.34.2 - noticed now that 1.35 is out but not really easy to update on corp machine, and see no mention of either functionality

I am not suggesting moving global environments to collection. I am suggesting adding a global environment at collection level. It makes sense as I described it in details.
I think you need to create another ticket for exporting/importing global environments as it is not the same.

Ah apologies for the confusion. Totally misunderstood what you meant.
Will create a separate issue for exporting/importing. Thanks


Sort translated pages during migration

English pages within a section are sorted according to https://github.com/unicef/iogt/issues/709#issuecomment-969018032
However, this is not the case yet for translated pages: At least the section and article order is wrong. The same sorting should be applied to translated pages.

It appears that the order of English pages is imposed on the translated pages: Thus not the timestamp of the translated article is relevant, but rather the timestamp of the English original, when determining the order of articles.


add logging to determine path for creation of new.new files

The normal workflow for cache purging is to create *.new files and then to rename them to *.xml once finished. Sometimes, canceling during cache a cache purge can produce *.new.new files. There should be logging information added which helps to determine the code path which generates these files.

Closed via PR #964


Screen readers read "blank" or are silent when changing options in the dropdown

I tested the basic example on the examples page with JAWS 16 and NVDA 2015.2 screen readers, and in both cases, the options are not read when expanded and navigating through the options with the up and down arrow keys. JAWS is silent when changing options, and NVDA reads "blank".
Since we already use select2 in production and need to make this accessible, I'd be willing to help test ARIA related modifications.

Accessibility is important to us, but unfortunately it's something that we find difficult to test. During the creation of 4.0.0, we closely tested Select2 with GNOME's Orca to make sure it emulated the native select box as closely as possible.
If you could possibly give us some step-by-step instructions on how to test this issue with NVDA, that would be immensely helpful.

I'm fairly new to NVDA myself, but here are some instructions for testing the issue with NVDA:

Start NVDA
Load examples page (https://select2.github.io/examples.html) in web browser; I tested in Firefox and Chrome. It starts reading the page (type ctrl to tell it to stop).
Use tab to navigate to the basic select2 example.
alt-down-arrow to expand list. Expected result: list is expanded.
up or down arrow to navigate through options. Expected result: options are spoken. Actual result: 'blank' is spoken.

Compare with the regular select box.
NVDA probably reads 'blank' because it thinks the editable text is focused. Other examples of accessible comboboxes I've seen have used the aria-owns and aria-activedescendant attribute on the editable input which let the screen reader know what has focus.
Here are a couple of examples, albeit with different feature sets than select2:
http://oaa-accessibility.org/examplep/combobox3/
http://jquense.github.io/react-widgets/docs/#/combobox

Maybe the OOA example that uses aria-autocomplete=“inline” would be more interesting for your needs:
http://oaa-accessibility.org/examplep/combobox2/

Please also notice both examples use a container with role="application" and the options list uses role="listbox" and role="option" for the items, that's also what Mr. Zehe suggests to do for autocomplete widgets, see: https://www.marcozehe.de/2014/03/11/easy-aria-tip-7-use-listbox-and-option-roles-when-constructing-autocomplete-lists/

Hi Andrea, I thought about mentioning that when giving the examples, but I didn't have evidence that role="tree" and role="treeitem" could not be made to work as well as role="listbox" and role="option". The treeitem elements appear in MSAA as outline items, not menu items, so the issues that Marco Zehe raises might not apply.
That said, I'm not certain that a tree structure is necessary to represent a list with groups, unless select2 supports hierarchical lists. This MDN post about how Gecko, Firefox's rendering engine, overrides descriptions for outline items suggest that the outline item may result in too much information, but I haven't tested it.

Hi okonomiyaki :) This is what a treeview is intended to be:
http://www.w3.org/TR/wai-aria-practices/#TreeView
So it's really about items that can be expanded or collapsed. Working example:
http://accessibleculture.org/research-files/aria-tree-views/treeviewD.html
Tested with Firefox + NVDA and perfectly works, it also announces the "level".
![It works]
(https://cldup.com/jS1f_-rs3U.png)
As I see it, a treeview it's not appropriate to replicate a native select which is basically a list of options with optional groups. All the implementations I've seen use listbox and option for the list of results. I definitely agree the aria-owns and aria-activedescendant properties should be set on the focused field. Heading up to #3744

Hi, I'm also working on making this accessible - the main change I've made so far is adding aria-activedescendant to the search input and that seems to improve things a lot. I'll try and submit a pull request soon once we've done some more testing, although it probably won't be a comprehensive solution ...
BTW, I tend to test with ChromeVox (at least initially) - as a sighted user it's easiest to have a screen reader which only affects the browser, and in my experience ChromeVox's feature set is much more similar to JAWS/NVDA than Orca's is.

I'm still able to reproduce this issue. I'm using version 47.0.2526.80 of chrome and 2015.4 of nvda and version 4.0.1 of select2. The screen reader is still reading blank when changing options in the dropdown. Any ideas from those than have been able to get this to work would be greatly appreciated.

Same on JAWS 17. Our current work around is to use an "live" region to hold current text of current highlighted title - when hled use javascript to update the regions text.

I am able to reproduce this issue on Chrome  48.0.2564.109 and 2015.4 of NVDA and 4.0.1. of select2, however firefox 43.0.4 correctly reads out the items to me using the same versions of NVDA and select2.

Getting different results here, can still reproduce on Firefox, see screenshot below (Firefox 44, NVDA 2015.4). Worth noting testing with Chrome + NVDA is a bit pointless, since it's not the best browser/screen reader combination.
![Firefox 44 + NVDA]
(https://cldup.com/lW4_T0efGD.png)

@kevin-brown hello. I've recently spent some time investigating on this and I think there's probably more than one reason why the options are not announced by screen readers. I think this would require to proceed step by step, with various PRs to evaluate and hopefully merge.
I'd greatly appreciate any recommendation and any thoughts :)
I'm also trying to draft a sort of broader plan to make Select2 accessible as much as possible. Would greatly appreciate to discuss it with you and anyone who's interested :)

Just submitted a PR as a first attempt to improve things :)
There are best practices and examples to follow to build a "combobox widget", and also the suggested W3C authoring practices, see:
ARIA authoring practices: combobox
https://www.w3.org/TR/wai-aria-practices/#combobox
There are two design pattern examples, the second one fits our case. Please consider these are just suggested design patterns, so the "button" mentioned in the examples is not really required. The main things are:

The first element for the combobox has a role of combobox and behaves like an input text field
The next element has a listbox role and represents the drop down list
Each item in the listbox is an option
Additionally: https://www.w3.org/TR/wai-aria-practices/#Listbox Each selected list item should have aria-selected="true"

I'd suggest to have a look at this post by Mr. James Craig (one of the Editors of the ARIA spec among other things):
Using ARIA 1.0 and the WebKit Accessibility Node Inspector (Jun 10, 2014)
https://webkit.org/blog/3302/aria-and-accessibility-inspector/
See Example 3: Combo Box with a “Status” Live Region. Feel free to skip the "live region" part but do watch the video! Important thing to notice: the aria-selected attribute usage.
Also, two examples to follow:

James Craig demo: https://webkit.org/blog-files/aria1.0/combobox_with_live_region_status.html
the Twitter search :)

ARIA roles and properties are still implemented inconsistently across browsers and Assistive Technologies so I'd recommend to focus on testing with the main browsers/screen readers combinations, the ones known to work best are:

Firefox and NVDA
Safari and VoiceOver
Internet Explorer 11 and JAWS

This first PR should make the two basic "Single" and "Multiple" examples work with

Firefox and NVDA: it seems to me everything works fine, even the "optgroups" are announced correctly
Internet Explorer 11 and JAWS: works but doesn't announces the "optgroups" and there's an issue to solve with initial focus on the "Multiple" select, I'd say this should go in a separate issue

About Safari and VoiceOver, they need aria-selected on the "highlighted" option so this would require some additional change, going to open a separate issue for this.
As far as I see, there are a couple more issues to solve, related to missing IDs and a big Safari issue with the nested options, going to open separate issues and reference this ticket.
Any thoughts and feedback are very welcome! Also, testing would be nice :)
TL;DR a working draft with some research and a possible plan:
https://github.com/wpaccessibility/select2-a11y/issues/1

Hallo guys,
i'm very interessted in this progress. Our web application needs to be accsessible, so it would be great if this great component will be accessible shortly.
Does somebody know how long it will take? Additionaly i want to say: Until now you guys have made a great job! :)

Hellow Guys,
i am using jaws16 and read as silent when give down arrow key in keyboard for dropdown box.
its not happing for all the time.
Any solution for this issue

I have this same problem, as well as a couple others. I have a fix for some of them, but this appears to be caused by the focus being set to the input box even while the highlight is changed in the list. If I filter the results, it reads the filter to me every time. Any thoughts?

I am having same problem. Options are not readable by jaws. Please help.

some review on this ?

Knock knock. Who's there? Your conscience. Wondering if there's a status update on this.

i think some people and companies who are using your nice piece would be happy if this problem is not ignored. Accessibility is very important for some people. So please stay tuned.

Knock knock, again and again...

We are getting this accessibility error:  "The text input element is not valid for the combobox role."

For reference (and/or if you want to reproduce report above), the tool I and @ecumike use to scan for accessibility issues is this one https://chrome.google.com/webstore/detail/ai-enabled-accessibility/gglkcegocebeligemjccigfaloccnkeo

Bump

Bump

Bump

Stale should never come around and mark this ticket again. 🎉

Thank you. I'd try to create a fix, but I'm not overly familiar with JS, and would rather avoid it if possible.

iOS VoiceOver screen reader --> A user is able to expand and collapse the dropdown now, however, after expanding and swiping, the focus does not move to the first list item as would be the expected behavior. Instead, the focus moves past these items and into the next element. Only once the user has swiped through the remainder of the page does the focus then jump back into the dropdown list items.

Maybe this helps somebody running into this issue:
After reading the comment with aria-activedescendant I checked if this is set on the input field. It was not. As far as I can see this depends on _resultId being set on the item. This was undefined for our usecase. It seems that this should be set in src/js/select2/data/select.js#_normalizeItem. This fails because item._resultId is undefined instead of null.
So I went for the workaround to just set _resultId to the same value as id before passing the items to select2.
This works on Windows/Chrome/NVDA and Linux/Firefox/Orca.

Maybe this helps somebody running into this issue:
After reading the comment with aria-activedescendant I checked if this is set on the input field. It was not. As far as I can see this depends on _resultId being set on the item. This was undefined for our usecase. It seems that this should be set in src/js/select2/data/select.js#_normalizeItem. This fails because item._resultId is undefined instead of null.
So I went for the workaround to just set _resultId to the same value as id before passing the items to select2.
This works on Windows/Chrome/NVDA and Linux/Firefox/Orca.

In our case an undefined container is the cause.

Do you happen to know why container was undefined? I've heard of this happening in other cases and I wonder if it's a contributor to this issue still occurring in newer versions of Select2.

In our case an undefined container is the cause.

Do you happen to know why container was undefined? I've heard of this happening in other cases and I wonder if it's a contributor to this issue still occurring in newer versions of Select2.

I had a similar case to @c-goetz where setting _resultId seemed to resolve this and enabled the screen reader to begin reading the results.
I can replicate the behaviour in the AJAX example but it doesn't seem to occur in the search example.

Unfortunately I can confirm this bug is still ongoing.

The current issue with the _resultId not being set appears to be limited to data and ajax option usage because those both dynamically generate options which are not being normalized properly. Still need to dig deeper to figure out why container is not being defined in time, since it should be happening after they are bound to the Select2 container.

This problem persists with Wicketstuff select2 latest Version (using select2 4.1.0-rc.0

hi has this issue been resolved


WIP: Fixup image testing

Make a few changes to make images render more consistently cross-machine.
Still needs new images and testing on Travis/Linux.

I will provide new test images, which @jeffbaumes can then test out on his local development machine. Stand by.

I see that the tests are passing with low percent difference on Travis, which is not expected. Does the font aliasing CSS not work on Linux?

Well, it's still using the old reference images. I will look on S3 to see
just what's going on, and then I need to render/upload new reference images.
On Mon, May 2, 2016 at 1:35 PM Jeffrey Baumes<EMAIL_ADDRESS>wrote:

I see that the tests are passing with low percent difference on Travis,
which is not expected. Does the font aliasing CSS not work on Linux?
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/Kitware/candela/pull/158#issuecomment-216304714

Oh I misunderstood what you meant by low percent difference. Yes this is
unexpected.
On Mon, May 2, 2016 at 1:43 PM Roni Choudhury<EMAIL_ADDRESS>wrote:

Well, it's still using the old reference images. I will look on S3 to see
just what's going on, and then I need to render/upload new reference images.
On Mon, May 2, 2016 at 1:35 PM Jeffrey Baumes<EMAIL_ADDRESS>wrote:

I see that the tests are passing with low percent difference on Travis,
which is not expected. Does the font aliasing CSS not work on Linux?
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/Kitware/candela/pull/158#issuecomment-216304714

Yeah, it seems that Chrome on Linux simply ignores the
-webkit-font-smoothing CSS directive.
If I rebase out the webkit CSS commit, can we accept this PR to fix the
sizing issue, then decide what to do separately for getting tests to pass
on OSX?
On Mon, May 2, 2016 at 1:46 PM Roni Choudhury<EMAIL_ADDRESS>wrote:

Oh I misunderstood what you meant by low percent difference. Yes this is
unexpected.
On Mon, May 2, 2016 at 1:43 PM Roni Choudhury<EMAIL_ADDRESS>wrote:

Well, it's still using the old reference images. I will look on S3 to see
just what's going on, and then I need to render/upload new reference images.
On Mon, May 2, 2016 at 1:35 PM Jeffrey Baumes<EMAIL_ADDRESS>wrote:

I see that the tests are passing with low percent difference on Travis,
which is not expected. Does the font aliasing CSS not work on Linux?
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/Kitware/candela/pull/158#issuecomment-216304714

Sounds like a good plan.

I excised the font-smoothing commit, so LGTMITIH.

@jeffbaumes could you merge this?


exporterVersion is set to "3.0.0-dev" initially

Describe the Bug
When creating a new diagram, the exporterVersion attribute of the bpmn:definitions  element is set to 3.0.0-dev in the dev. The filed is then correctly updated once there was a change done and saved.
IMO the display of the version 3.0.0-dev is not a consistent behavior, it should directly be the correct version (ie. the version of the Modeler being used).
Still I recognize this is a minor issue.
Steps to Reproduce

Create a new BPMN diagram
View the XML

Expected Behavior
exporterVersion is set to the version of the Camunda Modeler (e.g., 4.4.0 )
Environment

OS: Mac and Arch Linux
Camunda Modeler Version: 4.4.0

Was already fixed with https://github.com/camunda/camunda-modeler/pull/2123, see the discussion linked above: https://github.com/camunda/camunda-modeler/pull/2123/files#r586246227


fixes and optimizes some of the slack ws reconnect logic

monkey patch bot.close() to make sure and cancel any pending reconnect, and clear ping/pong interval
for stale connection changes to use bot.ws.terminate() - which ends the connection immediately instead of attempting to write a close msg to server.  This triggers an ABNORMAL_CLOSE, which causes a reconnect to start

If bot.close() is called explicitly (either by us in the remove_resource event, or by the user's code) - a normal close event will fire on the ws, so no reconnect will occur.

LGTM! After we run this for a while we should PR into smallwins/slack


Flow generation incorrectly PascalCases all type names

The following line
https://github.com/apollographql/apollo-codegen/blob/master/src/flow/codeGeneration.js#L81
optimistically PascalCases all type names even if they might in fact not be.
I agree PascalCase is conventional for naming GraphQL types but I can't find that it's required.
I was trying to generate flow annotations against a schema that contained types with camelCase names. This caused fields referencing the type to remain in camelCase whereas the definition of the type was in PascalCase

Same issue here.  For a Bill Of Material (BOM) GraphQL schema I have this:
saveProductBOM(productBOM: InputProductBOM) : String
input InputProductBOM {  ... }
But the generated code looks like this:
export interface InputProductBom { ... }   /* this changes the case of "BOM" */
export interface SaveProductBomMutationVariables {
inputProductBOM: InputProductBOM;       /* this keeps the case of "BOM" as is */
}
The result is a compile error.

Consolidating case related issues into #92


[WIP] Update Nginx role and add certbot role

@JusteLeblanc je trouve dehydrated plus simple que CertBot. Exemple de provisioning en place sur Ada : https://github.com/theodo/ada-express/tree/develop/devops/provisioning/roles/dehydrated

@foucdeg @JusteLeblanc cette PR est trop cool, qui peut la tirer ?

@benja-M-1 could you check this PR and approved it if it’s ok for you? So that we can merge it ? Thanks

@clement-escolano this line of Nginx conf file :
# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
# Uncomment if you want to use your own Diffie-Hellman parameter, which can be generated with: openssl ecparam -genkey -out dhparam.pem -name prime256v1
# See https://wiki.mozilla.org/Security/Server_Side_TLS#DHE_handshake_and_dhparam
ssl_dhparam /etc/nginx/dhparams.pem;

is making the provisioning failed. I commented it. Should we remove it as it's not working?

@JusteLeblanc I think this is because you removed the generation of the dhparams here.
You should keep the generation of the dhparams and this line as well 😉

To avoid composer cache issues, we need to run : chown www-data:www-data /var/www

@MaximeThoonsen I ran the generator and fixed some issues. I finally get it working. But I still have an HTTPS issue:

Have you any idea on what is wrong?

@benja-M-1 @MaximeThoonsen I removed https-local and jwt roles as

it wasn't included in this PR
it's not working
it could be done in another PR

I opened a specific issue for https-local : https://github.com/theodo/theodo-stack-generator/issues/191

@JusteLeblanc Ouai ça marche sur mon ubuntu mais pas sur les MAC. Il bloque les certificats self-signed

@MaximeThoonsen mkcert marche nickel

We can't test certbot role on AWS EC2 instances as LetsEncrypt blocks certificate creations for EC2 domains: https://community.letsencrypt.org/t/policy-forbids-issuing-for-name-on-amazon-ec2-domain/12692.
The solution @MaximeThoonsen suggested is to have a fixed IP address on AWS, to create a DNS record to a theo.do domain name. It means we need to associate this fix IP each time we create the EC2 instance in test flow. @MaximeThoonsen how could we automate this task?
cc @benja-M-1 @tcheymol

We can't test certbot role on AWS EC2 instances as LetsEncrypt blocks certificate creations for EC2 domains: https://community.letsencrypt.org/t/policy-forbids-issuing-for-name-on-amazon-ec2-domain/12692.
The solution @MaximeThoonsen suggested is to have a fixed IP address on AWS, to create a DNS record to a theo.do domain name. It means we need to associate this fix IP each time we create the EC2 instance in test flow. @MaximeThoonsen how could we automate this task?
cc @benja-M-1 @tcheymol

@MaximeThoonsen We need to add it in test script using Ansible or AWS API.


Add MIRI to CI and fix UB

Addresses #62

Could you force-push the commits again? CI seems to be stuck and I think that should re-trigger it.

I've tried force pushing, and adding a nop commit, but neither seems to have unstuck CI - is it because I added MIRI to the github actions, which is theoretically insecure to run without approval? Do you need to sign off on my workflow changes somehow before checks will run?

Cheers! Silly mistake.
Now it's failing on unstable library functions due to the old(er) nightly build being used to test - issue 86161 was stabilized July of last year. Since the latest stable release is about a year more recent than the nightly being used in the CI, I'll promote the nightly by a few months to match the latest stable release (1.75.0, 2023-12-28).

Sounds good, the versions are pinned just to avoid random breakages.

It would be nice if GitHub actually told us: "Hey the workflow file is invalid!" in big red text 😅


Not installing

Issue Type: Bug
Everytime when VS is opened it prompts the Kit extention is not installed and on clicking install nothing happesn . the task bar still show "Kite:not installed"
Extension version: 0.110.0
VS Code version: Code 1.44.2 (ff915844119ce9485abfe8aa9076ec76b5300ddd, 2020-04-16T17:07:18.473Z)
OS version: Darwin x64 18.7.0
Remote OS version: Linux x64 5.0.0-1036-azure

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz (8 x 2200)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 1

Memory (System)
16.00GB (4.55GB free)

Process Argv

Screen Reader
no

VM
0%

Item
Value

Remote
SSH: capex

OS
Linux x64 5.0.0-1036-azure

CPUs
Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz (2 x 2294)

Memory (System)
7.77GB (4.93GB free)

VM
0%

Same here. The Kite Engine is installed (and running) on my MacBook running macOS 10.15.4, but my installation of the VS Code extension fails to detect it. I'm running extension version 0.114.0 in VS Code 1.45.0.

Encountered this bug. Vs code doesn't think i have kite, but suggestions to populate from kite. I have kite running in the background, so maybe it's working?

@renjithmenon @JordanLongstaff could you confirm that you have Kite.app installed in your mac /Applications folder?


Python script to start helper servers

Overview
This python script launches multiple [helper] CLI (MPC server) instances bound on given ports. This is to be used together with a client CLI to test out IPA protocols (#36).
Example

Launch 3 helper instances on ports from 9876 to 9878 (and Ctrl-C to terminate all instances)

❯ python3 ./scripts/start-helpers.py -e ./target/debug/helper -p 9876 -n 3
 INFO raw_ipa::cli::verbosity: Logging setup at level debug
 INFO raw_ipa::cli::verbosity: Logging setup at level debug
 INFO raw_ipa::cli::verbosity: Logging setup at level debug
 INFO helper: listening to http://<IP_ADDRESS>:9878
 INFO helper: listening to http://<IP_ADDRESS>:9877
 INFO helper: listening to http://<IP_ADDRESS>:9876
^C
Traceback (most recent call last):
  File "/Users/taiki/src/raw-ipa/./scripts/start-helpers.py", line 55, in <module>
    start_helpers(exec=args.executable,
  File "/Users/taiki/src/raw-ipa/./scripts/start-helpers.py", line 26, in start_helpers
    rlist = select([p.stdout for p in procs], [], [], timeout)[0]
KeyboardInterrupt

LGTM, tho i don't have approval permissions


Suggestion needed for debugging Clarity app in browser runtime.

Select one ...  (check one with "x")
[ ] bug
[] feature request
[x] enhancement

Expected behavior

I used seed project to initialize an Angular Clarity project, but I found it is difficulty to debug when I met errors by using the default configurations of seed provided, so I just want to need some suggestions about how to debug clearly and conveniently under browser console? By using plug-in or configuring settings about? Thanks a lot.
Actual behavior

None
Reproduction of behavior

Environment details

Angular version: 2.3

Clarity version: 0.7.5

OS and version: OS X, Windows 10

Browser: [all | Chrome 56 | Firefox 51 | IE 11 | Safari 8 ]

Hi @wknet123 which version of the seed are you using (angular-cli, systemjs, or webpack)? Might be helpful to checkout Augury, which is a chrome extension for debugging Angular 2 applications: https://augury.angular.io/

Closing since this is a general front end dev environment/tool issue, and not specific to Clarity framework. Please feel free to re-open if there's are specific bugs in the seed, etc.

@wknet123 Augury, as suggested by @jeeyun, is really powerful.
Also, if you have difficulties finding the correct piece of code in the browser, to which you need to set your breakpoints, you may use debugger statements in your code instead to force a break from the code.


License?

Hey there! Noticed your set of vanilla abstractions. nice!
(can almost run this in heavy/hvcc, but we're still missing some things like list and vline~)
Do you mind attaching a license to your project, so it's clear under what conditions people can reuse your work?
thnx!

MIT license added. Would love to see this be used with heavy, most list objects are just for saving and loading though no vline~ might be tricky


Cannot successfully use identify_tables(self)

Amazing work you got here.
I tried playing around with your mrkdwn_analysis, and somehow I can't make identify_tables() to work on my end. Am I using it wrong? See usage below.
Sample Markdown file Used:
# Header 1

The intent of this file is to be read by `code.py`.

## Header 2

This part will have tables which should be analyzed using the function `analyze_tables()`

| Sample | Sample2 |
| :------: | :------- |
| Data1 | row1-col2 |

Code:
from mrkdwn_analysis import MarkdownAnalyzer

analyzer = MarkdownAnalyzer(".\\README.md")

headers = analyzer.identify_headers()
sections = analyzer.identify_sections()
tables = analyzer.identify_tables()
wordCount = analyzer.count_words()

print(headers)
print(sections)
print(wordCount)
print(tables)

Output:
PS > py .\code.py
{'Header': ['Header 1', 'Header 2']}
{}
47
{}

Hello
thank you for using my first package
I've uploaded a temporary solution you can use to retrieve it.
pip install markdown-analysis==0.0.5
keep your code as before and it should work

Thank you so much! I was able to get data from the table now. I also tried using a much more complex markdown file and was able to confirm that identify_tables() works great!
This project is great. Keep up the good work!


Changhai trace hwrsrc

Summary
This add some trace logs in the workload::hardware_resources, which provide finer grid infos that which node is issues, how the hardware resources occupancy changes. Also add flags to disable/enable this log in CMakeLists to avoid generating huge logs for everyone.
Test Plan

edit /CMakeList.txt, uncomment line 55 target_compile_definitions(AstraSim PRIVATE -DASTRASIM_TRACE_HARDWARE_RESOURCES).
Rebuild astrasim: ./build/astra_analytical/build.sh -l && ./build/astra_analytical/build.sh
Run example: cd run/examples && ./run.sh
Then check log to get the hwrsrc traces, for example

[2024-01-25 16:38:46.447] [workload] [trace] try issue node.id=8174
[2024-01-25 16:38:46.447] [workload::HardwareResource] [trace] Current hw resources: cpu_comp_ops=0, gpu_comp_ops=0, comm_ops=0, comm_ops=0
[2024-01-25 16:38:46.447] [workload] [trace] issue success node.id=8174
[2024-01-25 16:38:46.447] [workload::HardwareResource] [trace] Node.id=8174 occupy cpu_comp_ops
[2024-01-25 16:38:46.447] [workload::HardwareResource] [trace] Node.id=8388 release cpu_comp_ops
[2024-01-25 16:38:46.447] [workload] [trace] try issue node.id=8389
[2024-01-25 16:38:46.447] [workload::HardwareResource] [trace] Current hw resources: cpu_comp_ops=0, gpu_comp_ops=0, comm_ops=0, comm_ops=0
[2024-01-25 16:38:46.447] [workload] [trace] issue success node.id=8389
[2024-01-25 16:38:46.447] [workload::HardwareResource] [trace] Node.id=8389 occupy cpu_comp_ops
[2024-01-25 16:38:46.447] [workload::HardwareResource] [trace] Node.id=8603 release cpu_comp_ops
[2024-01-25 16:38:46.447] [workload] [trace] try issue node.id=8604
[2024-01-25 16:38:46.447] [workload::HardwareResource] [trace] Current hw resources: cpu_comp_ops=0, gpu_comp_ops=0, comm_ops=0, comm_ops=0

Additional Notes
Enable lots trace might have an impact on performance, however, for the example run the difference is not observable.

Should be merged after #157

Update: Will resubmit PR for review after limiting the message to debug level trace


[Draft]: Add nanobind shared lib to conda package

Checklist

[X] Used a personal fork of the feedstock to propose changes
[X] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[X] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

The PR lacks an explanation of the context, so the following is just based on the title.
I intentionally don't ship the nanobind shared library on PyPI and would be opposed to doing so on Conda as well, for the same reasons. Dependency management would be impossible with the various ways of building it, plus different packages potentially depending on different versions of nanobind at the same time.

Sorry for the late response here, but from my side, I agree with @wjakob here. Maybe if you could give some explanation as to why this is needed, we can re-open and go from there


fix thumbnail on map

Partially resolve #176

The thumbnail is still a bit off... I have confidence in the outline and the convex hull though:

example
zoomed

Note how the image shows the roads that should be next to the boundary, just not in the right spot. This is why I have confidence in the footprint/boundary and not the thumbnail

Currently struggling to improve this any further. It works really well for most of the data in #221 but still has a slight issue with the larger rasters like for Landsat:

or this continental-scale one:

For the really big raster, our outline is the same as what is shown on EarthExplorer, but I'm not sure how to correctly display the thumbnail:

Based on your continental image example, it looks like you aren't reprojecting the image when you make the thumbnail.  I think you have to either reproject the image into web mercator (to match the map) OR draw the map in the projection of the image.  For single thumbnails, changing the map projection might be easiest (e.g., https://opengeoscience.github.io/geojs/examples/reprojection/).

you have to either reproject the image into web mercator (to match the map)

I can reproject the raster to Web Mercator when extracting the thumbnail and get something a little better, but the geometry of the quad which the image is overlain is still incorrect.

I tried transforming the geometry to ESPG:3857, but GeoJS throws an error with that geometry. i.e.:
self.object.footprint.transform(3857, clone=True)

for _SpatialDetailView in rgd/geodata/views.py

OR draw the map in the projection of the image.

I also tried setting the projection of the GeoJS map to what we use in the database but it doesn't seem to work:
let map = geo.map({
      node: '#map',
      clampBoundsX: true
    })
    basemapLayer = map.createLayer('osm', {
      source: 'osm',
      gcs: 'EPSG:4326'
    });

you have to either reproject the image into web mercator (to match the map)

I can reproject the raster to Web Mercator when extracting the thumbnail and get something a little better, but the geometry of the quad which the image is overlain is still incorrect.

I tried transforming the geometry to ESPG:3857, but GeoJS throws an error with that geometry. i.e.:
self.object.footprint.transform(3857, clone=True)

for _SpatialDetailView in rgd/geodata/views.py

OR draw the map in the projection of the image.

I also tried setting the projection of the GeoJS map to what we use in the database but it doesn't seem to work:
let map = geo.map({
      node: '#map',
      clampBoundsX: true
    })
    basemapLayer = map.createLayer('osm', {
      source: 'osm',
      gcs: 'EPSG:4326'
    });

Aha! managed to get it right with some nuanced transforms. Something was going awry with our transform_geometry helper.

Now I just need to confirm this is working for all our examples

Aha! managed to get it right with some nuanced transforms. Something was going awry with our transform_geometry helper.

Now I just need to confirm this is working for all our examples

Local changes confirmed working with the original problematic raster:

Local changes confirmed working with the original problematic raster:

@manthey, do you think I should cache these thumbnails on DKC and add a regression test to verify these stay consistent moving forward?

@manthey, do you think I should cache these thumbnails on DKC and add a regression test to verify these stay consistent moving forward?


feat: add generator function resolve

I think somebody will write below code:
function* preTask2() {
  // todo
}

function* task1() {
  // ...
  yield takeEvery('*', (action) => {
    // todo
  })
}

function* task2() {
  // ...
  yield preTask2
}

function* rootSaga() {
  // ...
  yield [task1, task2]
  // ...
}

sagaMiddleware.run(rootSaga)

but it doesn't work, sometime it's not easy to find this wrong.
I know that we should invoke the generator function to generator iterator or use call effect method:
// ...
yield [task1(), task2()]
// or
yield [call(task1), call(task1)]

//...
yield preTask2()
// or
yield call(preTask2)

so I hope add generator function resolve feature for the runEffect.

Sorry, but I dont feel it should be handled on our side, with such APIs ppl tend to overuse them and I think it would be quite harmful in a long run. Would like to prefer explicit APIs than implicit ones, even yield [...effects] is going to be deprecated soon in favor of yield all([...effects]), just so it can be more explicit in the code about what it does.

I think though that when this gets merged in you could implement it easily by yourself on your side, if you feel thats a good thing for your project

@Andarist  @yelouafi
I'm happy to see the discuss Feat/run saga middleware.
It's easy to meet my requirement, the saga middleware can do more (e.g. resolve others custom effects) that like redux middleware.
But, in this issue, I have different thoughts:
e.g.
// node.js, like koa.js

function* generator() {
  // todo
}

// ....

yield generator
// or
yield generator()

In the above code, it's work, cuz it integrate co.
The redux-saga that has built-in generator based flow-control too.
But, now you tell me that the redux-saga cann't resolve generator function, must be an generator iterator.
e.g.
function* generator() {
  // todo
}

// ...
yield generator  // terrible

yield generator()  // good, must be to an iterator

I think the redux-saga run generator effect that is a basic feature, not just iterator effect.
If you think that my point is not good, I hope we can add some description to warn developer.
e.g.
If you invoke some function, we recommend you use call effect.
or others notifaction

@Andarist
I prefer to useyield all([...effects]) that sounds great.


Can't serialize List

Ex:
List<String> ids = new ArrayList<>();
ids.add("493d859e-a2cd-4da5-ba35-3f1dca665d03");
ids.add("483cea23-6f11-486e-8975-79c29b5ea9e4");
String serialize = LoganSquare.serialize(ids);

It shows error:
Class java.lang.String could not be mapped to a JSON object. Perhaps it hasn't been annotated with @JsonObject?

But String is Build-in support type, how can I serialize a List of string?

@ch8908 I don't know if logan square supports runtime deserialization like this, at least, not that I could figure out. Since I'm using retrofit, I just use gson for the runtime stuff that might not have the annotations, but I don't prefer it.

@ch8908 @burntcookie90 It does not currently support this, but I'm working on adding support for it. Should be available in a few days.

Nice, how are you including support for it?
On Wed, Aug 5, 2015, 10:53 PM Eric Kuck<EMAIL_ADDRESS>wrote:

@ch8908 https://github.com/ch8908 @burntcookie90
https://github.com/burntcookie90 It does not currently support this,
but I'm working on adding support for it. Should be available in a few days.
—
Reply to this email directly or view it on GitHub
https://github.com/bluelinelabs/LoganSquare/issues/73#issuecomment-128227836
.

Sorry about the long wait, but this should now work great.


Media

The above images are from the original street, the below images are it in its current state :)


Spring cleaning: Python 3.8

Updates the code to use python 3.8

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Stereopi and Google Coral USB Accelerator

Ahmet bey,
First of all, thank you very much for this wonderful project. We are looking into integrating this project to do human counting for our open-source project SandStar automation system. We are looking into integrating it with stereopi and  Google coral usb accelerator.
my question is:

Is coral module fast enough to handle calculations with TensorFlow lite?

We will be open-sourcing the whole implementation of it.

I think this question is kinda old. but someone else would benefit if it's answered.
The answers is Yes. if you plug in Coral Module with tensorflow lite, it would the increase the detection speed.
take a look at this coral_usb


change product name align

Fixes Issue #140

resolved merge conflict and show me output so that I can review your changes


Optimizer kwargs are not unified

The kwargs that are passed to optimizers are not unified. e.g.:
ADAM: maxiter
SPSA: max_trials
GSLS: max_iter
The interface should be standardized.

In general the philosophy has been when using the external libraries, in this case optimizers where we use scipy etc, is to use the same parameter names as is done in the library so we do not confuse by wrapping them with different names than the library gives/documents them with. However the above ones you list are custom for Aqua so in that regard we have more freedom and it seems a fair comment for where we have that level of control.

I agree with @nonhermitian . We discussed this some time ago and we concluded that we wanted to keep the scipy arguments. I think the unification makes full sense, as long as we keep the standarisation along all optimizers.


Temoa deploys too much capacity of certain technologies

PR #156 unveiled an issue. Turbine and Nbine are dummy technologies with no associated cost. As they have no cost, they are free and Temoa deploys too much capacity for them. The following figures highlight this issue for the Nbine technology.
Figure 1 and 2 show the capacity and the generation respectively.
While the capacity is around 400 MW, the generation is only 200 GWh, meaning that an Nbine of only 23 MW would suffice.
Figure 1:

Figure 2:

This issue can be closed when modifications to the model are introduced to mitigate/solve this issue.

Current behavior:
Figure 1 displays the electrical capacity. In this figure, the electrical capacity of NUCLEAR is represented by NBINE.
Figure 2 displays the steam capacity, where NUCLEAR represents the capacity to produce steam regardless of its use (whether it becomes USTM or UELC).
The same behavior happens for ABBOTT and TURBINE.
Figure 1: Electrical capacity

Figure 2: Industrial capacity

Is this the desirable behavior? For the steam capacity, we are displaying all the available capacity of NUCLEAR and ABBOTT, while for the electrical capacity we are displaying only the capacity of producing electricity.
I believe we should we consistent and implement one of the following two options:

Make the electrical capacity plot considering all the available capacity to produce electricity - i.e. the capacity to produce steam divided by the efficiency.
Make the steam capacity plot consider only the available capacity of the plants that fulfill the USTM demand.

I believe the first approach is the easiest.
@samgdotson thoughts?

I don't think what we've discussed yesterday IRL is going to work.
Currently, this plot shows what percentage of the steam goes into what technology:

If we used TechOutputSplit we would be constraining this coefficient to a constant value. According to these results, it is not constant throughout the simulation.


Update timeout message to not mention CLI

At the moment, the timeout message asks the user to check their connection and update their CLI. However, many of our users are now using the Desktop app. As a result, this error message is inaccurate and misleading.

Fixed in this commit: https://github.com/phonegap/phonegap-app-developer/commit/b88b9e9acb36ced606cbd69dde9af116f31bfae9


REST helper sets content-type header when request body is a string even when content-type is already set

Hi! I'm trying to verify that an API endpoint responds with a 400 error code when it receives bad JSON in the request body.
To do this, I set the "Content-Type" header of my request to "application/json" and send a string with malformed JSON as the request body. I have been getting a 422 error code, however, instead of the expected 400.
I noticed that it being caused by this line in REST.js, which sets the Content-Type header to application/x-www-form-urlencoded whenever the request body is a string. If I go into node_modules/codeceptjs and remove that line, the test passes.
One solution to this would be to check if Content-Type already exists on the headers object before setting it. If this is a sufficient fix I'm happy to make a PR. However this could possibly cause breaking changes in other people's tests if they're currently relying on Codecept to override an existing headers object in their codebase, so I'll leave it to the developers to decide what to do about this

CodeceptJS version: 2.4.3
NodeJS Version: 12.4.0

I thought there is a PR #1626 to update REST helper, not sure if this resolves your issue there.

Thanks @PeterNgTr  for pointing out that PR. I think the changes there are to respect any default headers you set in codecept.conf.js. That would not help me in this case since I'm setting a header for one particular API, which is getting overwritten.

@pmarshall-legacy I would think of adding a conditional check before this line https://github.com/Codeception/CodeceptJS/blob/3eddbfb8fb11fc8a1bc6cff238efe2b076d862ea/lib/helper/REST.js#L78. So let's say if we provide the request.headers['Content-type'], then we set it as Content-type header in request, otherwise, it just sets the Content-type header like before.

@PeterNgTr  that would work perfectly for me, care if I make a PR?

@pmarshall-legacy that would be great!


Cannot setup Fastlane for Android - Missing json file

Issue Description
I am running fastlane init for my Android project, but I cannot set it up since it requires a hidden json file. I cannot find any instructions on how to configure this file, and the link https://github.com/fastlane/fastlane/tree/master/supply#setup is broken.
To automatically upload builds and metadata to Google Play, fastlane needs a service action json secret file
Feel free to just click Enter to skip not provide certain things
Follow the Setup Guide on how to get the Json file: https://github.com/fastlane/fastlane/tree/master/supply#setup
Path to the json secret file:
[12:31:59]: Created new file './fastlane/Appfile'. Edit it to manage your preferred app metadata information.
[12:31:59]: Created new file './fastlane/Fastfile'. Edit it to manage your own deployment lanes.
[12:31:59]: fastlane will send the number of errors for each action to
[12:31:59]: https://github.com/fastlane/enhancer to detect integration issues
[12:31:59]: No sensitive/private information will be uploaded
[12:31:59]:
[12:31:59]: Do you plan on uploading metadata, screenshots and builds to Google Play using fastlane?
[12:31:59]: This will download your existing metadata and screenshots into the `fastlane` folder
Do you plan on uploading metadata, screenshots and builds to Google Play using fastlane? (y/n) y

[12:32:05]: Missing auth credentials: You must specify either 'json_key' or 'key' and 'issuer'
[12:32:05]: supply failed, but don't worry, you can launch supply using `supply init` whenever you want.

https://github.com/fastlane/fastlane/tree/master/supply#setup loads fine for me. The instructions re the file are under the Setup heading.

The link is now working for me, thank you


Fine-grained timeline control: seek forwards/backwards by X seconds and playback speed

Originally proposed by a Reddit user.

Should prioritize #8 first to ensure timings are correct. Things feel sluggish at the moment.

Playback speed and jumping forwards 10 seconds addressed in 222933f304e3c2d99074caa5dcbd3031197c1940.
Leaving this issue open until seeking / jumping backwards is implemented.


Add condition to app service certificate deployment

Context
UCAS env release broken. This is the fix.
Changes proposed in this pull request
Adding handle on custom domain name to stop it borking where no custom host name is being used.
Guidance to review
erm...

Deployment succeeded here: https://dev.azure.com/dfe-ssp/Become-A-Teacher/_releaseProgress?releaseId=651&_a=release-environment-logs&environmentId=1324


[5.0.0-rc0] How to nest api with path parameter

Hello there! It’s me once again sorry
I’m still trying to use utoipa over the whole Meilisearch API and I found another bad corner case.
Under the route /indexes/{:indexUid}/documents/ we have a bunch of other routes thus I have a main openAPI structure that nest a documents openAPI structure.
But I cannot specify the {:indexUid} in it. It there a way to do that instead of not specifying any path and then specifying it in every sub route of the documents struct?
#[derive(OpenApi)]
#[openapi(
    nest(
        (path = "/", api = documents::DocumentsApi),
    ),
...
)]

// Later on every route must specify the whole path:
#[utoipa::path(
    get,
    path = "/{indexUid}/documents",
    tags = ["Indexes", "Documents"],
...
)]

Is there a workaround I missed?
If not my proposal would be to define the parameter at the nest level like that:
```rust
#[derive(OpenApi)]
#[openapi(
    nest(
        (path = "/{indexUid}/documents", api = documents::DocumentsApi, params = ("indexUid", example = "movies", description = "Index Unique Identifier", nullable = false),
),
    ),
...
)]

Hey yes, this was the error I was receiving:

But after specifying that foobar was in the Path it works.
Not ideal but yes it’s still better than nothing thanks!


[ted] Missing audio

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.09.10. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.09.10

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[ ] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

There is no audio in videos downloaded from ted.com:
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.ted.com/talks/simone_giertz_why_you_should_make_useless_things']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.09.10
[debug] Python version 3.5.3 (CPython) - Linux-2.6.32-042stab131.1-x86_64-with-debian-9.5
[debug] exe versions: ffmpeg 3.2.12-1, ffprobe 3.2.12-1
[debug] Proxy map: {}
[ted] simone_giertz_why_you_should_make_useless_things: Downloading webpage
[ted] simone_giertz_why_you_should_make_useless_things: Downloading m3u8 information
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://hls.ted.com/videos/SimoneGiertz_2018/video/1500k.m3u8?uniqueId=6687db4d'
[download] Destination: Why you should make useless things-15518.mp4
[debug] ffmpeg command line: ffmpeg -y -loglevel verbose -headers 'Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Language: en-us,en;q=0.5
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Cookie: _abby=1T4pNasI1SqgRyi
' -i 'https://hls.ted.com/videos/SimoneGiertz_2018/video/1500k.m3u8?uniqueId=6687db4d' -c copy -f mp4 'file:Why you should make useless things-15518.mp4.part'
ffmpeg version 3.2.12-1~deb9u1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
  configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 34.101 / 55. 34.101
  libavcodec     57. 64.101 / 57. 64.101
  libavformat    57. 56.101 / 57. 56.101
  libavdevice    57.  1.100 / 57.  1.100
  libavfilter     6. 65.100 /  6. 65.100
  libavresample   3.  1.  0 /  3.  1.  0
  libswscale      4.  2.100 /  4.  2.100
  libswresample   2.  3.100 /  2.  3.100
  libpostproc    54.  1.100 / 54.  1.100
[hls,applehttp @ 0x55f7e9d73640] HLS request for url 'https://pb.tedcdn.com/bumpers/hls/video/in/Thousands-1500k.ts', offset 0, playlist 0
[hls,applehttp @ 0x55f7e9d73640] Opening 'https://pb.tedcdn.com/bumpers/hls/video/in/Thousands-1500k.ts' for reading
[mpegts @ 0x55f7ea12bc60] parser not found for codec timed_id3, packets or times may be invalid.
[h264 @ 0x55f7ea15d400] Reinit context to 1280x720, pix_fmt: yuv420p
[hls,applehttp @ 0x55f7e9d73640] HLS request for url 'https://pb.tedcdn.com/bumpers/hls/video/in/Thousands-1500k.ts', offset 1935648, playlist 0
[hls,applehttp @ 0x55f7e9d73640] Opening 'https://pb.tedcdn.com/bumpers/hls/video/in/Thousands-1500k.ts' for reading
Input #0, hls,applehttp, from 'https://hls.ted.com/videos/SimoneGiertz_2018/video/1500k.m3u8?uniqueId=6687db4d':
  Duration: 00:11:57.79, start: 10.000000, bitrate: 0 kb/s
  Program 0
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Video: h264 (High), 1 reference frame ([27][0][0][0] / 0x001B), yuv420p(left), 1280x720 [SAR 1:1 DAR 16:9], 24 fps, 24 tbr, 90k tbn, 48 tbc
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Data: timed_id3 (ID3  / 0x20334449)
    Metadata:
      variant_bitrate : 0
Output #0, mp4, to 'file:Why you should make useless things-15518.mp4.part':
  Metadata:
    encoder         : Lavf57.56.101
    Stream #0:0: Video: h264 (High), 1 reference frame ([33][0][0][0] / 0x0021), yuv420p(left), 1280x720 (0x0) [SAR 1:1 DAR 16:9], q=2-31, 24 fps, 24 tbr, 90k tbn, 90k tbc
    Metadata:
      variant_bitrate : 0
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[hls,applehttp @ 0x55f7e9d73640] HLS request for url 'https://pb.tedcdn.com/bumpers/hls/video/in/Thousands-1500k.ts', offset 2148276, playlist 0
[hls,applehttp @ 0x55f7e9d73640] Opening 'https://pb.tedcdn.com/bumpers/hls/video/in/Thousands-1500k.ts' for reading
[hls,applehttp @ 0x55f7e9d73640] HLS request for url 'https://pb.tedcdn.com/talk/hls/video/2018/SimoneGiertz_2018-1500k-6687db4d.ts', offset 0, playlist 0
[hls,applehttp @ 0x55f7e9d73640] Opening 'https://pb.tedcdn.com/talk/hls/video/2018/SimoneGiertz_2018-1500k-6687db4d.ts' for reading
[hls,applehttp @ 0x55f7e9d73640] HLS request for url 'https://pb.tedcdn.com/talk/hls/video/2018/SimoneGiertz_2018-1500k-6687db4d.ts', offset 1344388, playlist 0
[hls,applehttp @ 0x55f7e9d73640] Opening 'https://pb.tedcdn.com/talk/hls/video/2018/SimoneGiertz_2018-1500k-6687db4d.ts' for reading
...
[hls,applehttp @ 0x55f7e9d73640] HLS request for url 'https://pb.tedcdn.com/talk/hls/video/2018/SimoneGiertz_2018-1500k-6687db4d.ts', offset 119559164, playlist 0
[hls,applehttp @ 0x55f7e9d73640] Opening 'https://pb.tedcdn.com/talk/hls/video/2018/SimoneGiertz_2018-1500k-6687db4d.ts' for reading
[hls,applehttp @ 0x55f7e9d73640] HLS request for url 'https://pb.tedcdn.com/talk/hls/video/2018/SimoneGiertz_2018-1500k-6687db4d.ts', offset 121909540, playlist 0
[hls,applehttp @ 0x55f7e9d73640] Opening 'https://pb.tedcdn.com/talk/hls/video/2018/SimoneGiertz_2018-1500k-6687db4d.ts' for reading
[hls,applehttp @ 0x55f7e9d73640] HLS request for url 'https://pb.tedcdn.com/bumpers/hls/video/out/Blank-1500k.ts', offset 0, playlist 0
[hls,applehttp @ 0x55f7e9d73640] Opening 'https://pb.tedcdn.com/bumpers/hls/video/out/Blank-1500k.ts' for reading
No more output streams to write to, finishing.
frame=17227 fps=345 q=-1.0 Lsize=  118644kB time=00:11:44.83 bitrate=1379.0kbits/s speed=14.1x
video:118662kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (https://hls.ted.com/videos/SimoneGiertz_2018/video/1500k.m3u8?uniqueId=6687db4d):
  Input stream #0:0 (video): 17227 packets read (121510193 bytes);
  Input stream #0:1 (data): 4 packets read (1756 bytes);
  Total: 17231 packets (121511949 bytes) demuxed
Output file #0 (file:Why you should make useless things-15518.mp4.part):
  Output stream #0:0 (video): 17227 packets muxed (121510193 bytes);
  Total: 17227 packets (121510193 bytes) muxed
[ffmpeg] Downloaded 121491779 bytes
[download] 100% of 115.86MiB in 00:51

Reverting cd3a3ff93bd5d6866d3822cb438b0e172ffe4e39 fixes it for me.

the author very good !


support cloud index and/or clear sky index units

Should we support a cloud index and/or clear sky index unit? It's not technically difficult and I think we should do it. Objections/concerns @alorenzo175?
I'm thinking about what would be needed to analyze @travisMHarty's ANOC + Quantile Regression forecasts in the Solar Forecast Arbiter.

Some other options to consider are a generic arbitrary units variable and/or an arbitrary unitless variable.

A generic variable could be OK. I think it's easy enough to add to core, but requires a schema change in the api. So, I'm for adding a generic to core, but maybe we should think more about what that entails for the web platform.

If I understand correctly, shallow support for a new unit in core is just a matter of adding an entry to datamodel.ALLOWED_VARIABLES and datamodel.COMMON_NAMES. So for local analysis I'd probably prefer to do that than deal with a generic variable.
My biggest concern with a generic variable for the web platform is that it's an invitation to a user to dump their garbage into our platform. I don't think it's big deal in practice, but hard to be certain about that.


Refine handling of pending/completed activations

The primary issue I'm trying to solve is that activation entries were not cleared, if the state is resetted, resulting in wrong information shown in the UI and via "omni_getactivations".

Reviewed, this is nice - thanks :)


survey: Add an appContext to the SurveyContext type for generic local…

…es context
The appContext value is passed as prop to the runClientApp function and set in the SurveyContext. The HomePage widget uses this as a context for the i18n string translations, so it is possible to fine-tune these named translation strings to specific "context". This value is undefined by default and can be anything, either coming from the url, or specific to an instance, etc. It is only used to personnalize translation strings to this "context".
The HomePage widget is turned to a function component instead of a class to allow the use the multiple react contexts.

@kaligrafy Ceci va permettre de personnaliser le texte sur la page d'accueil poru l'enquête Sherbrooke


expand support to hijack based on context data

e.g. callback, or Eq Value (e.g. UserID), stuff like that

Could be called an ExtensionMatcher, which can be created with two inputs:

or by using a constant T which is Eq
or by using a fn callback which is called if the value T is there

Hello @GlenDC  I would like to pick this up if it has not already been spoken for.

All yours if you want to go for it @calebbourg , welcome and nice to e-meet you.
Feel free to open a PR in any state, in case you want me to provide early feedback, or need guidance. Should the information not be clear or you might have any questions do let me know. I'm here for you.

@GlenDC Thank you very much. Yes, could you elaborate a bit on what is desired here? Perhaps point to the correct part of the project to get started?

In rama there is a Matcher interface for which you can find docs at https://ramaproxy.org/docs/rama/matcher/trait.Matcher.html
It can be used for all kinds of purposes, but for example the Hijack layer (https://ramaproxy.org/docs/rama/layer/struct.HijackLayer.html) also uses this to decide when to use the hijack service and when the regular inner server.
There are some use cases on which you might just want to match based on an extension, be it equality or with a custom callback, that are pretty easy to serve with a Matcher implementation for a new struct that you'll introduce called ExtensionMatcher. Can be added at https://github.com/plabayo/rama/tree/main/rama-core/src/matcher under a file called ext.rs or so.
This way you could achieve for example that in case someone would have the following kind of setup:
struct MyMarker;

ExtensionMatcher::constant(MyMarker);
// this will match in case `(*Context<S>)::get::<MyMarker>().map(|v| v == c).unwrap_or_default()`

// You can however also create it with a callback, e.g.
ExtensionMatcher::fn(|marker: &MyMarker| true)

Hopefully this gets the idea across.

@GlenDC Thank you very much for the direction. I opened a PR that I would be very grateful for feedback on at your convenience https://github.com/plabayo/rama/pull/346
The tests I have written do not pass. I'm not 100% that I am understanding the concepts involved correctly and how these functions are meant to be used but I thought this would serve as a good place to start.

I left my feedback for you in the PR @calebbourg. You were pretty close though!

Closed by #346 by @calebbourg. Thanks and congratulations with your first Rama contribution! 🎉👏

@GlenDC Thank you very much! I'd love to make another contribution. I've looked through the other issue but thought perhaps there may be one or more that you might recommend that would provide value to the project?

Another idea @calebbourg can be to use Rama or read more through the code and notice things that can use contributions:

can be quality of life stuff such as trait implementations, small improvements
can be typo fixes
can be documentation enhancements/fixes/additions
can be examples
can be all kind of other improvements
and of course can be also bug reports and fixes, should those be there

Given that these are not yet clearly defined (as you would be the one finding them), might be best to first discuss them over either Email<EMAIL_ADDRESS>or Discord (see README), as it might be not something that is desired to be done or might require some quick discussion. If you are more certain of whatever it is that you found it can also be immediately as an issue, so a bit up to you how you handle those things.
Either way thank you once again for your contribution and for your further interest in Rama :)

Ok great thank you so very much!


504: Remove unused data from importer, tighten some validations

Building on https://github.com/studentinsights/studentinsights/pull/2287.
Who is this PR for?
developers
What does this PR do?
Removes data that either a) isn't used or b) always has the same value from the importer and model, and tightens some validations on fields that are always present.  Also adds dependent: destroy for accommodations.
These validations require removing 3 records from the production database; this is already done.
Checklists
Which features or pages does this PR touch?

[x] Student Profile

Does this PR use tests to help verify we can deploy these changes quickly and confidently?

[x] Included specs for changes
[x] Manual testing made more sense here

selfie


How to add GTest support to an exisitng project?

This looks good if I'm starting from scratch, but how do I add GTest support to an existing project? Can't see how after furiously clicking around. :-)
I am using the CMake adaptor in VS 15.6.4 if that is relevant.

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

ID: 0ee608ee-eb3f-e95d-1eea-d9e35a6e0bc0
Version Independent ID: daf80b3e-5bf1-652c-d6a0-602c8bc2bb0c
Content: How to use Google Test for C++ in Visual Studio - Visual Studio
Content Source: docs/test/how-to-use-google-test-for-cpp.md
Service: unspecified
GitHub Login: @mikeblome
Microsoft Alias: mblome

@mikeblome Can you help @charlie-ht out?

@mikeblome And if I have a solution / project?


feat(store-ui): Loading Button molecule

What's the purpose of this pull request?
As the title says, this PR creates the Spinner atom.
After the refinement of this component, we decided to create the Spinner atom and an example of Loading Button as a molecule.
- Updating stores with this component (WIP).
How it works?

How to test it?

References

I'm questioning the existence of this component, and for me, it's the same thing as the IconButton. It's the Button component with a slight difference in render child. By doing this, we are just adding one more component to maintain. Does it make sense? Take a look on this article: https://kentcdodds.com/blog/inversion-of-control
We can still have this component for internal purposes but not expose it through API.

@igorbrasileiro Lets talk about this subject again in our refinement. I'm not 100% satisfied about these components as well.
Gonna let this one in standby meanwhile.


TextField set maxLines to four.some mobile cann't show whole 4 lines

Steps to Reproduce

TextField set maxLines to four.some mobile cann't show whole 4 lines
Logs

[âˆš] Flutter (Channel dev, v1.3.13, on Microsoft Windows [Version 6.1.7601],
locale zh-CN)
â€¢ Flutter version 1.3.13 at D:\flutter
â€¢ Framework revision 59ce7d6bff (5 days ago), 2019-03-18 11:20:10 -0700
â€¢ Engine revision e75f6de01f
â€¢ Dart version 2.2.1 (build 2.2.1-dev.1.1 None)
[âˆš] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
â€¢ Android SDK at E:\Users\Administrator\AppData\Local\Android\sdk
â€¢ Android NDK location not configured (optional; useful for native profiling
support)
â€¢ Platform android-28, build-tools 28.0.3
â€¢ ANDROID_HOME = E:\Users\Administrator\AppData\Local\Android\sdk
â€¢ Java binary at: E:\Program Files\Android\Android Studio\jre\bin\java
â€¢ Java version OpenJDK Runtime Environment (build
1.8.0_152-release-1136-b06)
â€¢ All Android licenses accepted.
[âˆš] Android Studio (version 3.2)
â€¢ Android Studio at E:\Program Files\Android\Android Studio
â€¢ Flutter plugin version 29.1.1
â€¢ Dart plugin version 181.5656
â€¢ Java version OpenJDK Runtime Environment (build

Hi @czronaldo11
Are you still experiencing this issue?
Thank you

@czronaldo11
I hope it's fixed,
comment please if it's not so and I will reopen it.
Thank you


Make the args struct generation configurable

Motivation
gotests always generates an args struct type to hold the test function/method arguments.
e.g. Given the following function:
func Capitalize(s string) string {
 ...
}

gotests will generate the following test:
func TestCapitalize(t *testing.T) {
        type args struct {
                s string
        }
        tests := []struct {
                name string
                args args
                want string
        }{
        // TODO: Add test cases.
        }
        for _, tt := range tests {
                t.Run(tt.name, func(t *testing.T) {
                        if got := Capitalize(tt.args.s); got != tt.want {
                                t.Errorf("Capitalize() = %v, want %v", got, tt.want)
                        }
                })
        }
}

Proposed changes
This PR proposes to make the generation of the args struct configurable via a new -args-struct flag which accepts one of the following values:

always: The current behaviour. Always generate a tags struct
never: never generate a tags struct. Instead, embed the arguments directly in the case struct
smart: only generate an args struct when the tested function accepts 2 or more arguments. Otherwise embed the single argument in the case struct.

Given the same example function Capitalize as above, calling gotests with one of never or smart values would generate the following test:
func TestCapitalize(t *testing.T) {
        tests := []struct {
                name  string
                s string
                want  string
        }{
        // TODO: Add test cases.
        }
        for _, tt := range tests {
                t.Run(tt.name, func(t *testing.T) {
                        if got := Capitalize(tt.s); got != tt.want {
                                t.Errorf("Capitalize() = %v, want %v", got, tt.want)
                        }
                })
        }
}

Default mode
The default mode is smart, which may change the behaviour of gotests.
Problems
When the arguments are embedded in the case struct, name conflicts may arise, e.g. if a function accepts an argument named name, the generated code would not compile as we end up with 2 name fields in the same struct:
func TestCapitalize(t *testing.T) {
        tests := []struct {
                name string
                name string
                want string
        }{
        // TODO: Add test cases.
        }
        for _, tt := range tests {
                t.Run(tt.name, func(t *testing.T) {
                        if got := Capitalize(tt.name); got != tt.want {
                                t.Errorf("Capitalize() = %v, want %v", got, tt.want)
                        }
                })
        }
}

If this is unacceptable, I can work on this PR some more to handle it.
Fixes #45

Coverage decreased (-0.3%) to 95.486% when pulling 2496d530a79a3ac8ff0099c513ddec946a6ce75e on jawher:make-args-struct-configurable into 3ba09dc73ae80f33b61c8a1e7f5ab3ca803d3320 on cweill:master.

@jawher: Thanks for taking the time to put together this pull request. I'm hesitant to merge your request for a couple reasons:

As you noticed in the problems section, removing the args struct will make it possible to generate tests that don't compile. This was a tough decision to use this struct, since it forces the test author to type more characters to write the test. But it does ensure that all generated tests will compile.

I'm not a fan of the smart keyword, since it's not clear to me when it should use the args struct versus when it shouldn't. Number of arguments may not be the best parameter. Perhaps naming conflict?

I could be convinced to integrate the always and never options. always should be the default to maintain backwards compatibility. Also it should be clear that choosing the never option will allow gotests to generate tests that do not compile.

fwiw, I was looking for the smart implementation in this PR.  I can imagine that some people might want smart to mean 2 or more or even 3 or more args before factoring out into an args struct.  I wonder if names like 2plus or 3plus would be more agreeable instead of smart to indicate the desired args struct usage?
As for the naming conflict, perhaps we could prefix the args with arg and maybe camel-case so they don't conflict?   Something like:
        tests := []struct {
                name string
                argName string
                want string
        }{

If you went with some arg prefix, I would recommend using it for all arguments, not just those that conflict, so we would also have this from the earlier example:
        tests := []struct {
                name string
                argS string
                want string
        }{

Damn, more than 4 months have passed already 😮
Sorry for the hit and run approach (throw a PR at the repo and flee as fast as you can) 🤣
@cweill Agreed on both points.
@coryb I like your suggestion, thanks !
Going even further, the always and never values are just special cases of your suggested threshold approach, where:

always is 1plus
never is 999plus for example. If you write functions taking more than 999 arguments, you need to revise some of your life choices 😆

How about a -args-struct-threshold argument which accepts a number, e.g. -args-struct-threshold=3 ?
The default value would be 1, meaning generate an  args struct for functions taking 1 or more arguments.
Also, +1 to the arg prefix.

It's good to know that at least two people want this feature. However, I'm hesitant to add another flag that handles a very specific edge case. Because once it's added, it's gonna stay there forever.
Note that PR #61 should make this request moot, since anyone will be able to add whatever smarts templates they want without having to modify/recompile gotests. You can just duplicate the existing function template that gotests uses, and modify it with some basic template knowledge to suit your need. I think it's a very nice solution to this feature request. I could be open to the idea of then having a template repository with a smart argument matching like this.

As you mentioned, this PR is now obsolete since #61 was merged 😄


--tenants argument incorrectly defined to receive arrays

Tenancy for Laravel docs refer to using multiple --tenants=<...>  options when running a command for multiple tenants explicitly: https://tenancyforlaravel.com/docs/v3/console-commands
However, the command input is not defined correctly to receive arrays.
https://laravel.com/docs/7.x/artisan#input-arrays
https://github.com/stancl/tenancy/blob/f273ed4f1eef3f036de4fb4052d39fb43ad45072/src/Commands/Run.php#L24
I'll create a PR to fix this, together with a [current] failing test

Why is that wrong? You do --tenants=foo --tenants=bar

@stancl The * is missing, so Laravel does not expect multiple values (i.e. array input)
https://github.com/stancl/tenancy/pull/522

Ah, I see, thanks!

@stancl can we make --tenants= accept multiple ids separated by , instead of writing it like --tenants=foo --tenants=bar which is not the standard for cli ?

@stancl can we make --tenants= accept multiple ids separated by , instead of writing it like --tenants=foo --tenants=bar which is not the standard for cli ?

--tenants=foo --tenants=bar is completely standard for the CLI.
We're not even using any custom feature, this is the artisan way to do it https://laravel.com/docs/8.x/artisan#input-arrays

--tenants=foo --tenants=bar is completely standard for the CLI.
We're not even using any custom feature, this is the artisan way to do it https://laravel.com/docs/8.x/artisan#input-arrays

i meant php artisan queue:work --queue=high,default

i meant php artisan queue:work --queue=high,default

🤷🏻♂  We use the standard way for custom commands to accept multiple argument values

🤷🏻♂  We use the standard way for custom commands to accept multiple argument values


Installer can't be moved, takes focus

While running the installer, I had to switch to something else, and noticed you can't move the installer nor can you put anything else on top of it.

Get plainext from JaxCore. https://JaxCore.app

I did. :)

You're talking about the welcome screen? Just go through it lol

Um, sure, it isn't the end of the world, but it is unusual for an installer. If you don't care that's fine, but I figured I'd report it. Feel free to close I suppose. The widget works great, thank you for making it.


Sorting doesn't work when pnpm is used as package manager

Your Environment

Prettier version: 2.8.8
node version [18.16.0]:
package manager<EMAIL_ADDRESS>IDE: [VScode]

Describe the bug
Sorting doesn't work when pnpm is used as package manager, but everything works as expected when<EMAIL_ADDRESS>is used as package manager.
To Reproduce

Init new npm package with following configuration

{
  "name": "prettier-format-test",
  "version": "1.0.0",
  "main": "index.js",
  "devDependencies": {
    "@trivago/prettier-plugin-sort-imports": "4.1.1",
    "prettier": "2.8.8"
  }
}

Add .prettierrc config

{
  "singleQuote": true,
  "importOrder": ["^node:", "^\\w", "^[./]"],
  "importOrderSeparation": true,
  "importOrderSortSpecifiers": true
}

Create index.js with following content

import { Cipher } from 'crypto';

import { accessSync } from 'node:fs';

Save file

Expected behavior
Imports should be formatted after save and content of the file should become
import { accessSync } from 'node:fs';

import { Cipher } from 'crypto';

Contribute to @trivago/prettier-plugin-sort-imports

[ ] I'm willing to fix this bug 🥇

I was having the same issue while using the same versions as mentioned and found a solution.
Adding "plugins": ["@trivago/prettier-plugin-sort-imports"] to the .prettierrc file fixed it:
{
  "singleQuote": true,
  "importOrder": ["^node:", "^\\w", "^[./]"],
  "importOrderSeparation": true,
  "importOrderSortSpecifiers": true,
  "plugins": ["@trivago/prettier-plugin-sort-imports"]
}

Works like a charm,
Thank you so much @eyerrock.
I think that it should be added to readme.md, but I'd better create a new issue for this one.


request.env['warden'] is nil in Rails controller test

In my controller tests in Rails 4.2.2 (MiniTest), request.env['warden'] is always nil in the tested controller. I include Warden::Test::Helpers into ActiveSupport::TestCase.
# test_helper.rb
class ActiveSupport::TestCase
  include Warden::Test::Helpers
end

I also have Capybara tests, where the issue does not occur. What am I missing?
# controllers/concern/authenticatable.rb
module Authenticatable
  extend ActiveSupport::Concern

  def self.included(base)
    base.helper_method :warden, :current_user, :signed_in?
  end

  def logout(scope = default_scope)
    warden.logout(scope)
  end

  def signed_in?(scope = default_scope)
    !current_user(scope).nil?
  end

  def current_user(scope = default_scope)
    warden.user(scope)
  end

  def warden
    request.env['warden'] # <-- is nil in MiniTest controller tests
  end

  def authenticate!(scope = default_scope)
    warden.authenticate!(scope: scope)
  end

  private

  def default_scope
    warden.config.default_scope
  end
end

# controllers/application_controller.rb
class ApplicationController < ActionController::Base
  include Authenticatable

  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception
end

# test/controllers/accounts_controller_test.rb
require 'test_helper'

class AccountsControllerTest < ActionController::TestCase
  setup do
    @account = accounts(:cash)
    login_as users(:john)
  end

  teardown do
    Warden.test_reset!
  end

  test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:accounts)
  end
end

I realized the middleware stack is not processed by rails in controller tests. Thus, this is not a Warden issue, please ignore my post. I went with this solution.

Might be good to post @manubo's solution in a wiki to avoid link rot.

@manubo can you test this branch: https://github.com/acaron/warden/tree/fix-test-helpers
Add Warden::Test::Mock and you can call warden to get a valid warden object (remove your current solution to test this). I needed the exact same thing! Tell me if your tests pass because env and app are simulate. The current version 1.2.5 implement this in Warden::Test::Helpers if that is easier for you to test on. It must be changed because it breaks tests for many people who don't need this!

Version 1.2.6 should solve your problem if you add Warden::Test::Mock and call warden.

@acaron I just hit this exact issue. In this solution, do we need to monkey patch Authenticatable#warden to return Warden::Test::Mock#warden instead of request.env['warden']?

Also, I just noticed that this fails if you don't have a :password strategy defined. the proxy raises "Invalid strategy password". I got around it for now by adding a duplicate strategy with a different name, but I don't have immediate suggestions offhand for how to fix that.

@orenmazor you only have to include Warden::Test::Mock and use directly warden instead of request.env['warden']. I don't have have strategy password defined in my tests and it works. Do you have a code sample?

I did, but unfortunately I refactored it out. I'll spin up a sample app for you this weekend.

This worked for me:
    @request.env['warden'] = @warden

Controller test helpers for Warden _Kentaro Imai.pdf
Here is a PDF of the article linked in https://github.com/wardencommunity/warden/issues/117#issuecomment-131083235. I had to find it on the wayback machine, so leaving it here in case it disappears.

Controller test helpers for Warden _Kentaro Imai.pdf
Here is a PDF of the article linked in #117 (comment). I had to find it on the wayback machine, so leaving it here in case it disappears.

Nice idea! thanks! here is the same pdf but cleaner (I removed unrelated divs and texts which were covering part of the code):
Controller test helpers for Warden _Kentaro Imai.pdf


Add content : Data Science libraries like pandas , numpy , matplotlib etc

I can create content for these.

@kRiShNa-429407 go for it

Do i need to make an entire or some portion??


Cpp sdk cmake

This changeset provides CMake scripts for building C++ SDK that works across Windows, Linux and macOS.
Old Makefile will be removed after migrating examples/cpp-simple to CMake.
Issue: #134

CLA signed, please review.

Apparently, I cc'd the wrong person :blush:
/cc @sylvainduchesne - would you like to take a pass? I trust your C++ way more than mine.

I think the PR looks good, but I would like to see a proper cmake package so that agones could also be consumed as a cmake package. Would it be possible to add this to the PR?

@sylvainduchesne, @markmandel Please, review new changes.
Currently gRPC is used inplace (with add_subdirectory) and only necessary dependencies are built. OpenSSL is not required anymore.
It is possible to provide custom path to gRPC, but CMake will stop the build if version number is not equal to the version in CMakeLists.txt (there is an option to switch this check off).
If no gRPC installation found, CMake will download it from github.
Agones can be build for inplace usage or there is an "install" step, which will generate necessary configs for CMake package. Package is relocatable (no absolute path will be hardcoded).
There is a CMakeLists.txt in cpp-simple example.
Some used workarounds:

gRPC is not compiled completely and necessary cmake files are not generated. Solution: provided custom build/installation scripts for gRPC/protobuf and other depencencies.
CMake (3.12 and higher) produce some warnings on gRPC compilation. They may be suppressed only with "-Wno-dev" option. Those warnings may be fixed when gRPC team will add CMake 3.0 support. Or we found another way to link with gRPC. Those warnings appears only when gRPC is added with add_subdirectory. Nothing is broken, just text warnings. Related to CMP0048 policy.
Users need to suppress some warnings (related to protobuf) in their projects, if agones sdk is built as .dll. Details

I defer to @sylvainduchesne on this for sure -- my C++ is no good here.

I did a build, and everything worked nicely. I was a bit surprised to see that it built DLL by default. Is this intended? I am also not sure how to build a static lib.

Looking for the documentation on how to build DLL, I did come across a typo in the URL of the SDK doc.
https://raw.githubusercontent.com/GoogleCloudPlatform/agones/master/sdks/cpp/README.md
agondes.dev, not sure if you want to fix this in the current PR

@sylvainduchesne raises a good point - we'll need to have this documented in https://agones.dev/site/docs/guides/client-sdks/cpp/ :+1:

@sylvainduchesne I fixed build. Now static build is default and installation step is added to build scripts. Please review once again.

Just tested the latest code, looks good! Sorry took a while, I recently switched computers at work.
Built examples/cpp-simple in shared and static, both worked without issues.

@markmandel , I think we can merge?

The only minor tweak I would make - on the documentation page, rather than replace the docs, keep the old documentation, and wrap it in a feature shortcode, and put the new section in its own features shortcode, so that the old switches with the new automatically for 0.9.0.
Details on how to do this here: https://agones.dev/site/docs/contribute/
Other than that, LGTM!

The only minor tweak I would make - on the documentation page, rather than replace the docs, keep the old documentation, and wrap it in a feature shortcode, and put the new section in its own features shortcode, so that the old switches with the new automatically for 0.9.0.
Details on how to do this here: https://agones.dev/site/docs/contribute/
Other than that, LGTM!

@markmandel done

@dsazonoff this looks great! Please squash to a single commit, and resolve the above conflicts, and I'll approve and merge (just in time for RC on Tuesday!)

@dsazonoff this looks great! Please squash to a single commit, and resolve the above conflicts, and I'll approve and merge (just in time for RC on Tuesday!)

Done, merged. I'm not sure, why build is failing. Locally everything is built.