VsTest 2.3.17 - Test Impact Analysis Failing

Environment
TFS On-Premise 2018 RTM (16.122.27102.1)
Private Agent (v2.122.1) on Windows Server 2012 R2
VsTest 2.3.17
Issue Description
We have a vNext build that builds a C# project and then runs unit tests using the VsTest task.  We are wanting to use Test Impact Analysis (TIA) but are having a couple of problems.
Firstly - The build that normally takes 15 minutes takes 115 minutes.  I can expect it to take longer, but is this realistic for ~800 unit tests?
Secondly and more importantly, after running the tests and gathering the testimpact.xml files it seems to crash when using TestSelector.exe.
Error logs
6_Test Assemblies.txt
6_TestSelector.log
6_eaeda910-f606-11e7-af9a-63fe0f449198.txt
I've attached a snippet of the log below:
2018-01-10T14:49:28.0261411Z ##[debug]C:\TfsAgents\AgentA\_work\_tasks\VSTest_ef087383-ee5e-42c7-9a53-ab56c98420f9\2.3.17\TestSelector\TestSelector.exe arg: UpdateTestResults
2018-01-10T14:49:28.0261411Z ##[debug]Build.BuildId=38430
2018-01-10T14:49:28.0261411Z ##[debug]System.TeamFoundationCollectionUri=http://tfs/DefaultCollection/
2018-01-10T14:49:28.0261411Z ##[debug]System.TeamProject=STANMIS
2018-01-10T14:49:28.0261411Z ##[debug]SystemVssConnection auth param AccessToken = ********
2018-01-10T14:49:28.0261411Z ##[debug]AGENT.VERSION=2.122.1
2018-01-10T14:49:28.0261411Z ##[debug]VSTS_HTTP_RETRY=undefined
2018-01-10T14:49:28.0261411Z ##[debug]VSTS_HTTP_TIMEOUT=undefined
2018-01-10T14:49:28.0261411Z ##[debug]System.Debug=true
2018-01-10T14:49:28.0261411Z ##[debug]exec tool: C:\TfsAgents\AgentA\_work\_tasks\VSTest_ef087383-ee5e-42c7-9a53-ab56c98420f9\2.3.17\TestSelector\TestSelector.exe
2018-01-10T14:49:28.0261411Z ##[debug]arguments:
2018-01-10T14:49:28.0261411Z ##[debug]   UpdateTestResults
2018-01-10T14:49:28.0261411Z [command]C:\TfsAgents\AgentA\_work\_tasks\VSTest_ef087383-ee5e-42c7-9a53-ab56c98420f9\2.3.17\TestSelector\TestSelector.exe UpdateTestResults
2018-01-10T14:49:29.7448898Z
2018-01-10T14:49:29.7448898Z
2018-01-10T14:49:29.7448898Z Exception : TestManagement.TestResults.UsePublishTestResultsLibraryInVSTestTask
2018-01-10T14:49:29.7448898Z ***************************** Section 'Update test results' Starting *****************************
2018-01-10T14:49:30.8542669Z ##[debug]Processed: ##vso[telemetry.publish area=TestExecution;feature=TestSelector]{"Command":"UpdateTestResults","definitionrunid":38430,"context":"CI","GetTestCaseResults:PerfCounter":551.19490000000008,"ExceptionType":"System.AggregateException, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089","ExceptionMessage":"One or more errors occurred.","ExceptionStack":"   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)\r\n   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)\r\n   at System.Threading.Tasks.Task`1.get_Result()\r\n   at Microsoft.TestFoundation.TestImpact.TestSelector.CommandUpdateTestResults.GetFeatureFlagValue() in E:\\v2.0\\A8\\_work\\21\\s\\Ta\\Tasks\\TestImpact\\TestSelector\\Commands\\Command\\CommandUpdateTestResults.cs:line 206\r\n   at Microsoft.TestFoundation.TestImpact.TestSelector.CommandUpdateTestResults.Run() in E:\\v2.0\\A8\\_work\\21\\s\\Ta\\Tasks\\TestImpact\\TestSelector\\Commands\\Command\\CommandUpdateTestResults.cs:line 139\r\n   at Microsoft.TestFoundation.TestImpact.TestSelector.Program.RunCommand(String commandName, String[] args) in E:\\v2.0\\A8\\_work\\21\\s\\Ta\\Tasks\\TestImpact\\TestSelector\\Program.cs:line 44","InnerExceptionType":"Microsoft.VisualStudio.Services.Common.VssServiceException, Microsoft.VisualStudio.Services.Common, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a","InnerExceptionMessage":"TestManagement.TestResults.UsePublishTestResultsLibraryInVSTestTask","InnerExceptionStack":"   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<HandleResponseAsync>d__51.MoveNext() in E:\\v2.0\\A8\\_work\\21\\s\\Vssf\\Client\\WebApi\\VssHttpClientBase.cs:line 893\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__49.MoveNext() in E:\\v2.0\\A8\\_work\\21\\s\\Vssf\\Client\\WebApi\\VssHttpClientBase.cs:line 836\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__46`1.MoveNext() in E:\\v2.0\\A8\\_work\\21\\s\\Vssf\\Client\\WebApi\\VssHttpClientBase.cs:line 727\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__27`1.MoveNext() in E:\\v2.0\\A8\\_work\\21\\s\\Vssf\\Client\\WebApi\\VssHttpClientBase.cs:line 0","VsTest_TaskInstanceIdentifier":"eae1c233-f606-11e7-af9a-63fe0f449198"}
2018-01-10T14:49:30.8542669Z ***************************** Section 'Update test results' Ended ********************************
2018-01-10T14:49:30.8542669Z
2018-01-10T14:49:30.8542669Z ##[debug]Processed: ##vso[task.logissue type=warning;SubTaskName=UploadTestResults;SubTaskDuration=3359.1329070003703]
2018-01-10T14:49:30.8542669Z ##[debug]Total time taken to upload test results: 3359.1329070003703 milliseconds.
2018-01-10T14:49:30.8542669Z ##[error]
Exception : TestManagement.TestResults.UsePublishTestResultsLibraryInVSTestTask

2018-01-10T14:49:30.8542669Z ##[debug]Processed: ##vso[task.issue type=error;]%0AException : TestManagement.TestResults.UsePublishTestResultsLibraryInVSTestTask%0D%0A

Exception specific information:
ExceptionType:
System.AggregateException, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089

ExceptionMessage:
One or more errors occurred.

