Update howler dependency version

Changed the howler dependency version to allow for semver patch version changes.

Hey thank you for send us this PR but we are well awear of the semver and opted for a fixed versiom because even though howler.js follows semver, they usually introduced bugs in patches that break our production builds.

Fixed version it is then.

Thank you. @Stenerson could you please check if this version of howler is working fine for you? And make a new release.

Yes, I'll run a few tests (hopefully today) to make sure 2.0.6 checks out and merge this.

@dmednis let's bump to 2.0.7 since it includes a minor cosmetic fix and would get us to the most current version.
I still want to run a few tests on the stuff that was changed in 2.0.6 but we can basically get to .7 for free so let's do it.

@Stenerson I can add greenkeeper to the project for reminding you of newer version of howler.

Good idea @thangngoc89.
I knew that they had a few patch releases but didn't realize that .6 fixed a nasty deprecation warning in Chrome. They don't release too often so sticking with this plan should be manageable.

Didn't notice there was a .7 released. But yes, upgrading to the latest would be great.

2.0.7 Seems to be working fine but there's still a deprecation warning.
See goldfire/howler.js#856
@dmednis can you please update to 2.0.7 and run yarn upgrade to update (and commit) the yarn.lock file as well? Then I'll merge. Thanks again and be on the lookout for another bump when Howler releases a version to kill the remaining deprecation warning.


Fixed to work with Unity 2019.2.5

The UI for UnityEvents always appeared missing, it's fixed now.
Thanks for the amazing tool SabreCSG is.

The strange thing is that this file shouldn't even compile on 2019. It has #if !UNITY_2018_OR_NEWER around it. It's a compatibility script for versions down to Unity 5.3.

I would still like to thank you for the contribution @Sinono3, it is too bad that I could not merge this PR. But I hope it's not the last thing we see of you! And it was thanks to this PR that I got motivated to try my hand at fixing 2019 completely. 🙂


Upgrade substrate to rc2 and delete customized balances

Follow #122

