NCrunch and AutoFixture integration issues

Currently NCrunch doesn't support AutoFixture and that's clearly stated in their documentation. I fired an issue to xUnit and tried to solve that somehow, however it appeared to be more complex problem.
I'm going to invite NCrunch developers here to discuss that problem together. Probably, we could also move that to xUnit surface further.
We should work find a way to work with NCrunch given that both we are quite popular products 😅

Hi, I'm the developer of NCrunch.
I'd be happy to work with you to find a solution to this.  With the current design, I'm sadly out of options for solving the problem solely on my side of the integration point.  I believe that my runner is likely not the only one that has experienced problems with the current design.
As you've likely understood through the various documentation and support forum posts I've written up, the root of the problem lies in AutoFixture's random generation of test parameters.  Because test parameters are a critical element in identifying a test and subsequently executing it, selective execution of tests becomes impossible if the parameters change every time a test is constructed/discovered.
The only reliable way I can think of to solve this issue would be to remove all random generation of test parameters and instead use fixed values (i.e. placeholders or consts) instead, or otherwise limit the seeding of parameter values to the test case itself.  In this way, the tests would always be exactly the same and they could be consistently found the same as any other test.  Every user I have dealt with that has used AutoFixture for parameter generation has done so for parameters they don't 'care' about for the purposes of their testing, so I hope this approach might not have any real downside in the eyes of the user.  A benefit to this is that it would also work with all versions of NCrunch immediately and would not require any code changes to NCrunch or any other runner.

@remcomulder Thank you a lot for participating here - highly appreciated! I've investigated that a bit and would like to share my findings. All my findings are applicable to xUnit only.
TL DR: xUnit supports such theories and NCrunch should support them for xUnit as well. For NUnit - that's an open question and probably they don't have such an API yet, so your warning is legal.

The feature we use seems to be legal for xUnit. We have our own TestDataDiscoverer that indicates that our theories cannot be pre-discovered (because we generate random data). Later we decorate our AutoDataAttribute with this discoverer. xUnit respects this attribute and don't resolve parameter values during the discovery.

I believe that my runner is likely not the only one that has experienced problems with the current design.

Actually, that is not true and both R# and VS work fine with such theories. They also allow to re-run the particular theory even if it contains auto-generated data. I'd suggest to focus on VS as it also contains discovery & run phases and is open-sourced.
Consider the following test code:
using Ploeh.AutoFixture.Xunit2;
using Xunit;

namespace Playground
{
    public class UnitTest
    {
        [Fact]
        public void StableTest()
        {
            Assert.True(true);
        }

        [Theory]
        [InlineData(1)]
        public void StableInlineTest(int value)
        {
            Assert.Equal(1, value);
        }

        [Theory, AutoData]
        public void VolatileTest(int value)
        {
            Assert.True(value % 2 == 0);
        }

        [Theory]
        [InlineAutoData(10)]
        [InlineAutoData(20)]
        [InlineAutoData(30)]
        public void VolatileTestWithInline(int value, int autoValue)
        {
            Assert.NotEqual(value, 40);
        }
    }
}

.NET Framework test library project. VS 2017.3. Target framework: 4.5.2. Installed packages:

xunit 2.2.0
xunit.runner.visualstudio 2.2.0
AutoFixture 3.50.6
AutoFixture.Xunit2 3.50.6

If you trigger discover in VS, you will see the following output:

As you might notice, for the theories that support data discovery (StableInlineTest), VS runner shows the actual data the test will be run with (1). For tests that doesn't support data discovery and contain auto-generated data (VolatileTest, VolatileTestWithInline) VS doesn't discover the theory cases and shows you the whole theory only. Only after you run, you will be able to see the values for this particular invocation:

Now you can re-run the particular theory and it will run all the theory cases again.
As you can see, there is actually a way to support such theories and xUnit does that perfectly. NCrunch should take into account a fact that some theory cases cannot be pre-discovered. For such theories you need to re-run the whole theory, rather than a particular case. I don't see why that is not possible.

The only reliable way I can think of to solve this issue would be to remove all random generation of test parameters and instead use fixed values (i.e. placeholders or consts) instead

Currently xUnit doesn't expose API to change display name and replace generated data with placeholders. I've created an issue for them (see here), however Brad's reply is that it's unreal and they suggest to simply disable the discovery, which we are doing already.

or otherwise limit the seeding of parameter values to the test case itself.

Unfortunately, that is not currently possible for our product and a lot of things should be rewritten to support a singe seed.