ExceptionStack:
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)\r\n
 at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)\r\n
 at System.Threading.Tasks.Task`1.get_Result()\r\n
at Microsoft.TestFoundation.TestImpact.TestSelector.CommandUpdateTestResults.GetFeatureFlagValue() in E:\\v2.0\\A8\\_work\\21\\s\\Ta\\Tasks\\TestImpact\\TestSelector\\Commands\\Command\\CommandUpdateTestResults.cs:line 206\r\n
at Microsoft.TestFoundation.TestImpact.TestSelector.CommandUpdateTestResults.Run() in E:\\v2.0\\A8\\_work\\21\\s\\Ta\\Tasks\\TestImpact\\TestSelector\\Commands\\Command\\CommandUpdateTestResults.cs:line 139\r\n
at Microsoft.TestFoundation.TestImpact.TestSelector.Program.RunCommand(String commandName, String[] args) in E:\\v2.0\\A8\\_work\\21\\s\\Ta\\Tasks\\TestImpact\\TestSelector\\Program.cs:line 44",

"InnerExceptionType":"Microsoft.VisualStudio.Services.Common.VssServiceException, Microsoft.VisualStudio.Services.Common, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a",

"InnerExceptionMessage":"TestManagement.TestResults.UsePublishTestResultsLibraryInVSTestTask",

"InnerExceptionStack":"
at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<HandleResponseAsync>d__51.MoveNext() in E:\\v2.0\\A8\\_work\\21\\s\\Vssf\\Client\\WebApi\\VssHttpClientBase.cs:line 893\r\n--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__49.MoveNext() in E:\\v2.0\\A8\\_work\\21\\s\\Vssf\\Client\\WebApi\\VssHttpClientBase.cs:line 836\r\n--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__46`1.MoveNext() in E:\\v2.0\\A8\\_work\\21\\s\\Vssf\\Client\\WebApi\\VssHttpClientBase.cs:line 727\r\n
--- End of stack trace from previous location where exception was thrown ---\r\n
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__27`1.MoveNext() in E:\\v2.0\\A8\\_work\\21\\s\\Vssf\\Client\\WebApi\\VssHttpClientBase.cs:line 0

@psyvision Sorry for late reply here. can you get fiddler trace from build machine when this happens

I just noticed that your tfs version is TFS 2018 RTM and your task version is 2.3.17. Did you upload the task manually? If yes this is not supported as the task has some dependencies on server side which it is not able to find. Can you confirm

Hi @acesiddhu - Thank you for getting back to me.  The task was an old version - I then upgraded TFS from RC to RTM and the task didn't update, therefore I did so manually.
Is it possible to un-install and TFS will replace it with the default?  Or do I need to upgrade to newer?
Unfortunately due to this being a restricted development network (due to nature of work) I can't use Fiddler on the build machine as we can't change proxy settings.

@psyvision the update of in box tasks happens based on tfs upgrades and ideally there shouldn't be updated manually. what you see in master is what is going to be deployed on vsts or may be in upcoming TFS release trains. all releases/* branches is what goes into vsts production or tfs update.
@bryanmacfarlane can suggest a way to revert to inbox version of task.
The latest task which you uploaded has few feature that talk to latest vsts service feature. you should be able to use TIA in tfs 2018 out of the box.

@acesiddhu thank you.  I'll wait to hear what @bryanmacfarlane says, I hadn't noticed the releases/* branches, not sure if that is clear enough in the documentation or if I missed it.
It looks as though I should pull from https://github.com/Microsoft/vsts-tasks/tree/releases/tfs2018rtw that contains task version 2.1.9

If you upload a task manually, the system returns the in the box versions unioned with the custom one you uploaded.  If you use tfx to then delete that task, we delete the overlay.  You cannot delete the in the box versions we upload on upgrade so that works fine.
Regarding support, it's not that it's not supported.  It's more of you're kind of on your own to build correctly and upload.  We don't release an official "update pack" even though we've considered it.
Also, always make sure it's a release branch since master is unshipped code.
hth

Thanks Bryan!  I'll delete the task and run a build and then report back.

Morning update - we ran two jobs through last night.
The first took longer than the 2 hour allowed time when running which caused it to be terminated, it was the unit test running that took the time.
The second job took just under 2 hours and succeeded:
2018-02-06T18:48:16.9628937Z Results File: C:\TfsAgents\AgentF\_work\141\s\TestResults\isuser_VM-BUILD01 2018-02-06 16_57_29.trx
2018-02-06T18:48:16.9628937Z
2018-02-06T18:48:16.9628937Z Total tests: 820. Passed: 820. Failed: 0. Skipped: 0.
2018-02-06T18:48:16.9628937Z Test Run Successful.
2018-02-06T18:48:16.9628937Z Test execution time: 1.8482 Hours
2018-02-06T18:48:18.8691517Z [command]C:\TfsAgents\AgentF\_work\_tasks\VSTest_ef087383-ee5e-42c7-9a53-ab56c98420f9\2.1.9\TestSelector\TestSelector.exe UpdateTestResults
2018-02-06T18:48:19.0722928Z
2018-02-06T18:48:19.0722928Z ***************************** Section 'Update test results' Starting *****************************
2018-02-06T18:48:19.5566659Z Attachment location: C:\TfsAgents\AgentF\_work\141\s\TestResults\isuser_VM-BUILD01 2018-02-06 16_57_29\In
2018-02-06T18:48:19.6035374Z Setting run start and finish times.
2018-02-06T18:48:19.6347850Z Total test results: 820
2018-02-06T18:48:19.6660338Z Test results remaining to be updated: 820
2018-02-06T18:48:20.3541139Z Test impact meta data remaining: 820
2018-02-06T18:48:22.5728846Z Test impact meta data remaining: 320
2018-02-06T18:48:23.6359674Z Total not impacted test: 0
2018-02-06T18:48:23.9953425Z ***************************** Section 'Update test results' Ended ********************************

I'll run a build this morning and see if it runs quicker, I presume it should now only run a subset of tests.

Thanks for the update @psyvision . also in the mean time can you tell what kind of test these are. are they ui test/integration/functional test. does it test a web server etc?

A small change to the code with a CI build has now only taken 2 minutes.
2018-02-07T08:23:24.5770978Z Total tests: 1. Passed: 1. Failed: 0. Skipped: 0.
2018-02-07T08:23:24.5770978Z Test Run Successful.
2018-02-07T08:23:24.5770978Z Test execution time: 8.8634 Seconds
2018-02-07T08:23:24.6708446Z [command]C:\TfsAgents\AgentA\_work\_tasks\VSTest_ef087383-ee5e-42c7-9a53-ab56c98420f9\2.1.9\TestSelector\TestSelector.exe UpdateTestResults
2018-02-07T08:23:24.8583503Z
2018-02-07T08:23:24.8583503Z ***************************** Section 'Update test results' Starting *****************************
2018-02-07T08:23:25.2333494Z Attachment location: C:\TfsAgents\AgentA\_work\166\s\TestResults\isuser_VM-BUILD01 2018-02-07 08_23_24\In
2018-02-07T08:23:25.2489762Z Setting run start and finish times.
2018-02-07T08:23:25.2646010Z Total test results: 1
2018-02-07T08:23:25.2958533Z Test results remaining to be updated: 1
2018-02-07T08:23:25.6396104Z Test impact meta data remaining: 1
2018-02-07T08:23:25.6708556Z Total not impacted test: 819
2018-02-07T08:23:26.1864825Z ***************************** Section 'Update test results' Ended ********************************

Cool!
Thanks for the help - I'll close this now :)

@acesiddhu missed your comment - these are purely middle-ties functional tests.  No UI.  In some of these, the slower ones, we are mocking EF and ADO.  No additional web/database servers are used, it's all pretty self contained.

After running some more builds, it seems that it's okay as long as you don't touch code that impacts certain tests.  I.e., with TIA turned on, some test runs are taking much longer, the initial build taking ~2 hours doesn't appear to be because it was the first run.
I've put TIA on a separate project and the builds have all taken the same time as without TIA or much shorter times to run.

can you share logs

A subset of the logs is just this:
2018-02-06T17:09:36.5510165Z Passed   GetTableName_on_class_with_attribute_returns_correct_name
2018-02-06T17:10:55.3485918Z Passed   GetTableName_on_class_without_attribute_returns_correct_name
2018-02-06T17:12:15.8180533Z Passed   GetMappingFromDatabase_returns_valid_data
2018-02-06T17:13:36.3187719Z Passed   CreateDataTable_converts_POCO_to_datatable
2018-02-06T17:14:58.5694951Z Passed   ImportTable_does_nothing_with_null_data
2018-02-06T17:16:18.6014564Z Passed   ImportTable_does_nothing_with_empty_data
2018-02-06T17:17:39.3365499Z Passed   ImportTable_with_NoAction_calls_ExecuteNonQuery_correctly
2018-02-06T17:18:59.2747679Z Passed   ImportTable_with_PreserveData_calls_ExecuteNonQuery_correctly
2018-02-06T17:20:19.7285944Z Passed   ImportTable_with_DataPreservedKeep_calls_ExecuteNonQuery_correctly
2018-02-06T17:21:39.9324307Z Passed   ImportTable_with_DataPreservedWipe_calls_ExecuteNonQuery_correctly
2018-02-06T17:23:01.3394009Z Passed   Extranet_Export_Lookups_should_export_to_the_container
2018-02-06T17:24:22.1838711Z Passed   Extranet_Export_User_accounts_should_export_to_the_container
2018-02-06T17:24:24.0120106Z Passed   Should_Set_Date_Version_And_User_Then_Commit_for_extranet
2018-02-06T17:24:24.0276386Z Passed   Should_Set_Date_Version_And_User_Then_Commit_for_rli

Do you want me to set the system.debug build variable to give further details?

can we hop on a quick call if this is a good time. will make things faster. mail me on Siddhartha.pandeyATmicrosoft DOT COM

@psyvision I am closing the issue. he you still face any issues please create a new issue on GitHub and we can take it from there. Thanks


Delegate and KVM bug fixes

delegate::is_valid now compares m_obj != nullptr in addition to m_stub != nullptr. This allows         users to use
auto d = delegate<FOO>::create<nullptr>();

to initialize invalid delegates. Without the m_obj check, the delegate is created and is_valid() but   still has a nullptr m_obj

Created a bfvmm::intel_x64::kvm_guest namespace that contains alternative rdmsr and wrmsr handlers that is specific to running as an L1 KVM guest. The choice between the original and alternative is made in the exit handler constructor. I figured this was better than checking for the KVM case on every exit in the original handlers themselves.

If any has any ideas or feedback on how to handle these situations that would be great

I like the additions to the delegate implementation, but I am not a fan of the KVM specific handler. In general, not all systems will have the global perf MSR, and so we should have code in the generic handler that can handle when this is not present. I would prefer to see a patch that fixes the issue outright, and that is still performant.

The easiest change is to check if the field exists and the msr allows the control to be set to 1. Previously you said you didn't want to check if the field exists in the msr handlers because its too slow, which I agree. What implementation do you want to see?

We should check if the field exists during the construction of the exit handler and set a global variable that can be checked when this field is accessed.

Might not be a bad idea to create a set of booleans for various different MSRs, CPUIDs, etc... that tell us if a specific feature exists or not. Something like a bfvmm::intel_x64::features class that can be created, and passed around in the exit handlers, so that they can check this for which features exist, and then we can add to that over time as needed
Thoughts?

I assume a class like that would be essentially read-only after init? I main advantage I see of the additional class over the current exists/allowed logic: Enumerate available features once during initialization. This will save you from vmreading/vmwriting every time you need to check a feature. I'm not sure of the performance difference between those instructions and a memory read, but that approach will certainly be faster in the nested case.

Yeah, They should be fast enough, and I like the read-only approach.  That should reduce it down to a single memory read, that should be cached if the read occurs a lot (which it won't for a lot of these)


useResource updates when updateResource is called

consider this snippet
const patient = useResource(patientRef);

return (
   <h1> {patient.name[0]} </h1>
   <button onclick={()=>
              medplum.updateResource({
              ...patient,
              name: [{given: 'foo'}]
              }>Change Name</button>
)

After the updateResource is performed, the MedplumClient receives the response with the new Patient, but the useResource hook does not re-render.
This limits the usefulness of the hook, as you then have to drop down to useEffect

Proposed solution:
MedplumClient emits resource lifecycle events:

resourceCreated
resourceUpdated
resourceDeleted

Then the useResource hook can rerender based on receiving resourceUpdated and resourceDeleted

I understand the request.
I want to be really careful about reinventing React or reinventing "signals" here.
If anything, I worry that we have gone too far on complexity, and it has led to customer frustration because we're in a weird middle ground of convenience, but inferior experience compared to libraries dedicated to this type of functionality (Redux, xstate, etc).
The example in the snippet has a bunch of hidden complexity.  What happens during update?  Loading spinners?  What happens on error?  Catch or show notification?
I know it is somewhat inelegant, but there is a very straightforward React pattern to do what you're trying to do:
  const initialPatient = useResource(patientRef);
  const [patient, setPatient] = useState(initialPatient);

  return (
    <>
      <h1>{patient.name[0]}</h1>
      <button
        onClick={() =>
          medplum
            .updateResource({
              ...patient,
              name: [{ given: 'foo' }],
            })
            .then(setPatient)
        }
      >
        Change Name
      </button>
    </>
  );

@ThatOneBro 's proposed solution would work, but would involve a lot of extra complexity with listeners, subscribing, unsubscribing, etc.  It is absolutely technically possible, I just want to make sure we go into that eyes wide open before adding all of that complexity, which will have ongoing support costs, blah blah blah.

I didn't know you can chain together hooks like. If so, it seems like that would be the solution. However, I'm not sure the snippet you shared works in this case.
The first call to useResource(patientRef) will return undefined, and so patient will be initalized to undefined.
Later on, when the reference read loads, initialPatient will be updated to real Patient, but patient will still be undefined. So the client here still needs to add a useEffect to keep initialPatient and patient in sync


Ability to change theme

Nowadays we can change theme by manual call
[ALPHAManager defaultManager].theme = [ALPHAGreenSeaColorPalette defaultPalette].paletteTheme;

We need settings for ALPHA or something like that to change theme/palette.

You mean an UI? If yes, I was thinking about that in the past already. But in general theme was not meant to be as a changeable property and should be chosen by the developer who integrates Alpha. I've received some feedback that Alpha menu already has many choices, so populating it with themes would just clutter it even more, while not keeping any useful app-related information.
On the other side, the theme UI will be implemented as a part of Client UI library, described in #30 .

You are right I'm talking about UI. We will be needed in settings to implement plugin load/unload functionality at least. You are right we have a lot of objects on ALPHA menu but there are still nothing on leftBarButtomItem slot in root Menu controller. I think we can configure settings icon there and open controller to manage ALPHA stuff.
We cannot use #30 as only way to change theme since it's not a required functionality.
Also i'm looking to provide ALPHA for jailbreak community to import ALPHA.dylib into any app you want and research application. In this case we cannot expect developer to change code for theme selection.

I personally think being able to change the coloring is what is really needed gold text on a black background isn't the most legible thing in the world and this is coming from someone who has issues reading text sometimes.

@OdNairy: You are right about left bar button item being unoccupied, but I would probably add this to the main circular menu as a separate action. I'll think about it and will let you know before going to implement it.
@scj643: Hm, I must say I am a little surprised, gold on dark background does provide great contrast and should be easy to read. I would love, if you would explain a bit more about why is this a problem. In the meantime, you can always use another theme, by setting it yourself in the code. I'll add instructions for this to the Wiki asap.

The reason why I say this is because I'm visually impaired and Black on white is more visible for me.

Okay, understood. For now this will be the default theme, but I'll add another theme that will be black on white which you can use. And we'll make it easier to switch themes soon, so hopefully that will solve the problem for you.


put in more detail about how to amend bitcoin.conf

changed the wording to encourage users to 'double click' install core + specter on existing laptop rather than saying recommended path is packaged nodes
put in more detail about how to amend bitcoin.conf (less technical users don't know what this is or how to do it)

Thanks! In future PRs can you give each sentence a newline? Helps with future diffs.


Exoplayer2 - Move AndroidMediaPlayerImpl creation + Listeners binding to collaborator

Problem
In a previous PR #38 we discussed about removing the setForwarder method from AndroidMediaPlayerFacade
Solution
Done that, what required moving the binding of the listeners done in AndroidMediaPlayerImpl to a collaborator class; AndroidMediaPlayerImplCreator.
Test(s) added
Yes, the AndroidMediaPlayerImplCreator is fully tested, moving the tests existing on AndroidMediaPlayerImpl to it.
Screenshots
No UI changes
Paired with
Nobody, but talked with @joetimmins about a potential solution.
Note In a future PR (if this succeed) I will do the same for ExoPlayer2Impl

I'm not as up to speed with the exoplayer stuff as other people on the project, but this is an improvement IMO on what was there before. Better separation of concerns between configuring the player impl and using it.

I'm a fan of the separate creator but not totally sold on the setup happening inside of it.
Would prefer that logic to remain inside the impl under a impl.initialise method which would be used internally via the PlayerFactory
    private Player createMediaPlayer() {
        AndroidMediaPlayerImpl player = androidMediaPlayerImplCreator.create(context);
        player.initialise();
        return player;
    }

what do you think?

@ouchadam let me check if that remove the original concern: having a setForwarder method on the facade

@ouchadam 819503229db6cc0c2ba69bb5b51dc35b2b3ff900

I like it! It's probably worth making a similar change to ExoPlayerImpl as well in another PR 👻

Yes I will do it in exoplayer!


KEB Parameter to Enforce One Region for a Shoot and a Seed

Description
Changes proposed in this pull request:

parameter shootAndSeedSameRegion sent to provisioner,
parameter shootAndSeedSameRegion received from KEB input,
schema update.

Related issue(s)

https://github.com/kyma-project/kyma/issues/18182

Split into two separate PRs:

https://github.com/kyma-project/kyma-environment-broker/pull/796
https://github.com/kyma-project/kyma-environment-broker/pull/804


Disable Host Check

It seems that WebPack tightened the security and the dev workflow I'm used to does not work anymore.
npm start and visiting localhost:8080 locally or the ip.of.my.server:8080 from a machine in my network returns an Invalid Host header error message. This PR disables the security host check on the package.json and everything works as it used to on my Windows boxes. The implications go a bit over my head so feel free to suggest an alternative. I found some literature here:
https://github.com/webpack/webpack-dev-server/issues/887
https://github.com/webpack/webpack-dev-server/issues/147#issuecomment-298816237

I signed it!

I ran into this as well -- thanks!


Configure Renovate

Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.
🚦 Renovate will begin keeping your dependencies up-to-date only once you merge or close this Pull Request.

Detected Package Files

.circleci/config.yml (circleci)
src/scripts/circleci-job-canceller/requirements.txt (pip_requirements)
src/scripts/render-yaml-from-tsv/requirements.txt (pip_requirements)

Configuration Summary
Based on the default config's presets, Renovate will:

Start dependency updates only once this onboarding PR is merged
Apply Apollo's centralized, default Renovate configuration
Enable Renovate Dependency Dashboard creation.
Use semantic commit type fix for dependencies and chore for all others if semantic commits are in use.
Ignore node_modules, bower_components, vendor and various test/tests directories.
Group known monorepo packages together.
Use curated list of recommended non-monorepo package groupings.
Apply crowd-sourced package replacement rules.
Apply crowd-sourced workarounds for known problems with packages.
Pin dependency versions for devDependencies and retain SemVer ranges for others.

🔡 Would you like to change the way Renovate is upgrading your dependencies? Simply edit the .github/renovate.json5 in this branch with your custom config and the list of Pull Requests in the "What to Expect" section below will be updated the next time Renovate runs.

What to Expect
With your current configuration, Renovate will create 2 Pull Requests:

chore(deps): update circleci dependencies (non-major)

Schedule: ["at any time"]
Branch name: renovate/circleci-dependencies-(non-major)
Merge into: main
Upgrade bats to 1.1
Upgrade orb-tools to 11.6.1

chore(deps): update orb-tools orb to v12

Schedule: ["at any time"]
Branch name: renovate/orb-tools-12.x
Merge into: main
Upgrade orb-tools to 12.0.3

❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section.
If you need any further assistance then you can also request help here.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

@svc-secops: Thank you for submitting a pull request! Before we can merge it, you'll need to sign the Apollo Contributor License Agreement here: https://contribute.apollographql.com/


Add Czech Translation

I had some free time so I've translated the locales into czech. Upper/Lower case has been preserved.
Note: cz = czechia (country), cs = czech (language)
(pretty weird)

You have small typos on line 5 and on line 181.

thanks, corrected


boop

Don't accept this

What:

Why:

How:

Checklist:

[ ] Documentation
[ ] Tests
[ ] Ready to be merged

ahem
#longliveboop


Enhancement: Use SVG badge for displaying Travis build status

This PR

[x] uses an SVG badge for displaying the Travis build status, as it pleases the eye

Thanks!


unable to update to 1.10

I'm unable to update to 1.10 on HA 0.104.3
20-02-05 21:42:03 ERROR (SyncWorker_2) [hassio.docker.interface] Can't install dwelch2101/zigbee2mqtt-armhf:1.10.0 -> 404 Client Error: Not Found ("manifest for dwelch2101/zigbee2mqtt-armhf:1.10.0 not found: manifest unknown: manifest unknown").

Can confirm this, same Home Assistant version. Maybe we just have to wait for the package to be uploaded.

105 HA same issue.

Looks like docker image isn't pushed.

Fixed now

What is the latest version exactly? I've read 1.17 was available to some people over a month ago, but here I'm still sitting at 1.16

Same Problem I am using hass.io version 0.105.3, Supervisor version 200 and HassOS 3.10
But I can't update Zigbee2mqtt from version 1.10.0 to 1.10.1
error while updating :
20-02-13 02:52:11 ERROR (SyncWorker_17)   [hassio.docker.interface] Can't install dwelch2101/zigbee2mqtt-armhf:1.10.1 -> 404 Client Error: Not Found ("manifest for dwelch2101/zigbee2mqtt-armhf:1.10.1 not found: manifest unknown: manifest unknown").

@delta010 Your comment was posted before the images were pushed to docker hub. You can always check the Travis build for the current build status or docker hub to see what image tags are there.


[Feature] To add an automated response for frequently asked questions.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
A lot of people ask the same question 346346557 times a day. Eg: What should I do if I learned C++ instead of java.
Create an automated response functionality will be easier for all.

Thanks, @bamblebam Would you like to go ahead and work on this?

No. I have internships rn so don't have much time.

Hey @kaiwalyakoparkar, I'll be happy to work on this with some help

@VDA-001 Go for it. I have assigned this to you. Let me know if you need any help

Is it necessary to add automated support. Because I thought of adding command such as cm!faq for all FAQs as the priority is low

We already have FAQ's. The thing is no one actually bothers to read it.

Well I don't think we have command or channel for that. And by the way I have no knowledge in ML so if this has to be only automated then I would like to leave this issue for other contributors, or else if it is ok to just have a command for this then I'll be happy to go with this issue

I can work on this issue if its abandoned.

Sure @ctnkaan, I am not working on this issue, you can go ahead with this.


make depend.update.full

successful run - had to go back to old istio/api sha
matching vendor pr : https://github.com/istio/vendor-istio/pull/18

/lgtm


Upgrade to MUI v5, React 17, and latest react-query

Use standard variant on the FormControls that contain menus so the label text shows up in the right place with MUI v5.
Upgrade to React 17.
Upgrade to latest react-query.
Remove @material-ui libraries.
Add support for passing in dialog actions to ScrollableDialog.

MUI v5 is the latest release.  It revamps the styling and theming based on the emotion library, though it can still be styled with external CSS.
This should get merged after #109.

These changes have been merged into #109.


Port.Flush() sets file descriptor to blocking mode in linux

the call to p.f.Fd() inside the Port.Flush() sets the file descriptor to blocking mode. Either we should save a reference to the file descriptor in the object field or set the fd back to non-blocking mode after flush is complete.

Holy smokes, I just saw that it is specifically setting the file descriptor to be blocking instead of blocking. Is there a specific reason for this?


eigenpy: 2.7.8-1 in 'noetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository eigenpy to 2.7.8-1:

upstream repository: https://github.com/stack-of-tasks/eigenpy.git
release repository: https://github.com/stack-of-tasks/eigenpy-ros-release.git
distro file: noetic/distribution.yaml
bloom version: 0.11.2
previous version for package: 2.7.7-1

This release seems to break MoveIt:
https://github.com/ros-planning/moveit/runs/7497210611?check_suite_focus=true
Target "moveit_move_group_interface_python" links to target ...
"Python3::NumPy" but the target was not found.
"Boost::python38" but the target was not found.

These targets inserted in https://github.com/stack-of-tasks/eigenpy/pull/291 are not available in Ubuntu 20.04!

Hi @rhaschke,
Apologies for this - I'll take a closer look tomorrow. There is a chance that the issue may already have been fixed with this release 2.7.8.
To my knowledge, release 2.7.7 (6 days ago, https://github.com/ros/rosdistro/pull/33898) should be broken in the way the log above shows. Release 2.7.8 should have fixed this regression. I can't see from the CI output above whether this pulled in EigenPy 2.7.7 or 2.7.8 (the log is from 13h ago, this release is from 7h ago - so should have been 2.7.7). In a local workspace with MoveIt, it breaks as above with 2.7.7 but works with 2.7.8. [There is a known issue for Windows with 2.7.8 which may affect ROS2 and a fix for that is incoming]

Thanks Wolfgang. Indeed eigenpy 2.7.8 resolves the problem and we just used an old docker image.


Visualisation issue with setVisibilityFilter and clearVisibilityFilter

There are currently some visualisation issues when calling setVisibilityFilter and clearVisibilityFilter methods with flatmap-viewer 2.8.0.

All path ways appears to be thicker after the first call to setVisibilityFIlter
Large grey area on FC map after calling the setVisibilityFilter and clearVisibilityFilter

Would you please add a screenshot showing the grey area -- thanks!

@dbrnz Here you go:

Link to the FC map: https://mapcore-demo.org/current/sparc-app-2/maps/?type=fc

There are a few different issues at play here:

A few blocks in the FC source Powerpoint have been drawn as thick lines.
A bug in mapmaker whereby lines that aren't identified as vasculature (i.e. these thick lines) don't have their width scaled from PPTX units to map units.
The viewer requires more work done to merge it's different filters.

The mapmaker bug though is the main culprit. This has been resolved (commit df86318) and the curation map server now has the fixed FC map.
Item 3 means the blocks from 1 above now show as below (they should be green like the horizontal block). This will be resolved with ongoing work on the FC map and the viewer.

@dbrnz Thanks for looking into it and its great that you are looking into No 3.  I notice the filter is working with enablePath and enableCentrelines but it is not working with enableConnectivityByTaxonIds.

I notice the filter is working with enablePath and enableCentrelines but it is not working with enableConnectivityByTaxonIds.

What version of the viewer are you using?  enableConnectivityByTaxonIds simply works for me.


Plugin crashes on iOS 13

After upgrading to iOS 13, the plugin crashes the app as soon as the MusicControls.create({.. is called.
This happens on device and in the simulator
2019-08-27 11:55:58.144956+0100 App - Test[37550:871750] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Unsupported action method signature. Must return MPRemoteCommandHandlerStatus or take a completion handler as the second argument.'
*** First throw call stack:
(
	0   CoreFoundation                      0x000000010c30bb6e __exceptionPreprocess + 350
	1   libobjc.A.dylib                     0x000000010bc7bf57 objc_exception_throw + 48
	2   CoreFoundation                      0x000000010c30b8e8 +[NSException raise:format:arguments:] + 88
	3   Foundation                          0x000000010adbac29 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 191
	4   MediaPlayer                         0x0000000109e77ad4 -[MPRemoteCommand addTarget:action:] + 1154
	5   Pfizeryanƒ±nƒ±zda - Test            0x0000000107ee5a0a -[MusicControls registerMusicControlsEventListener] + 394
	6   Pfizeryanƒ±nƒ±zda - Test            0x0000000107ee4087 -[MusicControls create:] + 407
	7   Pfizeryanƒ±nƒ±zda - Test            0x0000000107ff4f84 -[CDVCommandQueue execute:] + 900
	8   Pfizeryanƒ±nƒ±zda - Test            0x0000000107eb90ef -[CDVWKWebViewEngine handleCordovaMessage:] + 207
	9   Pfizeryanƒ±nƒ±zda - Test            0x0000000107eb8f6b -[CDVWKWebViewEngine userContentController:didReceiveScriptMessage:] + 187
	10  Pfizeryanƒ±nƒ±zda - Test            0x0000000107ebab3e -[CDVWKWeakScriptMessageHandler userContentController:didReceiveScriptMessage:] + 126
	11  WebKit                              0x000000010907f939 _ZN28ScriptMessageHandlerDelegate14didPostMessageERN6WebKit12WebPageProxyERKNS0_13FrameInfoDataERN7WebCore21SerializedScriptValueE + 217
	12  WebKit                              0x00000001091fa7a0 _ZN6WebKit29WebUserContentControllerProxy14didPostMessageERN3IPC10ConnectionEyRKNS_13FrameInfoDataEyRKNS1_13DataReferenceE + 168
	13  WebKit                              0x00000001093fc5fd _ZN3IPC13handleMessageIN8Messages29WebUserContentControllerProxy14DidPostMessageEN6WebKit29WebUserContentControllerProxyEMS5_FvRNS_10ConnectionEyRKNS4_13FrameInfoDataEyRKNS_13DataReferenceEEEEvS7_RNS_7DecoderEPT0_T1_ + 116
	14  WebKit                              0x0000000108f0fa3e _ZN3IPC18MessageReceiverMap15dispatchMessageERNS_10ConnectionERNS_7DecoderE + 114
	15  WebKit                              0x000000010914506c _ZN6WebKit15WebProcessProxy17didReceiveMessageERN3IPC10ConnectionERNS1_7DecoderE + 24
	16  WebKit                              0x0000000108efafd8 _ZN3IPC10Connection15dispatchMessageENSt3__110unique_ptrINS_7DecoderENS1_14default_deleteIS3_EEEE + 108
	17  WebKit                              0x0000000108efdaee _ZN3IPC10Connection24dispatchIncomingMessagesEv + 586
	18  JavaScriptCore                      0x000000011dae29b4 _ZN3WTF7RunLoop11performWorkEv + 228
	19  JavaScriptCore                      0x000000011dae2c42 _ZN3WTF7RunLoop11performWorkEPv + 34
	20  CoreFoundation                      0x000000010c26f371 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
	21  CoreFoundation                      0x000000010c26f301 __CFRunLoopDoSource0 + 81
	22  CoreFoundation                      0x000000010c26ead4 __CFRunLoopDoSources0 + 180
	23  CoreFoundation                      0x000000010c2697ef __CFRunLoopRun + 1263
	24  CoreFoundation                      0x000000010c268fd6 CFRunLoopRunSpecific + 438
	25  GraphicsServices                    0x00000001115c29f8 GSEventRunModal + 65
	26  UIKitCore                           0x000000011b9f4722 UIApplicationMain + 1621
	27  Pfizeryanƒ±nƒ±zda - Test            0x0000000107e6d141 main + 65
	28  libdyld.dylib                       0x000000010d6206ad start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)

this is very important!

Any news? Bug still present.

@homerours Any news? in iOS 13 does not work anymore :cry:

@homerours Any news? in iOS 13 does not work anymore 😢

https://github.com/homerours/cordova-music-controls-plugin/pull/158/files/90e3fe8838c3151bd8e51901079eb34740ec87c9
This fixed it for me

Does this plugin work for anyone AT ALL?
I mean is it possible to have this fully working as intended?
I've been using it for over a year on Android with no issues but never worked on iOS no matter the webview engine I use, etc...

Does this plugin work for anyone AT ALL?
I mean is it possible to have this fully working as intended?
I've been using it for over a year on Android with no issues but never worked on iOS no matter the > webview engine I use, etc...

It has worked for me on both iOS and Android for over a year.  The store/shipping builds still seem to work on iOS 13.  However, I can't build a new working app with Xcode 11, or the Beta Xcode  13.2. I tried MarcelvanGastel's modifications twice, but that seems to cause build issues on my Ionic 3 app:
(node:22770) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot read property 'toLowerCase' of undefined

@homerours Any news? in iOS 13 does not work anymore 😢

https://github.com/homerours/cordova-music-controls-plugin/pull/158/files/90e3fe8838c3151bd8e51901079eb34740ec87c9
This fixed it for me

Still crash for me :(

Made some updates to the PR, latest commits work for me - tested in iOS 13.1.2

Made some updates to the PR, latest commits work for me - tested in iOS 13.1.2

I fixed my build issue. The audio does start playing..then I get:                                                      Playing stream with AVPlayer & default rate
*** Assertion failure in -[MPSkipIntervalCommand addTarget:action:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/MediaPlayer/MobileMusicPlayer-4017.101.15/SDK/MPRemoteCommand.m:134
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Unsupported action method signature. Must return MPRemoteCommandHandlerStatus or take a completion handler as the second argument.'
Do you modify other routines other than remoteEvent, playEvent, pauseEvent, nextTrackEvent prevTrackEvent returning MPRemoteCommandHandlerStatusSuccess?

Hello this issue is fixed in this repo : https://github.com/ghenry22/cordova-music-controls-plugin
cordova plugin remove cordova-plugin-music-controls cordova plugin add https://github.com/ghenry22/cordova-music-controls-plugin --save

Hello this issue is fixed in this repo : https://github.com/ghenry22/cordova-music-controls-plugin
cordova plugin remove cordova-plugin-music-controls
cordova plugin add https://github.com/ghenry22/cordova-music-controls-plugin --save

Thank you!! This has the lock screen skip-controls enable now when I set them to be true!  Everything seems to work in my app as before, as it did on the previous version of iOS!


New PR for sample content - sample link removed

I've gone ahead and created a JIRA to track this effort (CB-11003)

Also I know this is not completely on you, but would you mind adding a list (index) at the starting of the README with links to the major headings? That would help in navigating through the examples and other content.

LGTM.

lgtm, merged!


test: codegen

Codecov Report

Merging #20 into master will not change coverage by %.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##            master       #20    +/-   ##
==========================================
  Coverage   100.00%   100.00%
==========================================
  Files           15        19     +4
  Lines          175       390   +215
  Branches        29        71    +42
==========================================
+ Hits           175       390   +215

Impacted Files
Coverage Δ

...lint-plugin-codegen/src/__tests__/custom-preset.js
100.00% <100.00%> (ø)

...gin-codegen/src/__tests__/invalid-custom-preset.js
100.00% <100.00%> (ø)

packages/eslint-plugin-codegen/src/index.ts
100.00% <100.00%> (ø)

packages/eslint-plugin-codegen/src/presets.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update de4c41c...011324b. Read the comment docs.

Rebasey-merged


Can't import the named export 'XXX' from non EcmaScript module (only default export is available)

Describe the bug
When depending on a package with a module with an 'mjs' extension, CRA does not load. This seems to be something CRA-related, because having an extension .mjs for modules is one of the (ammitedly MANY different) extension documented for ES6 modules. For example, it is one of the defaults in webpack: https://webpack.js.org/configuration/resolve/#resolveextensions.
I am aware that changing the extension will make these dependencies work, but I am a bit afraid other tools may come up in the future with different wishes regarding extensions, having us to choose between supporting CRA vs that other hypothetical tool.
Did you try recovering your dependencies?
I have a new and freshly made CRA here: https://github.com/DrRataplan/cra-mjs-repro. Check it out, install it and run npm start. Observe the error Can't import the named export 'compileVM' from non EcmaScript module (only default export is available).
Which terms did you search for in User Guide?
I searched for 'mjs', the exact error etc. No usable results. I did find a number of related issues though: https://github.com/reactioncommerce/reaction-component-library/issues/399 and https://github.com/formatjs/formatjs/issues/1395 for example, but they all reverted back to using 'create-react-app-rewired' to fix this issue for themselves. I am actually a maintainer for a package that is affected by this, and I would like my users to not revert to workarounds if they want to use my library in CRA.
Environment
npx: installed 67 in 3.415s

Environment Info:

  current version of create-react-app: 4.0.1
  running from /home/martin/.npm/_npx/275930/lib/node_modules/create-react-app

  System:
    OS: Linux 5.4 Ubuntu 20.04.1 LTS (Focal Fossa)
    CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
  Binaries:
    Node: 14.8.0 - ~/.nvm/versions/node/v14.8.0/bin/node
    Yarn: Not Found
    npm: 6.14.11 - ~/.nvm/versions/node/v14.8.0/bin/npm
  Browsers:
    Chrome: 87.0.4280.141
    Firefox: 84.0.1
  npmPackages:
    react: ^17.0.1 => 17.0.1
    react-dom: ^17.0.1 => 17.0.1
    react-scripts: 4.0.1 => 4.0.1
  npmGlobalPackages:
    create-react-app: Not Found

(But this happens in all environments I have seen so far.
Steps to reproduce

Make a new CRA
Install a package with a .mjs module export. something with a dependency with a .mjs export. Such as xspattern, fontoxpath, etc. I chose xspattern in the reproducable case: https://github.com/DrRataplan/cra-mjs-repro
Import this package
npm start
Observe error

Expected behavior
It just works. I can just npm install any package (that is expected to work in the browser). CRA will configure Webpack to just load the main extensions as ES6 modules.
Actual behavior
A crash:

Reproducible demo
https://github.com/DrRataplan/cra-mjs-repro

+1 seeing this exact issue with graphql-compose as well.

+1 for https://github.com/framer/motion/issues/1307

This seems fixed in CRA 5.0.0. Could anyone else verify and add it to the addressed issues for that release?

I have this problem when try to load wasm

that's because your not approved by the owner of the organized app

disgusting changes in latest webpack

I've also faced this with some internal libraries at work. I've come across this workaround but would be happy to hear any other workarounds people have.
If I use any other extension than .mjs, I get an error message that says I can't use import outside of a module.

+1 for @plasmicpkgs/radix-ui

If you are using CRACO for react app, add the following webpack configuration to your craco.config.js:
  module.exports = {
    webpack: {
      configure: (webpackConfig, { env, paths }) => {
        // Add a rule to handle .mjs files
        webpackConfig.module.rules.push({
          test: /\.mjs$/,
          include: /node_modules/,
          type: 'javascript/auto',
        });

        return webpackConfig;
      },
    },
  };


RecursiveComparisonAssert: improvement for comparing field with different types in actual and expected objects.

When using RecursiveComparisonAssert to compare objects of different Classes (e.g., Foo and FooDto), we may have the same fields but with different types (e.g., LocalTime and String).
In these cases, comparison will fail by default.
We can use withEqualsForType, withComparatorForType, withEqualsForFields and withComparatorForFields methods to customize comparison.
For instance, given:
class Foo {
  LocalTime time;
}

class FooDto {
  String time;
}

We can do any of these:
assertThat(foo)
  .usingRecursiveComparison()
  .withEqualsForType((BiPredicate<LocalTime, Object>) (time, timeStr) -> time.equals(LocalTime.parse((String) timeStr)), LocalTime.class)
  .isEqualTo(fooDto);

assertThat(foo)
  .usingRecursiveComparison()
  .withComparatorForType((Comparator<Object>) (time, timeStr) -> ((LocalTime) time).compareTo(LocalTime.parse((String) timeStr)), LocalTime.class)
  .isEqualTo(fooDto);

Assertions.assertThat(foo)
  .usingRecursiveComparison()
  .withEqualsForFields((time, timeStr) -> time.equals(LocalTime.parse((String) timeStr)), "time")
  // Also working as:
  // .withEqualsForFields((BiPredicate<LocalTime, String>) (time, timeStr) -> time.equals(LocalTime.parse(timeStr)), "time")
  .isEqualTo(fooDto);

assertThat(foo)
  .usingRecursiveComparison()
  .withComparatorForFields((time, timeStr) -> ((LocalTime) time).compareTo(LocalTime.parse((String) timeStr)), "time")
  .isEqualTo(fooDto);

The "ForFields" methods just require casting the values (or the BiPredicate in the withEquals case), so they look OK.
However, the "ForType" methods look to hacky, requiring an ugly double casting. I addition, while registering a withComparatorForType using LocalTime may work well (to assert Foo against FooDto), registering it using String (to assert FooDto against Foo) will most likely break equality tests for other fields in the class.
To solve these issues, would it be feasible to add two-type versions of these methods?
public <T, U> SELF withEqualsForTypes(BiPredicate<? super T, ? super U> equals, Class<T> typeInActual, Class<U> typeInExpected)

// BiComparator should also be defined
public <T, U> SELF withComparatorForType(BiComparator<? super T, ? super U> comparator, Class<T> typeInActual, Class<U> typeInExpected)

@pcuriel could you show us on an example what the use of these new methods would look like compared to the existing API ?

Continuing with my example above. If we have these:
class Foo {
  LocalTime time;
}

class FooDto {
  String time;
}

With the new methods, the idea is that instead of this:
assertThat(foo)
  .usingRecursiveComparison()
  .withEqualsForType((BiPredicate<LocalTime, Object>) (time, timeStr) -> time.equals(LocalTime.parse((String) timeStr)), LocalTime.class)
  .isEqualTo(fooDto);

We would be able to do this:
assertThat(foo)
  .usingRecursiveComparison()
  .withEqualsForTypes((time, timeStr) -> time.equals(LocalTime.parse(timeStr)), LocalTime.class, String.class)
  .isEqualTo(fooDto);

In addition, if we have something like this:
class Bar {
  LocalTime time;
  LocalDate date;
}

class BarDto {
  String time;
  String date;
}

And we want to assert that BarDto is equal to Bar, using "withEqualsForType" does not work:
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm");

assertThat(barDto)
    .usingRecursiveComparison()
    // This is overridden...
    .withEqualsForType((BiPredicate<String, Object>) (dateStr, date) -> dateStr.equals(dateFormatter.format((LocalDate) date)), String.class)
    // when registering this
    .withEqualsForType((BiPredicate<String, Object>) (timeStr, time) -> timeStr.equals(timeFormatter.format((LocalTime) time)), String.class)
    .isEqualTo(bar);

While "withEqualsForTypes" should be OK, because one is registered with String & LocalDate, whereas the other is registered with String & LocalTime:
    ...
    .withEqualsForTypes((dateStr, date) -> dateStr.equals(dateFormatter.format(date)), String.class, LocalDate.class)
    .withEqualsForTypes((timeStr, time) -> timeStr.equals(timeFormatter.format(time)), String.class, LocalTime.class)
    ...

With objects so simple as the ones used here it is true that we can just resort to using "withEqualsForFields" as explained in my initial post.
But with more complex objects, where a given type is used in several fields, I think having the ability to define both actual and expected types may come handy.

Yeah, fair enough, would have time contributing this one ?

Currently I don't have much time, but I'll try to work on it if it's still pending in a few weeks.

I can take it if you would

@amodolo thanks !


Initialized video extension before image extension

Fixes #842

Description

Updated: order of initialization of extensions such that Video is initialized before Image

Checklist
- [ ] I have made corresponding changes to the documentation.
- [ ] I have updated the types definition of modified exports.

[x] I have verified the functionality in some of the neeto web-apps.
[x] I have added the necessary label (patch/minor/major - If package publish
is required).

Reviewers
@AbhayVAshokan

Merging the change.
cc: @AbhayVAshokan


custom id

Hi cool library.

How to make your own string values id?
I want nice to get such a tree structure.
https://docs.mongodb.com/manual/tutorial/model-tree-structures-with-parent-references/
db.categories.insertMany( [
   { _id: "MongoDB", parent: "Databases" },
   { _id: "dbm", parent: "Databases" },
   { _id: "Databases", parent: "Programming" },
   { _id: "Languages", parent: "Programming" },
   { _id: "Programming", parent: "Books" },
   { _id: "Books", parent: null }
] )

class Catalog(Model):
    id: str
    parent: Optional[str]

TypeError: can't automatically generate a primary field since an 'id' field already exists

Hi @fortunto2
Feel free to ignore if you already solved the issue, but I'm leaving the reference in case someone ends up here in the future.
By default, ODMantic generates an id field itself for every Model. You can see the details here on why it does that.. This is the reason why you're getting an error, because ODMantic is trying generate an implicit id but it already exists (i.e. defined by you in the model).
To use the id field (or, really, any name for the field you want your primary field to be), you have to do this:
`from odmantic import AIOEngine, Field, Model
class Catalog(Model):
id: str = Field(primary_field=True)
parent: Optional[str]
`

@adeelsohailahmed cool, thank you!


Fix bug: Don't skip emitting JSX attributes

Fixes #21772
Another fix similar to #18284. This did change one source map baseline; the comment was added in #13640 (I think? May be from a merge commit). @rbuckton Do you know if there's a way to avoid changing the sourcemap, but still descend into the child nodes and call callbacks? Or is it not a big deal to have this slight sourcemap change?

Would like review from @rbuckton before merging.


err: bad rollback extras

Seeing error messages like this when running couchbase intranet/intrapop search and restarts of cbft
2015/02/12 11:46:56 feed_dcp: on error: default-ft.0_36827b3b889d4103: error: HandleRecv, err: bad rollback extras: &gomemcached.MCResponse{Opcode:0x53, Status:0x23, Opaque:0x151, Cas:0x0, Extras:[]uint8{}, Key:[]uint8{}, Body:[]uint8{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6a}, Fatal:false}
The workaround was to rebuild the index from scratch, but clearly that's suboptimal.

there was a bug in the DCP spec, and cbdatasource is fixed now to match actual DCP server behavior...
https://github.com/couchbaselabs/go-couchbase/commit/6fd10eb23d16e726c90ae9a2330ef55c474a079c


Specify default option values in readme

Closes #257

@tabrath can you also add a table in the readme which contains the name of the prop and its default value ? Basically you can convert the list https://github.com/tabrath/react-tags/blob/a148bc8ed2d8ac78b91318db2fd4da2063660c11/README.md#options to table format.

@ad1992 Sure.

@tabrath looks good 👍 . I think you forgot to replace the gif which I mentioned in the last comment. Can you fix it so this can be merged

No, I didn’t forget, just didn’t have time for it, I’ll try making a new gif as soon as possible (busy at work atm). 😊

@tabrath when will you be able to add the GIF ?

@ad1992 Ok, I tried my best :)

Thanks @tabrath


Use new key to specify license file in setup.cfg

to prevent deprecation warning.
Please check next builds that the license file is always included as the new metadata works only for wheels - not sdists.

Merged, thanks!


Fix typo in enum name.

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

@gjoranv or @olaaun or @kkraune Please review and merge.


Refactored and created an abstraction for control values

Created a concrete implementation that replicates current behaviour.
refactored the code for control_values and abstracted its calls
this is a first step towards implementing more ways to represent control values in order to solve #4512

@tanujkhattar

@tanujkhattar which is why I removed the _iterator function, but all other functions are necessary and are being used/called either directly by functions in controlled_gate, controlled_operation, common_gate or indirectly by other tests.


Integrate ensembling into AutoML

Epic design doc here: https://alteryx.quip.com/wcJbAoWJVpAN/Ensembling-Design-Document
This issue also tracks running and writing up perf tests before merging.

Discussed perf test results with @angela97lin . Looking good!
Running into #1126, now that we're using TrainingValidationSplit to compute the ensemble scores in automl (instead of CV, since the ensembler does CV under the hood). Options: 1) fix the bug, 2) use CV instead of TV, 3) add reset_index workaround which worked or #1126.
Next steps

Update which pipelines/parameters we pass to the stacked ensembler. I put a sketch on branch ds_stacked_ensemble_automl_algo_save_results
Takes a long time to run. We should add flag to disable stacked ensembling in automl.
Use self.data_split to compute the T/V split we score with in _compute_ensemble_scores, so that the sole split we score on is identical to the (first) one used for all other pipelines.

If needed, to work around #1126 bug when we're using TrainingValidationSplit, let's use reset_index. Hopefully not necessary now that we're not manually creating TrainingValidationSplit


Option to use file URI's instead of base64 for input/output

For performance and compatibility. Let me know if you think it's a good idea.

Same as the scanner, would be a great option ! Actually in production the communication between both for one image lasts around 200ms, I'm sure we could greatly improve that by passing file's uri

I'll look into it soon!

If your projects lead you to work regularly on scanners I would be happy to add you as a collaborator. Especially since I don't work on it for now !

Fixed by 1832cb84a2ccd6369f098655788fd5d4093b6be4 input must now be a file path

The doc should be updated then


fix: aggregate by month in fivetran_log__mar_table_history

Are you a current Fivetran customer?

Yes, Simon Stepper, Analytics Lead at Capdesk from Carta
What change(s) does this PR introduce?

Fixing a bug introduced in v0.7.1 and switching the fivetran_log__mar_table_history back to a monthly aggregation.
Did you update the CHANGELOG?

[x] Yes

Does this PR introduce a breaking change?

[ ] Yes (please provide breaking change details below.)
[x] No  (please provide an explanation as to how the change is non-breaking below.)

Only changing the model's granularity to what it was in v0.7.0
Did you update the dbt_project.yml files with the version upgrade (please leverage standard semantic versioning)? (In both your main project and integration_tests)

[x] Yes

Is this PR in response to a previously created Bug or Feature Request

[x] Yes, Issue/Feature https://github.com/fivetran/dbt_fivetran_log/issues/73
[ ] No

How did you test the PR changes?

[ ] BuildKite
[x] Local (please provide additional testing details below)
Tested with our own dbt project on Snowflake

Select which warehouse(s) were used to test the PR

[ ] BigQuery
[ ] Redshift
[x] Snowflake
[ ] Postgres
[ ] Databricks
[ ] Other (provide details below)

Provide an emoji that best describes your current mood

⛷
Feedback
We are so excited you decided to contribute to the Fivetran community dbt package! We continue to work to improve the packages and would greatly appreciate your feedback on our existing dbt packages or what you'd like to see next.

@fivetran-joemarkiewicz thanks for the quick review! Would be great when you can apply these changes to make it work across warehouses, I'm Snowflake only.
We don't have a case where a table name is not unique per connector in our setup, so this didn't occur for me. But I can see that happening and would be a good addition to make the package more robust. Thanks!


Bounty: Fix issues from Gov using Kibisis (20k VIA)

Done

[ ] User can send VIA
[ ] User can approve VIA spending
[ ] Defaults to Voi Testnet
[ ] If shift from Algorand symbol to Voi symbol, it is faster
[ ] Add assets works


[BR]

Describe the bug
I'm not sure this is a bug, but don't think it's a feature request.  The ingress isn't being created on my implementation, and I just wanted to know if this is expected.  If I need to set up an ingress on my own, that's fine but I'm not seeing it attached.  I'm also not seeing the PVC, but I'm new to helm charts and kubernetes overall.

Yeah, I switched to NFS, still trying to figure out why it's not working now... I actually got it working with longhorn but retained volumes weren't re-attaching when I re-deployed, so I would lose my configs every time unfortunately.

I removed the possibility to specify NFS volumes manually to have the PV created.
A PV or a StorageClass linked to a provisioner are needed in order to create the PVC.


Minor changes based on Sam's feedback

Make code more readable when assessing whether seg_ann['signals'] exists.
Default dtype for _to_hz() should be float not int.

Tests passed locally.

Hi @sbuergers I had to rebase the original feature branch due to conflicts with master. I included your changes of this PR manually in my current version, so you don't need to resolve the conflicts here.


Fix platform detection after Node.js 21

Node.js 21 added navigator.userAgent, which breaks the previous detection.
Close #200934

The same problem happen in xterm.js, and is already fixed.
https://github.com/xtermjs/xterm.js/issues/4850
https://github.com/xtermjs/xterm.js/pull/4851
https://github.com/nodejs/node/pull/47769#issuecomment-1601054678


Copyright on output?

Thanks for providing!
One quick question: Is the output licensed in a certain way or is it open source as well?

This is a sample for demonstration only. IBM is not responsible for how you use this code or the API. So there is no license in the output.


Deploy foreign bridge contracts for Laika

Deploy the foreign bridge contracts on Görli for the Laika bridge.
Pre mint 80 Million Tokens of Test Trustlines Token (TTT)
Deploy the real contracts.
Pre mint the token to an address we as a team have access to.
Verify the contracts on etherscan.

Okay, I just quickly need to redo it. I messed up the quantity by the factor of the decimals. :expressionless:
I will simply update the above comment and add another comment if this done.

Update already done. Etherscan was smart enough to register that this is same code as before and automatically verified it by Similar Match.

I will close this issue if the above mentioned PR for the account stuff got accepted.

the verified Test Trustlines Token
the verified Foreign Bridge at #1596703 (for the bridge config)

The pre-mint token holder (0xbbc7dA0cD394E1bF954E669e407E044BeF7d6F80) can be accessed via the bridge-testing tool and the new config-ttt.toml file (checkout this PR).
The pre-mint token holder account has been shared via faucet and has already done one test transfer to the foreign bridge contract.

And please check your setup, you are using the wrong compiler version. v0.5.12

done


New button's properties

I added two new properties for button:

backgroundImage;
image.

Thanks :)


chore(OpenAiIcon, ThumbDownIcon and ThumbUpIcon): add new icons

Overview
Adds Open AI Icon, Thumb down icon and thumb up icon

PR Checklist

[ ] Related to designs: https://www.figma.com/file/7YDHHaKnsuzC2KWFq1ZkXK/Career-Services?node-id=643%3A52855&mode=dev
[ ] Related to JIRA ticket: LEGO-3360
[ ] I have run this code to verify it works
[ ] This PR includes unit tests for the code change
[ ] This PR includes testing instructions tests for the code change
[ ] The alpha package of this PR is passing end-to-end tests in all relevant Codecademy repositories

Testing Instructions

Don't make me tap the sign.
PR Links and Envs

Repository
PR Link
PR Env

Monolith
Monolith PR
Monolith Env

Portal
Portal Link
Portal Env

Another Repo
Another Link
Another Env

📬Published Alpha Packages:@codecademy/gamut-icons@9.3.5-alpha.79821d.0@codecademy/gamut-kit@0.6.335-alpha.79821d.0@codecademy/gamut-labs@35.15.8-alpha.79821d.0@codecademy/gamut@55.1.13-alpha.79821d.0@codecademy/monaco@0.7.39-alpha.79821d.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://64baef1a7c2b22006f328e5f--gamut-preview.netlify.appDeploy Logs

The thumbs up and thumbs down look strange in storybook

I've also installed gamut-kit 0.6.335-alpha.79821d.0 but for some reason don't have access to these icons in portal app.  Any idea why?

📬Published Alpha Packages:@codecademy/gamut-icons@9.3.5-alpha.e05d35.0@codecademy/gamut-kit@0.6.336-alpha.e05d35.0@codecademy/gamut-labs@35.15.9-alpha.e05d35.0@codecademy/gamut@55.1.14-alpha.e05d35.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://64c2ba3065a2e505b18a2ba3--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-icons@9.3.5-alpha.93fa59.0@codecademy/gamut-kit@0.6.336-alpha.93fa59.0@codecademy/gamut-labs@35.15.9-alpha.93fa59.0@codecademy/gamut@55.1.14-alpha.93fa59.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://64c2ce32426c2408f977ab1b--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-icons@9.3.5-alpha.868f8b.0@codecademy/gamut-kit@0.6.336-alpha.868f8b.0@codecademy/gamut-labs@35.15.9-alpha.868f8b.0@codecademy/gamut@55.1.14-alpha.868f8b.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://64c2ea40d4eb2d007315f5bb--gamut-preview.netlify.appDeploy Logs

@katiezutter they look great in storybook!


add hoiaf bonus strings for season 20

submitting as a pull request to ask for @jhh8's approval on phrasing

approvated


Bug: Edit this page button has wrong link

Before you start...

[X] Have you refreshed the page? You might be using an old version of the site.
[X] Have you checked for an existing issue on this topic? If there is one, post a comment on it instead.

What browsers are you seeing the problem on?
Microsoft Edge
Description
The "Edit this page" button for docs links to the wrong GitHub page.
Steps To Reproduce

Open any documentation page
Click on "Edit this page"

Expected behavior
Clicking the button should open the correct page.
Relevant Assets
No response

@TheOnlyTails it looks like this is still an issue


Add small "REST" API for communicating with the backend

Given that I am forced to serve my files with a local server, I might as well go ahead and build a rest API to send messages between the game and the backend...
See #12

Related to #12. This belongs to the feature/server-client  branch

I was thinking that maybe I could use Websockets instead. As It seems I will need to use ws anyway if I want to implement the "live-reload" feature for DX.
So, i may use the server to load a page and establish a websocket connection. And use that to send messages back and forth.
That sounds like a more "integrated" solution to me :thinking:

I read a bit about how neutralino.js works. See #16
Apart from using webview as I do, they seem to use websockets for communication. So I will go with that.


DOM text reinterpreted as HTML Update index.js

Description
By using textContent, it will avoid the risk of HTML injection, as these properties automatically escape any HTML special characters in the provided text. This helps prevent cross-site scripting (XSS) vulnerabilities by treating the input as plain text rather than interpreted HTML.
Checklist
General

[ ] Ensure any links to pages aren't referenced in code (if there are changes to links)
[ ] Changes to the website have been verified via steps here

Hii @rockycodes Could you please Review this PR
Thanks


Add format to str of Datetime Logical Type

If a Datetime Logical type has a format, this should be printed out in the str representation

We will not be doing this issue. For Datetime however, we have already changed it to Datetime variables (so the format isn't really useful anymore).


samples: sensor: remove wurth elektronik non generic samples of sensor drivers

This PR removes some non generic driver samples as these drivers will be replaced by other drivers in a different PR.

@kartben can you please review this one quickly as PR (#62408) depends on this one to be merged

I'll assign to myself as this really is samples' stuff at the end of the day, and I doublt @MaureenHelm will complain that we would be removing non-generic samples :)

@kartben sorry somehow the first time i managed to get the alphabetical order wrong. just pushged again and made sure the test passed.

Redirects are working as expected, thanks!

no worries. Any reason why the this footprint check is failing?

Redirects are working as expected, thanks!

no worries. Any reason why the this footprint check is failing?

You would need to rebase please, sorry for the trouble. A (very) recent change is making the 0.16.5 SDK the default and there was a disconnect between the version specified in your PR branch and what CI expects. Thanks!

Redirects are working as expected, thanks!

no worries. Any reason why the this footprint check is failing?

You would need to rebase please, sorry for the trouble. A (very) recent change is making the 0.16.5 SDK the default and there was a disconnect between the version specified in your PR branch and what CI expects. Thanks!

should be good to go now.

@yperess  can you approve this PR please

@MaureenHelm can you please also merge it? thanks in advance

Marking as 3.6, this was approved last Friday and will hopefully make it for RC1


Logs are not showing color on metro bundler for React native

Been playing around with your logger but it seems like it's not applying the colors correctly.

Maybe I'm misconfiguring it?

try to configure transport options:
transportOptions: {
    colors: {
      info: "blueBright",
      warn: "yellowBright",
      error: "redBright",
    },
    extensionColors: {
      root: "magenta",
      home: "grey",
      user: "blue",
    },
  },


InvalidOperationException: Unable to resolve service for type

I am using saaskit multi tenancy project for multi tenant application.
I am able to create the tenant context and able to access in all controllers.
However, sometimes it give me following error

An unhandled exception has occurred: Unable to resolve service for type 'LMS.Model.AppTenant' while attempting to activate 'LMS.Controllers.OrganizationController'.

This error occurs randomly for any controller and on any action method executed. The nature of error is not specific to any controller/action method.
I can see my code enters the TenantResolver successfully which does in fact return a Tenant but when it comes for DI to inject it into my controller it complains with the error listed
After this error occurs my application stop completely and it shows white screen.
This issue occurs on production server and not on localhost.
Any help on this !
Tenant injected in all controller like this
public class HomeController
    {
        public HomeController(TenantContext<AppTenant> tenantContext)
        {

        }
    }

and below is the extension class for where tenantContext is made injectable
public static class MultitenancyServiceCollectionExtensions
    {
        public static IServiceCollection AddMultitenancy<TTenant, TResolver>(this IServiceCollection services)
            where TResolver : class, ITenantResolver<TTenant>
            where TTenant : class
        {
            Ensure.Argument.NotNull(services, nameof(services));

            services.AddScoped<ITenantResolver<TTenant>, TResolver>();

            // No longer registered by default as of ASP.NET Core RC2
            services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();

			// Make Tenant and TenantContext injectable
			services.AddScoped(prov => prov.GetService<IHttpContextAccessor>()?.HttpContext?.GetTenantContext<TTenant>());
			services.AddScoped(prov => prov.GetService<TenantContext<TTenant>>()?.Tenant);

			// Make ITenant injectable for handling null injection, similar to IOptions
			services.AddScoped<ITenant<TTenant>>(prov => new TenantWrapper<TTenant>(prov.GetService<TTenant>()));

			// Ensure caching is available for caching resolvers
			var resolverType = typeof(TResolver);
            if (typeof(MemoryCacheTenantResolver<TTenant>).IsAssignableFrom(resolverType))
            {
                services.AddMemoryCache();
            }

            return services;
        }
}

When the white screen appears it gives me

Network Error: 500 Internal Server Error Could not find the related path.

I have set TenanContext in Session in AppTenantResolver class, so that I do not need to resolve tenant again and again. But this session value sometimes comes null for any action method executed. I have set like context.Session.SetObjectAsJson("TenantContext", tenantContext)
Why this HttpContext session comes null sometimes ? Because of this I am not able to get the tenant context

Are you still experiencing this issue? Can you post your tenant resolver?

Yes,
the issue is happening because of session time out.
We keeping the tenant context is session, as session is getting time out, it is not able to redirecting properly.
Below is the tenant resolver

 protected override Task<TenantContext<AppTenant>> ResolveAsync(HttpContext context)
        {
            string strPath = string.Empty;

            TenantContext<AppTenant> tenantContext = context.Session.GetObjectFromJson<TenantContext<AppTenant>>("TenantContext");

            if (context.Request.Path.Value.ToString().ToLower().Contains("/account/login") || context.Request.Path.Value.ToString().ToLower().Contains("/admin/login"))
            {
                if (!context.Request.Query.ContainsKey("ReturnUrl"))
                    tenantContext = null;
            }

            if (tenantContext == null)
            {
                strPath = context.Request.Path.Value;

                if (strPath.StartsWith("/"))
                {
                    strPath = context.Request.Path.Value.Remove(context.Request.Path.Value.IndexOf("/"), 1);
                }

                if (strPath.EndsWith("/"))
                {
                    strPath = strPath.Remove(strPath.LastIndexOf("/"), 1);
                }

                AppTenant tenant = null;

                var HostNames = tenants.Select(x => x.Hostnames).ToList();

                foreach (var item in HostNames)
                {
                    foreach (var Name in item.ToList())
                    {
                        if (strPath.ToLower().Contains(Name.ToString().ToLower()))
                        {
                            tenant = tenants.FirstOrDefault(t => t.Hostnames.Any(h => h.Equals(Name)));
                            break;
                        }
                    }
                }

                if (tenant != null)
                {
                    tenantContext = new TenantContext<AppTenant>(tenant);
                    context.Session.SetObjectAsJson("TenantContext", tenantContext);
                }
            }

            return Task.FromResult(tenantContext);
        }

We resolving the tenant like below at the time of login
/admin/login/clientname
after login lets say my session it getting timed out and for example I am accessing the url /course/overview then tenant context is coming null

I am having issue with a null TenantContext as well. I am publishing a release version and not debug .
When deploying my ASPNETCORE application to an instance of IIS 7 on my desktop, the error is NOT AN INSTANCE OF AN OBJECT. Why would the code be pointing to my class in my development folder
----->(C:\Workspace\IdentityServer4)? The code is being executed in IIS and not from my development folder. Strange behavior. The compiled assembly should not be doing this. How does the published , compiled code even know about this development folder?
2017-09-12 17:52:22.257 -05:00 [Debug] TenantContext not present in cache with key ""localhost:449"". Attempting to resolve.
2017-09-12 17:52:22.262 -05:00 [Error] An unhandled exception has occurred: Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
at IdentityServer4.MultiTenant.MultiTenancy.TenantResolver.ResolveAsync(HttpContext context) in C:\Workspace\IdentityServer4\IdentityServer4\IdentityServer4\MultiTenancy\TenantResolver.cs:line 82
at SaasKit.Multitenancy.MemoryCacheTenantResolver`1.<SaasKit-Multitenancy-ITenantResolver-ResolveAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
FYI everything works fine when run from Visual Studio 2017. But from IIS I get the error
Line 82 is the following.
tenantContext = new TenantContext<Tenant>(
                new Tenant { TenantKey = tenantReferrer.TenantKey, Hostnames = _host});