We do not change to newest dynamic Weight( #123 )


Add LSM6DSL.cpp in example touch/CMakeLists.txt

Added LSM6DSL.cpp in Melopero_Sensei/C++/examples/touch/CMakeLists.txt to allow examples compilation

Added README.md in MicroPython/src folder and Updated sensei.c and sensei.cpp files to allow build with last Micropython version.


Java Packages are deleted

After successfully renaming my app and decided to build it, the app crashed unexpectedly on my emulator without any error output. So i dug through and discovered that both MainActivity.java and MainApplication.java have been deleted. Please is there any fix for this??? There haven't been any fix or whatsoever so far.

This issue only happens if the command is run as react-native-rename <newName> -b <bundleIdentifier> when newName is different from the current name and bundleIdentifier is the same as the current bundle identifier.

What worked for me is that you should copy your old Package name's MainActivity.java and MainApplication.java and paste them into your new Package name's Java folder.  You also might need to rename the text inside the Java file itself. Directions: C:\ReactProjects\NewPackage\android\app\src\main\java\com\NewPackage
Um, for those who can't find their java files, you can use mine as a template. Just rename myapp to your new name:
MainActivity.java
`package com.myapp;
import com.facebook.react.ReactActivity;
public class MainActivity extends ReactActivity {
/**
 * Returns the name of the main component registered from JavaScript.
 * This is used to schedule rendering of the component.
 */
@Override
protected String getMainComponentName() {
    return "myapp";
}

}
`
MainApplication.java
`package com.myapp;
import android.app.Application;
import com.facebook.react.ReactApplication;
import com.oblador.vectoricons.VectorIconsPackage;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
import java.util.Arrays;
import java.util.List;
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
  return Arrays.<ReactPackage>asList(
      new MainReactPackage(),
        new VectorIconsPackage()
  );
}

@Override
protected String getJSMainModuleName() {
  return "index";
}

};
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
@Override
public void onCreate() {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
}
}
`
Here you might not remember all of the modules you installed. If that's the case, then look in your build.gradle and import the correct modules. Also, if you don't know the name of the import then you can just Google it. Hope this works!

I'll look into this issue. The simple workaround for now would seem to be not to specify the bundle identifier via -b if it hasn't changed.

Fixed by #62


Control can be null in Xamarin.Forms 4.

For reproduce:

Create a new project (Mobile App (Xamarin.Forms) with Master-Detail template).
Add Xamarin.Forms.RangeSlider NuGet package.
Add page with RangeSlider.
Navigate to page with RangeSlider.
Navigate to another page.
Take NullReferenceException.

Thanks, I will merge it today.


Don't set hostname by default

Signed-off-by: Mrunal Patel<EMAIL_ADDRESS>

@liangchenye PTAL
This helps with using a template.

LGTM

Thanks!


✨ LibSort additional functions

Description
Added uniquifySorted functionality into sort library. More Info #58.
Checklist
Ensure you completed all of the steps below before submitting your pull request:

[x] Ran forge snapshot?
[x] Ran npm run lint?
[x] Ran forge test?

Pull requests with an incomplete checklist will be thrown out.

How come the gas snapshot diffed so much 🤔

I am using Foundry Latest Nightly Build forge 0.2.0 (48d5d79). So maybe in foundry had done some changes in gas calculation on latest build. I am not sure about it. I am just guessing.


Fix : allow to select multiple files when transferring files from private to collab

Same here, it should only have c9a0c3de52e57151b567d032c9324187b320b80d (which is called ec3480dac99515a11196343d2e36b29feb6bf8da on dev.thehip.app) Maybe push from there?

my bad, didn't see that dev was so far behind (and I did push from there)


Refactoring

I'm not sure what you're trying to accomplish. It's usually recommended practice not to jump into a code repository and refactor everything to your preference that others maintain. If you are going to suggest changes in a pull request,

please keep with the current style.
Add unit tests to why your changes are needed
Add an actual description to the pull request with why you are changing things

All the changes look like personal preferences and in some cases will introduce errors we previously fixed.


Where can i invite this bot cant seem to find it?

i see the .jar but i don't see where i invite the bot at

https://github.com/ErdbeerbaerLP/Curseforge-Bot/wiki


Short solution needed: "How to filter data frame by column value" (python-pandas)

Please help us write most modern and shortest code solution for this issue:
How to filter data frame by column value (technology: python-pandas)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

How to filter data frame by column value


WIP: Return success on partial eof in NextBatch

If fetching a block of events stopped due to an eof, the old version
of NextBatch would return those events + an eof. This led to not
reading the last block of events at all.
Change this to return no error. Presumably, the next call to
NextBatch() would return EOF.
Signed-off-by: Mark Stemm<EMAIL_ADDRESS>
What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area plugins

/area registry

/area build

/area documentation

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: mstemm
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [mstemm]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

I'm not exactly sure we need this change--should we assume the plugin framework will interpret a non-empty list of events + EOF to still act on any events that were returned?
That's why it's WIP.

As you pointed out, I think this is not an issue. Actually, we always assumed this semantics was intended. We documented the behavior of NextBatch in the SDK Go as follows: https://pkg.go.dev/github.com/falcosecurity/plugin-sdk-go/pkg/sdk#NextBatcher
The idea is that next_batch can return a # of events <= the batch size. Once an EOF is returned, the framework consumes all the events from the current batch. What really matters is that, by contract, once the plugins return an EOF they needs to keep returning EOFs if next_batch is called again. Looking at the code, this also looks like the behavior implemented in scap.c.
What do you think. Are we aligned on this?

Great, I'll close this then. Thanks for double-checking my logic.


Update set-up-your-development-environment.md

Update info and links to latest supported LTS version of NodeJS.
Category

[x] Content fix
[ ] New article
Related issues:

What's in this Pull Request?
Clarification regarding NodeJS LTS selection for SPFx dev environment setup
Guidance
As NodeJS LTS is now 10.x, it was not 100% clear that we should NOT select actual LTS but 8.x (it happened to me 2 days ago)

thx @panjkov, appreciated.


[EDA] Refactor: CON_CannotDelete_TDTM

Critical Changes
Changes
We've refactored the CON_CannotDelete_TDTM class to improve readability, modularity, and performance. The functionality of this class hasn't changed.
Issues Closed
New Metadata
SRVC_Contact_PreventDeletion
SRVC_Contact_PreventDeletion_TEST
Deleted Metadata
Testing Notes

Tracking W-7930262

@skosgi1 Would you add a class description to the new SRVC_Contact_PreventDeletion class please? I see it's not included and I know I really appreciate the descriptions to better understand the class' purpose.

Tested/Passed QE


Support migrating segments from a source recording to the end of a (stopped) destination recording

Context:
The aim of this PR is to support use cases where "appending migrations" are necessary, for example, as suggested recently, to fix snapshot recordings:

truncate the original snapshot back to 0 length and then
migrate the segments from the new recording to the old snapshot
recording

Main changes:

Compute whether to prepend or append based on the extent of the source and destination recordings
Perform more checks, e.g., that all source segments are available and that no unattached destination segments conflict, before renaming any segments

Some cases that were previously partially successful are now failures, as a result
The conductor no longer attaches segments in order of closest to the "seam" to furthest away

Added a new suite of tests to replace the existing migrateSegments tests, which comprises two parameterised tests:

shouldMigrateSegments(TestCaseParameters)

Takes a description of how to arrange the source and destination recordings
Computes a checksum from replaying the original source and destination parts
Calls migrateSegments
Computes another checksum from the migrated stream and verifies it matches the original
Checks the start and stop positions of the source and destination recordings match expectations
Checks the segments in the Archive directory are as expected
Checks both recordings are left in a valid state where they can later be extended
See successful test cases

migrateSegmentsShouldThrow(FailureCaseParameters)

Takes a description of how to arrange the source and destination recordings
Calls migrateSegments and catches the resulting exception
Verifies the error message matches expectations
See failure test cases

Questions:

As mentioned above, some partial successes could now be failures, e.g., where there was a missing segment. Strictly speaking, this behaviour change is a breaking change. Is migrating with missing segments an expected/supported use case? Or is it reasonable for this to result in an error now?
Is "seam position" a suitable name for the position where source recordings are stitched onto a destination? Or should I (re)use "join position"?

Please note that the new MigrateSegmentsTest suite is collapsed by default in the diff viewer.

Besides minor comments this looks good.


Update/Add swift[c]

Right now only the swift tool is installed (added to the path) to github actions linux runners.
https://github.com/actions/virtual-environments/blob/abec49dcd9d21df471c7a7ed83cc0218d0516c7f/images/linux/scripts/installers/swift.sh#L18
Some tools (such as bazel's swift rules) look for swiftc specifically, and only swift is provided. Can we add a symlink for that?
Tool information

Tool name: Swiftc
Add or update? Update

Area for Triage:

Question, Bug, or Feature?:
Feature?
Virtual environments affected

[ ] macOS 10.15
[X] Ubuntu 16.04 LTS
[X] Ubuntu 18.04 LTS
[X] Ubuntu 20.04 LTS
[ ] Windows Server 2016 R2
[ ] Windows Server 2019

Are you willing to submit a PR?
Sure!

Hey @rockwotj
It looks good, are there any symlinks beside this one that should be included to images?
Thank you!

Thanks @LeonidLapshin! When will this be available in the runner?


Made the PlayButton to redirect

When clicking the play button, it is able to go to a new page using java script and php. However there seems to be two buttons should we get rid of the button that is not part of the form?

Just checked, great start, now you have to make sure you pass the information to the quiz.php, like on the URL it should say http://localhost/QuizzFun/quiz.php?quiztitle=animecomprehensive
And also, make the same changes to the second button, for anime characters.


OLS-241 , OLS-297- enable TLS

Description

added support for TLS in Uvicorn and app config.
moved the config initialization to the runner.py

Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library

Related Tickets & Documents

Related Issue #
Closes #

Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] PR has passed all pre-merge test jobs.
[ ] If it is a core feature, I have added thorough tests.

Testing

Please provide detailed steps to perform tests related to this code change.
How were the fix/results from this change verified? Please provide relevant screenshots or results.

/retest

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

Project coverage is 95.61%. Comparing base (7a16069) to head (4211c95).
Report is 22 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #524      +/-   ##
==========================================
- Coverage   96.64%   95.61%   -1.03%
==========================================
  Files          47       47
  Lines        1459     1483      +24
==========================================
+ Hits         1410     1418       +8
- Misses         49       65      +16

Files
Coverage Δ

ols/app/main.py
95.23% <ø> (-1.43%)
:arrow_down:

ols/app/models/config.py
94.81% <54.54%> (-3.24%)
:arrow_down:

... and 3 files with indirect coverage changes

/retest

/retest

/retest

/retest

/retest

/retest

@bparees im unable to recognize why tests are failing
any thoughts?

/retest

/lgtm
/approve


Add path verification component for integration testing

We should have something that makes sure paths always apply properly in future versions of Tor. This is a first step.

This is working fairly well now. --enable_pathverify option created, as well as off-by-default config entry.
Documented in changelog and closing.


Version v0.11.10

Is there any scope of getting upgraded to v0.11.10?

Would you be interested in making a PR?

I'm completely new to ghost so I'm next to useless on this one unfortunately or I would.


Manually adding custom commands is impossible

It's a nightmare. Really can't do it without just editing the project config directly in a text editor.

I think this is a duplicate of: https://github.com/AnidemDex/Blockflow/issues/157


BUGFIX: Update protobuf version for compatibility fix and add request…

…s lib.
Thanks to @eroche in the OB Slack for helping me find these issues.

This fixes https://github.com/OpenBazaar/OpenBazaar-Server/issues/521


Icons not displaying on dropdown

I have saved the icons in a separate file and named it as iconLists.js. In the FontIconPicker I am using the icon property as:
<FontIconPicker icons={iconLists.icomoonIcons}/>
But in the drop down it shows the following:
. Am I missing any component?
Thanks

Maybe you need to use a different renderer?  See renderUsing on this page, and check out the renderIcon() method (around line 423) in  FontIconPicker.jsx

I have the same problems when adding the fontIconPicker. In fontIconPicker, I can't see icons for fontIconPicker in react js.

Maybe you need to use a different renderer? See renderUsing on this page, and check out the renderIcon() method (around line 423) in FontIconPicker.jsx

Could you please let me know the more detail? I also have the problems.


Getting request header

Hi
I've have had a long fight trying to get accesstoken validation to work in webapi 4.6.1 / OWIN / Autofac combination. Problem was that I couldn't get claims. I also opened a question in Stackoverflow (http://stackoverflow.com/questions/38712088/protecting-webapi-with-identityserver-and-autofac-cant-get-claims) since I couldn't find any real-life sample on this setup.
After debugging I found out that problem was in IdentityServerBearerTokenValidationMiddleware -class in GetTokenAsync. Fo some reason following line didn't work.
string authorization = context.Request.Headers.Get("Authorization");

When I changed it to following, everything worked.
string authorization = context.Request.Headers["Authentication"];

This is so crucial part of the library I find it hard to believe it's a bug - it must be something related to my setup.  I just wanted to let you know in case somebody understands why this happens and can it be prevented somehow.

Not sure. Can you investigate why in OWIN/Katana there would be a difference between those two lines of code?

Are you sure you want to use a header called Authentication instead of Authorization?

Good point!  I got that header from frontend and didn't think about it. Using authorization everything works. And surely that is the header that should be used.


terminal format theme and color

the theme color does not work for terminal , i can not stand the white format and black terminal

Can you give more context, please? What version you are using, operating system, etc.
When I try it, it seems to work fine.

最新版本的vscode， 系统是windows10 1809

Ok. Can you send a screenshot of the issue?


Investigate removing Request from NoSpecimen

IIRC, the Request property of NoSpecimen is never used. If so, it should be removed. Since this is a breaking change, it should be done as part of AutoFixture 4.
If it turns out that it's used after all, we can simply close this issue.

It was used by some tests a long time ago. #221 discusses removal and I have an old branch that may help.

To ease into this breaking change, we ought to deprecate the Request property and the corresponding constructor, using the [Obsolete] attribute.

I am seeing the warning that this is now obsolete in code that I adapted from http://stackoverflow.com/a/27774580/1656318.  Is there another way to accomplish what this solution on StackOverflow does?
Thanks.

@JoyPeterson new NoSpecimen() isn't obsolote.

As far as I can tell, we're done removing use of new NoSpecimen(request) in the v4 branch, apart from the definition of the constructor overload and the property itself, and the tests that cover these members.
Should we introduce a Singleton property for NoSpecimen instead of requiring people to use new NoSpecimen()?
As @adamchester has commented, it doesn't seem to have much performance impact, but on the other hand, would it hurt?
If we introduce a NoSpecimen.Instance static property, we can also deprecate the parameterless constructor. This would be possible to do already in AutoFixture 3.

I would leave it as-is, without introducing a static member in the NoSpecimen definition.
AFAICT, in the AutoFixure codebase static members aren't exposed; they might be just used internally here and there as an implementation detail. I could be wrong though...

At the end, it really is a matter of personal style, the fact that I can't see a place for static members in OOP.

I think it's a good idea, it seems needlessly wasteful to create so many instances of it, and I can't think of a good reason why it would be better as separate instances.

@adamchester Granted, it can be overhead for the GC. Should we care?

If not, then, there's also this:
| Text  | Chars  |
|---|---|---|
| NoSpecimen.Instance  | 19  |
| new NoSpecimen()  | 16  |
:smiley:

Should we care? I think we should care a little (but not much).
I think we have profiled, and the results were reasonably reliable, therefore it's not necessarily premature. It's a fairly straightforward scenario; creating lots of little instances versus not doing that.
The results say it makes a small difference, and perhaps only when a user has a lot of GC activity. I think if it's easy we should do it. If there are any complications in documentation or breaking changes or whatever, perhaps we should not bother.

Now that I think about it, it may deserve another quick profiling. I only profiled before (with request value) and after (as a singleton), but never profiled the state we have now. I might give it a few mins later today.

OK I just had a look and it seems that v4 still has the request property (deprecated). I was expecting it to be gone already, because I didn't read the earlier comments properly.

While the v4 version of NoSpecimen still has the Request property, it's no longer used.
It probably wouldn't be too hard to replace all occurrences of new NoSpecimen() with NoSpecimen.Instance in order to profile...

OK I've done that. I used the source v4-nospec-perf branch and made tests similar to this gist (note: I wasn't able to use that Gist exactly - because I couldn't make FSI load the different versions of the same assembly at the same time).
The differences were between ~5% to 10% under an extremely high amount of GC / object creation / memory pressure.
An easy way to confirm these results is via the test named CreateOnMultipleThreadsConcurrentlyGeneratesPopulatedSpecimens, by changing the specimenCountPerThread constant to some high number, run a full normal build of AutoFixture and take note of the test summary times. If my results are accurate, you should see ~5% to 10% faster for the Singleton version. I only did this on VM so I'm a little suspicious of the times I saw.

@adamchester Thank you for setting this up.
I did a before and after test suite run on my 1st generation Lenovo X1 Carbon, and it looks like refactoring to Singletons actually made things worse...
This surprises me somewhat, so I hope I have done something wrong, but I can't think of what it should be...
Here are my measurements:
v4
  === TEST EXECUTION SUMMARY ===
     Ploeh.AutoFixture.AutoFakeItEasy.UnitTest   Total:   68, Errors: 0, Failed: 0, Skipped: 0, Time:  1,118s
     Ploeh.AutoFixture.AutoFoq.UnitTest          Total:   22, Errors: 0, Failed: 0, Skipped: 0, Time:  0,790s
     Ploeh.AutoFixture.AutoMoq.UnitTest          Total:  189, Errors: 0, Failed: 0, Skipped: 0, Time:  1,233s
     Ploeh.AutoFixture.AutoNSubstitute.UnitTest  Total:  163, Errors: 0, Failed: 0, Skipped: 0, Time:  1,191s
     Ploeh.AutoFixture.AutoRhinoMock.UnitTest    Total:   63, Errors: 0, Failed: 0, Skipped: 0, Time:  0,763s
     Ploeh.AutoFixture.Idioms.FsCheckUnitTest    Total:   27, Errors: 0, Failed: 0, Skipped: 0, Time:  0,966s
     Ploeh.AutoFixture.IdiomsUnitTest            Total:  589, Errors: 0, Failed: 0, Skipped: 0, Time:  1,425s
     Ploeh.AutoFixture.Xunit.UnitTest            Total:  123, Errors: 0, Failed: 0, Skipped: 0, Time:  0,329s
     Ploeh.AutoFixture.Xunit2.UnitTest           Total:  137, Errors: 0, Failed: 0, Skipped: 0, Time:  0,403s
     Ploeh.AutoFixtureDocumentationTest          Total:   96, Errors: 0, Failed: 0, Skipped: 0, Time:  0,524s
     Ploeh.AutoFixtureUnitTest                   Total: 3734, Errors: 0, Failed: 0, Skipped: 0, Time: 37,915s
     Ploeh.SemanticComparison.UnitTest           Total:  247, Errors: 0, Failed: 0, Skipped: 0, Time:  0,524s
                                                        ----          -          -           -        -------
                                           GRAND TOTAL: 5458          0          0           0        47,181s (62,966s)

v4-nospec-perf
  === TEST EXECUTION SUMMARY ===
     Ploeh.AutoFixture.AutoFakeItEasy.UnitTest   Total:   68, Errors: 0, Failed: 0, Skipped: 0, Time:  1,088s
     Ploeh.AutoFixture.AutoFoq.UnitTest          Total:   22, Errors: 0, Failed: 0, Skipped: 0, Time:  0,882s
     Ploeh.AutoFixture.AutoMoq.UnitTest          Total:  188, Errors: 0, Failed: 0, Skipped: 0, Time:  1,365s
     Ploeh.AutoFixture.AutoNSubstitute.UnitTest  Total:  163, Errors: 0, Failed: 0, Skipped: 0, Time:  1,309s
     Ploeh.AutoFixture.AutoRhinoMock.UnitTest    Total:   63, Errors: 0, Failed: 0, Skipped: 0, Time:  0,813s
     Ploeh.AutoFixture.Idioms.FsCheckUnitTest    Total:   27, Errors: 0, Failed: 0, Skipped: 0, Time:  1,016s
     Ploeh.AutoFixture.IdiomsUnitTest            Total:  589, Errors: 0, Failed: 0, Skipped: 0, Time:  1,382s
     Ploeh.AutoFixture.Xunit.UnitTest            Total:  123, Errors: 0, Failed: 0, Skipped: 0, Time:  0,304s
     Ploeh.AutoFixture.Xunit2.UnitTest           Total:  137, Errors: 0, Failed: 0, Skipped: 0, Time:  0,402s
     Ploeh.AutoFixtureDocumentationTest          Total:   96, Errors: 0, Failed: 0, Skipped: 0, Time:  0,501s
     Ploeh.AutoFixtureUnitTest                   Total: 3722, Errors: 0, Failed: 0, Skipped: 0, Time: 42,623s
     Ploeh.SemanticComparison.UnitTest           Total:  247, Errors: 0, Failed: 0, Skipped: 0, Time:  0,560s
                                                        ----          -          -           -        -------
                                           GRAND TOTAL: 5445          0          0           0        52,245s (68,561s)

It's strange that the grand total count of tests is different between the two runs...

@ploeh Can you please try the v4-NoSpecimen-perf builds only, in order to isolate the changes in test run times. I'm not sure what else might be impacting it.
In the NoSpecimen.cs file, it has commented out implementations (singleton vs new instance). You can change which one is enabled and rebuild, then check the test execution times?
I noticed when I ran them again, the times varied pretty wildly, so we might need to try something more reliable if this fails.

Also, try to make sure that power saving etc isn't the culprit here. Also make sure the tests are not running in parallel.

Updated and rebased v4-nospec-perf branch in case anyone cares. Still seeing between ~5% to 10% on my machine (but it's a VM so not really trustworthy IMO). Still not sure if that amount makes it worthwhile or not.

Here are some new measurements made on my 1st generation Lenovo X1 Carbon:
v4
  === TEST EXECUTION SUMMARY ===
     Ploeh.AutoFixture.AutoFakeItEasy.UnitTest   Total:   68, Errors: 0, Failed: 0, Skipped: 0, Time:  1,078s
     Ploeh.AutoFixture.AutoFoq.UnitTest          Total:   22, Errors: 0, Failed: 0, Skipped: 0, Time:  0,745s
     Ploeh.AutoFixture.AutoMoq.UnitTest          Total:  189, Errors: 0, Failed: 0, Skipped: 0, Time:  1,154s
     Ploeh.AutoFixture.AutoNSubstitute.UnitTest  Total:  163, Errors: 0, Failed: 0, Skipped: 0, Time:  1,119s
     Ploeh.AutoFixture.AutoRhinoMock.UnitTest    Total:   63, Errors: 0, Failed: 0, Skipped: 0, Time:  0,705s
     Ploeh.AutoFixture.Idioms.FsCheckUnitTest    Total:   27, Errors: 0, Failed: 0, Skipped: 0, Time:  1,029s
     Ploeh.AutoFixture.IdiomsUnitTest            Total:  601, Errors: 0, Failed: 0, Skipped: 0, Time:  1,304s
     Ploeh.AutoFixture.Xunit.UnitTest            Total:  123, Errors: 0, Failed: 0, Skipped: 0, Time:  0,333s
     Ploeh.AutoFixture.Xunit2.UnitTest           Total:  137, Errors: 0, Failed: 0, Skipped: 0, Time:  0,447s
     Ploeh.AutoFixtureDocumentationTest          Total:   96, Errors: 0, Failed: 0, Skipped: 0, Time:  0,475s
     Ploeh.AutoFixtureUnitTest                   Total: 3749, Errors: 0, Failed: 0, Skipped: 0, Time: 43,256s
     Ploeh.SemanticComparison.UnitTest           Total:  247, Errors: 0, Failed: 0, Skipped: 0, Time:  0,512s
                                                        ----          -          -           -        -------
                                           GRAND TOTAL: 5485          0          0           0        52,157s (67,228s)

v4-nospec-perf
  === TEST EXECUTION SUMMARY ===
     Ploeh.AutoFixture.AutoFakeItEasy.UnitTest   Total:   68, Errors: 0, Failed: 0, Skipped: 0, Time:  1,052s
     Ploeh.AutoFixture.AutoFoq.UnitTest          Total:   22, Errors: 0, Failed: 0, Skipped: 0, Time:  0,748s
     Ploeh.AutoFixture.AutoMoq.UnitTest          Total:  188, Errors: 0, Failed: 0, Skipped: 0, Time:  1,177s
     Ploeh.AutoFixture.AutoNSubstitute.UnitTest  Total:  163, Errors: 0, Failed: 0, Skipped: 0, Time:  1,110s
     Ploeh.AutoFixture.AutoRhinoMock.UnitTest    Total:   63, Errors: 0, Failed: 0, Skipped: 0, Time:  0,697s
     Ploeh.AutoFixture.Idioms.FsCheckUnitTest    Total:   27, Errors: 0, Failed: 0, Skipped: 0, Time:  1,019s
     Ploeh.AutoFixture.IdiomsUnitTest            Total:  589, Errors: 0, Failed: 0, Skipped: 0, Time:  1,280s
     Ploeh.AutoFixture.Xunit.UnitTest            Total:  123, Errors: 0, Failed: 0, Skipped: 0, Time:  0,296s
     Ploeh.AutoFixture.Xunit2.UnitTest           Total:  137, Errors: 0, Failed: 0, Skipped: 0, Time:  0,495s
     Ploeh.AutoFixtureDocumentationTest          Total:   96, Errors: 0, Failed: 0, Skipped: 0, Time:  0,473s
     Ploeh.AutoFixtureUnitTest                   Total: 3730, Errors: 0, Failed: 0, Skipped: 0, Time: 39,080s
     Ploeh.SemanticComparison.UnitTest           Total:  247, Errors: 0, Failed: 0, Skipped: 0, Time:  0,491s
                                                        ----          -          -           -        -------
                                           GRAND TOTAL: 5453          0          0           0        47,918s (63,197s)

That looks more promising than the first time around.
From these (far from scientific) measurements, one can also see that the source of variation is Ploeh.AutoFixtureUnitTest, which is what one would expect, because it's in that test project that we find the test CreateOnMultipleThreadsConcurrentlyGeneratesPopulatedSpecimens. The other test projects exhibit 'fairly little' variation, although my friend @strobaek would (again) mock me if he learned about this cavalier attitude to statistics :flushed: :trollface:
It seems it'd be worthwhile moving forward with the Singleton NoSpecimen.
Comments? Objections?

@ploeh did you modify this? Your results listed and test counts indicate you might not have understood this suggestion.

You're correct; I overlooked that suggestion :flushed:
Here are the new results from the Danish jury:
New instances
  === TEST EXECUTION SUMMARY ===
     Ploeh.AutoFixture.AutoFakeItEasy.UnitTest   Total:   68, Errors: 0, Failed: 0, Skipped: 0, Time:  1,056s
     Ploeh.AutoFixture.AutoFoq.UnitTest          Total:   22, Errors: 0, Failed: 0, Skipped: 0, Time:  0,798s
     Ploeh.AutoFixture.AutoMoq.UnitTest          Total:  188, Errors: 0, Failed: 0, Skipped: 0, Time:  1,121s
     Ploeh.AutoFixture.AutoNSubstitute.UnitTest  Total:  163, Errors: 0, Failed: 0, Skipped: 0, Time:  1,104s
     Ploeh.AutoFixture.AutoRhinoMock.UnitTest    Total:   63, Errors: 0, Failed: 0, Skipped: 0, Time:  0,681s
     Ploeh.AutoFixture.Idioms.FsCheckUnitTest    Total:   27, Errors: 0, Failed: 0, Skipped: 0, Time:  1,013s
     Ploeh.AutoFixture.IdiomsUnitTest            Total:  589, Errors: 0, Failed: 0, Skipped: 0, Time:  1,267s
     Ploeh.AutoFixture.Xunit.UnitTest            Total:  123, Errors: 0, Failed: 0, Skipped: 0, Time:  0,286s
     Ploeh.AutoFixture.Xunit2.UnitTest           Total:  137, Errors: 0, Failed: 0, Skipped: 0, Time:  0,422s
     Ploeh.AutoFixtureDocumentationTest          Total:   96, Errors: 0, Failed: 0, Skipped: 0, Time:  0,503s
     Ploeh.AutoFixtureUnitTest                   Total: 3730, Errors: 0, Failed: 0, Skipped: 0, Time: 38,338s
     Ploeh.SemanticComparison.UnitTest           Total:  247, Errors: 0, Failed: 0, Skipped: 0, Time:  0,478s
                                                        ----          -          -           -        -------
                                           GRAND TOTAL: 5453          0          0           0        47,067s (62,391s)

Singleton
  === TEST EXECUTION SUMMARY ===
     Ploeh.AutoFixture.AutoFakeItEasy.UnitTest   Total:   68, Errors: 0, Failed: 0, Skipped: 0, Time:  1,048s
     Ploeh.AutoFixture.AutoFoq.UnitTest          Total:   22, Errors: 0, Failed: 0, Skipped: 0, Time:  0,805s
     Ploeh.AutoFixture.AutoMoq.UnitTest          Total:  188, Errors: 0, Failed: 0, Skipped: 0, Time:  1,161s
     Ploeh.AutoFixture.AutoNSubstitute.UnitTest  Total:  163, Errors: 0, Failed: 0, Skipped: 0, Time:  1,080s
     Ploeh.AutoFixture.AutoRhinoMock.UnitTest    Total:   63, Errors: 0, Failed: 0, Skipped: 0, Time:  0,679s
     Ploeh.AutoFixture.Idioms.FsCheckUnitTest    Total:   27, Errors: 0, Failed: 0, Skipped: 0, Time:  1,167s
     Ploeh.AutoFixture.IdiomsUnitTest            Total:  589, Errors: 0, Failed: 0, Skipped: 0, Time:  1,291s
     Ploeh.AutoFixture.Xunit.UnitTest            Total:  123, Errors: 0, Failed: 0, Skipped: 0, Time:  0,313s
     Ploeh.AutoFixture.Xunit2.UnitTest           Total:  137, Errors: 0, Failed: 0, Skipped: 0, Time:  0,362s
     Ploeh.AutoFixtureDocumentationTest          Total:   96, Errors: 0, Failed: 0, Skipped: 0, Time:  0,508s
     Ploeh.AutoFixtureUnitTest                   Total: 3730, Errors: 0, Failed: 0, Skipped: 0, Time: 33,399s
     Ploeh.SemanticComparison.UnitTest           Total:  247, Errors: 0, Failed: 0, Skipped: 0, Time:  0,479s
                                                        ----          -          -           -        -------
                                           GRAND TOTAL: 5453          0          0           0        42,292s (57,209s)

Ok great, so it looks like simply avoiding new NoSpecimen instances is better than 10%!

I wonder if we can coax @moodmosaic or @ecampidoglio to make a similar performance measurement... :stuck_out_tongue_winking_eye:

Good idea!

Sorry for being dump, how do I run a build on that branch? Code (Par)Analysis complains...

Strange... I just ran build-release.sh...

Alright, here we go:
Transient
  === TEST EXECUTION SUMMARY ===
     Ploeh.AutoFixture.AutoFakeItEasy.UnitTest   Total:   68, Errors: 0, Failed: 0, Skipped: 0, Time:  0.722s
     Ploeh.AutoFixture.AutoFoq.UnitTest          Total:   22, Errors: 0, Failed: 0, Skipped: 0, Time:  0.605s
     Ploeh.AutoFixture.AutoMoq.UnitTest          Total:  188, Errors: 0, Failed: 0, Skipped: 0, Time:  0.752s
     Ploeh.AutoFixture.AutoNSubstitute.UnitTest  Total:  163, Errors: 0, Failed: 0, Skipped: 0, Time:  0.825s
     Ploeh.AutoFixture.AutoRhinoMock.UnitTest    Total:   63, Errors: 0, Failed: 0, Skipped: 0, Time:  0.533s
     Ploeh.AutoFixture.Idioms.FsCheckUnitTest    Total:   27, Errors: 0, Failed: 0, Skipped: 0, Time:  0.676s
     Ploeh.AutoFixture.IdiomsUnitTest            Total:  589, Errors: 0, Failed: 0, Skipped: 0, Time:  0.863s
     Ploeh.AutoFixture.Xunit.UnitTest            Total:  123, Errors: 0, Failed: 0, Skipped: 0, Time:  0.212s
     Ploeh.AutoFixture.Xunit2.UnitTest           Total:  137, Errors: 0, Failed: 0, Skipped: 0, Time:  0.292s
     Ploeh.AutoFixtureDocumentationTest          Total:   96, Errors: 0, Failed: 0, Skipped: 0, Time:  0.333s
     Ploeh.AutoFixtureUnitTest                   Total: 3730, Errors: 0, Failed: 0, Skipped: 0, Time: 25.864s
     Ploeh.SemanticComparison.UnitTest           Total:  247, Errors: 0, Failed: 0, Skipped: 0, Time:  0.337s
                                                        ----          -          -           -        -------
                                           GRAND TOTAL: 5453          0          0           0        32.014s (55.318s)

Singleton
 === TEST EXECUTION SUMMARY ===
    Ploeh.AutoFixture.AutoFakeItEasy.UnitTest   Total:   68, Errors: 0, Failed: 0, Skipped: 0, Time:  0.726s
    Ploeh.AutoFixture.AutoFoq.UnitTest          Total:   22, Errors: 0, Failed: 0, Skipped: 0, Time:  0.601s
    Ploeh.AutoFixture.AutoMoq.UnitTest          Total:  188, Errors: 0, Failed: 0, Skipped: 0, Time:  0.839s
    Ploeh.AutoFixture.AutoNSubstitute.UnitTest  Total:  163, Errors: 0, Failed: 0, Skipped: 0, Time:  0.832s
    Ploeh.AutoFixture.AutoRhinoMock.UnitTest    Total:   63, Errors: 0, Failed: 0, Skipped: 0, Time:  0.527s
    Ploeh.AutoFixture.Idioms.FsCheckUnitTest    Total:   27, Errors: 0, Failed: 0, Skipped: 0, Time:  0.675s
    Ploeh.AutoFixture.IdiomsUnitTest            Total:  589, Errors: 0, Failed: 0, Skipped: 0, Time:  0.875s
    Ploeh.AutoFixture.Xunit.UnitTest            Total:  123, Errors: 0, Failed: 0, Skipped: 0, Time:  0.204s
    Ploeh.AutoFixture.Xunit2.UnitTest           Total:  137, Errors: 0, Failed: 0, Skipped: 0, Time:  0.301s
    Ploeh.AutoFixtureDocumentationTest          Total:   96, Errors: 0, Failed: 0, Skipped: 0, Time:  0.328s
    Ploeh.AutoFixtureUnitTest                   Total: 3730, Errors: 0, Failed: 0, Skipped: 0, Time: 24.880s
    Ploeh.SemanticComparison.UnitTest           Total:  247, Errors: 0, Failed: 0, Skipped: 0, Time:  0.354s
                                                       ----          -          -           -        -------
                                          GRAND TOTAL: 5453          0          0           0        31.142s (54.695s)

FWIW, both tests were run on a virtual machine. I'm including both host's and virtual machine's specs:

OK I've created a benchmark you can find here.
What I ended up doing was creating two separate AutoFixture assemblies (one with new NoSpecimen() and one with the Singleton pattern).
BenchmarkDotNet=v<IP_ADDRESS>
OS=Microsoft Windows NT 6.2.9200.0
Processor=Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz, ProcessorCount=8
Frequency=10000000 ticks, Resolution=100.0000 ns
HostCLR=MS.NET 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]

Type=NoSpec  Mode=Throughput  Framework=V45
Runtime=Clr

Method | Platform |      Median |     StdDev |

---------- |--------- |------------ |----------- |
NewInst |   AnyCpu | 422.8487 us | 10.7777 us |
NewInst |      X64 | 434.0564 us | 28.1611 us |
NewInst |      X86 | 448.4954 us | 15.4484 us |
Singleton |   AnyCpu | 435.9688 us | 26.3663 us |
Singleton |      X64 | 425.9085 us |  8.0012 us |
Singleton |      X86 | 424.5232 us | 31.7419 us |

I updated the benchmark gist using the (unreleased) GC Diagnostics.
I think it now shows a more accurate comparison.
BenchmarkDotNet-Dev=v<IP_ADDRESS>+
OS=Microsoft Windows NT 6.2.9200.0
Processor=Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz, ProcessorCount=8
Frequency=10000000 ticks, Resolution=100.0000 ns, Timer=HPET
HostCLR=MS.NET 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
JitModules=clrjit-v4.6.1063.1

Type=NoSpec  Mode=Throughput  Platform=AnyCpu
Framework=V45  TargetCount=10

Method |      Median |     StdDev | Scaled |    Gen 0 |  Gen 1 | Gen 2 | Memory Traffic/Op |

---------- |------------ |----------- |------- |--------- |------- |------ |------------------ |
NewInst | 609.2445 us | 16.0232 us |   1.00 | 3,831.00 | 164.00 |     - |       60,746.91 B |
Singleton | 431.9125 us |  8.5179 us |   0.71 | 2,140.85 | 101.20 |     - |       35,121.92 B |

:+1: This looks precise to me!

I must admit that I've lost track of this discussion. Do you think we should make NoSpecimen a Singleton, or should we leave it as is?
Either way, I'd like to be able to close this issue.

Even though this benchmark shows that the Singleton version is a bit faster, I think I'd leave the existing NoSpecimen as-is, as I wrote here.

I would like it to a singleton, but I'm not sure if any user will ever notice or care about the speed increase.
I think I would be more enthusiastic if I knew somebody would actually benefit from it in the real world :)

I think we've handled this question professionally.
We had the hypothesis that converting NoSpecimen to a Singleton would improve performance. We then proceeded to test that hypothesis, but found the results unconvincing. The rational conclusion is that we've found too little evidence to support our hypothesis. Therefore, we should leave NoSpecimen as is.
That doesn't prevent us from bringing this question up again in the future.
Like @adamchester, I felt that a Singleton ought to be better, and I'm surprised that there's no clear evidence of this. Still, had we not attempted to measure, we might have made the breaking change based on a feeling, and perhaps inconvenienced users of AutoFixture for no reason.
Had it not been the work done by @adamchester, we wouldn't have been able to reach this conclusion, so thank you for doing that! Although the result seems disappointing, I think the work done is valuable.
Also thank you to @moodmosaic for testing.

Thanks @ploeh
I think it's fair to say there would be significantly less GC pressure if it was a singleton, but it's much harder to know what impact it would have on a normal user.
I think if some user ever comes along with an interesting use case, it might be worth it.
:+1:

:+1:

Just upgraded to 3.42, got lots of warnings around NoSpecimen being retired. We use it quite a lot in our custom customizations (Implementations of ICustomization and ISpecimenBuilder). The usual use case is to return a NoSpecimen when some pre constraint to the ISpeciminBuilder.Create method is not upheld. Maybe we can just return null in place of NoSpecimen?

@robsonj only the constructor overload (which accepts the original request) has been deprecated.

That is what we are using. Switch it to use the default constructor?

Yes, that is the recommendation, and that is what we have done internally.

Perfect, thanks Adam!

Unless I'm mistaken, you ought to have seen the following compiler warning:

The Request property, and the constructor that populates it, is being retired in future versions of AutoFixture, as it has turned out that no one uses it. If you're seeing this warning in AutoFixture 3.x, and, despite expectations, have a real need to use the Request property, please provide feedback on https://github.com/AutoFixture/AutoFixture/issues/475 .

Did you not get that warning message?

Yep, see my first post, lot of those warnings hence my feedback here that we use that constructor and the question of how to refactor.

Would the following message be better?

The Request property, and the constructor that populates it, is being retired in future versions of AutoFixture, as it has turned out that no one uses it. You can still use the parameterless NoSpecimen constructor overload. The NoSpecimen class itself will remain. If you're seeing this warning in AutoFixture 3.x, and, despite expectations, have a real need to use the Request property, please provide feedback on https://github.com/AutoFixture/AutoFixture/issues/475.

That would be better yep. I have removed the constructor arg, and all is well.
Thanks!

I'm currently travelling, with only occasional ability to work on code. Anyone reading this is welcome to submit a pull request with this text change.

I recently updated Autofixture and now have to fix my unit tests because of this change. I was using this feature to ignore virtual properties (navigation properties) when creating dummy data in Entity Framework entities in mocking situations. I needed to do this because navigation properties create cyclic dependencies and can't be populated. This is how I'm currently using it. If you want to deprecate this, please provide me with a way to ignore virtual properties.
public class IgnoreVirtualMembers : ISpecimenBuilder
{
  public object Create(object request, ISpecimenContext specimenContext)
  {
    if (specimenContext == null)
    {
      throw new ArgumentNullException("specimenContext");
    }
    var propertyInfo = request as PropertyInfo;
    if (propertyInfo == null)
    {
      return new NoSpecimen(request);
    }
    if (propertyInfo.GetGetMethod().IsVirtual)
    {
      return null;
    }
    return new NoSpecimen(request);
  }
}

@ThoughtDrive Are you using NoSpecimen.Request anywhere?

No I'm not. The code I posted is actually from Stack Overflow (the second answer) which references the Autofixture blog.

I'm assuming that you get a compiler warning. What does it say?

It gives me the error message you updated on 29 March. That's how I got to this thread.
The Request property, and the constructor that populates it, is being retired in future versions of AutoFixture, as it has turned out that no one uses it. You can still use the parameterless NoSpecimen constructor overload. The NoSpecimen class itself will remain. If you're seeing this warning in AutoFixture 3.x, and, despite expectations, have a real need to use the Request property, please provide feedback on #475.

I'm not trying to be condescending here, but how do you interpret this message?
I'm genuinely interested in learning about your perspective on that message, because it seems that it may not be as clear as I thought it was. If you can teach me where I've failed, I'd like to use my new knowledge to improve the message.

I don't think you've failed. NoSpecimen is a class with a constructor that takes in a request object. In the error message, you currently say "The Request property, and the constructor that populates it". I would word it as "The NoSpecimen constructor has changed so that a request object cannot be passed into it. The default constructor will remain available for future use however..." Something along those lines. Just let people know that only the default constructor is being supported in future versions.

How about this?

Instead of new NoSpecimen(request) you can use new NoSpecimen().

The Request property, and the constructor that populates it, is being retired in future versions of AutoFixture, as it has turned out that no one uses it.

If you're seeing this warning in AutoFixture 3.x, and, despite expectations, have a real need to use the Request property, please provide feedback on #475.

I think this draws more attention to the normal solution up front, and further reading is only required if that didn't solve your problem.

In my opinion, a compiler warning should start with a short statement of fact, or a clear imperative. Additionally, we have limited formatting options, as the message is only a string. How about this variation of @adamchester's suggestion?

Use new NoSpecimen() instead of new NoSpecimen(request). The Request property, and the constructor that populates it, is being retired in future versions of AutoFixture, as it has turned out that no one uses it. If you're seeing this warning in AutoFixture 3.x, and, despite expectations, have a real need to use the Request property, please provide feedback on #475.

It'd be possible to put newlines into the string, but I'm not sure how a compiler or Visual Studio would display them...

@ThoughtDrive, we're currently diverting a bit from your original question, but did you get a useful answer?

Yes. I'm currently rewriting my unit tests excluding the navigation properties by using the Without() method.

Also, changing the constructor's signature seems like a breaking change that should be done in a major version rather than a minor version (I upgraded from 3.36.8 to 3.47.2).

Perhaps I'm misunderstanding something, but I don't think any constructors changed..(?)

I created a simple project located here. Open it in Visual Studio, navigate to the IgnoreVirtualMembers.cs file and then go to line 28, which shows the error message. The fix would be to new up the NoSpecimen object without the request object being passed in. This tells me the NoSpecimen class' non-default constructor changed.
Concerning the initial problem, my company had me update Autofixture to version 3.47.2, When I did that, I was unable to successfully build the solution. In the project I created, I'm using version <IP_ADDRESS> and I can build the solution even though I'm passing in the request object. I'm not sure what the differences are between version 3.47.2 and version <IP_ADDRESS>, but I am able to build in the simple project.
If I understand correctly, NoSpecimen.Request is being deprecated. Does that mean the ISpecimenBuilder.Create() method signature will change as well?

@ThoughtDrive I cloned the project and it builds without error.
I do get a warning that the new NoSpecimen(request) constructor is obsolete

Like @adamchester, I also get a compiler warning, which is what I'd expect.

If I understand correctly, NoSpecimen.Request is being deprecated. Does that mean the ISpecimenBuilder.Create() method signature will change as well?

No, it doesn't. What makes you think that would be the case?

I have a few methods making use of this constructor, such as:
    /// <summary>
    /// Omit properties with names ending with the specified string
    /// except the specified properties
    /// </summary>
    public class OmitPropertyNameEndsWithBuilder : ISpecimenBuilder
    {
        private readonly string _name;
        private readonly string[] _except;

        internal OmitPropertyNameEndsWithBuilder( string name, params string[] except )
        {
            _name = name;
            _except = except;
        }

        public object Create( object request, ISpecimenContext context )
        {
            var pi = request as PropertyInfo;
            if ( pi != null && pi.Name.EndsWith( _name ) && !_except.Contains( _name ) )
                return new OmitSpecimen();

            return new NoSpecimen( request );
        }
    }

Would the parametless constructor work in this case?

@fjdiazt Yes, please do use the parameterless constructor in all cases.


Fix #1540 Use active UVMap when needed

If no explicit UVMap is used by the texture, store information, and then override material to use active UVMap of mesh

This doesn't seem to work when objects are supposed to share a texture. For example, import TwoCubesSharedMaterial.zip, then export. I get two materials, two textures, two images, two samplers, two buffer views.

@scurest . We have to ignore when active UVMap index is 0.
Fixed

Well, problem will be the same with 2 objects with active UVMap at 1 for example.
This need to be cached somewhere, as you suggested.

This seems to work.

Create a new material if node tree is using active UVMap
Use existing one if node tree is not using active UVMap, even if meshes have different active UVMaps

@scurest any feedback?

This

produces textures/images/bufferviews that are not shared, even on the emission texture.

Also the emissiveTexture is using texCoord 1, it should be using 0.

@scurest Ok for the not shared, deepcopy is a little too much. Should copy all data except binary.
About emissiveTexture using texCoord at 1, what is your mesh setup? I can't get it in my test.

About emissiveTexture using texCoord at 1, what is your mesh setup? I can't get it in my test.

That was my bad, I was testing what happens if you use a UVMap that doesn't exist.

Should be OK now

@scurest Can you please test it? Should be ok now

Any other feedback before I merged it?


continuous Recognition Source Language Auto Detection Don’t return NOMATCH

Describe the bug
I have been testing the continuousRecognitionWithFileAndSourceLanguageAutoDetection.
code  from here: https://github.com/Azure-Samples/cognitive-services-speech-sdk/tree/master/samples/java/jre/console/src/com/microsoft/cognitiveservices/speech/samples/console
The Language Auto Detection needs to config at most two kinds of language.
To Reproduce
Steps to reproduce the behavior:

eg: My input is a Japanese news wav which is broadcast by Japanese while my config is
        AutoDetectSourceLanguageConfig autoDetectSourceLanguageConfig = AutoDetectSourceLanguageConfig.fromLanguages(Arrays.asList("en-US", "zh-CN"));
input is a Japanese news wav which is broadcast by Japanese

Expected behavior
So my expect is that the return looks like “RECOGNIZING: Langauge=NOMATCH”, but the fact is result always choose one of the config language with the max likelihood.
Version of the Cognitive Services Speech SDK

com.microsoft.cognitiveservices.speech
client-sdk
1.9.0
Platform, Operating System, and Programming Language

OS: MacOS Mojava 10.14.6
Programming language:  Java

Additional context
Is it a bug or the design method without consideration about this issue ?
Thanks very much! Looooking forward reply. 3ks.

Hi, the current behavior is as designed, the service always makes its best guess between the two configured languages. We are checking if there are any plans to change this, will get back to you soon.

Hi, the current behavior is as designed, the service always makes its best guess between the two configured languages. We are checking if there are any plans to change this, will get back to you soon.

Thanks for your quick reply and looking forward to new change. While on the version , do we have any ways to get the detail probability  of either configured language ?

Hi, unfortunately there is no such detail available at the moment. The feature was originally designed to be used in a situation with input in max two known languages. However, your feedback has been noted, and there is discussion about adding more options in the future.

Closing the issue as we have entered the item into our future release planning


Issue with NuGet Package Version number in Artifacts

Question, Bug, or Feature?
Type: Question
Enter Task Name: NuGetCommand@2
Environment

Server - Azure Pipelines

Claude VERNIER https://xxx.visualstudio.com/Development Unit/_build/results?buildId=6953&view=results

Agent - Private:

Windows 2.166.4

Issue Description
Working on Azure pipelines and a self hosted agent, I have an issue to set version number.
I have to publish an Artifact that contains a set of SQL files and a PS1 file.
Developper added a NUSPEC file in the folder I get from GitHub that contains this:

xxx
1.0.14
    ...

It did worked once but since, I always get an error saying that Artifact 1.0.14 already exists.
I use this task to pack:

task: NuGetCommand@2
inputs:
command: pack
packagesToPack: src/MigSQL.nuspec
versioningScheme: byPrereleaseNumber
packDestination: $(Build.SourcesDirectory)/src/
publishVstsFeed: 'xxxx'
Once done, I zip the src folder to a file in artifacts folder and then I push to a feed.
My goal was to have a version like 1.0.14-$(Build.Id) but it was not working so I used byPreleasedNumber.
That created a file: MigSQL.1.0.0-CI-20200730-161055.nupkg
I was thinking it would use the latest as version number but no, still says that Artifact 1.0.14 already exists.
I saw several articles but none that I was able to put in place in my YAML.

Task logs
Troubleshooting
Error logs

We do not support republishing the same version of a package. To publish an updated version, you must increment the version number.


change some links to https to avoid the "mixed content" error when using https

@blackskygg
I have update it manually.
Thanks for you PR.


GET requests to https://www.dosomething.org/api/v1/users.json?parameters[email]= failing

When mbc-digest-email makes requests to: https://www.dosomething.org/api/v1/users.json?parameters[email]= to lookup the Drupal UID by email the returned results are status code "0" or "200" In the case where the email address is not found.
The Drupal UID is needed to generate the Unsubscription link for each users digest message. The md5 hash value that includes the Drupal UID is used in generating the link. When this requests fails the digest message cannot be sent to the email address.
####Examples of failed requests that return "0":

https://www.dosomething.org/api/v1/users.json?parameters[email]=zombiemen3%40gmail.com
https://www.dosomething.org/api/v1/users.json?parameters[email]=zcobb125%40gmail.com
https://www.dosomething.org/api/v1/users.json?parameters[email]=zdaffner%40icloud.com

####Examples of successful requests for email addresses that do not exist that return "200":

https://www.dosomething.org/api/v1/users.json?parameters[email]=zeldballew%40gmail.com
https://www.dosomething.org/api/v1/users.json?parameters[email]=zdaffner%40icloud.com

It's possible to run the script from my local and get more successful lookups with only a few errors. When the script runs from the rabbit2 server all of the requests fail with "0" or "200" responses detailed above.
Update: There appears to be some kind of flood / throttling at work as smaller / less frequent batches seem to have a higher rate of successful responses. The problem is the digest runs weekly that needs to process 500,000 users.

@angaither Not sure if you're the right person to poke about this. With @aaronschachter away I'm assuming you're the "Master of Drupal" these days?
At any rate, thoughts ^^ ?

@DeeZone what's the expected response with the users above?
from what I'm seeing here, the top two return a user id
https://www.dosomething.org/api/v1/users.json?parameters[email]=zombiemen3%40gmail.com https://www.dosomething.org/api/v1/users.json?parameters[email]=zcobb125%40gmail.com
and the others do not
is that expected?
Is this question about rate limits causing a failure, or about lookups failing?

@angaither Agreed,

https://www.dosomething.org/api/v1/users.json?parameters[email]=zombiemen3%40gmail.com
returns the expect UID when it's working but when the "throttling" kicks in the following is error response is returned:

Response: 0
CURLINFO_HTTP_CODE: 0

The result is small batches of requests work but any kind of volume (over 100 with the same auth key) results in the error response detailed above. Expected is:
Response:
[
    {
        "uid": "x"
    }
]
CURLINFO_HTTP_CODE: 200

In the case where the user is not found by the email address: https://www.dosomething.org/api/v1/users.json?parameters[email]=zeldballew%40gmail.com the response is:
Response: 0
CURLINFO_HTTP_CODE: 200

which works great.
The problem is the error response when volume requests are made. I remember @aaronschachter mentioning applying some kind of throttling to prevent flooding the Drupal app. I'm wondering if in fact throttling is happening and if it can be increased?

@DeeZone at first glance I don't see anything in the dosomething_api module that limits activity. It's certainly possible it's hidden somewhere though, I'll keep looking around

Thanks!

@weerd do you have any ideas on this one? you've been in the services weeds for a bit... do you know about any event throttling?

Is there monitoring like New Relic on the DS web app or message broker that we can check for when the digest script is running? I'd be interested to see if any patterns show up there that could shed more light on what's going on here.

@jonuy https://rpm.newrelic.com/accounts/108038/applications/3268309/traced_errors?search[name]=https%3A%2F%2Fwww.dosomething.org%2Fapi%2Fv1%2Fusers.json%3Fparameters[email]%3D&search[sort_by]=count&search[type]=all&utf8=✓

oy, the spikes are just requests, but the error rate is low... less than 1%

@DeeZone I don't see anything in the UI or anywhere in the code that suggests we are rate limiting requests.

@angaither In that case the Drupal API is throwing plain old error / empty responses - random but easily reproduced. I can show it in action if that helps?


vulkaninfo: Dont print None in vkconfig output

vkconfig prints arrays as it finds them, even if there is only a "None"
element in it. This commit prevents this element from being printed,
removing confusing results where there is a count = 1 but contains "None".
fixes https://github.com/LunarG/VulkanTools/issues/1545
Change-Id: I1ef8c63458728a9fd3dc531dc9983f309c851034

CI Vulkan-Tools build queued with queue ID 2489.

CI Vulkan-Tools build # 447 running.

CI Vulkan-Tools build # 447 passed.


Add the rest of IMM APIs

I add the rest of IMM APIs.

Can this PR rebase to the newest winapi?

What happened with the commit history here?!

Sorry, I make the mistake.

reset done. I'm sorry again.


Add KeyboardSafeAreaAdjustable protocol, and KeyboardScrollable restores original content inset

Changes look good to me.

I'm still working on 2.0 and should be ready to merge sometime next week. I am hoping it fixes several issues where this newly added code is not necessary. At least it won't start with these additions and we can add them in if necessary.


IOS mediapipe hand gesture recognition

Hello everybody!
I am a student at a Computer Science University, and I am writing my thesis work which is about the ASL language recognition. I trained a model which is recognize hands but I also need to find hands on the real-time video and write on the screen the particular letter. To find hands I am using mediapipe, but now I want to deploy this to IOS because that could be a good usage of this project, but the problem is that I don't really understand the IOS code or how to solve this issue.
Could somebody help me with a sophisticated explanation of what to do? I want to use mediapipe to locate a hand and feed that image to my trained model on IOS. The  @second part is already done, the problem is that I don't really know how to modify the mediapipe code to get the images and write a label on the screen.
Many thanks!

Hi @borosabel, Glad to know you choose MediaPipe for your thesis. For IOS we have very clear documentation here.  You can build an Hand tracking code from the above link and reach us if you still have any query. For ASL language recognition look at reference https://github.com/google/mediapipe/issues/450

Hello @sgowroji! Thank you for your quick reply! So I have successfully deployed the example app to my phone, I just need a little bit of support to modify the given code to get an image from the hand in the bounding box, feed that image to my trained model and get a response. It would be a huge help if you could help me a little bit with this.

@eknight7 Hello! I saw that you always have a solution to this kind of issue. Could you help me a little bit?

Hi @borosabel, Did you get chance to go through the above comment. Thanks!

@borosabel How did you deploy mediapipe to iOS? I encountered a lot of errors。

Hi @borosabel, Could you please respond to my above comment. Thanks!

Hi @borosabel, Could you please share us the error logs to investigate it for further. Thanks!

We are closing this issue now due to lack of activity. Please feel free to reopen if you have relevant update on the above query!


Add tools to Ollama - first implementation

This is the first part of the implementation of https://github.com/theodo-group/LLPhant/issues/191

thanks @f-lombardo !

Before anything, thanks @f-lombardo for this great addition, I was thinking to start code it myself when I found it was already done in the last version.
I think there's something that would really be helpful, in the generateChat method I'd really need to be able to get the $toolsOutput.
I'll try to explain, for a simple one-shot question with tool usage, the current implementation is ok.
But of a chat flow, I need to store user's prompts and the tools results in session, so that I can keep passing them to the next iterations of generateChat.
I see that there's $this->lastFunctionCalled, maybe it would be enough to have something like $this->lastToolsOutput or something like that?
@f-lombardo @MaximeThoonsen what do you think about this?


PR: Improve validation for the right Spyder-kernels version

Description of Changes
If the version of spyder and spyder kernels doesn't match, the user will see many errors. This PR show an error if spyder-kernels has an incompatible version.

Depends on https://github.com/spyder-ide/spyder-kernels/pull/408
Depends on https://github.com/spyder-ide/spyder-kernels/pull/409

Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct:

@impact27, there's a small regression with respect to the current functionality. If Spyder-kernels is not installed in an environment, users would see this message with your PR:

But this is what they see with the code in master:

Is there a way to preserve this behavior? Perhaps we could catch the ModuleNotFoundError and display instead the current message.

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

In the file spyder/plugins/ipythonconsole/__init__.py:

Line 23:1: E302 expected 2 blank lines, found 1


"No tests ran" error

didn't use catch for a long time but now built a project (it uses auto update from github) and faced with an issue which was not there earlier . my test executable doesn't perform the output for auto parsing. I tried to run this manually and got the log below. not sure that it is a error, probably I'm somewhere wrong...
result of
tests.exe -l
.....
Backward sorted sequence
[MergeSort][Sequental][Unit]
33 test cases
I tried a few cases , just for sure,
please explain what I'm doing wrong?
C:\dev\workspace\build\algolist\BuildTools_x64\Default\tests>tests.exe MergeSort
No tests ran
C:\dev\workspace\build\algolist\BuildTools_x64\Default\tests>tests.exe "MergeSort"
No tests ran
C:\dev\workspace\build\algolist\BuildTools_x64\Default\tests>tests.exe "Backward sorted sequence"
No tests ran

Have you tried running tests?

do you mean without parameters? run all ones? yes, successfully.

Sorry. This was a regression introduced by recent changes to Clara (the spun-out command line parser).
I've fixed the issue in Clara and imported it into Catch. v1.5.2 now includes this fix.

thanks a lot!


[question] toSelfObservable() with delete() query

Hello!
I create new Observable:
    private Observable<Result<Person>> getObservable() {
        return dbInterface.select(Person.class).get()
                .toSelfObservable()
                .subscribeOn(Schedulers.computation())
                .observeOn(AndroidSchedulers.mainThread());
    }

    public void load(MainActivity view) {
        getObservable()
        .subscribe(persons -> {
            onNext(view, persons);
        }, throwable -> {
            onError(view, throwable);
        });
    }

And get new data to onNext() after insert:
    private Observable generatorObservable() {
      ...
        return dbInterface
                .insert(persons)
                .toObservable();
    }

    public void doAddWork() {
        generatorObservable()
            .subscribeOn(Schedulers.computation())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe();
    }

But .onNext() for .delete() queries doesn't call, despite of correct deleting:
    private Single<Integer> eraseObservable() {
        return dbInterface.delete(Person.class).get().toSingle();
    }

    public void doRemoveWork() {
        eraseObservable()
            .subscribeOn(Schedulers.io())
            .observeOn(Schedulers.computation())
            .subscribe();
    }

Could you please explain me: what's wrong?

Hi thanks for reporting, yes currently this observable is not emitted based on a delete query like your example only for deleting specific entities via delete(E entity) (or the iterable version). However this should be easy to add in the next update.


Env variable prefixed with PAYLOAD_PUBLIC_ not working in production

Describe the Bug
Similar issues have been reported in the past: https://github.com/payloadcms/payload/issues/1654, https://github.com/payloadcms/payload/issues/3686 and I have followed the recommended instructions without success.
I have 2 env variables:
PAYLOAD_PUBLIC_FRONTEND_URL=http://localhost:3000
PAYLOAD_PUBLIC_PREVIEW_SECRET=<SECRET>

which I need to access in my formatPreviewURL.ts file
import { formatPagePath } from "@/utilities/formatPagePath";
import extractLocale from "@/utilities/extractLocale";

export const formatPreviewURL = ({
  collection,
  doc,
  locale,
}: {
  collection: string;
  doc: any;
  locale: string;
}): string => {
  return `${process.env.PAYLOAD_PUBLIC_FRONTEND_URL}/api/draft?slug=${extractLocale(
    locale,
  )}${formatPagePath(collection, doc)}&secret=${process.env.PAYLOAD_PUBLIC_PREVIEW_SECRET}`;
};

Everything works fine in development, but they output undefined on prod.
I am using/including dotenv in both my files: server.ts and payload.config.ts
File structure:
/utilities/formatPreviewURL.ts
/payload.config.ts
/server.ts
.env

server.ts
import express from "express";
import payload from "payload";
import path from "path";
import dotenv from "dotenv";

dotenv.config();
const app = express();
app.use("/assets", express.static(path.resolve(__dirname, "./assets")));
app.use("/frontend-assets", express.static(path.resolve("../frontend/public")));
// Redirect root to Admin panel
app.get("/", (_, res) => {
  res.redirect("/admin");
});

const start = async (): Promise<void> => {
  // Initialize Payload
  await payload.init({
    secret: process.env.PAYLOAD_SECRET,
    mongoURL: process.env.MONGODB_URI,
    express: app,
    onInit: () => {
      payload.logger.info(`Payload Admin URL: ${payload.getAdminURL()}`);
    },
  });

  // Add your own express routes here
  app.listen(process.env.PORT, async () => {
    payload.logger.info(`Server listening on port ${process.env.PORT}`);
  });
};

start();

payload-config.ts
dotenv.config({
  path: path.resolve(__dirname, "../.env"),
});

export default buildConfig({
  serverURL: process.env.PAYLOAD_PUBLIC_BASE_DNS,
  admin: {
    user: Users.slug,
    components: {
      graphics: {
        Icon: Logo,
        Logo,
      },
    },
    webpack: config => ({
      ...config,
      resolve: {
        ...config.resolve,
        alias: {
          ...(config.resolve.alias || {}),
          ...resolveTsconfigPathsToAlias({
            tsConfigPath: "tsconfig.json",
            webpackConfigBasePath: "./",
          }),
        },
      },
    }),
  },
  localization: {
    locales: ["de_DE", "en-GB", "fr-FR", "cs-CZ", "nl-NL"],
    defaultLocale: "de_DE",
    fallback: false,
  },
  rateLimit: {
    trustProxy: true,
    max: 4000,
  },
  collections: [Media, Pages, Posts, Users, Categories, Products, FeatureLabels, Team, Partners],
  globals: [Settings, Header, Footer],
  graphQL: {
    schemaOutputFile: path.resolve(__dirname, "__generated__/schema.graphql"),
    disablePlaygroundInProduction: false,
  },
  typescript: {
    outputFile: path.resolve(__dirname, "__generated__/payload-types.ts"),
  },
  plugins,
});

Payload Version
1.11.7

Where do your files get built to in production? I've noticed that your project's payload.config.ts file is in the root folder, next to your .env file. But in your Payload config, you are telling dotenv to go up one level to find the .env in the parent folder.
When you build for production, I imagine you build to a ./dist folder or similar. Right? We suggest that your source files mirror your directory structure when you build, so that your .dotenv files are able to be loaded with the same relative path in dev vs. prod.
Example, by default, in development you should have:
./src/payload.config.ts
./src/server.ts
.env

Then in production:
./dist/payload.config.js
./dist/server.js
.env

So in both environments, you would tell dotenv to go up one level to find your .env file and it would work for both.
This is just a problem with how you are telling dotenv to load your environment variable, and this is not an issue with Payload. I will convert this to a discussion, but would be happy to continue to help!


Add &service=github to the coverage badge link to make it not cache randomly

This should fix our coveralls badge according to this issue comment: https://github.com/lemurheavy/coveralls-public/issues/971#issuecomment-338942441
and it seems to do so for me.

Pull Request Test Coverage Report for Build 157

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 11.832%

Totals

Change from base Build 155:
0.0%

Covered Lines:
113

Relevant Lines:
955

💛  - Coveralls


Add a <informative> macro element

Marking things as informative is a little bit annoying now, it could use a shorthand element to make it easier.  This ensures that links inside the element create informative index refs, not normative ones.

<informative>
<inf>
<non-normative>
something else?

How do you currently mark sections as informative?

A "note", "example", or "non-normative" class on an ancestor..

Yeah a shorthand would be useful especially if it means I don't have to end up with <div class="non-normative"> in the output when I'm only using it to tell Bikeshed meta-information.

Maybe I misunderstand the purpose of "normative index refs" and "informative index refs."  I thought the normativeness of the index entry was a property of the referenced document, not a property of the context in which the reference was made.
So for example if I had a non-normative note that said Note: For background information on foobar, see ISO/IEC JTC1/SC22/WG21 [[!N4750]], I've always assumed I'd want N4750 to appear in the normative index, because it's a reference to a normative document, even though the reference happens to have been in a non-normative context. (And vice versa, if some normative text referred to a non-normative document... well, that really should never happen, I guess.)
Have I been doing this wrong?
If I have been doing this wrong, then: If N4750 is referenced from two places in my paper — once from a normative paragraph and once from a non-normative paragraph — would I want its entry to show up in both indices?

Yeah, you've been doing it wrong. ^_^ A normative reference is one that your document normatively depends on - some part of your document depends on a thing defined in this other document, and won't work correctly without it. An informative reference is just pointing to something that can be useful to read for some reason, but that isn't required for implementing your document.  (I use informative references to point to other specs doing a particular thing that's similar to the thing I'm currently defining, for example.)
All your normative references will be, by definition, only to normative documents, but your informative references can be to anything.
To avoid misleading people about the set of documents that your document depends on, if something is referred to both normatively and informatively, it only shows up in the normative appendix.
Apologies for this not being obvious; I'm steeped enough in W3C-ese that this didn't register as something that needed explaining. ^_^ I'll fix the docs to make this clearer.

A normative reference is one that your document normatively depends on - some part of your document depends on a thing defined in this other document, and won't work correctly without it. An informative reference is just pointing to something that can be useful to read for some reason, but that isn't required for implementing your document.

Well! I'll be updating some of my drafts. :)

It would be helpful if bikeshed output section elements; at minimum, for the normative and informative reference sections. Currently, even though a human can tell from the headings, tools have problems and thus erroneously report normative references that are in fact informative.


Bump to 1.1.0 to fix ios build

This allows to build on xcode preventing the error we were getting.
Should be tested on Android/iOS with a nano x to ensure the communication is still working over ble.

Can confirm this fixes ios building on my machine too 🙏


drop support for node v11, v13

both versions are not maintained anymore
https://nodejs.org/en/about/releases/
BREAKING CHANGE: need to release a major version

LGTM
when your changes are finalized, making a major release would make sense and now we have to.
holding this one off until we remove all the callbacks and replace the request lib and promise util file

holding this one off until we remove all the callbacks and replace the request lib and promise util file

sure, makes sense and diff is small so shouldn't cause any issues.


Daemon for jury.

Daemon read private key input when started. Restart dogechain when crashed, protect anyone to get the private key on the server. So the private key is not left in the file, or can’t be got by the process id.

That's a pretty cool idea.
A feature PR would be better. XD


Automate quick start steps in setup.sh and teardown.sh

I updated my pull request, please take a look.

Thanks! 👍 I'll spin up a minikube cluster today or tomorrow to test it out.

@JulianWei I just tested out the setup and teardown scripts and they work great!
However, I am seeing this error (it does not negatively affect the setup, but it would still be good to fix).
See the complete log:
$ ./setup.sh
service "vault" created
deployment "vault" created
Vault pod name: vault-3485173613-05575
wait 1 second for Vault up and running
./setup.sh: 39: ./setup.sh: maxWaitSecond--: not found <---------------------
Vault pod status Running
nohup: appending output to 'nohup.out'
Successfully authenticated! You are now logged in.
token: vault-root-token
token_duration: 0
token_policies: [root]
Successfully mounted 'pki' at 'root-ca'!
Key             Value
---             -----
certificate     -----BEGIN CERTIFICATE-----
MIIC9DCCAdygAwIBAgIUW0MogXyKdy0r29DKboKCCg0eeg0wDQYJKoZIhvcNAQEL
BQAwEjEQMA4GA1UEAxMHUm9vdCBDQTAeFw0xNzA1MDYwNzQwMjRaFw0yNzA1MDQw
NzQwNTRaMBIxEDAOBgNVBAMTB1Jvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQDz8suif4i/oNsP7p2HGyukW3IosdRDeUg980OcD6lSBJsLrBCB
8U70voxcUyX6JOrXXLFirEs5tjS2VJ9KPB0vQCUERqmPHJBP/Wa33YU9KhLA7yJt
tFYVEVpXa+UCWcWoB917Qgp2iLK6FTs0PfqHfjHTisVcVPw4Ueil7IvdIZdsweOg
0EHQutW5VSKPwipSHTzShDhoW6DoRO6J4webXt/Z2Eg+feKnLk3lOvwVOicAbtwj
a9IKsmLpe4PR0lSltXnFVAwvRicopQLy95bIOxMDHrfgFxOlJZjAt/Sg1ASdhnmV
fhfBbNumIyxBEmJiKGgIJ0xI2iMocYIzYWwzAgMBAAGjQjBAMA4GA1UdDwEB/wQE
AwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRhCgLqs0hmJphE4Ptg94OQ
np2aJzANBgkqhkiG9w0BAQsFAAOCAQEA77zCYv2jhS9rWsWJcFjIitHN6SsLqIeU
c8yC3YG7ThKiWgc/rrxiL76YVYCfQKOi2xwqFqHryFnWK66rGksnyPo32lYB5Eaq
9tckju2LZCtqSHnhJ4lgK/iyyYJg+CqfPqT2LMv9QYWcMhYHdT54mwbShRQdR5u4
vUFcq1ZQrDfLBdXwCil46+Q9liycsUEJbT8Z8ya7uHXGAuBPdec8gscjIZaGwjH+
RnEa4zZSkf2ZHRLzWeiP+meGVm0Ks7gCaFTtvFQiC2/DIJMlr6hndnYIH2UzpsYw
MjwC8KcaC7KnZi0UqZ76hX4Sx26TtCc5hA5gWdMIrSE5ZxNORPE0qg==
-----END CERTIFICATE-----
expiration<PHONE_NUMBER>
issuing_ca      -----BEGIN CERTIFICATE-----
MIIC9DCCAdygAwIBAgIUW0MogXyKdy0r29DKboKCCg0eeg0wDQYJKoZIhvcNAQEL
BQAwEjEQMA4GA1UEAxMHUm9vdCBDQTAeFw0xNzA1MDYwNzQwMjRaFw0yNzA1MDQw
NzQwNTRaMBIxEDAOBgNVBAMTB1Jvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQDz8suif4i/oNsP7p2HGyukW3IosdRDeUg980OcD6lSBJsLrBCB
8U70voxcUyX6JOrXXLFirEs5tjS2VJ9KPB0vQCUERqmPHJBP/Wa33YU9KhLA7yJt
tFYVEVpXa+UCWcWoB917Qgp2iLK6FTs0PfqHfjHTisVcVPw4Ueil7IvdIZdsweOg
0EHQutW5VSKPwipSHTzShDhoW6DoRO6J4webXt/Z2Eg+feKnLk3lOvwVOicAbtwj
a9IKsmLpe4PR0lSltXnFVAwvRicopQLy95bIOxMDHrfgFxOlJZjAt/Sg1ASdhnmV
fhfBbNumIyxBEmJiKGgIJ0xI2iMocYIzYWwzAgMBAAGjQjBAMA4GA1UdDwEB/wQE
AwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRhCgLqs0hmJphE4Ptg94OQ
np2aJzANBgkqhkiG9w0BAQsFAAOCAQEA77zCYv2jhS9rWsWJcFjIitHN6SsLqIeU
c8yC3YG7ThKiWgc/rrxiL76YVYCfQKOi2xwqFqHryFnWK66rGksnyPo32lYB5Eaq
9tckju2LZCtqSHnhJ4lgK/iyyYJg+CqfPqT2LMv9QYWcMhYHdT54mwbShRQdR5u4
vUFcq1ZQrDfLBdXwCil46+Q9liycsUEJbT8Z8ya7uHXGAuBPdec8gscjIZaGwjH+
RnEa4zZSkf2ZHRLzWeiP+meGVm0Ks7gCaFTtvFQiC2/DIJMlr6hndnYIH2UzpsYw
MjwC8KcaC7KnZi0UqZ76hX4Sx26TtCc5hA5gWdMIrSE5ZxNORPE0qg==
-----END CERTIFICATE-----
serial_number   5b:43:28:81:7c:8a:77:2d:2b:db:d0:ca:6e:82:82:0a:0d:1e:7a:0d

Success! Data written to: root-ca/config/urls
Successfully mounted 'pki' at 'intermediate-ca'!
Success! Data written to: intermediate-ca/intermediate/set-signed
Success! Data written to: intermediate-ca/config/urls
Success! Data written to: intermediate-ca/roles/kubernetes-vault
Successfully enabled 'approle' at 'approle'!
Success! Data written to: auth/approle/role/sample-app
Policy 'kubernetes-vault' written.
Success! Data written to: auth/token/roles/kubernetes-vault
service "kubernetes-vault" created
configmap "kubernetes-vault" created
deployment "kubernetes-vault" created
deployment "sample-app" created
View the logs using the Kubernetes dashboard or kubectl logs mypod and confirm that each pod receive a token. The token and various other information related to the token should be logged.

Another concern of mine is that we are only waiting for 5 seconds for the Vault image to download and deploy.
Since the Vault image is around 67MB, I suggest what we increase the timeout for download/deploy to 10 minutes, so that it can have enough time to download over slow connections.


SAS processing is unaware of measuring units

It looks like the code is hardcoded for the 1/A units, thus it is failing on files with 1/nm units (related to #53)
There are multiple places using a hardcoded A to nm conversion:
https://github.com/salilab/IHMValidation/blob/c3bb0ef65f6104368a103ee429dcf264285ba936/master/pyext/src/validation/sas.py#L190
https://github.com/salilab/IHMValidation/blob/c3bb0ef65f6104368a103ee429dcf264285ba936/master/pyext/src/validation/sas.py#L217
https://github.com/salilab/IHMValidation/blob/c3bb0ef65f6104368a103ee429dcf264285ba936/master/pyext/src/validation/sas.py#L421
https://github.com/salilab/IHMValidation/blob/c3bb0ef65f6104368a103ee429dcf264285ba936/master/pyext/src/validation/sas.py#L481
https://github.com/salilab/IHMValidation/blob/c3bb0ef65f6104368a103ee429dcf264285ba936/master/pyext/src/validation/sas.py#L483
https://github.com/salilab/IHMValidation/blob/c3bb0ef65f6104368a103ee429dcf264285ba936/master/pyext/src/validation/sas.py#L491
The information about units is stored in the sascif file:
SASDC29
_sas_scan.unit                      1/A

SASDDD6
_sas_scan.unit                      1/nm

IIRC, Sai had a few entries that didn't have corresponding data in SASBDB, so she couldn't reliably determine the units. But agreed, if we know the units are 1/nm (or you can use a heuristic to figure it out) then we should not hardcode 1/A.


Add some administration commands to .ctl

Still being tested, I don't want to break anything.

Looks to be ready now, merging.


Add angrymouse/remote-functions to made in Ukraine collection

Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.md.
[x] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

[x] Suggesting edits to an existing topic or collection
[ ] Curating a new topic or collection
[ ] Something that does not neatly fit into the binary options above

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288, size <= 75 kB)
[x] Content (and my changes are in index.md)

Please replace this line with an explanation of why you think these changes should be made.

Curating a new topic or collection

[ ] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[ ] My folder contains a *.png image (if applicable) and index.md
[x] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

Something that does not neatly fit into the binary options above

[ ] My suggested edits are not about an existing topic or collection, or at least not a single one
[ ] My suggested edits are not about curating a new topic or collection, or at least not a single one
[x] My suggested edits conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

I've added angrymouse/remote-functions to made in Ukraine collection

Note: He's not a maintainer, creator, contractor, or employee

😃


NLG branch merge

code is final, reproducibility instructions to be added

i trust you with the code, but consider removing .out files and .ipynb checkpoints (just to keep the repo somewhat clean)


Upgrade to 1.12.13 broken (must re-configure)

Version: 1.12.13
Previous Version: 1.12.12
After upgrading to 1.12.13 I am receiving:
Exception in thread "main" java.lang.NullPointerException 	at com.groupon.seleniumgridextras.config.GridNode.loadFromFile(GridNode.java:138) 	at com.groupon.seleniumgridextras.config.Config.loadNodeClasses(Config.java:120) 	at com.groupon.seleniumgridextras.config.RuntimeConfig.load(RuntimeConfig.java:152) 	at com.groupon.seleniumgridextras.SeleniumGridExtras.main(SeleniumGridExtras.java:70)
Apparently, 1.12.13 is unable to locate and read my 1.12.12 configuration files.
I am not sure where or how, logs weren't very helpful, but re-configuring through 1.12.13 did work.

@mikesalvia Do you still have your 1.12.12 configuration ? I can take a look and try and get out a quick patch.

I noticed line 138 is:
 configFromFile = topLevelJson.getAsJsonObject("configuration").toString(); (this is/should be called if you are using selenium 3, but the configuration file is in the selenium 2 format). Is that your case?

I tried doing a compare of the 1.12.12 and 1.12.13 configs (with the choices I choose), and I see this :
https://gist.github.com/smccarthy/3fb2e9b3c48cb0f963adcdffb9ce452d
The differences I see are that the node_5555.json config added  "custom": {},. The qselenium_grid_extras_config.json` added the geckodriver bitness. I think its the node_5555.json that is the issue, but don't know why yet.

@smccarthy Sorry but I had destroyed them to reset Selenium Grid Extras checking Trash right now.

node_5555.json in 1.12.12
{   "capabilities": [     {       "seleniumProtocol": "WebDriver",       "browserName": "firefox",       "maxInstances": 1,       "version": "53",       "platform": "MAC"     },     {       "seleniumProtocol": "WebDriver",       "browserName": "chrome",       "maxInstances": 1,       "version": "57",       "platform": "MAC"     },     {       "seleniumProtocol": "WebDriver",       "browserName": "safari",       "maxInstances": 0,       "version": "",       "platform": "MAC"     }   ],   "loadedFromFile": "node_5555.json",   "proxy": "com.groupon.seleniumgridextras.grid.proxies.SetupTeardownProxy",   "maxSession": 1,   "port": 5555,   "register": true,   "unregisterIfStillDownAfter": 10000,   "hubPort": 4444,   "hubHost": "<IP_ADDRESS>",   "registerCycle": 5000,   "nodeStatusCheckTimeout": 30000,   "downPollingLimit": 20 }
selenium_grid_extras_config.json in 1.12.12
{   "theConfigMap": {     "auto_update_browser_versions": "0",     "hub_config_files": [],     "auto_start_hub": "0",     "iedriver": {       "version": "3.4.0"     },     "default_role": "node",     "unregisterNodeDuringReboot": "false",     "chromedriver": {       "bit": "64",       "version": "2.31"     },     "auto_update_drivers": "1",     "video_recording_options": {       "record_test_videos": "false"     },     "auto_start_node": "1",     "hub_config": {},     "geckodriver": {       "version": "0.18.0"     },     "log_maximum_age_ms": 8.64E8,     "reboot_after_sessions": "0",     "grid_extras_port": "3000",     "webdriver": {       "version": "3.4.0"     },     "grid_jvm_x_options": "-Xmx4g -XX:ParallelGCThreads\u003d12",     "node_config_files": [       "node_5555.json"     ]   } }

Thank you ! This will help me figure out a solution. I get the same error as you, with your config.

@mikesalvia Got it I think. I fixed it in 1.12.14 , with this commit . https://github.com/groupon/Selenium-Grid-Extras/commit/a1ec63f07c0a08b67fec16b2ea1a4d9665f25d2a

Closing. Please reopen if someone sees this as an issue again.


Move build info lookup to artifact location file

Both these files are going to be deleted anyway, but
the lookup-build-info-v0.1.yaml has not been added to
infra deployments yet. By just putting both tasks in
the same file it saves an additional update in infra
deployments of a file that is going away anyway.

The other approach would be to manually update this PR before it is merged to include the new file, but as it is going away anyway I think this approach is quicker/simpler.
Alternativly if both https://github.com/redhat-appstudio/infra-deployments/pull/506 and https://github.com/redhat-appstudio/jvm-build-service/pull/110 go in then this file is no longer needed and can be safely deleted.

yep this will make getting the e2e's passing on the latest commits of this repo a few steps easier thanks @stuartwdouglas :-)
/approve
/lgtm


Add CTA when widget is empty

Task/Issue URL: https://app.asana.com/0/392891325557410/1195019227318197
Tech Design URL:
CC:
Description:
Adds CTA to the favorites widget when the user has no favorites.
Also tries to reuse existing tabs when possible when launching.
Copy approved.
Subject to Design and Product Review.
Steps to test this PR:
Scenario: Standard flow:

Install and run app and get through onboarding
Add favorites widget
Tap add favorite > from widget
Dax should tell you it's easy to create a short cut
Load a page (either a search or a page), menu should have pulsing animation
Tap menu icon, menu should have "add favorite" with hand waving emoji next to it

Scenario: Did not complete onboarding:

Install app, then kill it without starting the onboarding.
Add the favorites widget
Tap add favorite > from widget
App should launch, run through onboarding then drop in to the add favorite flow
Once completed the dax dialog onboarding should continue from the next time you browse to a page

Scenario: Favorite already open in tab:

Launch app and load a page
Tap add favorite > from widget
App should launch and start add favorite flow
Instead of browsing to a page, use the tab switcher to open existing page
Menu should have pulsing animation
Complete add favorite flow as normal

Scenario: App killed during flow:

Tap add favorite > from widget
App should launch and start add favorite flow
Kill the app
Launch the app, flow should not continue

Scenario: Fire button during flow:

Tap add favorite > from widget
App should launch and start add favorite flow
Use the Fire button
Add favorite flow should not continue

Reuse home tab:

Tapping the search CTA on the widgets will select first existing home tab or create a new one.

Reuse open tab:

Launching a favorite or handling a default browser will re-use an existing tab if its URL matches exactly.

Copy Testing:

[ ] Use of correct apostrophes in new copy, ie ’ rather than '

Orientation Testing:

[ ] Portrait
[ ] Landscape

Device Testing:

[ ] iPhone SE (1st Gen)
[ ] iPhone 8
[ ] iPhone X
[ ] iPad

OS Testing:

[ ] iOS 11
[ ] iOS 12
[ ] iOS 13

Theme Testing:

[ ] Light theme
[ ] Dark theme

Internal references:
Software Engineering Expectations
Technical Design Template

Hey @bwaresiak @samsymons @THISISDINOSAUR - If the design and product review go well I'm looking to release this on Monday so could do with someone giving it a look today if possible please! 🙏

That should be the last of the changes from the design review - have updated the description to include the new change.

Had some feedback from the Product Review regarding copy (needs another pass) and some launch glitch and @bwaresiak has found a few things as well so please consider this WIP for now and I'll look to release this after the other stuff has gone out.

Thanks @bwaresiak and @samsymons!


Disable script processing and generating lockfile for yarn

I think post processing scripts for installs could be a vulnerability, so I disabled it for the CodeSandbox bundler just to be sure. Should also increase performance a bit.

AH, great, makes total sense :)


Extended GoogleSpreadsheetRow.js to permit toJson() export

Export a GoogleSpreadsheetRow to json .

Thanks for contributing. I was in the middle of a big typescript rewrite that took longer than expected...
Similar functionality is now supported with row.toObject() see https://theoephraim.github.io/node-google-spreadsheet/#/classes/google-spreadsheet-row?id=fn-toobject


Discrepancy with "find ... -exec" vs "find ... | xargs..."

Please use the following bug reporting template to help produce actionable and reproducible issues. Please try to ensure that the reproduction is minimal so that the team can go through more bugs!

A brief description
I'm working on moving a coded base to C++11, and one of the things I'm doing is migrating to std libs that have supplemented boost libs. Under bash (inside of WSL), one of the commands I'm using to find potentially offend source files is:

find . -type f -name ".cpp" -o -name ".h" -exec grep -rH "boost::bind" {} ;
This command initially return some results, but the results were incomplete.
This command returns additional results:
find . -type f -name ".cpp" -o -name ".h"| xargs grep "boost::bind"

Expected results

I would expect that:
find . -type f -name ".cpp" -o -name ".h" -exec grep -rH "boost::bind" {} ;
and
find . -type f -name ".cpp" -o -name ".h"| xargs grep "boost::bind"
return the same result, excepting formatting/ordering differences.

Actual results (with terminal output if applicable)

Your Windows build number
Can't find it - but on current (as of 11/3/2016) stable build

Steps / All commands required to reproduce the error from a brand new installation

Strace of the failing command
Cannot provide w/o potentially violating NDA

Required packages and commands to install

See our contributing instructions for assistance.

You can find your Windows version by typing "ver" in a cmd prompt.
Could you verify for me your first find command line is correct?
benhill@BENHILL-X1:/mnt/c/ $ find . -type f -name ".cpp" -o -name ".h" -exec grep -rH "boost::bind" {} ;
find: missing argument to `-exec'

There was a typo. The command should have been:
find . -type f -name ".cpp" -o -name ".h" -exec grep -rH "boost::bind" {} \;

(Note the backslash before the terminating semicolon).
Turns out the command is working as expected. The precedence of the arguments was not what I was expecting. The correct command for what I expected/wanted would be:
find . \( -type f -name ".cpp" -o -name ".h" \) -exec grep -rH "boost::bind" {} \;

(Added the escaped parens around the filter arguments).
I'm closing this as it's not a bug, just my rusty knowledge of the find command.

@nernst - Awesome, glad this is working as expected for you.  Thanks for posting.


Ads gone today

I haven't done any deploys, and the ads have disappeared from my Google Play and Apple store game. Does anyone know what might cause that? I've got no notifications on admob to say something's wrong.
I saw this on the AdMob website, not sure if it's this? I'm still in the first week.
"Your apps may experience less demand from Google while we evaluate your traffic quality. This can occur for up to one week after a new app or ad unit is created."
Any ideas would be appreciated.

I do not think this is related to the plugin it self really 🤔

No you're right, as I didn't change any code. I'll close and put a message on the admob forum. I'll update on here if I find out more.


Update README.md

Added Codecov.io badge to the README

Codecov Report

Merging #3 (e186866) into master (06da470) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #3   +/-   ##
=======================================
  Coverage   96.34%   96.34%
=======================================
  Files           6        6
  Lines         246      246
=======================================
  Hits          237      237
  Misses          9        9

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Deps update

Pretty aggressive update of all dependencies, things seem to still work but I would test more before merging.

IIRC there was some strange problem with docopt last time we upgraded it. Our executable didn't run on exit nodes but was fine locally for some reason. (btw I learned that it doesn't matter if we'd put foo = "1.0.42" or foo = "1.0" - both would get resolved to the latest 1.0.X version on next cargo update)

Looks good, but needs a rebase

@drozdziak1 @mpapierski I did have to rollback docopt, looks fine otherwise though, land it if the tests pass


Simplify the view id in logs

Remove the unnecessary package name from view_ids in user interaction logs

Resolved in V1.2.1


OpenWrt 22.03.0-rc6 r19590-042d558536 / LuCI openwrt-22.03 branch git-22.237.32198-08fb383

I just installed OpenWrt version 22.03.0-rc6 r19590-042d558536 / LuCI openwrt-22.03 branch git-22.237.32198-08fb383 on a linksys EA7300 and when I add mesh with wpad-mesh-openssl package in the None encryption part, It may be a presentation failure, all the nodes connect correctly, no error is presented in the log

Fixed by https://github.com/openwrt/openwrt/commit/4a4d0bf78ddbbf17508891c5c837e5eb00420b5c