Member data
In the documentation here you have another sample (I've rewritten it to XUnit):
public class MemberDataSample
{
	public IEnumerable<object[]> GetData()
	{
		yield return new object[]
		{
			DateTime.Now
		};
	}

	[Theory, MemberData(nameof(GetData), DisableDiscoveryEnumeration = true)]
	public void DateTheory(DateTime dt)
	{
		Assert.True(DateTime.Now - dt < TimeSpan.FromMinutes(1));
	}
}

It's absolutely legal for xUnit as there is DisableDiscoveryEnumeration attribute. It works like the sample above - theory cases are not being pre-discovered.

The bottom line
It seems that xUnit provides instruments to understand whether test is volatile or not (by means of pre-discovery enumeration support). You can use VS implementation as a sample to understand how they handle that and do the same in your product. Likely, they simply use xUnit SDK and their message sinks.
Given that both R# and VS supports fine such theories, it makes me think that actually everything is right with our product..
As for the NUnit - let's discuss that afterwards as I haven't investigated that yet. Probably, we don't have such an API for that.
Could you please share your opinion regarding xUnit support given my findings? Will you add support for
xUnit (stop re-run all tests) and stop to show that incompatibility warning? 😉

It seems I may owe you an apology here.  The use case you've described above works correctly under NCrunch, for the reasons you've explained.  Xunit is avoiding pre-enumeration of the theory and is collapsing it into a single test where it is safely identified and executed.  On testing this now, I can confirm that NCrunch does this correctly.  It seems we do not have an obvious problem with InlineAutoData.
I am not sure why this failed for me earlier.  I am presently unable to myself create a scenario in which it fails.  I know I have had users mention to me that InlineAutoData wasn't working, though I guess they'll need to come forward and provide examples of where this is the case.
I'd like to draw your attention to a specific use case that I am aware will break both NCrunch and the VS Runner.  I assume it would also break ReSharper and TD.NET, though I haven't tested these as I don't have them installed:
using Ploeh.AutoFixture;
using Ploeh.AutoFixture.Xunit2;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xunit;

namespace XUnitAutoFixture
{
    public class TestFixture
    {
        private static readonly Fixture Fixture = new Fixture();

        public static IEnumerable<object[]> SomeTestData()
        {
            yield return new object[] { Fixture.Create<string>() };
            yield return new object[] { Fixture.Create<string>() };
        }

        [Theory, MemberData(nameof(SomeTestData))]
        public void Test(object value)
        {

        }
    }
}

The above code will fail under all selective execution scenarios.  It will, however, pass if the tests are discovered and executed in the same step.  This scenario was the catalyst behind the warning being given by NCrunch about AutoFixture, as users were doing this and asking for support.  Given that I didn't know about AutoFixture disabling pre-enumeration, I had assumed (incorrectly) that InlineAutoData was the same.
My present assumption is that you do not support such a scenario.  Is this correct?

On testing this now, I can confirm that NCrunch does this correctly.

That's great! Happy to hear that actually xUnit is fully supported by NCrunch 🎉 As for the NUnit - it has been always clumsy and we need to investigate what we can do there.
However, I still observe issues with NCrunch and AutoFixture. Currently I have xUnit project with AutoFixture and if I change even a single line, all the tests are re-run. It seems that you enable such behavior when you detect AutoFixture to ensure that nothing is missed.
Is that so? If yes, could you please fix that to disable such a behavior for xUnit as everything is fine there?

I'd like to draw your attention to a specific use case that I am aware will break both NCrunch and the VS Runner.
My present assumption is that you do not support such a scenario. Is this correct?

Yep, that scenario will break all the runners. However, as it was been correctly pointed out somewhere on your forum, that is not because of the AutoFixture, as you might write something like this which will also don't work:
public class TestFixture
{
    public static IEnumerable<object[]> SomeTestData()
    {
        yield return new object[] { DateTime.Now.Ticks };
        yield return new object[] { DateTime.Now.Ticks };
    }

    [Theory, MemberData(nameof(SomeTestData))]
    public void Test(object value)
    {

    }
}

For such scenario it's your responsibility to manually disable the pre-discovery, so that it should look like this (pay attention to the DisableDiscoveryEnumeration property):
public class TestFixture
{
    private static readonly Fixture Fixture = new Fixture();

    public static IEnumerable<object[]> SomeTestData()
    {
        yield return new object[] { Fixture.Create<string>() };
        yield return new object[] { Fixture.Create<string>() };
    }

    [Theory, MemberData(nameof(SomeTestData), DisableDiscoveryEnumeration = true)]
    public void Test(object value)
    {

    }
}

Actually, it's supposed to be very rare scenario as we have AutoData and InlineAutoData attributes for data generation. Also AutoFixture is simply a tool and it's developer's responsibility to use it correctly.
I wouldn't move NCrunch into a special mode simply because there are people who can use tool incorrectly. The best we can do here is to put a Known Issue somewhere to describe this particular scenario and ask people to use xUnit properly (as they might not know about that).
Could you please confirm that you run tests in a special way if you detect AutoFixture and if so, could you please disable that mode for xUnit (for NUnit it's better to keep that as is). Also likely this page should be also updated.

At the moment, NCrunch implements no special handling for AutoFixture outside of the compatibility warning.  The behaviour you've experienced is probably due to the engine mode you have selected.  It's entirely configurable - if you switch to 'Run impacted tests automatically, others manually' mode I think you'll see the engine behave in the way you're expecting.
With what I've learnt from you, I feel ready to remove the AutoFixture warning from NCrunch entirely.  I had already been convinced by users to reword it, as it became clear very early on that the warning was overly broad and some features of AutoFixture were still working correctly.  I think I've quite seriously misunderstood how AutoFixture is implemented under xunit.
So I guess this is probably a best case scenario for us.  The use case that most badly broke me isn't technically supported anyway, and everything else is working fine.  Meanwhile, I'll be happy to try to forget my own embarrassment at having tested and verified this to an incorrect conclusion, if you can find cause to forgive me for the overzealous compatibility warning.

Meanwhile, I'll be happy to try to forget my own embarrassment at having tested and verified this to an incorrect conclusion, if you can find cause to forgive me for the overzealous compatibility warning.

No worries! It's absolutely fine and we are all here to help each other understand the things 😅 That's great that you followed up the ticket and we discussed that - it's too much 🥇

With what I've learnt from you, I feel ready to remove the AutoFixture warning from NCrunch entirely.

Well, we still have troubles with NUnit (we are on our way though), so this message looks to be relevant for NUnit projects. Probably, it make sense to disable that for xUnit only, unless we introduce full support for the NUnit (or at least a way to enable that support).
I still have one thing that is unclear to me. What does it mean that you don't support e.g. AutoFixture & NUnit? Yes, the test names are different for each time, however does it matter if you re-run all the tests (if engine mode is set so)? Or does it mean that you don't support the "Impacted only" engine more for them? My thought was that instead of saying No support, it's probably better to narrow down to some particular scenarios which we don't support, while rest ones should be fine.

'Run impacted tests automatically, others manually'

I wasn't able to find this setting on my <IP_ADDRESS> installation. Do you mean the Only consider tests 'Out of date' if they are 'Impacted' setting that should be set to true? Sorry if I missed that somewhere - I'm a bit new to this product..

Documentation update
It probably makes sense to not remove case with xUnit and AutoFixture from this page, but instead describe how to use it correctly (use the DisableDiscoveryEnumeration attribute). Also it would be cool to describe the "NUnit Test Case With Inconsistent Name" sample for xUnit and ask to use the DisableDiscoveryEnumeration attribute together with MemberDataAttribute.

I still have one thing that is unclear to me. What does it mean that you don't support e.g. AutoFixture & NUnit? Yes, the test names are different for each time, however does it matter if you re-run all the tests (if engine mode is set so)? Or does it mean that you don't support the "Impacted only" engine more for them? My thought was that instead of saying No support, it's probably better to narrow down to some particular scenarios which we don't support, while rest ones should be fine.

This is because of the lifespan of the test under NCrunch.  NCrunch has important state that is assigned to every test (think pass/fail result, code coverage data, performance data, trace output, etc).  This data persists for as long as the test continues to be 'discovered' by the test framework, even between sessions of VS.  When the test framework reports no test with the same identifier, the test is considered to be gone and all state is destroyed.
When a test is created using unstable parameters, each call into the test framework to discover tests results in a whole new test being created, because the test's identifier has changed.  The result is that every time NCrunch calls NUnit to discover tests (consistently after every build of the test project), all state held for tests with unstable parameters is discarded.  So that's bad.  It means that impact detection won't work, and the engine does a ton of extra work rerunning tests and flicking through transient results.
The problem goes deeper though.  If the dumping of test state were the only real issue, handling for unstable tests could still 'work' in the sense that they would still be run by the engine and results would be reported.  The deeper problems come from NCrunch's parallelisation, selective execution and distributed processing.
To perform parallel execution, NCrunch needs to use multiple test processes that execute tests in parallel.  The mechanics of NUnit are such that tests must be discovered before they can be executed.  This means that there must be a whole separate discovery step executed inside each process used for execution, so if we have two processes, then we need to discover the tests twice.  If the tests have unstable parameters, each process will have an entirely different set of tests, making it impossible for the engine to split the full master list of tests between the processes for execution.  This problem is also extended when using distributed processing, because the remote execution process is running on different hardware in a completely different environment.
There is also the issue of selective execution.  NCrunch's default mode of operation is to always create a new test process when it is specifically told to run a test.  This is to clear the slate and be as consistent as possible with other runners.  Such a feature can't work with unstable parameters, because spawning a new test process requires rediscovering tests, which subsequently cannot be identified if their parameters have changed.
NUnit does have its own internal ID system that could be used to identify tests with unstable parameters between processes, but this ID system is based on test generation sequence (i.e. it's incremental).  Such a system can't be used by any test runner that needs to manage test state across multiple versions of a test assembly, because if the user creates a new test, all the IDs will fall out of sequence and the data will become dangerously misleading.  The NUnit devs have expressed interest in moving away from this sequence-based system and towards IDs generated from the test attributes themselves, which would be similar to how Xunit does it (and likely wouldn't work with unstable parameters).
I still believe that the best way to resolve these issues is to perform consistent seeding of the unstable parameters.  There is always a concept that tests should be repeatable and consistent, which is difficult to achieve if the tests are fully randomising all their inputs.  In actual practice, a test that generates randomly seeded data for its execution is a whole new test every time it is generated, as the code can behave differently based on the data it is fed.

I wasn't able to find this setting on my <IP_ADDRESS> installation. Do you mean the Only consider tests 'Out of date' if they are 'Impacted' setting that should be set to true? Sorry if I missed that somewhere - I'm a bit new to this product..

Go to the NCrunch menu, choose 'Set engine mode', and you should see the option there.  If it isn't there, it's possible that you're using a solution that was executed by a much older version of NCrunch and it's only showing legacy engine modes.  Just creating a new solution somewhere should solve this.

@remcomulder Wow! Thanks for such a detailed explanation! Now I see that indeed it's easier to say that AutoFixture & NUnit is not being currently supported as there are some HUGE issues under the hood 😅

I still believe that the best way to resolve these issues is to perform consistent seeding of the unstable parameters.

Actually, in this PR we have a bit different idea. We want to alter the test name so that it's stable. For instance, given test like this:
    [Test, StableNameAutoData]
    public void Sample(int a, Data d1, DataWithToString d2, ISomeData d3)
    {
        Assert.IsTrue(true);
    }

the test name will be:
NUnit3RunnerTest709.TestNameTester.Sample(auto<System.Int32>,auto<NUnit3RunnerTest709.Data>,auto<NUnit3RunnerTest709.DataWithToString>,auto<Castle.Proxies.ISomeDataProxy>)

Name will be always the same during each discovery/execution, while the actual argument values will differ for each time.
Given your deep knowledge of NUnit, how would you evaluate this approach? Will it work for you? I expect that you use a theory name, rather than bind to particular argument values. Therefore, if test name is stable, you should not have any troubles as it's identifiable now. Could you please confirm before we start to implement this? ☺

There is always a concept that tests should be repeatable and consistent, which is difficult to achieve if the tests are fully randomising all their inputs.

Probably, one day we'll support a stable seed so that tests can be replayed with same arguments, however currently we are pretty far from that, so it's not realistic 😕 Rather, we expect that users' assertions will be precise enough to later understand why test failed even if input was randomized in some ranges.

Given your deep knowledge of NUnit, how would you evaluate this approach? Will it work for you? I expect that you use a theory name, rather than bind to particular argument values. Therefore, if test name is stable, you should not have any troubles as it's identifiable now. Could you please confirm before we start to implement this? ☺

Unfortunately my knowledge of NUnit is far from deep :(  NCrunch basically just takes the name NUnit returns to it, and uses this to generate the identifier.  So in theory, as long as your solution did change/stabilise the physical name of the test as returned by the NUnit API, then we should be OK here
for NCrunch at least.
Something to watch out for is the potential for a user to create multiple tests with the same signature.  If the parameters in the name are being stripped down to raw types, this becomes much more likely/possible.  As long as you're aware of these scenarios, you could probably code in an error or something to discourage it.

@remcomulder Just to update you, so we can finally close this issue.
As it has been discussed above, the xUnit framework is being natively supported. However, for NUnit the issue wasn't clear as it doesn't support tests with volatile names.
We recently merged a PR and released a new version of AutoFixture (v3.51.0) which add support for stable names for NUnit. For now, the manual actions are required from user's side (see here), however in v4 I'm going to make it out-of-the-box.
I've just tested and found that if I use the approach above, NCrunch is able to run only modified tests and it seems that it now works correctly. I'm not sure whether some actions from your side are required (e.g. document that somewhere). Also would be fine if you test that new feature and let us know whether it works fine now, so we can have a rest 😄

@zvirja Thanks for looping me in on this.  I've given this work a quick test, and it looks solid to me.  By removing the random elements from the test names, the runner can consistently identify tests across sessions and all seems to be well :)
I do have an idea though that I think might save us some time in user support.  One problem we all find with software is that many people don't read the docs before they pick up a tool.  It's useful knowing that we are now able to advise them on how to solve the unique name issues under NUnit, but the best approach is always making the problem solve itself.
I note that by default, AutoFixture will use the VolatileNameTestMethodBuilder.  I accept this is for reasons of backwards compatibility and I agree that this is sensible.  But what if we were to allow this default to be overridden using an environment variable?  If we could specify an environment variable (say, 'AutoFixture.FixedTestNames'=='1') to force AutoFixture to use VolatileNameTestMethodBuilder, it would be possible for a runner to specify the builder upfront, without the user needing to do anything.  This would also be a bonus for people that use multiple runners, as they could implicitly use different builders for each runner (without any effort required) and get the best of both worlds.
What do you think?

I've given this work a quick test, and it looks solid to me.

That's awesome! 🎉 Meaning that we can close this issue as now everything works fine. Thank you for the testing and your participation here 🥇

What do you think?

I think I ended up with a much better and simpler solution - we'll make the FixedNameTestMethodBuilder a default strategy in v4 (our next major release) which will be released in upcoming month or two. The appropriate PR has been already approved, so code will be there. Therefore, we will work fine out-of-the-box and if somebody needs volatile test names - he will opt-in manually, clearly understanding the consequences.
Later we could do something like you suggested - add a switching strategy that inspects environment variables/AppConfig, however I prefer to do that only if that's indeed required.

I think I ended up with a much better and simpler solution - we'll make the FixedNameTestMethodBuilder a default strategy in v4 (our next major release) which will be released in upcoming month or two.

That will work great for me :)  I'm happy!  Thanks for all your effort.

Cool 😉 Thank you again for your replies and collaboration 👍
I'm closing this one as no actions are required more from both sides.

@remcomulder @zvirja Just wanted to say that this discussion (which helped me understand a similar issue), and the dedication you've demonstrated here, is nothing but awesome! Thank you both for your great products.


Remove periods from list in managing-notifications-from-your-inbox#custom-filter-limitations

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/managing-notifications-from-your-inbox#custom-filter-limitations
What part(s) of the article would you like to see updated?

Custom filters do not currently support:

Full text search in your inbox, including searching for pull request or issue titles.
Distinguishing between the is:issue, is:pr, and is:pull-request query filters. These queries will return both issues and pull requests.
Creating more than 15 custom filters.
Changing the default filters or their order.
Search exclusion using NOT or -QUALIFIER.

Remove periods from this list, as each line is not a complete sentence
Additional information
Style guide reference

Hey @nguyenalex836
I would like to work on this issue
Can you assign me?

@MadGanGithub it looks like @SeanAverS has already taken it, so the answer is probably no.

@MadGanGithub Hello! 👋 While we don't generally assign issues to contributors - if you find an issue to work on, you are welcome to open a PR with a fix 💛


Setup a hub for Julien Emile-Geay / USC Hackathon

Linked from https://github.com/2i2c-org/meta/issues/111 (process change will come from https://github.com/2i2c-org/team-compass/pull/23)
Dates: Hackathon is on 4-5 February.

[ ] Have a basic hub running at paleohack2021.pilot.2i2c.cloud with the default settings. Once this is done, we can let them start trying it out.
[ ] Work with the paleohack folks in building their own docker image, so we can use that instead of our base image. Let's work with them through the next week and nail this down. Shouldn't be too difficult.
[ ] Work with them to offer home page customizations
[ ] Figure out how billing should work. This probably involves creating a new google cloud project and setting up stuff there. Exploration of this should start asap, since there is probably gonna be issues around quotas.

Our first hackathon hub! Let's use this to figure out a process that will work for future workshops

Yes! Process process process :-) I think a few products should come out of this, other than the hub infrastructure itself:

[ ] A post-mortem of notes about how this process went
[ ] A check-list that we can add to a template somewhere that covers the major things we needed to do
[ ] An estimate of how much work it took us to deploy, and how we can reduce this in the future

Yes! Process process process :-) I think a few products should come out of this, other than the hub infrastructure itself:

[ ] A post-mortem of notes about how this process went
[ ] A check-list that we can add to a template somewhere that covers the major things we needed to do
[ ] An estimate of how much work it took us to deploy, and how we can reduce this in the future


Are D203 and D211 in conflict?

From http://pep257.readthedocs.org/en/latest/error_codes.html:

D203: 1 blank line required before class docstring

D211: No blank lines allowed before class docstring

It seems impossible to satisfy both as this fails D211:
class Class:

    """A sample class."""

and this fails D203:
class Class:
    """A sample class."""

What am I missing?

I tend to just disable D203 in my projects.

Yes, they are in conflict. D203 should be disabled by default. See #91.

Its seems to be enabled in 0.7.0:
$ cat demo/sample.py
"""A sample module."""

class Class(object):
    """A sample class."""

$ pep257 --version
0.7.0

$ pep257 demo
demo/sample.py:4 in public class `Class`:
        D203: 1 blank line required before class docstring (found 0)

Do you have a configuration file with an ignore option in the same directory? I just checked 0.7.0 in a virtualenv and it behaves as expected.

Yes:
[pep257]

ignore = D202

Is the presence of an ignore option going to enable normally disabled rules?

Yes. If you want to add your ignore to the list instead of overriding it, use add-ignore in the config file (or --add-ignore in the command line).

Thanks!


Merge tony to tuning_20190221 branch

We currently deploy internally using the tuning_20190221 branch, so creating this PR to merge the TonY-related changes to this branch as well.

Opened a separate PR: https://github.com/linkedin/dr-elephant/pull/576


[Improve] Change class name for AbstractJobEnvironment implement

Purpose of this pull request
This PR change JobExecutionEnvironment to ClientJobExecutionEnvironment, change JobImmutableInformationEnv to RestJobExecutionEnvironment. To make sure the meaning of class name is more clear.

Does this PR introduce any user-facing change?
no

How was this patch tested?
exist test.

Check list

[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update change log that in connector document. For more details you can refer to connector-v2
Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist

[ ] Update the release-note.

cc @liugddx @zhibinF


Add slide animation for legacy browsers like IE9

Add slide animation  for browsers that do not support CSS3 transition

thanks


Please attach LICENSE

Can you attach a LICENSE file, preferably permissive ones like Apache, MIT, BSD?

Just added one. TICC is available open-source via the BSD License

Thanks!


Reorder Account actions

Current Keystores functions, horizontal order:
*Sign Transaction
*Create Account
*Import Account
Without metrics I am only guessing, but I believe the functions that will be used most will be:
*Create Account
*Import Account
*Sign Transaction
I would recommend rearranging to a more intuitive order.

Right now, the Sign Transaction button is only visible if there is an account selected, for the reason you mentioned. One an account has been created, the Sign Transaction is displayed (which hopes to make things more intuitive).
I think a better solution here is to combine the "Import" and "Create" into a single button and show a different UI for importing once the modal is open (this can also be an input box / qr code).
💸 x 1


Uncaught TypeError: this.editor.getPath is not a function

[Enter steps to reproduce below:]

Attempt to refactor code via extracting.

Atom Version: 1.8.0
System: Mac OS X 10.11.6
Thrown From: php-refactoring package, v1.4.0
Stack Trace
Uncaught TypeError: this.editor.getPath is not a function
At /Users/Josh/.atom/packages/php-refactoring/lib/php-refactoring.coffee:73

TypeError: this.editor.getPath is not a function
    at Object.module.exports.PhpRefactoring.extractMethod (/Users/Josh/.atom/packages/php-refactoring/lib/php-refactoring.coffee:73:24)
    at Object.module.exports.PhpRefactoring.handleConfirm (/Users/Josh/.atom/packages/php-refactoring/lib/php-refactoring.coffee:61:10)
    at atom-text-editor.<anonymous> (/Users/Josh/.atom/packages/php-refactoring/lib/php-refactoring.coffee:55:102)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:98:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands
     -1:21.3.0 php-refactoring:extract (atom-text-editor.editor)
 37x -1:15.9.0 core:backspace (atom-text-editor.editor.mini.is-focused)
     -0:54.4.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:46.8.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
     -0:46.8.0 core:cancel (atom-text-editor.editor.mini.is-focused)
     -0:32.1.0 core:undo (atom-text-editor.editor.is-focused)
     -0:30 core:save (atom-text-editor.editor.is-focused)
     -0:26.1.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -0:26.1.0 core:cancel (atom-text-editor.editor.is-focused)
     -0:21.7.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:19.8.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:19.8.0 php-refactoring:extract (atom-text-editor.editor)
  9x -0:13.7.0 core:backspace (atom-text-editor.editor.mini.is-focused)
  9x -0:03.8.0 core:move-left (atom-text-editor.editor.mini.is-focused)
     -0:02.2.0 core:move-right (atom-text-editor.editor.mini.is-focused)
     -0:00.8.0 core:confirm (atom-text-editor.editor.mini.is-focused)

Config
{
  "core": {
    "themes": [
      "one-dark-ui",
      "an-old-hope-syntax"
    ]
  }
}

Installed Packages
# User
an-old-hope-syntax, v0.5.0
language-blade, v0.25.3
language-htaccess, v0.1.1
language-ini, v1.16.0
minimap, v4.24.7
php-refactoring, v1.4.0
pretty-json, v1.4.4

# Dev
No dev packages

I got same issue

yeap

This package is not maintained anymore, sorry.


staging site is down

in the readme, users are recommended to view the staging site but it is not working. i receive an application error. see below.

Just changed the link and text on read me


added files

@prasadkalaskar Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.


rails 4.2.0rc1 can't modify frozen ActiveRecord::LazyAttributeHash

When using grape active model serializers with grape API I updated from Rails 4.2.0.beta4 to 4.2.0rc1 and suddenly all actions that return a destroyed object (product.destroy)result in
can't modify frozen ActiveRecord::LazyAttributeHash
The fix was to specify a serializer or return something other than the object which was frozen after destroy.
Exception: RuntimeError: can't modify frozen ActiveRecord::LazyAttributeHash
  0: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.0.rc1/lib/active_record/attribute_set/builder.rb:79:in `materialize'
  1: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.0.rc1/lib/active_record/attribute_set/builder.rb:23:in `select'
  2: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.0.rc1/lib/active_record/attribute_set.rb:70:in `initialized_attributes'
  3: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.0.rc1/lib/active_record/attribute_set.rb:18:in `to_hash'
  4: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.0.rc1/lib/active_record/attribute_methods.rb:284:in `attributes'
  5: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activemodel-4.2.0.rc1/lib/active_model/serialization.rb:100:in `serializable_hash'
  6: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.0.rc1/lib/active_record/serialization.rb:17:in `serializable_hash'
  7: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activemodel-4.2.0.rc1/lib/active_model/serializers/json.rb:99:in `as_json'
  8: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0.rc1/lib/active_support/json/encoding.rb:34:in `encode'
  9: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0.rc1/lib/active_support/json/encoding.rb:21:in `encode'
 10: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0.rc1/lib/active_support/core_ext/object/json.rb:37:in `to_json_with_active_support_encoder'
 11: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/formatter/json.rb:6:in `call'
 12: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-active_model_serializers-1.2.1/lib/grape-active_model_serializers/formatter.rb:11:in `call'
 13: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/middleware/formatter.rb:33:in `block in after'
 14: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/middleware/formatter.rb:32:in `collect'                                                                                [100/5640]
 15: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/middleware/formatter.rb:32:in `after'
 16: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/middleware/base.rb:25:in `call!'
 17: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/middleware/base.rb:18:in `call'
 18: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/middleware/base.rb:24:in `call!'
 19: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/middleware/base.rb:18:in `call'
 20: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/middleware/base.rb:24:in `call!'
 21: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/middleware/base.rb:18:in `call'
 22: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/middleware/error.rb:27:in `block in call!'
 23: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/middleware/error.rb:26:in `catch'
 24: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/middleware/error.rb:26:in `call!'
 25: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/middleware/base.rb:18:in `call'
 26: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rack-1.6.0.beta2/lib/rack/head.rb:13:in `call'
 27: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rack-1.6.0.beta2/lib/rack/builder.rb:153:in `call'
 28: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rollbar-1.1.0/lib/rollbar/middleware/rack/builder.rb:8:in `call_with_rollbar'
 29: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/endpoint.rb:172:in `call!'
 30: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/endpoint.rb:160:in `call'
 31: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rack-mount-0.8.3/lib/rack/mount/route_set.rb:152:in `block in call'
 32: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rack-mount-0.8.3/lib/rack/mount/code_generation.rb:96:in `block in recognize'
 33: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rack-mount-0.8.3/lib/rack/mount/code_generation.rb:68:in `optimized_each'
 34: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rack-mount-0.8.3/lib/rack/mount/code_generation.rb:95:in `recognize'
 35: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rack-mount-0.8.3/lib/rack/mount/route_set.rb:141:in `call'
 36: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/api.rb:128:in `call'
 37: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/api.rb:43:in `call!'
 38: /Users/brian/.rvm/gems/ruby-2.1.5/gems/grape-0.9.0/lib/grape/api.rb:39:in `call'
 39: /Users/brian/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.0.rc1/lib/action_dispatch/routing/mapper.rb:51:in `serve'
 40: /Users/brian/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.0.rc1/lib/action_dispatch/journey/router.rb:43:in `block in serve'
 41: /Users/brian/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.0.rc1/lib/action_dispatch/journey/router.rb:30:in `each'
 42: /Users/brian/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.0.rc1/lib/action_dispatch/journey/router.rb:30:in `serve'
 43: /Users/brian/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.0.rc1/lib/action_dispatch/routing/route_set.rb:800:in `call'
 44: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rack-pjax-0.8.0/lib/rack/pjax.rb:12:in `call'
 45: /Users/brian/.rvm/gems/ruby-2.1.5/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:404:in `call_app!'
 46: /Users/brian/.rvm/gems/ruby-2.1.5/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:262:in `mock_call!'
 47: /Users/brian/.rvm/gems/ruby-2.1.5/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:181:in `call!'
 48: /Users/brian/.rvm/gems/ruby-2.1.5/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:164:in `call'
 49: /Users/brian/.rvm/gems/ruby-2.1.5/gems/omniauth-1.2.2/lib/omniauth/builder.rb:59:in `call'
 50: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rollbar-1.1.0/lib/rollbar/middleware/rails/rollbar_request_store.rb:13:in `call'
 51: /Users/brian/.rvm/gems/ruby-2.1.5/gems/warden-1.2.3/lib/warden/manager.rb:35:in `block in call'
 52: /Users/brian/.rvm/gems/ruby-2.1.5/gems/warden-1.2.3/lib/warden/manager.rb:34:in `catch'
 53: /Users/brian/.rvm/gems/ruby-2.1.5/gems/warden-1.2.3/lib/warden/manager.rb:34:in `call'
 54: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rack-1.6.0.beta2/lib/rack/etag.rb:24:in `call'
 55: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rack-1.6.0.beta2/lib/rack/conditionalget.rb:38:in `call'
 56: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rack-1.6.0.beta2/lib/rack/head.rb:13:in `call'
 57: /Users/brian/.rvm/gems/ruby-2.1.5/gems/remotipart-1.2.1/lib/remotipart/middleware.rb:27:in `call'
 58: /Users/brian/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.0.rc1/lib/action_dispatch/middleware/params_parser.rb:27:in `call'
 59: /Users/brian/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.0.rc1/lib/action_dispatch/middleware/flash.rb:260:in `call'
 60: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rack-1.6.0.beta2/lib/rack/session/abstract/id.rb:225:in `context'
 61: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rack-1.6.0.beta2/lib/rack/session/abstract/id.rb:220:in `call'
 62: /Users/brian/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.0.rc1/lib/action_dispatch/middleware/cookies.rb:560:in `call'
 63: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.0.rc1/lib/active_record/query_cache.rb:36:in `call'
 64: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:647:in `call'
 64: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.0.rc1/lib/active_record/connection_adapters/abstract/connection_pool.rb:647:in `call'                                                                                [50/5640]
 65: /Users/brian/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.0.rc1/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
 66: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0.rc1/lib/active_support/callbacks.rb:88:in `call'
 67: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0.rc1/lib/active_support/callbacks.rb:88:in `_run_callbacks'
 68: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0.rc1/lib/active_support/callbacks.rb:734:in `_run_call_callbacks'
 69: /Users/brian/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.0.rc1/lib/active_support/callbacks.rb:81:in `run_callbacks'
 70: /Users/brian/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.0.rc1/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
 71: /Users/brian/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.0.rc1/lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
 72: /Users/brian/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.0.rc1/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
 73: /Users/brian/.rvm/gems/ruby-2.1.5/gems/rollbar-1.1.0/lib/rollbar/middleware/rails/show_exceptions.rb:19:in `call_with_rollbar'
 74: /Users/brian/.rvm/gems/ruby-2.1.5/gems/actionpack-4.2.0.rc1/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
 75: /Users/brian/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0.rc1/lib/rails/rack/logger.rb:38:in `call_app'

@siong1987 any update here. Getting same error with grape api and rails 4.2.0rc1

I had to specify serializer to fix.. It seems it isn't able to figure out what serializer to use?
         delete '/', serializer: ::CommentsSerializer, root: false do
         end

@testbrian Write a spec with your repro?

@nadeemyasin61 Could you reproduce with a spec?

closing this issue as it is multiple years old and the codebase has changed since then. if you can test this against master and repro the issue, please create another issue.

👍


feat: Allow Custom Compare Functions

Most changes are copied from this pull request: https://github.com/praneshr/react-diff-viewer/pull/137/files
If a function is passed as lineCompareMethod, this function will be treated as the diff function. Users can pass other functions in the diff library, or pass their own functions.

:tada: This PR is included in version 4.0.3 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

@davidfan168 @Aeolun
This change is actually wrong and causes a bug where the diff lines are sometimes hidden for some reason. I found that turning on dissabledWordDiff unhides them.
Instead, these are the lines you're supposed to change to change how the diff lines are handled:
https://github.com/Aeolun/react-diff-viewer-continued/blob/71d1374c3915b026739c52e780be06f40c48e7e3/src/compute-lines.ts#L137-L145


CAD-791 eliding addtocurrentchain messages

Issue

eliding AddToCurrentChain messages

This PR does not result in breaking changes to upstream dependencies.

depends on PR #760
Checklist

[x] This PR contains all the work required to resolve the linked issue.

[ ] The work contained has sufficient documentation to describe what it does and how to do it.

[ ] The work has sufficient tests and/or testing.

[x] I have committed clear and descriptive commits. Be considerate as somebody else will have to read these.

[x] I have added the appropriate labels to this PR.

example output:
[nixos19:cardano.node.ChainDB:Notice:50] [2020-04-16 21:40:34.68 UTC] Chain extended, new tip: (Point 65998, 028b27d4063e06f7)
[nixos19:cardano.node.ChainDB:Notice:50] [2020-04-16 21:40:35.56 UTC] Chain extended, new tip: (Point 66248, 85e60103fc87234e)
[nixos19:cardano.node.BlockFetchDecision:Info:60] [2020-04-16 21:40:35.80 UTC] [String "ConnectionId {localAddress = <IP_ADDRESS>:46279, remoteAddress = <IP_ADDRESS>:3001}",String "FetchDecision declined",String "FetchDeclineConcurrencyLimit FetchModeBulkSync 1"]
[nixos19:cardano.node.ChainDB:Notice:50] [2020-04-16 21:40:36.41 UTC] Chain extended, new tip: (Point 66498, 06fd59fd496e0f64)
[nixos19:cardano.node.ChainDB:Notice:50] [2020-04-16 21:40:37.27 UTC] Chain extended, new tip: (Point 66748, 4d5c4cec902d64a5)
[nixos19:cardano.node.BlockFetchDecision:Info:60] [2020-04-16 21:40:37.52 UTC] [String "ConnectionId {localAddress = <IP_ADDRESS>:46279, remoteAddress = <IP_ADDRESS>:3001}",String "FetchDecision declined",String "FetchDeclineConcurrencyLimit FetchModeBulkSync 1"]
[nixos19:cardano.node.ChainDB:Notice:50] [2020-04-16 21:40:38.41 UTC] Chain extended, new tip: (Point 66998, 5c680cfff361df10)
[nixos19:cardano.node.ChainDB:Notice:50] [2020-04-16 21:40:39.51 UTC] Chain extended, new tip: (Point 67248, f2541b040fe78376)

new blocks are reported every 250 blocks; can still be parsed for the chain-sync benchmark
messages in "FetchDecision" tracer are reported every 1000 messages

bors r+


[DS-4414] OAI import throws AuthorizeException

https://jira.lyrasis.org/browse/DS-4414
Fixes #7752
OAI import throws AuthorizeException when there is no Anonymous READ policy for the license bitstream.
Solution: Check if we are authorized to retrieve the bitstream before trying to do so. Otherwise log an info.
You could also handle this in the catch, but this would not communicate the intent.

I was able to resolve the code conflicts here (as I had permissions to do so).   This does still need a port to 7.x (main) however


Please invite me to the GitHub Community Organization

Please invite me to the GitHub Community Organisation.

Name: NIKU SINGH

Discord Username(if exists): Captain Price#1433

Additional Context:

Youtube
 to learn new things  and contribute to open source community
:nerd_face:

Invitation sent for the GitHub Organisation. Welcome to the community 🎉
Don't forget after accepting to make it public so it appears on your GitHub profile for everyone else to see, you can do this by finding your name in the GitHub organisation list and change the dropdown to public https://github.com/orgs/EddieJaoudeCommunity/people
Tips for practising:
Customise your GitHub profile, here is a live stream on it https://www.youtube.com/watch?v=cT6GXCuS0Zo
Practice repo, instructions on how to add your name to the README in the README https://github.com/EddieJaoudeCommunity/hacktoberfest-practice
Remember contributing to open source is not just about code, its about collaboration, communication and adding value
I hope that helps

Invitation sent for the GitHub Organisation. Welcome to the community 🎉
Don't forget after accepting to make it public so it appears on your GitHub profile for everyone else to see, you can do this by finding your name in the GitHub organisation list and change the dropdown to public https://github.com/orgs/EddieJaoudeCommunity/people
Tips for practising:
Customise your GitHub profile, here is a live stream on it https://www.youtube.com/watch?v=cT6GXCuS0Zo
Practice repo, instructions on how to add your name to the README in the README https://github.com/EddieJaoudeCommunity/hacktoberfest-practice
Remember contributing to open source is not just about code, its about collaboration, communication and adding value
I hope that helps


SelectionRedirector suppresses userSelect event when there is no translation

When an atlas uses an instance of SelectionRedirector, there are situations where selecting a document is ignored. This is because the selection is invalid and there is no actual document associated with the identifier.
The issue is that the user is left wondering why the click is not working.

In SelectionRedirector, if a userSelect or userFocusOn is not translated to anything (underlying document does not exist), then event is ignored.
By default, "select" should be pushed (reflect URL and user's intent). By default, "focusOn" should be suppressed.
Add options to change behaviour.


Update renovatebot/github-action action to v41.0.0

This PR contains the following updates:

Package
Type
Update
Change

renovatebot/github-action
action
major
v40.3.6 -> v41.0.0

Release Notes

renovatebot/github-action (renovatebot/github-action)
v41.0.0
Compare Source
⚠ BREAKING CHANGES

Renovate is now pinned to v39.

Features

pin renovate major version (#880) (c31251b)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.


Nodes that aren't countries

We need at least a basic page showing non country participants a la
http://www.gbif.org/node/7f48e0c8-5c96-49ec-b972-30748e339115

https://demo.gbif.org/node/7f48e0c8-5c96-49ec-b972-30748e339115


a small rotating degree ruins qrcode decoding

Tested with both official demo and compiled version, with tryHarder and tryRotate on.

After rotating this image by 2deg, both official demo and compiled version can now decode correctly.

Just to give you little feedback: This will be fixed as part of an upcoming reimplementation of the QRDetector.

Picking up on this: is it ok if we include your sample into the set of testing images?

Picking up on this: is it ok if we include your sample into the set of testing images?

Sure. Use it freely.


TRG 5.01 Helm chart must be released and deployable

I was trying to install the chart on my local kind cluster with the following steps:

helm repo add tractusx https://eclipse-tractusx.github.io/charts/dev
helm repo update
helm install irs tractusx/irs-helm --version 6.9.0 -n irs --create-namespace

The chart is deployed but the irs-irs-helm-78f8bd5779-bmtjd pod crashes on startup.
Log dump:
2023-11-13T13:08:22,438 DEBUG [main] o.e.j.j.l.localContextRoot: Looking up name="logging.log4j2.config.override\"
2023-11-13T13:08:22,439 DEBUG [main] o.s.j.JndiPropertySource: JNDI lookup for name [logging.log4j2.config.override] threw NamingException with message: null. Returning null.
2023-11-13T13:08:22,441 DEBUG [main] o.s.j.JndiTemplate: Looking up JNDI object with name [java:comp/env/logging.log4j2.config.override]
2023-11-13T13:08:22,443 DEBUG [main] o.e.j.j.InitialContextFactory: InitialContextFactory.getInitialContext()
2023-11-13T13:08:22,444 DEBUG [main] o.e.j.j.InitialContextFactory: Created initial context delegate for local namespace:org.eclipse.jetty.jndi.local.localContextRoot@50378a4
2023-11-13T13:08:22,445 DEBUG [main] o.e.j.j.j.javaURLContextFactory: >>> new root context requested
2023-11-13T13:08:22,445 DEBUG [main] o.e.j.j.NamingContext: Looking up name="comp/env/logging.log4j2.config.override"
2023-11-13T13:08:22,446 DEBUG [main] o.e.j.j.ContextFactory: Trying thread context classloader
2023-11-13T13:08:22,447 DEBUG [main] o.e.j.j.NamingContext: Looking up name="env/logging.log4j2.config.override"
2023-11-13T13:08:22,450 DEBUG [main] o.s.j.JndiLocatorSupport: Converted JNDI name [java:comp/env/logging.log4j2.config.override] not found - trying original name [logging.log4j2.config.override]. javax.naming.NameNotFoundException: env is not bound; remaining name 'env/logging.log4j2.config.override'

Hi @almadigabor , I could not reproduce that the application failed to start.
Our Workflow to test the chart is working without issues: https://github.com/eclipse-tractusx/item-relationship-service/actions/runs/6850867091/job/18625922671
On my machine I was able to start the application with the steps you provided:
2023-11-13T13:26:49,877 DEBUG [main] o.e.j.j.InitialContextFactory: InitialContextFactory.getInitialContext()
2023-11-13T13:26:49,878 DEBUG [main] o.e.j.j.InitialContextFactory: Created initial context delegate for local namespace:org.eclipse.jetty.jndi.local.localContextRoot@17503f6b
2023-11-13T13:26:49,878 DEBUG [main] o.e.j.j.l.localContextRoot: Looking up name="logging.level.org.eclipse.tractusx.irs\"
2023-11-13T13:26:49,879 DEBUG [main] o.s.j.JndiPropertySource: JNDI lookup for name [logging.level.org.eclipse.tractusx.irs] threw NamingException with message: null. Returning null.

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v3.1.5)

2023-11-13T13:26:50,278 INFO  [main] o.s.b.StartupInfoLogger: Starting IrsApplication using Java 20.0.2 with PID 1 (/app/app.jar started by ? in /app)
2023-11-13T13:26:50,354 INFO  [main] o.s.b.SpringApplication: No active profile set, falling back to 1 default profile: "default"
2023-11-13T13:27:05,475 INFO  [main] o.s.b.w.e.t.TomcatWebServer: Tomcat initialized with port(s): 8080 (http) 8181 (http)
2023-11-13T13:27:05,980 INFO  [main] o.s.b.w.s.c.ServletWebServerApplicationContext: Root WebApplicationContext: initialization completed in 14719 ms
2023-11-13T13:27:08,382 INFO  [main] o.e.t.i.c.p.MinioBlobPersistence: Building Minio client with url 'http://irs-minio:9000'
2023-11-13T13:27:14,448 WARN  [main] o.s.c.LocalVariableTableParameterNameDiscoverer: Using deprecated '-debug' fallback for parameter name resolution. Compile the affected code with '-param
2023-11-13T13:27:14,479 INFO  [main] o.e.t.i.c.p.MinioBlobPersistence: Building Minio client with url 'http://irs-minio:9000'
2023-11-13T13:27:14,961 WARN  [main] o.e.t.i.s.SemanticsHubClientImpl: No Semantic Hub URL or local model directory was provided. Cannot validate submodel payloads!
2023-11-13T13:27:22,778 INFO  [main] o.s.s.w.DefaultSecurityFilterChain: Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@39dec536, org.springframework.security
2023-11-13T13:27:30,372 INFO  [main] o.s.b.w.e.t.TomcatWebServer: Tomcat started on port(s): 8080 (http) 8181 (http) with context path ''
2023-11-13T13:27:31,071 INFO  [main] o.s.b.w.e.t.TomcatWebServer: Tomcat initialized with port(s): 4004 (http)
2023-11-13T13:27:31,150 INFO  [main] o.s.b.w.s.c.ServletWebServerApplicationContext: Root WebApplicationContext: initialization completed in 767 ms
2023-11-13T13:27:31,249 INFO  [main] o.s.b.a.e.w.EndpointLinksResolver: Exposing 6 endpoint(s) beneath base path '/actuator'
2023-11-13T13:27:31,450 INFO  [main] o.s.b.w.e.t.TomcatWebServer: Tomcat started on port(s): 4004 (http) with context path ''
2023-11-13T13:27:31,568 INFO  [main] o.s.b.StartupInfoLogger: Started IrsApplication in 44.28 seconds (process running for 49.292)
2023-11-13T13:27:31,655 INFO  [main] o.e.t.i.e.s.EdcRegistration: Starting EDC registration event listener.
2023-11-13T13:27:31,656 INFO  [main] o.e.t.i.e.s.EdcRegistration: Finishing EDC registration event listener.
2023-11-13T13:27:31,670 INFO  [main] o.e.t.i.s.SemanticsHubClientImpl: Reading models from semantic hub.
2023-11-13T13:27:33,177 INFO  [http-nio-4004-exec-1] o.s.w.s.FrameworkServlet: Initializing Servlet 'dispatcherServletRegistration'
2023-11-13T13:27:33,178 INFO  [http-nio-4004-exec-1] o.s.w.s.FrameworkServlet: Completed initialization in 1 ms

You're right, I've tried it on another cluster and was working. There might be some problem with my local setup, seems like the liveness probe fails in the irs pod. Closing this issue now.


Create docker image (#69)

In this PR i have:

added a dockerfile.
workdir refactoring: Made gremlins able to work within docker container.
goreleaser: added the configuration to build the gremlins docker image and make it available for download on docker hub.

We should add Docker usage instructions in documentation. For example here: https://github.com/go-gremlins/gremlins/blob/main/docs/docs/install.md
I'd also add some specific CI usage instructions, but for that we can open a separate issue/pr.


Refactor ForceSimulation to allow for more dynamism

This admittedly major refactor of ForceSimulation resolves #198, #202, #203 and #204, while adding support for highly dynamic, yet efficient simulations.
Changes

Exports cloneData as const (rather than let)
(resolves #203)
Updates alpha prop based on internal d3 simulation (important: dynamic sims now need reheating!)
(resolves #202)

Improvements

No longer re-initializes forces on unrelated prop-changes
(resolves #204)
No longer re-initializes all forces if any of them changes
(resolves #201)
No longer rebuilds internal d3.Simulation for static=true on every frame

Bug Fixes

Automatically evicts dropped forces
(resolves #206)

New features

Exports start, tick and end events
(resolves #198)
Exports stopped prop for pausing simulation

Example changes

Adds all sorts of controls to "Force Graph" example for simulation forces and parameters

@regexident Wow, this looks great, thanks!  Will take me a bit to read through fully (definitely more complicated implementation from before), but makes sense at first pass.
I did notice a regression with the Force Group example no longer clumping.  My guess is related to "does not re-initialize forces on unrelated prop-changes".
https://github.com/techniq/layerchart/assets/177476/156ee933-a4e8-4b79-b4cc-02fd2019120f
Also, what do you say we keep the changes you made to Force Graph as a new "Force Debug" or "Force Playground" example?

@regexident Wow, this looks great, thanks! Will take me a bit to read through fully (definitely more complicated implementation from before), but makes sense at first pass.

Yeah, it is indeed quite a bit more complex. 😅 But at the benefit of being much, much more efficient and also more versatile.

I did notice a regression with the Force Group example no longer clumping. My guess is related to "does not re-initialize forces on unrelated prop-changes".
CleanShot.2024-06-23.at.10.02.08.mp4

Oh, I missed that button, good catch, I'll look into it!

Also, what do you say we keep the changes you made to Force Graph as a new "Force Debug" or "Force Playground" example?

Either that or I would just add them to the "Force Graph" example directly. Minus some of the bells and whistles that were only meant as a demonstration of things this refactor enables, such as the controls for "State", "Status", "Charge Distance Min", "Charge Distance Max", and "Collide Strength Target" (which I would just replace with a simple "Collide Strength" control).

@techniq One significant (but intentional) change of this refactor is that <ForceSimulation … static={false}> now needs manual reheating (by either adjusting alpha for an instant re-heat, or alphaTarget for a smoother re-heat).
I think that this behavior is a net-positive, as it …

a) now closely resembles d3-force's behavior, making it fairly straight-forward to port d3 visualizations to LayerChart.
b) is highly versatile in what fine-tuned behavior is supported (e.g. reduced re-heating on drag, etc.)
c) instant full-on reheating (as prior to this PR) is still possibly by re-setting alpha={1}

It's also important to note that with today's ForceSimulation any changes to cached forces already require manual re-heating, but with the big caveat of alpha not updating, so alpha={1} might actually get swallowed by Svelte, if that's what it was set to before.
So in a way things are more consistent now.


Terminal chat: Consider UX for buttons when there are multiple chat blocks

When there are multiple code blocks we still just have "Run" and "Insert", but it's not clear that it will work on the first block only. Should we special case it such that if there are multiple code blocks the buttons change to "Run First" and "Insert First"?

I wondered about this and thought we'd discussed forcing the LLM to give us only one code block, (or more strictly filtering its response) which would make this unnecessary.


move install-cni.sh to an initContainer

What this PR does / why we need it:

move install-cni.sh to an initContainer.  separation of concerns
run ip-control-loop directly.  daemon receives signals from k8s for graceful shutdown etc

happy to add that to this PR
On Mon, Jul 18, 2022, 04:38 Miguel Duarte Barroso @.***>
wrote:

@.**** requested changes on this pull request.
I think this PR improves the code base, and I agree we should be using the
K8s primitives to get required stuff installed in the nodes.
... having said that, once we have this in an init container, it doesn't
make sense to have that ugly bash script a long lived process. I think you
should remove the SLEEP option from it, and just make it a one-shot
script.
Thanks for spotting this and for following through with a PR.
—
Reply to this email directly, view it on GitHub
https://github.com/k8snetworkplumbingwg/whereabouts/pull/251#pullrequestreview-1041711106,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA36GX3FXNMIJDP3LT2JJR3VUU645ANCNFSM532NIHCA
.
You are receiving this because you authored the thread.Message ID:
@.***>

e2e CI failed, I'll look into it
https://github.com/k8snetworkplumbingwg/whereabouts/runs/7391864197?check_suite_focus=true
--
regards,
DQ
On Mon, Jul 18, 2022, 07:46 Miguel Duarte Barroso @.***>
wrote:

@.**** approved this pull request.
Thanks.
Let see what the other maintainers think of this ...
—
Reply to this email directly, view it on GitHub
https://github.com/k8snetworkplumbingwg/whereabouts/pull/251#pullrequestreview-1041983651,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA36GXZJ2LBMNTF3NTDSX6DVUVU4XANCNFSM532NIHCA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Where do we stand with this PR? I was about to submit something similar, but this one seems stuck

@deekue mind rebasing this PR so we see how this behaves in regard to the e2e tests ?


Endwalker - BLM - Gauge and RotationWatchdog updates

Prelminary gauge changes for Endwalker BLM:

Track Paradox stacks
Update AF/UI state based on new spells/traits
Treats Enochian as a calculated value in the gauge state when either AF/UI aspect is active
Adds suggestion not to overcap Paradox
Some cleanup and const renaming for clarity, plus updating the places those consts are referenced

Edit:
Couldn't detangle RotationWatchdog from this the way I had hoped. PR now also includes the following for RotationWatchdog:

Updated the Cycle Endpoints list based on revised gauge behavior for the AoE Ice spells
Counts Paradox usage in the Astral Fire phase as a F1 usage (for the "don't use extra F1s" check)
Added ensureRecord type safety for the CYCLE_ERRORS const to prevent an issue we saw in production

Edit 2:
Also needed to put the 'Paradox only consumes Sharpcast in AF' change here since I changed the getGaugeState signature. The rest of the Sharpcast changes are on #1360

Will need to make sure the bugfix on #1369 merges well with this whenever both are in the endwalker branch


Molnet init

update init file & apply flake8.

resolves https://github.com/pfnet-research/chainer-chemistry/issues/177

LGTM! Thanks!


[HUD] PlayerHealthList not working. Seems to crash

Hey,
For some odd reason the PlayerHealthList HUD does not work. It launches and shows a semi-transparent black rectangle then it crashes or closes. I've tried to reset all settings even downgrading Tibialyzer version but the problem still occurs. As far as I have understood the HUD is a seperate window that overlays the client only in a transparent way the launching of it crashes.
All other HUDs are working except PlayerHealthList one.
Note: This does not work on Flash client either.
Tech Specs:
Windows 7 SP2 64-bit
Tibialyzer 1.3.0
Microsoft .NET Framework 4.5 SDK
Microsoft .NET Framework 4.5.1 SDK
Microsoft .NET Framework 4.5.2

This one is obsolete.


Move away from ez_serde

Is your feature request related to a problem? Please describe.
Working with the ez_serde is very annoying
Describe the solution you'd like
Move away from ez_serde and simply program the struct manually
Describe alternatives you've considered
While writing all the structs manually will be time consuming, the in long run I think it will be easier to use than many nested macros

The API format for Yahoo is quite fiddly. I understand why the ez_serde macro was made. It might be useful to move away from it still at some point, but for now, since it works, I will leave this as "won't fix"


Is there any plan to add accessibility support?

Is your feature request related to a problem? Please describe.
Is there any plan to add accessibility support?
Describe the solution you'd like
For example, adding aria labels to follow https://www.w3.org/WAI/ARIA/apg/patterns/tabs/

It would help with Playwright testing too!


Moving email deliverability to its own script

I want to split this out for the following reasons:

It gives us more flexibility on how we can use it. We can reference it from any other part of our ci/cd flow.
I don't think it intuitively fits into the sandbox auth flow. It makes sense for our team to have it there, but I don't think most developers would expect this to happen when authenticating and may be see it as an unwanted side effect.

@gfarb I think it's a useful example. I'm fine with removing it, but if we remove the script I think we should remove all references to it otherwise it's confusing to have it installed but never used.

Well we do use it to deploy to UAT, so I'll just remove references to install locally and leave it in the workflow file.


[5.3] cache supports secends and float minutes

I think of these changes too

Implement RedisStore::putMany() with Redis exec command to improve performance.
Add the new method RedisStore::add().
Change Repository::getMinutes() so that Cache::put('foo', 'bar', -1) caches nothing.

Bug to be fixed
RedisStore::many($keys) doesn't work if count($keys) > 8000.

Needs more description. What does this allow? Is this a breaking change? How is it used by users?

Please don't just change everything to float. That is not correct.

Code
Result in Laravel <= 5.2
Result in Laravel >= 5.3
description

Cache::put('foo', 'bar', 1.5)
cache['foo'] = 'bar' for 90 seconds
cache['foo'] = 'bar' for 90 seconds
Identical

Cache::put('foo', 'bar', '1.5')
cache for 60 seconds
cache for 90 seconds
a good change

Cache::put('foo', 'bar', Carbon::now()->addMinute()
cache for 60 seconds or for 0 seconds if the clock seconds change during the execution
cache for 60 or 59
a good change

`Cache::put('foo', 'bar', Carbon::now()->addSeconds(30)
don' cache
cache for 30 seconds
the main purpose of this PR

`Cache::put('foo', 'bar', 0.5)
cache for 30 seconds (except for redis driver prior to my former commit (#13810): cache for 1 min)
cache for 30 seconds
no chage after #13810

@taylorotwell
I listed the changes. I guess a good way to use it is Cache:put('foo', 'bar', 5/60) or Cache::put('foo', 'bar', Carbon::now()->addSeconds(5)). I prefer to use the first one, because it is shorter and slightly different in behavior, in a good way.

@taylorotwell
Can you take a look at getMinutes()? I guess this is better:
    protected function getMinutes($duration)
    {
        if ($duration instanceof DateTime) {
            $duration = Carbon::now()->diffInSeconds(Carbon::instance($duration), false) / 60;
        }

        return $duration > 0 ?: null;
    }

OK I'll update it to that. I have it pulled down.

Thanks @taylorotwell @GrahamCampbell

There are still a lot of places where int has been incorrectly changed to float. A lot, but not all.

Graham when you get a chance can you PR them.

Yes, of course. ;)

There are still a lot of places where int has been incorrectly changed to float. A lot, but not all.

:sweat:

(int) 1.5 == 1, (int) 0.5 == 0... so what's the point?
We just become more permissive for the input. We don't gain any granularity.

A lot of them are multiplied by 60 before being rounded down, so that's a bit less worse than I thought.
Still, I'm not sure it's the proper way to handle this.

This looks fine to me. 1 second is 1 second now instead of 60 seconds.

Refs #13708.
Have you quadruple-checked all conversions?
Directly taking seconds would save us all these conversions, but big BC break...
A proper rounding would be (int) round(...). Only (int) always round down. round() returns float. Hence the need for both.

We need to round, and then take max with 1.

Oh, this should change in
https://github.com/laravel/framework/commit/37267d06f1798f929acc0155d024c4236d9ea27e
:
protected function getMinutes($duration)
{
    ....
-        return $duration > 0 ? $duration : null;
+       return (int) $duration > 0 ? $duration : null;
}

@taylorotwell
On Jun 3, 2016 1:02 AM, "Hamid Alaei V."<EMAIL_ADDRESS>wrote:

Guess no need for round. Cache::put('x', 'y', 1.9/60) caches for 1 sec is
better than caching for 2 seconds?
On Jun 3, 2016 12:55 AM, "Graham Campbell"<EMAIL_ADDRESS>wrote:

We need to round, and then take max with 1.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/laravel/framework/pull/13831#issuecomment-223411052,
or mute the thread
https://github.com/notifications/unsubscribe/AGwr9D5EMHSGQJwySMXpNHtnUU2RVKt6ks5qHzwzgaJpZM4IseZ8
.

@taylorotwell
Sorry, I meant this:
   return (int)($duration*60) > 0 ? $duration : null;

On Jun 3, 2016 1:10 AM, "Hamid Alaei V."<EMAIL_ADDRESS>wrote:

Oh, this should change in
https://github.com/laravel/framework/commit/37267d06f1798f929acc0155d024c4236d9ea27e
:
protected function getMinutes($duration)
{
    ....
-        return $duration > 0 ? $duration : null;
+       return (int) $duration > 0 ? $duration : null;
}

@taylorotwell
On Jun 3, 2016 1:02 AM, "Hamid Alaei V."<EMAIL_ADDRESS>wrote:

Guess no need for round. Cache::put('x', 'y', 1.9/60) caches for 1 sec is
better than caching for 2 seconds?
On Jun 3, 2016 12:55 AM, "Graham Campbell"<EMAIL_ADDRESS>wrote:

We need to round, and then take max with 1.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/laravel/framework/pull/13831#issuecomment-223411052,
or mute the thread
https://github.com/notifications/unsubscribe/AGwr9D5EMHSGQJwySMXpNHtnUU2RVKt6ks5qHzwzgaJpZM4IseZ8
.

Make a PR if more changes are required.

Ok. Rounding up may be more reasonable when the input is carbon? I try to
check what is the exact behavior of different drivers when I don't cast to
int at all, too. Casting is unnecessary for most of the drivers.
On Jun 3, 2016 1:30 AM, "Taylor Otwell"<EMAIL_ADDRESS>wrote:

Make a PR if more changes are required.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/laravel/framework/pull/13831#issuecomment-223420657,
or mute the thread
https://github.com/notifications/unsubscribe/AGwr9IqoDjclqplvY3ddyCamzSq25V4Jks5qH0RZgaJpZM4IseZ8
.


Allow event name overrides

As far as I can see, there is no easy way to override the event name in the payload which is sent to Braze (i.e. it's always taken from the common event data). Attempting to override it using the Additional Event Mapping Options just creates an event_name key in the properties object.
Would it be possible to add an override option? See my attached example.
Thanks!

Hi @tombennet ! Thank you for the suggestion and the pull request!
This is definitely a configuration option we can add to the next release!
From what i can see, the intention is to set the event_name to a constant value (or to the value of a gtm-ss variable). Could you please share a bit more about the use case? For example, do you think this is an advanced feature or does it enable a rather common use case?

Hey @adatzer. I suspect this may be useful to a lot of users - our use-case is setting the event_name to a gtm-ss variable lookup table. This table maps the incoming event names used across vendors to the specific naming conventions we use in Braze (e.g. sign_up -> new_user).
Having this field means we can have a single Snowplow/Braze GTM tag in our server-side container, set to fire on all events we want to pass to Braze. Each time it fires, it queries the lookup table and uses the correct Braze event name for the current event. Does that make sense?

Closing this PR as v0.3.0 is released allowing event name overrides!
Big thanks @tombennet once again!


command_hooks plugin array of executables causes error

When I'm trying to run an array of executables in a pre_build hook, I get the following error:
Traceback (most recent call last):
9: from /opt/ruby/2.6.3-rh7_64/bin/ceedling:23:in <main>'         8: from /opt/ruby/2.6.3-rh7_64/bin/ceedling:23:in load'
7: from /opt/ruby/2.6.3-rh7_64/lib/ruby/gems/2.6.0/gems/ceedling-0.31.0/bin/ceedling:329:in <top (required)>'         6: from /opt/ruby/2.6.3-rh7_64/lib/ruby/gems/2.6.0/gems/ceedling-0.31.0/lib/ceedling.rb:66:in load_project'
5: from /opt/ruby/2.6.3-rh7_64/lib/ruby/gems/2.6.0/gems/ceedling-0.31.0/lib/ceedling.rb:66:in load'         4: from /opt/ruby/2.6.3-rh7_64/lib/ruby/gems/2.6.0/gems/ceedling-0.31.0/lib/ceedling/rakefile.rb:47:in <top (required)>'
3: from /opt/ruby/2.6.3-rh7_64/lib/ruby/gems/2.6.0/gems/ceedling-0.31.0/lib/ceedling/setupinator.rb:29:in do_setup'         2: from /opt/ruby/2.6.3-rh7_64/lib/ruby/gems/2.6.0/gems/ceedling-0.31.0/lib/ceedling/configurator.rb:132:in tools_setup'
1: from /opt/ruby/2.6.3-rh7_64/lib/ruby/gems/2.6.0/gems/ceedling-0.31.0/lib/ceedling/configurator.rb:132:in each_key' /opt/ruby/2.6.3-rh7_64/lib/ruby/gems/2.6.0/gems/ceedling-0.31.0/lib/ceedling/configurator.rb:136:in block in tools_setup': no implicit conversion of Symbol into Integer (TypeError)
I followed the description in plugin_command_hooks.md and setup my project.yml as follows:
:tools:
:pre_build:
-  :executable: echo
:arguments: "${1} was glorious!"
-  :executable: echo
:arguments:
- it kinda made me cry a little.
- you?
Any ideas how to fix the setup to run more than one executable in a pre_build step?

Duplicate to #459
Therefore closed again


Re-enable building from a full repo archive

Full repo archive contains raw symlink (similar to windows) which we need to handle when reading AUTHORS / version_from_git

:books: Documentation preview :books:: https://equistore--273.org.readthedocs.build/en/273/

Fails: pip install "equistore @ https://github.com/lab-cosmo/equistore/archive/refs/heads/master.zip"
Works: pip install "equistore @ https://github.com/Luthaf/equistore/archive/refs/heads/no-symlinks.zip"


Is it possible to know on the client side that we have authToken cookie or if we are logged in server-wise

I am logging in as per the instruction: first to Firebase, then (onSuccess) I am logging in into the /api/login.
The problem is, that when Firebase is logged in, the user object becomes available and my guestGuard redirects to /home. When I am in authGuard scope, FE is fetching userMe data from another enpoint.
That happens too soon, and the first user fetch call happens without authToken Cookies and as a result, gets an 'unauthorised' response.
I am getting user object and loading state using react-firebase-hooks. And that happens too soon.
Is there a way to tell if the /api/login was done successfully in addition to the user object availability?
I can see that there is an AuthProvider sample that is defined on a client-side, but I am a bit confused about how to use it without server-side component.  I do not use server-side redirects, and manage all redirects on FE at the moment.
Thank you!
Vitally

@awinogrodzki Thanks for your reply. There is no issue with /api/login, and I do it right after the firebase signInWithEmailAndPassword very similar to your sample.
The issue is when the signInWithEmailAndPassword results in success, in my AuthGuard wrapper I am getting a valid user object and once it happens, AuthGuard try to fetch /api/user/me which holds userMe object with all user data including user role (user role is used in the next ACLGuard wrapper).
So two API calls are happening at about the same time: one is /api/login, and another is /api/user/me. The /api/login will be successful, but the userMe will result in Unauthorised, as the request does not have the auth cookies yet.
Basically, I disable endpoint userME based on the Firebase user object. But what I should do is to disable userMe endpoint based on the "server login" status, or based on whether I have an auth cookie or not. But I can not check the auth cookie as it is hidden with httpOnly for security reasons.
const handleSignInWithGoogle = () => {
    setGmailIsLoading(true);
    const provider = new GoogleAuthProvider();
    provider.setCustomParameters({ prompt: 'select_account' });
    signInWithPopup(auth, provider)
      .then(result => {
        serverSideSignIn(result)
          .then(() => {
            setGmailIsLoading(false);
            console.log('Server side login success');
            router.replace('/');
          })
          .catch(error => console.log('Server side login error: ', error));
        console.log('Signin result user uid: ', result.user.uid);
      })
      .catch(error => {
        setGmailIsLoading(false);
        console.log('Error signin in with Google: ', error);
      });
  };

export const serverSideSignIn = async (userCredential: UserCredential) => {
  return userCredential.user
    .getIdToken()
    .then(token => {
      console.log('Signin token: ', token);
      axiosApiClient
        .get('/login', {
          headers: {
            Authorization: `Bearer ${token}`,
          },
        })
        .then(result => console.log('Serverside signin result: ', result))
        .catch(error => console.log('Server side signin ERROR: ', error));
    })
    .catch(error => console.log('Error getting rtoken from user: ', error));
};

When the user is signing in, he is on a login page which defined as a GuestGuard:
const GuestGuard = (props: GuestGuardProps) => {
  console.log('Guest Gard Triggered');
  const { children, fallback } = props;
  const router = useRouter();
  const auth = getAuth();
  const [user, loading] = useAuthState(auth);

  if (loading) return fallback;

  if (!!user) {
    router.replace('/');

return fallback;
  } else {
    return <>{children}</>;
  }
};

As soon as we get user object from firebase GuestGuard redirects to /home page which is defined as AuthGuard:
const AuthGuard = (props: AuthGuardProps) => {
  console.log('AuthGard triggered!');
  const { children } = props;
  const router = useRouter();
  const auth = getAuth();
  const [user, loading] = useAuthState(auth);
  const userMe = useUserMeQuery({ enabled: !!user });

  if (loading) return <FallbackSpinner message='Checking auth ...' />;

  if (!user) {
    router.replace('/login');

return <FallbackSpinner message='Redirecting to login page ...' />;
  } else if (!userMe.data?.data.role) {
    return <FallbackSpinner message='Getting user data ...' />;
  } else {
    return <>{children}</>;
  }
};

When loading is done and there is no user, AuthGuard will redirect to the /login page.
Otherwise, it will start loading userMe with reactQuery which will be enabled with !!user. That is when /api/user/me will be fetched for the first time, but it is too soon as serverSideLogIn did not yet happen. Only Firebase login is happening at this point.
The code is a bit messy and not optimized as I had to debug and understand why it is happening and now that I know why, I am not sure how to fix it.
Basically instead of relying on !!user which belongs to Firebase for enabling userMe endpoint, I need to check the user object which belongs to this library and comes from /api/login.
Sorry, it is so long and I hope my problem makes more sense now.
Thanks!
Vitally

Basically, I need to solve that: https://github.com/awinogrodzki/next-firebase-auth-edge/issues/106. This server-side auth provider will give me the server-side user when server-side authentication is done.

Just to add on this, react-firebase-hooks looks like you could provide a callback on onAuthStateCange.
The useAuthState hook takes the following parameters:

auth: auth.Auth instance for the app you would like to monitor
options: (optional) `Object with the following parameters:
onUserChanged: (optional) function to be called with auth.User each time the user changes. This allows you to do things like load custom claims.

You could call /api/login inside onUserChanged. If the latter is async, I can imagine you could keep those two users in sync.
But relying only on server-side user is not a bad idea either :-)

Hey @Vitallyz,
I will close the issue now to improve visibility of other issues. Let me know if you have any more questions :-)


Add support for custom wordlists (via -wordfile param)

This PR adds support for optionally setting alertnate wordlists. The default behavior is exactly the same as it was before, but now you can have multiple wordlists in your share directory, and easily toggle between them.
  -wordfile string
        The name of the wordlist in the data directory (default "words.txt")

Example: neotype -wordfile words-complex.txt.
I also:
Simplified ResolveShare, to make the logic there a bit easier to understand (in my opinion).
Used filepath.Join over + where applicable, which should help in the case that a wordlist is located in a subdirectory.

LGTM


Kestrel listens on host:port instead of provided URI prefix

Hi,
I have a very simple ASP.NET Core RC2 app and I use the following code to configure the web host:
var webHost = new WebHostBuilder()
    .UseContentRoot(Directory.GetCurrentDirectory())
    .UseStartup<Startup>()
    .UseKestrel()
    .UseUrls("http://localhost:5000/aspnetcorerc2/")
    .Build();

webHost.Run();

I.e. I would like Kestrel to listen on http://localhost:5000/aspnetcorerc2/ (notice the path). The app works fine, however my app also serves requests sent to http://localhost:5000/.
This is unexpected as I configured it explicitly to listen to the prefix including /aspnetcorerc2/ path.
Am I doing something wrong in my configuration, or are there some limitations in Kestrel that would explain this behavior?
As I have multiple apps listening on the same port, I want to make sure that each uses a unique path so I need to make sure that Kestrel only listens to the configured prefix (and sub-paths).
I'm using version 1.0.0-rc2-16329.

You can't do this with Kestrel, it's an http.sys specific feature. You can only do it with WebListener not Kestrel.

Thanks @davidfowl for clarifying!

@davidfowl You can do this in Kestrel :smile:
@alecor191 This is by design. The path you add to the listen address will affect how PathBase is set in requests to your app. Requests to /aspnetcorerc2/something will have PathBase set to /aspnetcorerc2 and Path set to /something. If your path base is not matched in a request, we made the decision to let your app do something about that instead of outright rejecting the request.
cc @Tratcher

But you still can't share the port.

Thanks @cesarbs for clarifying. Unfortunately it doesn't help me in my scenario where I have two processes listening on the same port (different paths) as mentioned by @Tratcher.
I'm using WebListener now as suggested by @davidfowl which works fine.


Adjust Logs Based on Development or Production Environment

Is your feature request related to a problem? Please describe.
The current logging setup does not distinguish between development and production environments, potentially exposing sensitive information in production logs while making it difficult to debug in a development setting.
Describe the solution you'd like

Introduce an environment variable (ENVIRONMENT) to specify whether the application is running in development or production mode.
Adjust log levels and formats based on the value of this environment variable:

Development: Detailed logs with debug information.
Production: Essential logs with warning and error information only, potentially in a more secure format.

Describe alternatives you've considered

Keeping a single log configuration for all environments, which risks either verbose logs in production or insufficient information in development.

Additional context
Add necessary checks and configuration adjustments in main.py and ensure the environment variable is considered in the logging setup. Thoroughly test the different log levels and formats to confirm the behavior aligns with the environment specified.

/bounty $10


fix(base-input): add bg transparent to AInput child for dark mode

...to work with light/dark themes
Fix #48

Thanks for your contribution ☺


Deleted test expecting the warning we suppressed

Sorry, should have done this in #2.

Hold on, I want to stop suppressing warnings in other tests as well.

Looks good, thank you sir


[TensorV2] Add functions to split and concatenate tensors

This pull request adds two new methods to the Tensor class: split() and cat(). The split() method allows users to divide a tensor into multiple smaller tensors along the specified axis. The cat() method enables them to combine multiple tensors into a single larger tensor along a given axis.
Self-evaluation:

Build test: [X]Passed [ ]Failed [ ]Skipped
Run test:   [X]Passed [ ]Failed [ ]Skipped

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #2497. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.

:octocat: cibot: @djeong20, nntrainer/tensor/float_tensor.cpp includes bug(s). Please fix incorrect coding constructs in your commit before entering a review process.


[FEATURE] Helper chatbot alongside book preview.

Is this feature already requested?

[X] I have checked "open" and "closed" issues, and this is not a duplicate.

Problem or Missing Functionality
No response
Feature Description
Integrating a chatbot into your book system would revolutionize the user experience by providing instant, AI-powered answers without needing to navigate multiple pages. It can offer personalized book recommendations, handle queries about book availability, summaries, and more, all in real time. This not only improves user engagement and satisfaction by offering 24/7 support but also reduces the strain on customer service.
Screenshots

here we can integrate it.
similar to bing copilot.

Would you like to work on this feature?
Yes
Implementation Plan
I will implement a chatbot using LangChain and Llama 3.0, starting with an accessible chatbot icon button

(this is just for reference to show i am familiar with chatbot and books)

Hi @AayushiJapsare15,
Thank you for expressing your interest in working on this issue. I'm delighted to inform you that I have assigned this issue to you. Your willingness to contribute to our project is much appreciated.
Before making any contributions, please read the Readme.md file carefully to better understand the project's goals and purpose. This will give you clarity on our mission. Also, make sure to review the Contributing.md file, which contains important guidelines to make the contribution process smoother, especially for newcomers.
Feel free to start working, and if you have any questions or need assistance during the process, please don't hesitate to reach out.

@AayushiJapsare15 You can also check this https://github.com/ajaynegi45/Uttarakhand-Culture-NewUI/issues/19 issues


Give execute permission to Linux build script

Linux build script bash.sh do not have execution permission. So Travis is failing to run the script.

This issue is resolved in commit 625f2c0cff08168c8f210f95f846b73994449cc4


Test building of projects generated from templates

Implement a test matrix with dimensions:

Steeltoe version
.NET target framework
option

For example, a point in the matrix would test:
$ dotnet new stwebapi --framework netcoreapp3.1 --steeltoe 3.0.2 --dynamic-logging

To pass, a project should succeed in:

dotnet restore
dotnet build /p:TreatWarningsAsErrors=True

Implemented per d106e00

Only tests locally not via CI builds


Bug: not working on windows 11

only go stand library, not show project dependent library

Hi! @windzhu0514 Could you provide the go.mod and go.sum files for reproduction, thank you! And It should be noted that if there are some errors in the go.mod file, the libraries will not be updated correctly. So you can run go list -mod=readonly -m -json -e all in your workspace to see whether the list is fetched correctly.

go.mod
module test

go 1.18

require github.com/google/uuid v1.3.0

go.sum
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=

go list
$ go list -mod=readonly -m -json -e all
{
        "Path": "test",
        "Main": true,
        "Dir": "D:\\WorkspaceGo\\test",
        "GoMod": "D:\\WorkspaceGo\\test\\go.mod",
        "GoVersion": "1.18"
}
{
        "Path": "github.com/google/uuid",
        "Version": "v1.3.0",
        "Time": "2021-07-12T22:33:52Z",
        "Dir"<EMAIL_ADDRESS>        "GoMod"<EMAIL_ADDRESS>}

also only show go stand library
版本	Windows 11 专业版
版本	22H2
安装日期	2022/7/29 周五
操作系统版本	22623.1028
体验	Windows Feature Experience Pack 1000.22638.1000.0

Thanks , I wonder if there is an exception in the vscode console logs?

but there is alreadly has a go.mod file

OKAY. @windzhu0514 I pushed a patch with tag v0.3.7, pleace try it, emmm...maybe useful...

it works,thanks a lot


Visual

Adds initial styles to the site.
Should support light and dark mode, derived from user's system settings.

Light Mode
Dark Mode

for posterity - where we came from this PR


asn: 0.73.1 -> 0.73.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/nitefood/asn/releases.
meta.description for asn is: OSINT command line tool for investigating network data
meta.homepage for asn is: https://github.com/nitefood/asn
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.73.2 with grep in /nix/store/7fxcs72qq142v4aczqkm4k4dx6bkjbq9-asn-0.73.2
found 0.73.2 in filename of file in /nix/store/7fxcs72qq142v4aczqkm4k4dx6bkjbq9-asn-0.73.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
asn

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/7fxcs72qq142v4aczqkm4k4dx6bkjbq9-asn-0.73.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A asn https://github.com/r-ryantm/nixpkgs/archive/4a337f0c304e2b8356f7ea9c75c0e222747c8524.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/7fxcs72qq142v4aczqkm4k4dx6bkjbq9-asn-0.73.2
ls -la /nix/store/7fxcs72qq142v4aczqkm4k4dx6bkjbq9-asn-0.73.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

asn

Maintainer pings
cc @devhell for testing.

Thank you!


[BUG] Identify cluster effect identifier and effect variant are NOT the same thing - used in multiple example apps

Reproduction steps
All the below mentioned example codes do casting from effect variant to effect identifier, which are not the same thing.
sIdentifyEffect = static_cast<EmberAfIdentifyEffectIdentifier>(identify->mEffectVariant);
examples/chef/efr32/src/AppTask.cpp
examples/light-switch-app/silabs/efr32/src/AppTask.cpp
examples/lighting-app/qpg/src/AppTask.cpp
examples/lighting-app/silabs/efr32/src/AppTask.cpp
examples/lock-app/qpg/src/AppTask.cpp
examples/lock-app/silabs/efr32/src/AppTask.cpp
examples/thermostat/silabs/efr32/src/AppTask.cpp
examples/window-app/common/src/WindowApp.cpp

Bug prevalence
always
GitHub hash of the SDK that was being used
e022057aea58fee7f855d8994c7f971c5ac2c875
Platform
efr32, other
Platform Version(s)
No response
Anything else?
No response

It's been a while since i've played with the identify sutff. I would need to look into it.

@jmartinez-silabs Thank you!


Christi simulation code

Changed the name of Sophie's old newick tree code to expandedTree (package and filename). Updated Simulate code to use dna package and created test files. All tests pass.

Looks great! I am seeing a few duplicate functions between expandedTree.go and simulate.go. Are those intended or should they be removed?