Solution: Rebuild SAASKIT using same version of VS. In my case, I had to rebuild SAASKIT using VS 2017


When there are two sets of storage in a Kubernetes cluster, one is Ceph and the other is OpenEBS, what if some applications use Ceph storage and others use OpenEBS storage when utilizing Liqo?

When there are two sets of storage in a Kubernetes cluster, one is Ceph and the other is OpenEBS, what if some applications use Ceph storage and others use OpenEBS storage when utilizing Liqo?

I think you're going to need to point your applications to the specific persistent volumes you would need then to depend on. However, I don't think OpenEBS indipendantly support multi-clusters like ceph does. With open ebs you're going to have to implement some other tooling such as Portworx.

Thank you for your reply.
What I mean is that after setting up Liqo, there will be a virtual Storage Class Liqo, but my cluster has two real Storage Classes, and Liqo will only use the default real Storage Class, the other one will not be used unless the other is set as the default real Storage Class. This operation is not very good, so there should be a rule setting to allow the virtual Storage Class liqo to choose the real Storage Class.


Composer

Please add your package to the Composer repository
Composer https://getcomposer.org/
Packagist https://packagist.org/

+1

+1
It would be really great to have it by composer

I never used composer before. Does anyone of you have a quick start guide or something like that where i can get an overview over the way it works?

I think those two link will be good for you to see how it works ;)
https://getcomposer.org/doc/00-intro.md
https://packagist.org/about

I will look into it this weekend. Maybe i have it on composer as soon as monday. :)

I added the package to packagist. Can someone please check if its working? :)
https://packagist.org/packages/timoschlueter/php-runtastic

Doing a composer require timoschlueter/php-runtastic master-dev seems to work for me.

Thanks @mnlg. I will close this issue then.

Sorry, i've just checked again and the autoloader doesn't seem to work at all.

Since i dont use composer: What seems to be the problem? The composer.json has been commited by @ferranmarlet. Maybe he can help? :)

My fault. It was necessary to add an autoload directive to the composer.json.
I have done it, and I have tested it on my own packagist account. It seems to work, and I have sent you another pull request now.

I merged the pull request. Should work now. I also linked this github repository to packagist.
Composer should therefore work now.

It works. Thank you Timo.

Great! Thank you @ferranmarlet for the fix. :)


[Benchmarking] Allow number of vectors to not be divisible by number of clients

Related to https://github.com/opensearch-project/k-NN/pull/409#discussion_r902826462.
Currently, OSB  benchmark workload can only use multiple clients when the data set can be partitioned evenly. For example, for a data set with 100 vectors, 10 clients could be used but not 9 (ref).
Instead of requiring the number of vectors to be divisible by the number of clients, we could have one client execute fewer requests.

Closing as this was added in OSB


Button shortcut not triggered from gamepad

I've searched for this issue but could not find anything similar.
I also apologize in advance in case this is a duplicate one.
Godot version:

Godot Engine v3.1.beta2.official
OS/device including version:

Sony VAIO SVE14A15FBW:

Windows 10 x64
Intel(R) Core(TM) i5-2450M @ 2.5GHz (4 CPUs)
6GB RAM
AMD Radeon HD 7600M
XBOX 360 wired gamepad

Issue description:

HUD Button Shortcut does not trigger InputEventAction for InputMap action "ui_select" when input source is a gamepad.
Steps to reproduce:

Load project Dodge the Creeps! from Godot's documentation.

Navigate to menu Project >> Project Settings >> Input Map.

Add a shortcut to your favorite button within the section "ui_select"

Set the shortcut for the Start Button in your HUD scene:

Shortcut: New Shortcut
Shortcut: New InputEventAction
Action: ui_select

Run the game.

Results

The shortcut will work for the keyboard (spacebar), but not for the gamepad.
I can move the character with the gamepad, no keys are broken or loose. I've tested it.
Gamepad functions do work from GDScript.

Minimal reproduction project:

This is the original project, I apologize one more time if the bug is within it.
Dodge the Creeps! 3.0.zip

Update
Here is a really tiny project reproducing the supposed bug:
GamepadBug.zip

I can confirm this on commit https://github.com/godotengine/godot/commit/962c14278fafecf3d047fd070fc7ab8d4dcc21da (tested on Linux with a wired Xbox One V3 controller).

This is an issue again in Godot 4 alpha 11.

This is an issue again in Godot 4 alpha 11.

Please open a new issue with a minimal reproduction project attached.


paper-input + app-datepicker

I have created an internal component for my project and its a simple paper-input that opens an app-datepicker-dialog on Tap. The problem is that when you open the selected date is Today and when you click confirm date-changed is not fired and my paper-input is not updated. It only works if you first select another date, confirm, open the dialog again and select "today" which is not nice.
Here is a small code sample - https://pastebin.com/q2UZkLCF
I think the user here describes a similar problem - https://waffle.io/motss/app-datepicker/cards/5ac6e03aee40280044e95fe6

Closing this as this is not under consideration.