Event specification

Hey @aslakhellesoy @mattwynne
I've noticed that we have diverged in event specification. Lets make it clear and first agree on it completely for protocol version 0.1.0.
I've created a readme.md with a list of 8 events and descriptions including parameters. I took some time to think and model it a little, added some additional information which seems to be necessary like matched step definition argument indices.
Please go through it and leave some comments or adapt it the way you think is more appropriate. My point is to nail down the event specification and I'm open for any discussion. If you have a different proposal, make a copy on wiki page as a proposal. But I hope comments may be enough.
I've been also thinking about other formats like excel, but currently at least for pretty printer I think that should be out of concern.

I think it is good idea to have an event specification. This helps to clarify the common understanding when multiple people are working on it. Eventually, the event specification should be in an own file (IMHO), but for now it can be in "readme.md".
A few suggestions:

Each event attribute should also have a conceptual type (and I don't mean "string").
For example, TestCaseFinished.id should have something like FileLocation as type.
It is important to state what is required and what is optional.
I would suggest that all attributes are required, if they are not marked as optional.
Note that TestRunFinished.memory is an optional event attribute for me (but it is not described yet as optional).
We need to define goals and non-goals for versions of the protocol.
For example, if the event protocol should support multiple test runs at the same time, an event attribute is missing in all events that also these events to be associated with this test run.

NOTE:
Eventually we need to write a documentation that will include the event specification. Because Sphinx currently seems to be the tool of choice for writing and publishing the documentation, it may be better to use a ReST *.rst document for the event specification.

To me TestRunStarted/TestRunFinished groups the whole execution, meaning within test cases from several feature files, and if suites are used, several suites are executed. When moving to compiling feature files to pickles/test case as done in Gherkin v3/v4 and Cucumber-Ruby v2, this is also a move away form the idea that "now this feature is executed". Also without using Cucumber-Ruby's --random feature, test cases from different features can be executed interleaved (see https://github.com/cucumber/cucumber-ruby/issues/952). Therefore:

TestRunFinished cannot have an attribute id with the value {path}:{line}, or an attribute suite.

To me this means also that a formatter consuming the event stream need to be able to handle an event sequence like:

TestRunStarted
GherkinSourceRead (file1.feature)
GherkinSourceRead (file2.feature)
<snip>
TestCaseStarted (from file1.feature)
<snip>
TestCaseFinished
TestCaseStarted (from file2.feature)
<snip>
TestCaseFinished
<snip>
TestRunFinished

I think both TestStepFinished and TestCaseFinished should have a time attribute (both Cucumber-Ruby and Cucumber-JVM currently supply the duration of executed step definitions to formatters).

thanks @brasmusson indeed, the TestRunFinished event should not have an id and suite properties. Concerning test execution duration and memory used. Probably it would be appropriate to specify them in units instead of string format. For example a time could be in milliseconds and memory in bytes. maybe time could be renamed to duration and should be optional for all events with Finished suffix. Will update the specification based on that in a day.

Because Sphinx currently seems to be the tool of choice for writing and publishing the documentation, it may be better to use a ReST *.rst document for the event specification.

I agree. I suggest we eventually create a specification/events document under https://github.com/cucumber/docs for this. For now I think it's more convenient to let the event specification evolve in this repo - because this is currently the only implementation of the spec. Once it matures we can move it out.

Regarding GherkinSourceRead I don't understand why it has a suite property. I don't think reading the source should be coupled to or related to execution. I think it belongs on Test[Case|Step][Started|Finished].
I'd also like to propose renaming it to TestSource read - the type (Gherkin) can be inferred from the file extension - or we could have a mimeType property (with value text/plain+gherkin or something). This would allow for alternative formats such as Markdown without having to change or extend the spec.
Regarding time I think absolute values (timestamps) are better than durations. Durations can always be derived from two timestamps. The encoding of timestamps could be milliseconds since epoch.
Finally I think location is a more descriptive name than id - the value is indeed a location (line and/or column).

thanks for you input @jenisys @brasmusson @aslakhellesoy I've compiled your comments and updated the event specification.

I somehow would prefer duration in milliseconds instead of start and end timestamps, I think the value for tests is duration it takes, not the time it starts. Maybe you have some arguments, what about other opinions?
What about suite field in StepDefinitionFound event? Can suites have different step definitions for same step? Probably they can, @everzet does it make sense?

Timestamps tell us when scenarios ran. This opens up for some interesting reporting possibilities along the time axis.

One thing that's missing is attachment events. (They're called embeddings in cucumber ruby/jvm but I prefer attachment).
This allows userland code (hooks and stepdefs) to attach extra information, such as a screenshot or even a video.
Attachments need the following properties:

mime type (image/png)
location (features/hello.feature:42)
data (some encoded string)
encoding (raw/base64/url)
timestamp

In fact, stack traces could be represented as an attachment with mime type text/plain+stacktrace, encoding raw. This also removes the need for extra properties on StepFinished events.
Think of attachments as additional layers if decoration that is "attached" to a line in a file.
Some formatters will only handle some attachments and ignore the ones it cannot represent.

Test steps can either be based on steps from the test source (Gherkin), or they could come from (Before/After/AfterStep/Around) hooks. That means that the location in TestStepStarted/TestStepFinished either can refer to a line in a test source file or a line in a userland code file.
Therefore I think that it would be better if the StepDefinitionFound had the attributes step_location and definition_location instead of location and definition_id. Both types of location can be used in the TestStepStarted/TestStepFinished later (even though a location in the userland code would be for a hook and not a step definition).
Maybe TestStepStarted/TestStepFinished should also have an attribute step_type (possible values: step, before_hook etc), or an optional attribute hook_type to be able to specify the type of hook.

I like the sound of all of that @brasmusson

@aslakhellesoy attachments make sense, for html formatter that should be useful. Concerning time as Unix time like timestamp in milliseconds, fine.
@brasmusson I'm not familiar with Around hook concept is there a place somewhere I can read about it?
Regarding definition_location it might not necessarily be location, depends on implementation details. This field in general could be optional since it depends on implementation of cucumber, one might not provide hooks at all. It makes sense to have both of these fields, but definition_id or location as we agree to call it - I suggest to be optional. Also probably needs a better name? source_ref ?
step_type looks confusing to me, do we need to involve hooks into the formatter events?

By listening to the event stream it should be possible to know exactly what userland code was executed for a test case. Therefore the StepDefinitionFound event need to have an mandatory attribute to specify the userland code that was matched to the (gherkin) step. Therefore also hooks need to be reported through TestStepStarted/TestStepFinished events. This means that the TestStepStarted/TestStepFinished need to allow to specify either the location in a (gherkin) source file, or the userland code of a hook. If the location attribute TestStepStarted/TestStepFinished cannot be used to specify both, then these events need to have two optional attributes, location (for Gherkin steps) and definition_location/definition_id/source_ref (or what the attribute in StepDefinitionFound should be called - for the userland code of a hook).

I'm at cukeup and just watched an interesting presentation from the BBC about their HiveCI.
What was particularly interesting is the format they have defined for test results - Res.
We should definitely study it and see if there are useful concepts to borrow.

Terrific, thanks for writing up the spec @l3pp4rd!
TBH what you have there is not far away at all from what I've sketched out in Ruby Cucumber. I need a few more cycles to clean things up then I think we could start using it in this repo as a swap-in for fake-cucumber and test this thing out for real!

@aslakhellesoy I do not think RES is trying to achieve something similar, at least from the first look.
I probably will add missing parts as discussed this weekend and then start to implement printer.

Everyone also bear in mind that we can iterate on this protocol. Let’s try and get something working soon and then we can try to break it.
--
The Cucumber logo is the intellectual property of Cucumber Ltd, a limited
company registered in Scotland, number 456793.
UK Headquarters: Cucumber Ltd, Drumsyniebeg, Lochgoilhead, Cairndow,
Argyll, PA24 8AN UK.
CONFIDENTIALITY NOTICE: The information in this e-mail is confidential and
privileged; it is intended for use solely by the individual or entity named
as the recipient hereof. Disclosure, copying, distribution, or use of the
contents of this e-mail by persons other than the intended recipient is
strictly prohibited and may violate applicable laws. If you have received
this e-mail in error, please delete the original message and notify us by
email immediately. Thank you. Cucumber Ltd.

+1 for that. I've made some good progress on a cucumber-html-formatter
today (will push soon), and attacking the problem from several angles
simultaneously is the best way to make it good.
On Friday, 22 April 2016, Matt Wynne<EMAIL_ADDRESS>wrote:

Everyone also bear in mind that we can iterate on this protocol. Let’s try
and get something working soon and then we can try to break it.
--
The Cucumber logo is the intellectual property of Cucumber Ltd, a limited
company registered in Scotland, number 456793.
UK Headquarters: Cucumber Ltd, Drumsyniebeg, Lochgoilhead, Cairndow,
Argyll, PA24 8AN UK.
CONFIDENTIALITY NOTICE: The information in this e-mail is confidential and
privileged; it is intended for use solely by the individual or entity
named
as the recipient hereof. Disclosure, copying, distribution, or use of the
contents of this e-mail by persons other than the intended recipient is
strictly prohibited and may violate applicable laws. If you have received
this e-mail in error, please delete the original message and notify us by
email immediately. Thank you. Cucumber Ltd.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/cucumber/cucumber-pretty-formatter/issues/2#issuecomment-213480009

@l3pp4rd one other thing I think we should add to the event spec is a run_id (UUID) that we attach to all events. This will help when building central services that collate results from different boxes etc. WDYT?

OK, probably run_id should be optional. I'll update the event spec today based on previous comments.

Updated event specification

added run_id to every event
added TestAttachment event
changed durations, to timestamps on all [started|finished] events

@brasmusson it is still not clear to me about the location-definition reported by hooks. What does it mean, could you explain actions involved? If the step is executed directly by another step, maybe it should not report anything in that case since the step handles it's own state of execution, either it fails or not, no matter how many nested steps it executes by calling the step definition directly.

@l3pp4rd hooks are not executed by other steps. They are weaved into scenarios, before and after gherkin steps (ignore around hooks, we're getting rid of those).
If you're familiar with xUnit tools, they're the same as before/after or setup/teardown methods.
They behave just like step definitions, but they don't have a gherkin counterpart. Therefore their location cannot point to a gherkin location.

And - hooks have norhing to do with nested steps. That's another feature I'd like to get rid of. Totally pointless.

OK, got it @aslakhellesoy it relates only to before|after step hooks. guess scenario before|after hooks, does not impact on TestCaseStarted|Finished events

@l3pp4rd Running the i18n/en examples of the Cucumber-Ruby repo with the pretty formatter will include the output:
  Scenario: Regular numbers                  # features/division.feature:6
    * I have entered 3 into the calculator   # features/step_definitions/calculator_steps.rb:14

The text after # for the step is the <path>:<line> where the step definition matched for the step can be found. Using the event specification that text would come from the definition_id of the corresponding StepDefinitionFound event.
TestSteps based on Gherkin steps are both related to a location in a Gherkin feature file defining the Gherkin step they come from, and a location in a userland source code file where the matched step definition can be found.
TestSteps based on hooks are only related to a location in a userland source code file where the hook function/method can be found.
For a TestStep based on a Gherkin step it is possible to look up the location in a userland source code file where the matched step definition can be found (to be printed after the # in the output), based on the location and suite attribute of the TestStepStarted/TestStepFinished event and the definition_id of the StepDefinitionFound event the matching the location and suite attributes.
For TestSteps based on hooks, the only thing you have is the TestStepStarted/TestStepFinished events. Therefore they have to be able to define the location in a userland source code file where the hook function/method can be found. The (optional) attribute of the TestStepStarted/TestStepFinished events to do that would in a strong typing system have the same type as the definition_id of the StepDefinitionFound.
The pretty formatter (at least currently of Cucumber-Ruby and Cucmber-JVM) does not print any information about hooks. Unless they fail, then the stacktrace is printed. The event specification however needs still to supply the complete information about what was executed. The Json formatter (at least currently of Cucumber-Ruby and Cucmber-JVM) does print information also about hooks, so I use examples from the spec of the Cucumber-Ruby Json formatter below:
The data for a TestStep based on a Gherkin step (the path of the Gherkin file is defined for the feature as a whole and not for each step, so there is only a line attribute and not a location attribute):
  {"keyword": "Given ",
   "name": "there are bananas",
   "line": 4,
   "match": {"location": "spec/cucumber/formatter/json_spec.rb:669"},
   "result": {"status": "passed",
              "duration": 1}
  }

The data for a TestStep based on a hook. Since it is a hook there is not step test/name and no line number of the feature file, but is has <path>:<line> of the userland code executed same as the TestStep based on a Gherkin step has:
  {"match": {"location": "spec/cucumber/formatter/json_spec.rb:662"},
   "result": {"status": "passed",
              "duration": 1}
  }

TestSteps based on Gherkin steps are both related to a location
in a Gherkin feature file defining the Gherkin step they come from, and
a location in a userland source code file where the matched step
definition can be found.
TestSteps based on hooks are only related to a location in a userland
source code file where the hook function/method can be found.

My understanding of a test step case involves:

before step hooks
step execution
after step hooks

The point is that all xUnit implementations treats it the same way,
whether the test fails or not, all must pass. Naturally, you can easily
wrap step execution function in a middleware chain and call it a hook.
If test step case fails, means either one of these 3 failed. It should
contain a readable error message so the user could understand what
happened. Was the error in hook or not and a stack trace if needed.
My opinion about TestStep hooks is the same, I do not think they
should be somehow related to event stream, but maybe mentioned in the
stack trace or error message only in case of failure.
@brasmusson the json formatter you linked, looks too complex. I do not
think that we should go the same road.

I'm glad this is moving forward! I could probably answer some of the questions here, but in order to bring everyone involved to the same level of understanding I'd like to arrange a video conference instead. We could even do some example mapping to explore this in more detail.
@mattwynne @tooky @jbpros and I are currently trying to spend most Fridays working on open source (UK business hours). What's people's availability in the next few Fridays?

I'm open this and next Friday from 5pm UK time

in order to bring everyone involved to the same level of understanding I'd like to arrange a video conference instead

Maybe at the coming "Show & Tell" (May 6, 2pm UK time)? It works for me.

I'm travelling this Friday. What about my colleagues @tooky @mattwynne @jbpros - can any of you join?

I'm away too, sorry.
On Wed, 4 May 2016 at 12:15, Aslak Hellesøy<EMAIL_ADDRESS>wrote:

I'm travelling this Friday. What about my colleagues @tooky
https://github.com/tooky @mattwynne https://github.com/mattwynne
@jbpros https://github.com/jbpros - can any of you join?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/cucumber/cucumber-pretty-formatter/issues/2#issuecomment-216831252

I'll be there. Can you make it @l3pp4rd?

2PM UK time, yes I most probably should, but that will be work hours and if something very important  happens I might be off.

In the Gherkin project specifies with the acceptance tests very clearly the structure and content of the AST and the compiled Pickles. However when it comes to Test Cases, which is what is actually executed by a Cucumber implementation, they are not covered by the Gherkin project. Cucumber-Ruby v2 does implement the concept of Test Cases that feature files are compiled to, but Cucumber-Ruby does not define a Json representation of Test Cases (which Gherkin does for the AST and the Pickles). Based on the Pickles Json of the minimal.feature in Gherkin, I have created a possible Json representation that feature compiled to a Cucumber-Ruby Test Case (assuming that there is one Before hook, one AfterStep hook and one After hook):
[
  {
    "locations": [
      {
        "column": 3,
        "line": 3,
        "path": "../testdata/good/minimal.feature"
      }
    ],
    "name": "minimalistic",
    "steps": [
      {
        "definition_location": {
          "line": 8,
          "path": "step_defintions/hooks.rb"
        },
        "text": "Before"
      },
      {
        "arguments": [],
        "definition_location": {
          "line": 6,
          "path": "step_defintions/steps.rb"
        },
        "locations": [
          {
            "column": 11,
            "line": 4,
            "path": "../testdata/good/minimal.feature"
          }
        ],
        "text": "the minimalism"
      },
      {
        "definition_location": {
          "line": 12,
          "path": "step_defintions/hooks.rb"
        },
        "text": "AfterStep"
      },
      {
        "definition_location": {
          "line": 16,
          "path": "step_defintions/hooks.rb"
        },
        "text": "After"
      }
    ],
    "tags": []
  }
]

Cucumber-Ruby does define one Test Step for each Gherkin/Pickles step and one Test Step for each loaded hook. The locations attribute (which refers to the line(s) in the feature file from which the Test Step is based) is optional - it is not applicable for Test Steps based on hooks. The definition_location attribute is also optional - it will be missing for undefined steps.
Based on this I do think that the event stream should include a TestStepStarted and a TestStepFinished also for each hook that is executed.

do we have a meeting today?

@l3pp4rd https://plus.google.com/hangouts/_/cucumber.pro/oss-core?authuser=0&hceid=Y3VjdW1iZXIucHJvX3NjcGV2NmtvcmxlcTgxZWRhbzZyMXRqdm00QGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20.jkl29f2uia7kdmcb497qnbcbb8

As discussed in the meeting, we will initially implement progress formatter to test the event specification. I will proceed with implementation on my free time. @mattwynne is the ruby event branch ready with the current spec? that would be helpful.

I'm sorry @l3pp4rd I haven't had any time to work on it yet.
I did come up with a great name for this repo though: universal console writer AKA unicorn!

I like the name @mattwynne one thing though, is that it better should be unique, since most probably it will be installed in $PATH. I was thinking something with prefix cu if that make sense. There is ruby http server - unicorn guess that may conflict. cufmt is the most straight forward name what comes to mind. I agree with unicorn if the ruby http server is not that common in practice.

I've made a basic event stream formatter in go cucumber implementation. Having more than one is much  better to test, since ruby implementation I think will differ in some aspects. Hopefully next week, I'll start the unicorn progress format implementation from event stream.

Good point about the binary name @l3pp4rd. I guess we could still call the project cucumber-unicorn and then figure out the right name for the binary later. cunicorn maybe? ;)

cunicorn is fine, maybe some other ideas will come up too. the most important is that it should not conflict. I think lets wait until it clears up and we come up with a best name, before starting to rename

probably we also need to attack snippets to TestRunFinished event:
{
    "event": "TestRunFinished",
    "status": "failed",
    "undefined_snippets": "plain text - optional",
    "timestamp":<PHONE_NUMBER>456,
    "memory": 3456765,
    "run_id": "uuid"
}


hyperspectral images

Hi
Thanks for sharing this code.
Is it possible to use this library with images more than 3 channels for example hyper spectral images with 256 channels?

Thanks for your issue.
LibFewShot is mainly designed for 3-channel based RGB images and the design of backbones also follows this. If you need to deal with images more than 3 channels, you can easily modify the backbone accordingly. Thanks.


CARE-368: Use pre-release version to debug "The operation was canceled" error

Fixed the underlying problem in CARE. Not needed anymore.


feat: introduce new RPC methods to handle pending interaction

Introduction
This pull request introduces new RPC methods to handle pending interactions in the project. The primary focus is on managing filters associated with pending interactions. The new methods facilitate the retrieval of pending tesseracts by account filters, fetching pending interaction filters, removing filters, and obtaining changes made to specified filters since the last poll.
New RPC Methods

getNewTesseractFilter: Retrieves a filter ID for new tesseracts.
getNewTesseractsByAccountFilter: Retrieves a filter ID for the new tesseracts for the specified account.
getPendingInteractionFilter: Retrieves a filter ID for pending interactions.
removeFilter: Removes a specified filter.
getFilterChanges: Retrieves all filter changes since the last poll.

Changes include

[X] Bugfix (non-breaking change that solves an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

Checklist

[x] I have assigned this PR to myself
[x] I have added at least 1 reviewer
[x] I have tested this code
[ ] I have updated the README and other relevant documents (guides...)


Training stops in GPU

Hi,
I am trying to train the object detection in TensorFlow GPU 1.15.0 version.
I want to train with 15000 steps but it will stop at regular intervals. It will not throw any error.
I am using windows 10 64 bit.
python 3.6 with anaconda.
Please give any fix for this...

Are you using train.py or model_main.py?

I am using a train.py file to train.

Send a screenshot of the output from the file.


[Navigation Material] Disable dismissing a bottom sheet route

Description
Is there a way to make a certain bottom sheet route not dismissible when tapping on the area outside the sheet?

I'm also looking out for this kind of implementation.

I'm also looking out

Hi @jossiwolf, does this seem like something you guys can help with?

This is a duplicate of #730, please follow along. Unfortunately, we are working on other high-priority items at the moment and can not provide an ETA.


[11.x] When passed a Model, collect() returns a collection containing the model

Inspired by @rasmuscnielsen's tweet.
Currently
$model = User::first();

collect($model)->all() === $model->toArray();

But with this PR:
collect($model)->all() === [$model];

I don't think I have personally ever run into this problem, but I could see that it would be bizarre behavior to a newer dev.

Tests failing, will look into this further.

What are the benefits of this?

Cool @cosmastech !
However I would probably suggest any change to be made around in the EnumeratesValues@getArrayableItems since this is where the existing logic resides. The behavior my tweet addresses, is that a Model implements Arrayable and is thus caught here: https://github.com/laravel/framework/blob/10.x/src/Illuminate/Collections/Traits/EnumeratesValues.php#L977-L978
The simplest change would probably be to check for $items instance of _Model before checking for Arrayable, and if so, return [$items].

Background
As described in my tweet, the use case I find counterintuitive is if I want to accept both models and collections as a function argument. Simply wrapping collect($model) will not give you a collection of 1 model, but rather a collection with the model attributes.
It seems like a much more common use case to want to collect a model into a collection of models, than a collection of attributes.
As an example from Laravel's own codebase, this if switch would not have been necessary and 6 lines could have been saved, with the suggested change of behavior.

https://github.com/laravel/framework/blob/10.x/src/Illuminate/Database/Eloquent/Factories/Factory.php#L278-L286

Cool @cosmastech !
However I would probably suggest any change to be made around in the EnumeratesValues@getArrayableItems since this is where the existing logic resides. The behavior my tweet addresses, is that a Model implements Arrayable and is thus caught here: https://github.com/laravel/framework/blob/10.x/src/Illuminate/Collections/Traits/EnumeratesValues.php#L977-L978
The simplest change would probably be to check for $items instance of _Model before checking for Arrayable, and if so, return [$items].
Background
As described in my tweet, the use case I find counterintuitive is if I want to accept both models and collections as a function argument. Simply wrapping collect($model) will not give you a collection of 1 model, but rather a collection with the model attributes. It seems like a much more common use case to want to collect a model into a collection of models, than a collection of attributes.
As an example from Laravel's own codebase, this if switch would not have been necessary and 6 lines could have been saved, with the suggested change of behavior.

https://github.com/laravel/framework/blob/10.x/src/Illuminate/Database/Eloquent/Factories/Factory.php#L278-L286

I agree. And we should stop making more else if cases here and start using Arr::wrap. Because objects other than Model are also cast to array, which in my opinion is undesirable.

And we should stop making more else if cases here and start using Arr::wrap. Because objects other than Model are also cast to array, which in my opinion is undesirable.

@henzeb I actually agree with this.
A very quick draft off the top of my head could be something like
   protected function getArrayableItems($items)
    {
// ---        if (is_array($items)) {
// ---            return $items;
// ---        } else
        if ($items instanceof Enumerable) {
            return $items->all();
// ---        } elseif ($items instanceof Arrayable) {
// ---            return $items->toArray();
        } elseif ($items instanceof Traversable) {
            return iterator_to_array($items);
// ---        } elseif ($items instanceof Jsonable) {
// ---            return json_decode($items->toJson(), true);
// ---        } elseif ($items instanceof JsonSerializable) {
// ---            return (array) $items->jsonSerialize();
// ---        } elseif ($items instanceof UnitEnum) {
// ---            return [$items];
        }

// ---        return (array) $items;
       return Arr::wrap($items);
    }

But this might be quite a hot take 🔥, and could be met with more resistance than the initial request to simply add an extra check for eloquent models :-)

I'm going to close this MR for now. I don't have strong opinions on it and don't know that I have ever actually run into this problem personally (outside of maybe a tinker session where I called collect(Model::query()->first()) or something).
While I understand that this may be desirable, it seems like a pretty monumental breaking change to add it to the EnumeratesValues trait (god knows how many packages would be affected, let alone applications).
I do believe if Laravel were a fresh project, that is where it does belong. Adding it to the collect() helper is only a band-aid, and even that is potentially a BC for what is problem that can easily be solved by calling Arr::wrap().
@rasmuscnielsen feel free to take the reigns on this one 😄

FYI Collection::wrap() is the go.

Yes, but it's still a weird behavior of collect to turn anything that does not implement something Array related into an array, except enums, that give the same behavior as regular objects.
https://3v4l.org/CsIqXW

Yes, but it's still a weird behavior of collect to turn anything that does not implement something Array related into an array
I don't know I mean the collection sees some instance coming in that implements Arrayable and ArrayAccess so it get's it array representation and collects it.

So collect([$model]); seems not so bad when the other alternative is to add a specific exception for models you have to remember.

except enums, that give the same behavior as regular objects.

An enum however is not an instance or something you can pass to collect. An "instance" of an enum would be one of its cases and if your enum implements Arrayable it behaves just like a model:
enum IntegerSequence: string implements Arrayable {
    case fibonacci = 'fibonacci';
    case primes = 'primes';

    public function toArray(): array {
        return match ($this) {
            self::fibonacci => [0, 1, 1, 2, 3, 5],
            self::primes => [2, 3, 5, 7, 11],
        };
    }
}

collect(IntegerSequence::primes); // [2, 3, 5, 7, 11]

FYI Collection::wrap() is the go.

We've got a winner 🎉 Thanks @timacdonald - this one actually does what I'd like it to. I think that would also work for some de-duplication here https://github.com/laravel/framework/blob/10.x/src/Illuminate/Database/Eloquent/Factories/Factory.php#L278-L286
Still think collect() is a bit strange in this regard, but will take the win of having become a little bit wiser, once again today 😄

Yes, but it's still a weird behavior of collect to turn anything that does not implement something Array related into an array

I don't know I mean the collection sees some instance coming in that implements Arrayable and ArrayAccess so it get's it array representation and collects it.
So collect([$model]); seems not so bad when the other alternative is to add a specific exception for models you have to remember.

except enums, that give the same behavior as regular objects.

An enum however is not an instance or something you can pass to collect. An "instance" of an enum would be one of its cases and if your enum implements Arrayable it behaves just like a model:
enum IntegerSequence: string implements Arrayable {
    case fibonacci = 'fibonacci';
    case primes = 'primes';

    public function toArray(): array {
        return match ($this) {
            self::fibonacci => [0, 1, 1, 2, 3, 5],
            self::primes => [2, 3, 5, 7, 11],
        };
    }
}

collect(IntegerSequence::primes); // [2, 3, 5, 7, 11]

The thing with Models is, I did not ask it to be Array Accessible. I don't see it in my class. It's buried away in Model. To allow toArray. That is all I want from a model. I am not going to iterate through it. I am not going to add or delete keys. I may want to update them,but I cannot do that with an array.
A model is a single entity of a single record in the database. An enum is an entity. A single representation of something. If you throw in a single representation of something in a collection, you expect a collection containing that single entity.
If you fix that behavior for one single entity and direct others to the wrap method, there is no predictable behavior. Especially if wrapped in an array it returns an array of models and not an array of arrayed models.

Agree to disagree then 😅 I think the collection does exactly what it is supposed to.

Especially if wrapped in an array it returns an array of models and not an array of arrayed models.

Yes, and that's correct. I mean why would anyone expect a collection to recursively cast everything down to primitives? There's just one condition that the collection has: The $items property must be an array. Everything in it can be of any type.


Board

-added tic tac toe board
-created function to create new board for a new game
-can select X or O to put in the table

Friendly ping.

For what? To remind me to do more haha?
On Fri, Jul 17, 2020, 8:42 PM Jeffrey Manzione<EMAIL_ADDRESS>wrote:

Friendly ping.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jeffreymanzione/tic-tac-toe/pull/10#issuecomment-660394755,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABW3NWVLVL563E5KHSD3WKDR4DVXPANCNFSM4OQH3JOQ
.

Did you make changes since my original review?
On Fri, Jul 17, 2020, 17:54 jmanzion<EMAIL_ADDRESS>wrote:

For what? To remind me to do more haha?
On Fri, Jul 17, 2020, 8:42 PM Jeffrey Manzione<EMAIL_ADDRESS>wrote:

Friendly ping.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/jeffreymanzione/tic-tac-toe/pull/10#issuecomment-660394755
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/ABW3NWVLVL563E5KHSD3WKDR4DVXPANCNFSM4OQH3JOQ
.

—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/jeffreymanzione/tic-tac-toe/pull/10#issuecomment-660396537,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDO6AOSD7OZUN33F6XZCNTR4DXDDANCNFSM4OQH3JOQ
.

I did on my local. I can push the PR for you to see.
On Fri, Jul 17, 2020 at 8:55 PM Jeffrey Manzione<EMAIL_ADDRESS>wrote:

Did you make changes since my original review?
On Fri, Jul 17, 2020, 17:54 jmanzion<EMAIL_ADDRESS>wrote:

For what? To remind me to do more haha?
On Fri, Jul 17, 2020, 8:42 PM Jeffrey Manzione<EMAIL_ADDRESS>wrote:

Friendly ping.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<

https://github.com/jeffreymanzione/tic-tac-toe/pull/10#issuecomment-660394755

,
or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/ABW3NWVLVL563E5KHSD3WKDR4DVXPANCNFSM4OQH3JOQ

.

—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
<
https://github.com/jeffreymanzione/tic-tac-toe/pull/10#issuecomment-660396537
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/ABDO6AOSD7OZUN33F6XZCNTR4DXDDANCNFSM4OQH3JOQ
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jeffreymanzione/tic-tac-toe/pull/10#issuecomment-660396738,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABW3NWTJHAZACKNPTRJU5G3R4DXINANCNFSM4OQH3JOQ
.

okay sent new PR
On Fri, Jul 17, 2020 at 8:58 PM Jessica Manzione<EMAIL_ADDRESS>wrote:

I did on my local. I can push the PR for you to see.
On Fri, Jul 17, 2020 at 8:55 PM Jeffrey Manzione<EMAIL_ADDRESS>wrote:

Did you make changes since my original review?
On Fri, Jul 17, 2020, 17:54 jmanzion<EMAIL_ADDRESS>wrote:

For what? To remind me to do more haha?
On Fri, Jul 17, 2020, 8:42 PM Jeffrey Manzione <
<EMAIL_ADDRESS>wrote:

Friendly ping.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<

https://github.com/jeffreymanzione/tic-tac-toe/pull/10#issuecomment-660394755

,
or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/ABW3NWVLVL563E5KHSD3WKDR4DVXPANCNFSM4OQH3JOQ

.

—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
<
https://github.com/jeffreymanzione/tic-tac-toe/pull/10#issuecomment-660396537
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/ABDO6AOSD7OZUN33F6XZCNTR4DXDDANCNFSM4OQH3JOQ
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jeffreymanzione/tic-tac-toe/pull/10#issuecomment-660396738,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABW3NWTJHAZACKNPTRJU5G3R4DXINANCNFSM4OQH3JOQ
.


update winston-cassandra example

the update for winston-cassandra to the new cassandra driver now uses a property named contactPoints instead of hosts. Updating the readme to reflect the change.

Thanks!


add capability to specify alternalte scheduler

Signed-off-by: Sathya Balakrishnan<EMAIL_ADDRESS>
[x] Chart version not bumped (the versions are all bumped and released at the same time)
[x] README.md updated with any new values or changes
[ ] Updated template tests in ${CHART}/tests/*.py
[ ] Updated integration tests in ${CHART}/examples/*/test/goss.yaml

@Crazybus Hi, could you help review this? Or perhaps assign someone to?

Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually?

jenkins test this please

Build is failing due to a linting error:
15:19:44 ==> Linting ./
15:19:44 [ERROR] templates/: render error in "elasticsearch/templates/statefulset.yaml": template: elasticsearch/templates/statefulset.yaml:48:20: executing "elasticsearch/templates/statefulset.yaml" at <.Values.schedulerNam...>: map has no entry for key "schedulerName"

I think setting it to an empty string is what will make the linter happiest.
schedulerName: ""

Done

jenkins test this please


Understanding OrderItems

Hi,
tl;dr: what's up with order items without order_id? All feedback is appreciated, be it an explanation or link to external source/documentation.
I'm having difficulty understanding the order_items table entries. A first order (for one subscription) creates 2 entries in the order_items table, where only one has an order_id. I haven't tested the entries for renewed order items (or orders) thoroughly yet, because I've only just managed to set up the basic "create a subscription" flow, but I believe renewed order items only create one new entry. Why?
Kind regards,

An order item without order id is an unprocessed order item. It is scheduled to be processed at the process_at date.

Ah, makes total sense. Thanks for the quick reply!


Ignore scheme and trailing slashes in meta_schemes key

This PR intends to resolve https://github.com/Julian/jsonschema/issues/569 by ignoring the scheme (http, https) and any trailing slashes in the $schema uri.

Should I do something else?

Hey! Sorry for not responding here -- the key thing we need to verify is whether this change is actually fully correct under the spec.
Specifically, $ids in the spec are, as far as I vaguely recall, meant to be identifiers, nothing more -- and the URI specifications leave how you treat trailing slashes up to the individual use case -- so whether https://example.com/foo and https://example.com/foo/ are indeed the same is up to the spec I believe.
I think what we need to do here is ask this question upstream, in perhaps the slack or discussion board.

Thanks for the reply.
I understand the motivation to stick to the spec, but the original issue reported a URI with trailing slash and hash and my motivation has a trailing hash in it, so there is a practical aspect to consider also.
If it turns out to be against spec to have trailing slashes/hashes, would it be acceptable to have something like a uri-strictness flag or something, to deal with stubborn reality?

If it's against the spec, it'd seem quite easy to do external from the validation process. I.e. def canonicalize_urls(schema) -> schema which just walks all the $id fields and removes trailing slashes and empty fragments and returns the resulting normalized schema.
I could possibly be convinced that'd be worth adding somewhere (there's some precedence in wanting this kind of thing in e.g. #692 or #252) but yeah not as a flag.

I asked on their Slack channel; I'll reproduce the response here for completeness:

Stripping/ignoring the scheme is definitely against spec (specifically RFC 3986). It happens to be safe (most of the time) to assume that "https" URIs are referencing the same URIs as their HTTPS counterparts.
But a) that's not guaranteed in all cases, and b) there are more schemes than just http/https. I've seen people do goofy things with schemes. Best not to make assumptions about those things.

IMO it would only be valid to accept other forms for those URIs if the evaluator actually fetched that document via the network with that URI and parsed it to be sure it’s the same thing. it should not simply assume that a URI that looks similar is referencing the same metaschema as the official URI.
..and not all evaluators support fetching documents via the network (nor are they required to)

Yeah, plus the standard metaschema URIs (including the ones in their http forms) are "well known", so most implementations I've seen don't even need to fetch them over the network.
So if you're worried about making insecure http requests, it's generally not an issue for the official meta schemas (since implementation libraries often ship with the metaschemas pre-fetched for your convenience.)
Not a guarantee though, so double check any implementation you're using.

I'll think about your proposal for a canonize_uri() utility-like function.  Would it be better to make a new MR for that or reuse this one?

Did you ask specifically about trailing fragments too?
Ignoring schemes I was sure wasn't going to fly, so unsurprised there, but those seemed more likely to be allowed. Is an empty fragment considered the same URL as fragmentless?
As for the helper function, either way is fine with me on reusing this one or creating a new one -- whatever is easiest for you.
And thanks!

Sorry, should have included my question also:

Hi; the JSON-schema Python package has an open issue (#569) regarding what should be accepted for $schema . json-schema.org uses e.g. http://json-schema.org/draft-07/schema#, but "in the wild" there may be https instead of http and/or trailing slash before the # (i.e. http://json-schema.org/draft-07/schema/# )  and/or a missing # at the end, and combinations thereof. Would it be against spec to be liberal in what to accept for $schema? In particular: this pull request proposes to use a canonical URI, stripping scheme and empty fragments - would that violate anything? Seems a safe change to me, but better safe than sorry and double check.

I don't know enough about this, to be honest. It seems that the safest way forward is to only accept the format that is in the schema http://json-schema.org/draft-07/schema# and then provide a utility function that liberally "converts" to that. The doctoring of that utility could provide the necessary warnings and caveats as put forward in the Slack channel.

Sorry for the lack of updates.
The longer I thought about it, the more I got convinced I was getting myself into a pickle. I agree that the least-intrusive way to solve this is to add an utility function that allows the user to override a particular $schema lookup. The rationale being that the provider of the schema should stick to the standard, hence silently eating schemes or trailing slashes is indeed wrong, as you argued.
I've updated the PR with the utility function. Here is an MWE:
import jsonschema

schema = {
    "$schema": "https://json-schema.org/draft-04/schema/#",
    "definitions": {
        "my_type": {
            "type": "number",
            "maximum": 10,
            "exclusiveMaximum": True
        }
    },
    "properties": {
        "my_number": {
            "$ref": "#/definitions/my_type"
        }
    }
}

instance = {
    "$schema": "https://json-schema.org/draft-04/schema/#",
    "my_number": 7
}

# Fails
try:
    jsonschema.validate(instance, schema)
except jsonschema.exceptions.SchemaError as exc:
    print("failed")

# Succeeds
jsonschema.validators.set_validator_for(schema, jsonschema.validators.Draft4Validator)
jsonschema.validate(instance, schema)
print("success")

I will fix the merge conflict and add unit tests together with other comments you may have.

Any feedback @Julian ?

Apologies, I am inordinately busy, even busier than usual, as academic semester is starting -- I'll try to get you some feedback but it likely won't be before middle of the week or early next. Sorry -- please do ping me if you have to wait any longer.

Apologies, I am inordinately busy, even busier than usual, as academic semester is starting -- I'll try to get you some feedback but it likely won't be before middle of the week or early next. Sorry -- please do ping me if you have to wait any longer.

No worries! Just wanted to make sure that it was noticed.

@lcvisser -- looking at this briefly, my honest reaction is -- is this really any better than just recommending people do schema["$schema"] = Draft4Validator.META_SCHEMA["$id"]? To me it seems obviously not personally, but willing to hear what you think.

@Julian Personally, I think the utility functions is more user friendly, as it is discoverable and documented via the docstring. But it's a personal preference, so if you'd like the code base as minimal as possible, than that's a valid argument too of course. In that case, I'd propose to reject and close this MR (and arguably also the linked issue).

I think for now will close -- I appreciate your effort and research. We can revisit in the future if needed.


chore: disable doctests in unused locations

I am not sure what the benefit this brings. I see the danger that we add documentation at a later time, forget out it, and then lack the test coverage.

I am not sure what the benefit this brings.

I agree :+1:
I can confess I wanted to get rid of verbose output during tests :grin:
I found this Each doc test is linked as a separate binary. For this reason, avoid doc tests in internal libraries for big projects and add this to Cargo.toml... here
And found this that says it will be compiled in batch (next rust edition 2024)

I see the danger that we add documentation at a later time, forget out it, and then lack the test coverage.

Yeah I was thinking the same.


Update to latest protocol v2.20

Update to latest protocol.

Questions:

The verida dependencies exist in both peerDependencies and devDependencies. Is this correct? There are different versions.
All the dependencies exist in devDependencies, but not in dependencies. I assume this is some strange thing related to Vue components?


Fix Ruggeduino driver not setting DIGITAL_OUTPUT mode

Checklist

[x] I have updated the relevant documentation
[x] I have added the semver-major, semver-minor or semver-patch label as appropriate
[x] I would like multiple reviewers to approve my code before merging

Why do you want to make these changes?
Teams couldn't set their pins. See #758
Which parts of the codebase do your changes affect?
Ruggeduino hardware backend, and associated test suite.
How do your changes affect student or volunteer experience?
Yes.
Are your changes related to any existing issues or PRs? How so?
#758

Associated FW: https://github.com/srobo/ruggeduino-fw/blob/master/src/ruggeduino.cpp

While this looks like it likely works, I think that there is still an implementation issue here. Fundamentally the pin's mode and value are separate and distinct property and we should be settng them independently.

While this looks like it likely works, I think that there is still an implementation issue here. Fundamentally the pin's mode and value are separate and distinct property and we should be settng them independently.

That's something we can fix, but is a separate issue with how the API currently works.
I have ideas for how we can fix it, but it's out of scope for this PR in my opinion. It's probably better to make students' code work  first.
Please see the commit message for a detailed explanation of why.


feat(table): add async row action support

Summary

Adds actions, reducers and props and StatefulTable support to allow for async row actions

Related Issues

Closes IBM/carbon-addons-iot-react#128
Closes IBM/carbon-addons-iot-react#129

Acceptance Test (how to verify the PR)

Verify the new async row actions story runs the spinner for 3 seconds before completing

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.44.0 :tada:
The release is available on npm package (@release-1.x dist-tag)
Your semantic-release bot :package::rocket:


feat: add @keyvhq/offline

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

17 of 19 (89.47%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 86.994%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/offline/src/index.js
17
19
89.47%

Totals

Change from base Build<PHONE_NUMBER>:
0.3%

Covered Lines:
264

Relevant Lines:
280

💛  - Coveralls


client.execute not working with Tinkerpop Server 3.2.3…

When running either example code or npm run examples:node, the script seems to start fine and even connect to the socket (throws an error if the server is not running), but client.execute's callback never gets called.
Tinkerpop Server version is: 3.2.3 and started with: ./bin/gremlin-server.sh conf/gremlin-server-classic.yaml
Node version is: 7.0 (but also tried with v6.9.1: same results).
npm version is: 3.10.8
Connecting to the Tinkerpop Server with gremlin console or through the Python interface works fine.

I'm having the same issue.

This is related to the connection URL string which now requires to append
/gremlin. I need to fix this, hopefully today.
On Friday, 28 October 2016, Victor O. Santos Uceta<EMAIL_ADDRESS>wrote:

I'm having the same issue.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jbmusso/gremlin-javascript/issues/61#issuecomment-256855997,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAMa1Pv5YNhGhgjekN-YJOWF4vfb3UYCks5q4aW5gaJpZM4KjCZr
.

--
Jean-Baptiste

Thanks Jean!
By the way, we are integrating your driver to our new database, it will be working soon 👍
Give it a look here: TruenoDB

Indeed, adding this to the beginning of the GremlinClient constructor seems to fix the connection issue:
    const { path = '/gremlin' } = options;

Actually, it's not documented but you can supply a path option to the option object when instantiating a client. { path: '/gremlin' } should work.


Refactor use of phantomjs_options property

There is an undocumented property as follows:
phantomjs_options: '--ssl-protocol=tlsv1'

This same option applies to CasperJS too. We should:

rename the property, e.g. browser_engine_options
add this property to the documentation and describe it properly
(but we should also keep backwards compatibility for existing configs using phantomjs_options)

This may be a silly question, but for the casperjs option is the property name "casperjs_options", or are phantomjs_options applied to both phantom and casper, assuming you're running both?

No question is a silly question! Yes this property is passed to both engines. Which is why I've raised an issue to rename it (phantomjs_options is misleading).

I've read through all threads related to this mysterious property: phantomjs_options: '--ssl-protocol=tlsv1'. Where does one use it, and how please? Does this get placed in the your config.yaml? And how does it work with CasperJS please?

Yes, this line needs to be added into your config.yaml file at the top, it resolves the issue where PhantomJS is been used (tried it myself). For CasperJS, I am myself trying to find that how does it helps there.


nitunit: fix running last test of a module, it was previously ignored

This is a very small commit, but it may reveal some previously ignored nitunits.

Raise an error in a previously untested nitunit of lib/github/cache.nit. The second assert fails, which would indicate that the cache did not work.
@Morriar , can you take a look? Everything looks good to me, it must be a detail.

C'est le premier assert qui semble peter. Sans doute un cache reste d'un précédent test.

+1 sinon

+1, I never noticed this, pretty lucky that only one test is failing here :p

Sorry guys, but it is the second assert that crashes, at line 13: assert api.has_cache(name).  Clearing the cache doesn't fix it.
The cache do not work for some reason on my system and on pratchett. Configuring my system with an API key didn't solve the problem.
I would let the honnor to @Morriar to fix and reactivate the test.


Incorrect page link

In the "SQL Server 2016 Database Engine" section on this page, the "See Database Engine" redirects back to this page itself: https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/what-s-new-in-sql-server-2016-database-engine?view=sql-server-ver15

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

ID: 92039d2f-79be-5b42-a880-d2992ce8a151
Version Independent ID: ef7c0d04-a65f-28e0-3935-3dac80fb13c2
Content: What's New in SQL Server 2016 - SQL Server
Content Source: docs/sql-server/what-s-new-in-sql-server-2016.md
Product: sql
Technology: install
GitHub Login: @MikeRayMSFT
Microsoft Alias: mikeray

@BrentOzar -- Brent, thank you for bringing this to our attention.
@MikeRayMSFT -- Mike, I can't find a new target for this link.  Please advise.
See Database Engine.

@WilliamAntonRohm link doesn't work.

@MikeRayMSFT https://github.com/MicrosoftDocs/sql-docs/commit/e9d80a0befa48d06805bae8015779d3f6bd87711

We did a bit of re-organizing and this link is no longer necessary.
Removing the redundant link.
Thanks @BrentOzar


Can't read property 'router' of null

"react": "16.0.0-alpha.12",
"react-native": "0.46.1",
"react-native-router-flux": "^4.0.0-beta.11",
 <Router>         <Scene             key='login'             component={LoginForm}             title='Login'         />     </Router>
when i run my code,give me following error message:
'Can't read property 'router' of null'
in Router.js 279:46

You must have container scene as root. Otherwise this component doesn't make any sense.

Can you explain what you mean by this, 'container scene as root'? I am getting the same error. Thanks

Ok, I'm not getting the error any more, but it only shows a blank screen on my Android simulator. Here is the relevant code:
import React, { Component } from 'react';
import { Scene, Router } from 'react-native-router-flux';
import { createStore, applyMiddleware } from 'redux';
import { Provider } from 'react-redux';
import LoginForm from './components/LoginForm';
render() {
const store = createStore(reducers, {}, applyMiddleware(ReduxThunk));
return (
  <Provider store={store}>
    <Router>
      <Scene key='login' component={LoginForm} title='Login' />
    </Router>
  </Provider>
);

}

Your root scene is not container

1 авг. 2017 г., в 18:56, ranasing<EMAIL_ADDRESS>написал(а):
Ok, I'm not getting the error any more, but it only shows a blank screen on my Android simulator. Here is the relevant code:
import React, { Component } from 'react';
import { Scene, Router } from 'react-native-router-flux';
import { createStore, applyMiddleware } from 'redux';
import { Provider } from 'react-redux';
import LoginForm from './components/LoginForm';
render() {
const store = createStore(reducers, {}, applyMiddleware(ReduxThunk));
return (

);
}
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.

@ranasing you should check the documentation, you need to nest all you scenes in the root scene as in the example:
<Router>     <Scene key="root">       <Scene key="login" component={Login} title="Login"/>       <Scene key="home" component={Home}/>     </Scene>   </Router>

@alfchee This solved it, thank you so much!! I am two weeks into the Udemy course The Complete React Native and Redux Course by Stephen Grider.
He does the code on his example like @ranasing showed here.

@TeslaMotors91 came here after that course as well. This does it. Thanks so much.

@alfchee thanks for the help...
<Router>
    <Scene key="root">
      <Scene key="login" component={Login} title="Login"/>
      <Scene key="home" component={Home}/>
    </Scene>
 </Router>

@aksonov the guy asked a question and did not get a response. If you take the time to answer a question, do it fully please.

@alfchee This is really helpful!

Sthepen Grider use 3.35.0 version, but i choose to use last version and got same error like this issue..
Thanks for all, for the answer...


svelte 4 final release checklist

Describe the problem
don't want to forget anything!
Describe the proposed solution

[ ] maybe do one final pre-release to sanity check against
[ ] run ecosystem CI
[ ] exit pre-release
[ ] announcement blog post
[ ] default create-svelte to 4.x

Alternatives considered
No response
Importance
i cannot use SvelteKit without it
Additional Information
No response

doh! wrong repo


Reorganize survival by basin plots

Organize survival graphs to they show positive vs. negative effects on salmon.

Done, added to Supplement


[docs] Add animated gif to README

Add a brief animated gif which quickly shows:

add an item to an existing indoor location
automatic conversion of point to address (after #46 is merged)

Hi, I would like to work on this issue. Can you please assign it to me??

You can go ahead @2001asjad

After following all the instructions in the 'Installing for development' section of the README file, whenever I am running migrate in my Command Prompt , I am getting 'Is GDAL installed? If it is, try setting GDAL_LIBRARY_PATH in your settings.'. Can you please help @NoumbissiValere

@2001asjad please ensure the packages listed here are installed on your system

Can you please explain me in more detail that how and what type of GIF do we have to add?
I mean do we have to show adding items in the Locations page or what?
Thank You

@2001asjad checkout the GIF added here: https://github.com/openwisp/openwisp-radius/blob/master/README.rst
It explores the features in openwisp-radius; gives the user a little brief about what the user gets after successful setup! :smile:

Forgot to close this, sorry. I added some images in the README recently and I think those are good enough. @2001asjad if you want to contribute please look for other issues.


Switch to actively maintained Fomantic-UI (backwards compatible)

Semantic UI has'nt been maintained since 2018, but the active community fork https://fomantic-ui.com already got 500 bugfixes and new features like calendar, slider, toast, etc.
it is backward compatible, the current code should work as it is.
https://fomantic-ui.com
https://github.com/fomantic/fomantic-ui

Yes, we've planned to try it out and will soon comment if we need any help. Thanks a lot for reaching out :)

We tried fomantic UI here https://github.com/fossasia/open-event-frontend/pull/4538 but it caused modals (https://github.com/fomantic/Fomantic-UI/issues/1590) and nested popups to break  https://github.com/fossasia/open-event-frontend/issues/4730 and https://github.com/fossasia/open-event-frontend/issues/4735
So, we cherry-picked the fix for scroll lock from this PR https://github.com/fomantic/Fomantic-UI/pull/273 in https://github.com/fossasia/open-event-theme/commit/d2473e576765cdfa98b36eeb3d9ea3be07137cf8 and everything os working now.

[x] Dimmer close on cross button
[x] Dimmer is not repeated on interaction
[x] Scroll lock doesn't happen


Error: Unimplemented abstract method using

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.


Question: How can I have expandable cell

I would like to to change the height of a cell when I tap on it. Is there any call back in api to Sapporo ?

I hope the following code block will be your answer.
yourcellmodel.size = newsize
yourcellmodel.bump()


Download json data from GitHub LFS

For both the "transport" and "detailed" data sources. And maybe once the initial framework is there, break the "detailed" data down into a geometry file and then individual files for each layer, because for large cities these will be very, very large files (at least several 10's MB, possibly > 100MB).

This all takes way too long to load. Seems now better to revert to internal data, and to store each column in a separate data file.

The implements column-wise loading of local data for the detailed view. Closing this at that point, to open more focussed issues for the rest of the adaptation.


Binding options

Is it possible to bind the options? I tried {{x-select value=condition.subject options=selectOptions action="selectSubject"}} where selectOptions is an array of objects with no success. I didn't see in the tests or code where it was or wasn't possible so figured I'd ask.
Thanks!

Not currently, you need to have an each where you enumerate the options. There is a PR #8 which let's you use a more Ember.SelectView style syntax which hopefully will get merged soon.

OK cool. Thanks for answering!


php with vercel

not sure what im doing wrong while following the steps listed

Here's a  3 min video of what i'm doing and the error im getting... im new to php and github, can someone please let me know where i go wrong?
https://youtu.be/_XMPR79AOgA

You don't need to implement the following in your PHP code, because it's an example and shows information of the php settings you are using. phpinfo — Outputs information about PHP's configuration:
<?php
phpinfo();

You're installing Vercel not globally... Try that:
# Install it globally
npm i -g vercel

# Log in
vercel login

# Let's fly
vercel

Hi @fivenine01. It seems to me there is some error in your editor/OS. Vercel CLI should be working without problem.
Have you followed this manual (https://vercel.com/download)? If it so, could you please reach Vercel's support team?

You don't need to implement the following in your PHP code, because it's an example and shows information of the php settings you are using. phpinfo — Outputs information about PHP's configuration:
<?php
phpinfo();

You're installing Vercel not globally... Try that:
# Install it globally
npm i -g vercel

# Log in
vercel login

# Let's fly
vercel

hey thanks for that, I completely thought I had replied, but thank you for that, it worked!

Happy to hear that.


Added hitboxes and a debug mode to show them #41

Improved hitboxes, and added a debug mode, which puts these green translucent squares on the hitboxes:

As of now, the debug mode is just a global that you can set to true. Not sure if this is the best way to do this, let me know if there is something different (maybe a directive, but it would be nice to be able to turn it on and off as you wish in game).
Clone() in RigidEntity now clones the hitbox, and hitboxes can be set via setHitbox().

I recommend changing the drawhitboxes global to check if DEBUG_MODE is enabled (look at the pausing system in main.cpp for an example)

I will probably just move the draw hitboxes to main so that this is possible. I think I'll map it to f2 or something so that you can toggle it on and off when DEBUG_MODE is enabled.

Yeah, that sounds perfect

Should be good now. It works when you hold down f2, maybe will implement toggle later, but it works.


[Request] NS Switch: Hayarigami 1-2-3 Pack

https://vndb.org/r106354

I already opened an  Issue for this one a year ago https://github.com/0xDC00/scripts/issues/210
I tried to find a hook using the tracer script.Unfortunately ,it seems to have the same issue with the shin Hayarigami series where it loads the code at runtime which means we cant find a good hook without advanced tools like ida pro


[BUG] Changing the User Model

Describe the bug
A clear and concise description of what the bug is.
The role field into the user model should not be string it should be enum otherwise it would be very difficult to filter out because multiple users will be writing different values as role and spelling.
To Reproduce
Steps to reproduce the behavior:
Go to models folder check for user.js file within that check for role you will find the issue.
Expected behavior
After this when we have created the enum the user can only select among the specific options.
Please assign this issue to me so that i could work on this and resolve the bug.

That’s a great idea! Please proceed, I’m assigning this issue to you. Thank you for taking the initiative.

Hey @Vignesh025 @MOHINI1403 , I would like to give a suggestion that if we allow users to select their roles any one of the spam user can edit or delete the listings and reviews if they have their role as admin. Users not knowing their roles would be the safer side to consider. Kindly consider this point and fix the bug.
Thankyou.

Hey @preranah7 , Thank you for your suggestion! Yes, we’re not allowing users to select their roles themselves. The current task is just converting the role field from a string to an enum. Since we’ve hardcoded the role "admin" in various places, it’s a best practice to switch to an enum for better consistency. Thanks again!

That’s a great idea! Please proceed, I’m assigning this issue to you. Thank you for taking the initiative.

Thank you for assigning the issue I will fix this bug.

hey @Vignesh025 i tried solving the issue and have reaised a pr
kindly checkout the pr

Hello @Vignesh025 I have fixed the bug and raise the PR into the test branch as it was assigned to me . Please check it out if you think there are certain additional changes which need to be done . Please let me know.

Hey @MOHINI1403 , are you still working on this issue? If not, please let me know so I can assign it to someone else. Thanks!

May I do it if anyone is not doing?

@preranah7 , I'll let you know.

Sure.

Hey @preranah7 , You can proceed with working on this issue. I'm assigning this to you!

Sure @Vignesh02.

There has been no activitty. @Vignesh025 can you assign it to me

@raj-adi00 , Thank you for the interest but we are working on it.


Crunchyroll With Better Seasons don't work

Hi I'm the guy who commented on the Chrome Web Store that the extension did not work, I answer here because I think it will be faster. In general it does not work for me on any page, I do not understand why. Try both Edge and Opera GX.
Take screenshots on some Crunchyroll pages: https://imgur.com/gallery/Zu7g3zf

I tried everything to replicate your problem but I can't.
I installed it in Edge, tried in Spanish but it works.

Maybe Crunchyroll is releasing a new version of beta for selected users.
In which country do you live ?

I'm from Mexico. I also tried using VPN and using another account I had but nothing, it's weird. Perhaps and as you say, something changed Crunchyroll

Just to comment that I have the same problem.
I live in France but use Crunchyroll with english language. Tried with my native language but it's the same.
For Ao Ashi I still have the drop down menu with all available languages :-/

I finally had the same problem, can you check the last version (0.5.1, you should have it with auto update) to see if it fixes your problem?

Working now with 0.51 ! Thanks ! :-)

It also works for me again with 0.51 thank you c:


What is "CONTAINER ID CREATED ABOVE"?

The instructions for running this using Docker reference what I assume is a placeholder stating, "(CONTAINER ID CREATED ABOVE)". From where does a user get this value? The README is unclear on this.

Docker related documentation is messy and needs a rework.

@ibnesayeed Is the intended ID needed here the same one that corresponds to the container launched as revealed using docker ps?

Yes, I think so. It looks like they are trying to copy the node_modules from the image that was built earlier into the local development folder and then mount it back in a subsequent container. You can get that container ID from the docker container ls command (or use the randomly generated name in place of ID). You can also get that ID from the Bash prompt of the container. This can be avoided by giving a custom name to the container using --name tmvis_modules argument and then use tmvis_modules (or any other name) in place of the container ID.
This whole thing can be redone to eliminate the need of copying node_modules folder and streamline other things.

@ibnesayeed how do you suggest for this to be redone without the need of copying node_modules? I've thought of moving node_modules to / so the host can be mounted to /app however I'm having issues implementing this approach. Thanks!

There are just way too many unnecessary steps and hacks in the documentation. You can simply have a usual docker image build command followed by docker container run command. For development environment where dost machines files need to be inside without node_modules folder of the image being overwritten inside of the container with what is on the host, one can simply add yet another volume for that. This means, in the final docker run command we can add -v /app/node_modules after -v "$PWD":/app. #TheMagicHappens! ;-)
If you need more help on this and refactoring the documentation, you may discuss the matter in our Slack.


Python scripts stops and no error when using pin.appendModel()

I'm trying to merge two kinematic chains into one. For this I am trying to use pin.appendModel() to create a new model from the two that represent the two initial kinematic chains. The kinematic chains are identical (coming from the same URDF).
However, when I use this method, the Python script just stops without any error message.
Here is a minimal example ('succeeded' is not printed):
import pinocchio as pin
from os.path import dirname, join, abspath
import copy

# Load the URDF model.
# Conversion with str seems to be necessary when executing this file with ipython
pinocchio_model_dir = join(dirname(dirname(str(abspath(__file__)))), "models")

model_path = join(pinocchio_model_dir, "example-robot-data/robots")
mesh_dir = pinocchio_model_dir
urdf_filename = "talos_reduced.urdf"
urdf_model_path = join(join(model_path, "talos_data/robots"), urdf_filename)

model, collision_model, visual_model = pin.buildModelsFromUrdf(
    urdf_model_path, mesh_dir, pin.JointModelFreeFlyer())

# changing the names of frames and joints to avoid name conflicts
# build custom model for robot 1
custom_model_1 = copy.deepcopy(model)
for i, name in enumerate(custom_model_1.names):
    custom_model_1.names[i] = name + str(1)
for i, frame in enumerate(custom_model_1.frames):
    custom_model_1.frames[i].name = frame.name + str(1)

# build custom model for robot 2
custom_model_2 = copy.deepcopy(model)
for i, name in enumerate(custom_model_2.names):
    custom_model_2.names[i] = name + str(2)
for i, frame in enumerate(custom_model_2.frames):
    custom_model_2.frames[i].name = frame.name + str(2)

# merge models
new_model = pin.appendModel(
    custom_model_1, custom_model_2, 0, pin.SE3.Identity())
print('succeeded')

I probably do something wrong but I don't understand what. Thank you in advance for your time.

Don't use deepcopy as the objects are managed by C++.
Here is the working example:
import pinocchio as pin
from os.path import dirname, join, abspath
import copy

# Load the URDF model.
# Conversion with str seems to be necessary when executing this file with ipython
pinocchio_model_dir = join(
    dirname(str(abspath(__file__))), "roombot_description_no_latch")

model_path = join(pinocchio_model_dir, "urdf")
mesh_dir = pinocchio_model_dir
urdf_filename = "roombot.urdf"
urdf_model_path = join(model_path, urdf_filename)

# build reference model
model, collision_model, visual_model = pin.buildModelsFromUrdf(
    urdf_model_path, mesh_dir, pin.JointModelFreeFlyer())

# changing the names of frames and joints to avoid name conflicts
# build custom model for robot 1
custom_model_1 = model.copy()
for i, name in enumerate(custom_model_1.names):
    custom_model_1.names[i] = name + str(1)
for i, frame in enumerate(custom_model_1.frames):
    custom_model_1.frames[i].name = frame.name + str(1)

# build custom model for robot 2
custom_model_2 = model.copy()
for i, name in enumerate(custom_model_2.names):
    custom_model_2.names[i] = name + str(2)
for i, frame in enumerate(custom_model_2.frames):
    custom_model_2.frames[i].name = frame.name + str(2)

# merge models
new_model = pin.appendModel(
    custom_model_1, custom_model_2, 0, pin.SE3.Identity())
print('succeeded')

PS: next time, you should provide the URDF model of your robot.

There is still a problem I think. I updated the code (and now use a pre-given URDF).
Now, the script succeeds approximately once in 3 times. The other times, it does the same as before and exits without any error.
import pinocchio as pin
from os.path import dirname, join, abspath
import copy

# Load the URDF model.
# Conversion with str seems to be necessary when executing this file with ipython
pinocchio_model_dir = join(dirname(dirname(str(abspath(__file__)))), "models")

model_path = join(pinocchio_model_dir, "example-robot-data/robots")
mesh_dir = pinocchio_model_dir
urdf_filename = "talos_reduced.urdf"
urdf_model_path = join(join(model_path, "talos_data/robots"), urdf_filename)

model, collision_model, visual_model = pin.buildModelsFromUrdf(
    urdf_model_path, mesh_dir, pin.JointModelFreeFlyer())

# changing the names of frames and joints to avoid name conflicts
# build custom model for robot 1
custom_model_1 = model.copy()
for i, name in enumerate(custom_model_1.names):
    custom_model_1.names[i] = name + str(1)
for i, frame in enumerate(custom_model_1.frames):
    custom_model_1.frames[i].name = frame.name + str(1)

# build custom model for robot 2
custom_model_2 = model.copy()
for i, name in enumerate(custom_model_2.names):
    custom_model_2.names[i] = name + str(2)
for i, frame in enumerate(custom_model_2.frames):
    custom_model_2.frames[i].name = frame.name + str(2)

# merge models
new_model = pin.appendModel(
    custom_model_1, custom_model_2, 0, pin.SE3.Identity())
print('succeeded')

I will handle it on Monday.

@aamorel Thanks for raising this issue. We have found the bug with @fabinsch and the solution is here #1693.
You can install it manually or I will try to make a new release soon.


[Doc] Documentation Improvements

Hello @WendellAdriel  and @chrisjumptwentyfour,
   🚩 TL;DR: Reorganized documentation; added examples. No code change.

This PR improved the documentation, fixing a typo on the method name and introduces examples of usage, together with the description of the problem and how the package solves it.
❗ Important Changes
Some important changes are:
📌 I have reduced the package logo to allow easy access to the text;
📌 Introduced a basic, an illustrative example to expose what the package does (beginner oriented);
📌 Added examples for most available methods;
📌 The  "package history" was moved into a different section;
📌 I have already included the link for the Contributing Guide.
Please let me know if there are any changes required.
Greetings and thanks,
Dan

Thank you so much @dansysanalyst
Seems all good to me.
We just need to merge #10 first and then we can proceed with this one

agreed - this is really helpful - thanks :)

A pleasure :)
Thank you so much for the great package!


npm run watch gives error

Summary
npm run watch doesn't run successfully.
npm version 6.13.4
package.json
{     "name": "conference-app",     "version": "0.0.0",     "bugs": "https://github.com//conference-app/issues",     "dependencies": {         "lwc-services": "^1.3.12"     },     "devDependencies": {},     "engines": {         "node": ">=10.0.0"     },     "homepage": "https://github.com//conference-app",     "husky": {         "hooks": {             "pre-commit": "lint-staged"         }     },     "keywords": [         "lwc"     ],     "license": "MIT",     "lint-staged": {         "**/*.{css,html,js,json,md,ts,yaml,yml}": [             "prettier --write"         ],         "./src/**/*.js": [             "eslint"         ],         "*": [             "git add"         ]     },     "nodemonConfig": {         "watch": [             "src/server/**/*.js",             "scripts/express-dev.js"         ],         "ext": "js",         "ignore": [             "src/**/*.spec.js",             "src/**/*.test.js"         ],         "exec": "node ./scripts/express-dev.js"     },     "repository": "/conference-app",     "scripts": {         "build": "lwc-services build -m production",         "build:development": "lwc-services build",         "lint": "eslint ./src/**/*.js",         "prettier": "prettier --write '**/*.{css,html,js,json,md,ts,yaml,yml}'",         "prettier:verify": "prettier --list-different '**/*.{css,html,js,json,md,ts,yaml,yml}'",         "serve": "lwc-services serve",         "test:unit": "lwc-services test:unit",         "test:unit:coverage": "lwc-services test:unit --coverage",         "test:unit:debug": "lwc-services test:unit --debug",         "test:unit:watch": "lwc-services test:unit --watch",         "watch": "run-p watch:client watch:server",         "watch:client": "lwc-services watch",         "watch:server": "nodemon"     } }
Steps To Reproduce:

Run : npx create-lwc-app conference-app
follow all commands and conference-app is created.
run : npm run watch, get first error : nodemon is not recognized as external or internal command
to solve above issue, run: "npm install nodemon"
run again: npm run watch. gets error express.js is not recognized.
run : npm install express.
run again : npm run watch. now we have this issue

C:\Users\AL1840\Documents\lwc\conference-app>npm run watch

<EMAIL_ADDRESS>watch C:\Users\AL1840\Documents\lwc\conference-app
 run-p watch:client watch:server

<EMAIL_ADDRESS>watch:client C:\Users\AL1840\Documents\lwc\conference-app
 lwc-services watch

<EMAIL_ADDRESS>watch:server C:\Users\AL1840\Documents\lwc\conference-app
 nodemon

[nodemon] 2.0.2
[nodemon] to restart at any time, enter 'rs'
[nodemon] watching dir(s): src\server\**\*.js scripts\express-dev.js
[nodemon] watching extensions: js
[nodemon] starting `node ./scripts/express-dev.js`
Yay, local server started
(node:5040) [ENOTDIR] Error Plugin: lwc-services: ENOTDIR: not a directory, scandir 'C:\Users\AL1840\Documents\lwc\conference-app\lwc-services'
module<EMAIL_ADDRESS>task: toCached
plugin: lwc-services
root: C:\Users\AL1840\Documents\lwc\conference-app\node_modules\lwc-services
See more details with DEBUG=*
(node:5040) [ENOTDIR] Error Plugin: lwc-services: ENOTDIR: not a directory, scandir 'C:\Users\AL1840\Documents\lwc\conference-app\lwc-services'
module<EMAIL_ADDRESS>task: toCached
plugin: lwc-services
root: C:\Users\AL1840\Documents\lwc\conference-app\node_modules\lwc-services
See more details with DEBUG=*
(node:5040) [ENOTDIR] Error Plugin: lwc-services: ENOTDIR: not a directory, scandir 'C:\Users\AL1840\Documents\lwc\conference-app\lwc-services'
module<EMAIL_ADDRESS>task: toCached
plugin: lwc-services
root: C:\Users\AL1840\Documents\lwc\conference-app\node_modules\lwc-services
See more details with DEBUG=*
 »   Warning: watch is not a lwc-services command.
Did you mean serve? [y/n]:`
```

What happens when you re-install lwc-services?

Facing same issues again and again.

on further check I found

lwc-services module folder didn't has bin folder, Means it didn't get its folder properly. same with express, husky (dependency) folder.
so installed those dependencya again.
final error

Closing due to inactivity


Can't ping vip from backup nodes

Hi, I'm using Keepalived-vip:0.35, the failover works fine. However there's an issue that I can't ping vip from the backup node.
It's a three-nodes k8s cluster, the Keepalived-vip Daemonset are scheduled to the two worker nodes.
kubectl get nodes -o wide
NAME                STATUS   ROLES    AGE   VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION          CONTAINER-RUNTIME
lijian-k8s-master   Ready    master   83d   v1.12.6   <IP_ADDRESS>    <none>        CentOS Linux 7 (Core)   3.10.0-693.el7.x86_64   docker://18.6.3
lijian-k8s-node1    Ready    <none>   83d   v1.12.6   <IP_ADDRESS>     <none>        CentOS Linux 7 (Core)   3.10.0-693.el7.x86_64   docker://18.6.3
lijian-k8s-node2    Ready    <none>   26h   v1.12.6   <IP_ADDRESS>     <none>        CentOS Linux 7 (Core)   3.10.0-693.el7.x86_64   docker://18.6.3

For example when the vip is set on node1, I can ping and curl the vip, however this won't work from node2 or master.
node1 tests:
# curl <IP_ADDRESS>
{"hostname":"echo-demo-v1-86f48c46f4-rfb6w","version":"v1.0.0"}

# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=0.178 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=64 time=0.069 ms
^C

node2 tests:
# curl <IP_ADDRESS>
{"hostname":"echo-demo-v1-86f48c46f4-rfb6w","version":"v1.0.0"}

# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
From <IP_ADDRESS> icmp_seq=1 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=2 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=3 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=4 Destination Host Unreachable
^C

master tests:
$ curl <IP_ADDRESS>
curl: (7) Failed connect to <IP_ADDRESS>:80; No route to host

$ ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
From <IP_ADDRESS> icmp_seq=1 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=2 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=3 Destination Host Unreachable

I have tried both DR or NAT mode, and with or without the --use-unicast=true, the problem remains.
Thanks for any help.

VIP should just resolve to the MAC address of node1 in this case. From node2 can you ping the real IP <IP_ADDRESS>? What's the output of sudo tcpdump -nni <interface> icmp? Also check sudo iptables -L to verify you're not blocking icmp. Check your routing tables ip route ls.

@steven-sheehy Thanks for the help.
The VIP's MAC address is always in incomplete state, as the output shows:
[centos@lijian-k8s-node1 ~]$ sudo arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
<IP_ADDRESS>           ether   86:37:b5:a4:80:9d   CM                    cali243bf3b3e41
<IP_ADDRESS>           ether   66:a3:1c:a9:32:af   CM                    calif474ecc8c41
<IP_ADDRESS>           ether   22:36:88:99:29:b1   CM                    cali90d1b1d24a7
<IP_ADDRESS>              ether   5c:c9:99:66:1d:09   C                     eth0
<IP_ADDRESS>               ether   fa:16:3e:7b:2d:b1   C                     eth0
<IP_ADDRESS>            ether   a6:cf:dd:96:05:64   CM                    calia415586b0b0
<IP_ADDRESS>           ether   ca:66:95:45:3a:95   CM                    califd18b4e1d6b
<IP_ADDRESS>                ether   fa:16:3e:bb:3a:61   C                     eth0
<IP_ADDRESS>           ether   86:53:2c:34:76:d5   CM                    calic692c62043a
<IP_ADDRESS>           ether   a2:c9:40:2d:ac:41   CM                    cali26f664b7b25
<IP_ADDRESS>           ether   7a:2a:4e:15:26:ac   CM                    calic49359aeaf1
<IP_ADDRESS>           ether   e2:ef:3a:c0:d3:ff   CM                    cali62c9025bfa3
<IP_ADDRESS>                ether   fa:16:3e:93:ea:52   C                     eth0
<IP_ADDRESS>                       (incomplete)                              eth0
<IP_ADDRESS>           ether   e2:99:7e:5b:7b:09   CM                    cali9e27f0cdd4d

And the tcpdump issued on node1 at the same time ping-ing the VIP(on node1) from node2 hasn't  received any packets:
$ sudo tcpdump -nni eth0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

Yes, I can ping node1 from master and node2, and vice versa. And I don't find any icmp related rules from the iptables -L output.
Here's the ip route ls output from node1, node2 and master:
[centos@lijian-k8s-master ~]$ sudo ip route ls
default via <IP_ADDRESS> dev eth0 proto static metric 100
<IP_ADDRESS>/25 dev eth0 proto kernel scope link src <IP_ADDRESS> metric 100
<IP_ADDRESS> via <IP_ADDRESS> dev eth0 proto dhcp metric 100
<IP_ADDRESS>/16 dev docker0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/26 via <IP_ADDRESS> dev tunl0 proto bird onlink
<IP_ADDRESS>/26 via <IP_ADDRESS> dev tunl0 proto bird onlink
blackhole <IP_ADDRESS>/26 proto bird
<IP_ADDRESS> dev cali5aea3d5be28 scope link
<IP_ADDRESS> dev cali27e833e1326 scope link

[centos@lijian-k8s-node1 ~]$ sudo ip route ls
default via <IP_ADDRESS> dev eth0 proto static metric 100
<IP_ADDRESS>/25 dev eth0 proto kernel scope link src <IP_ADDRESS> metric 100
<IP_ADDRESS> via <IP_ADDRESS> dev eth0 proto dhcp metric 100
<IP_ADDRESS>/16 dev docker0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/26 via <IP_ADDRESS> dev tunl0 proto bird onlink
blackhole <IP_ADDRESS>/26 proto bird
<IP_ADDRESS> dev calia415586b0b0 scope link
<IP_ADDRESS> dev calif474ecc8c41 scope link
<IP_ADDRESS> dev cali90d1b1d24a7 scope link
<IP_ADDRESS> dev cali26f664b7b25 scope link
<IP_ADDRESS> dev calic692c62043a scope link
<IP_ADDRESS> dev cali62c9025bfa3 scope link
<IP_ADDRESS> dev calic49359aeaf1 scope link
<IP_ADDRESS> dev cali9e27f0cdd4d scope link
<IP_ADDRESS> dev cali243bf3b3e41 scope link
<IP_ADDRESS> dev califd18b4e1d6b scope link
<IP_ADDRESS>/26 via <IP_ADDRESS> dev tunl0 proto bird onlink

[centos@lijian-k8s-node2 ~]$ sudo ip route ls
default via <IP_ADDRESS> dev eth0 proto static metric 100
<IP_ADDRESS>/25 dev eth0 proto kernel scope link src <IP_ADDRESS> metric 100
<IP_ADDRESS> via <IP_ADDRESS> dev eth0 proto dhcp metric 100
<IP_ADDRESS>/16 dev docker0 proto kernel scope link src <IP_ADDRESS>
blackhole <IP_ADDRESS>/26 proto bird
<IP_ADDRESS> dev calid38aa88e4b3 scope link
<IP_ADDRESS> dev cali21b12648373 scope link
<IP_ADDRESS> dev calid0a6ae6b9ff scope link
<IP_ADDRESS>/26 via <IP_ADDRESS> dev tunl0 proto bird onlink
<IP_ADDRESS>/26 via <IP_ADDRESS> dev tunl0 proto bird onlink

Turns out it may be a k8s cluster(k8s 1.12.6 with Calico) network problem, not related to Keepalived-vip, because I have set a native Keepalived in the same k8s cluster, the problem stills.
Then I set up Keepalived-vip in another older k8s cluster(k8s 1.8 with Calico), this time I can ping the vip from any node.
However, I encountered another problem, which I will log in another issue when I'm free.


[QUESTION]:Can you specify which version of ilogtail the usecases apply to?

I see the usecases are refering binary from release page. Is this the pure opensource version or the ilogtail-C version?
I'm confused because the configuration structure in the usecases are different from the ones in the setup section.
There is no input section in the configuration file in the kafka example and there is a config_server_address. So the configuration
is not for the opensource version right?
I want to test a plaintext log file. Which input plugin should I use?

I'm sorry for the confusion. Because the C part would be opened source in the next 6 months， so the usecases use the whole binary lib with C part to show. The Set up dir is only for GO local test cases.

Thanks Evan. Is it possible to use the  ilogtail go version to read a plaintext log file?


HDPDGI-256 [ATLAS-345] Should allow tag addition on any search result…

… that returns a reference-able entity

Patch sent


Reconciliation tool

Per discussions: the reconciliation process will be event driven and integrated as part of the raster-create pipeline. The goal will be to perform a check to ensure that the required input granules are ingested before the process starts; the required granules will be queried from CMR to ensure that they're still available and compared against what is currently ingested in the SDS's internal stores. The process will then reconcile the differences between CMR (the source of truth) and the internal SDS store. Any granules that haven't been ingested yet will be ingested within the workflow.

Need to update to reflect recent discussions

Draft PR opened - https://github.com/podaac/swodlr-raster-create/pull/22


Add support for the Picire reducer

https://github.com/renatahodovan/picire

Support added for picire.
If installed as a package, the reducer instructions to add in the xml configuration file should look like:
<reducer>
	<name>picire</name>
	<command>picire --input test.comp --test interesting.sh -o [execdir location]</command>
	<interesting>interesting.sh</interesting>
	<input_file>test.comp</input_file>
	<output_file>test.comp</output_file>
	<extra_files> </extra_files>
</reducer>


[Coverage] Only instrument functions which are definitions

The ASTs for functions which aren't definitions may not be fully
typechecked or well-formed, so: avoid looking at them.
This fixes at least one assertion failure seen while building a project
with coverage, and is probably good for some substantial compile-time
improvements with coverage enabled.
rdar://39069115
(cherry picked from commit daa094e)

@swift-ci Please test and merge


Run a check upon exec into container and check if SENZING_ENGINE_CONFIGURATION_JSON is blank

Utilise something like .bashrc (in /root/.bashrc) to check if SENZING_ENGINE_CONFIGURATION_JSON is blank. If it is display message it needs to be set and a template of how to:

Run docker run with --env SENZING_ENGINE_CONFIGURATION_JSON
Add the equivalent of 1 to docker compose yaml
Manually export it for the current session

Correction, it's set and blank when specifying it in a docker compose file: SENZING_ENGINE_CONFIGURATION_JSON: ${SENZING_ENGINE_CONFIGURATION_JSON}
Check should be is it unset and is it set and blank.


FEATURE Image position options

The template works as expected when full width, but it's not stacking when set to col-md-6 or lower like we discussed. I'd like to commit the positioning updates and work on the stacking in a different PR.

However it occurs to me that you can position the image as needed for desktop in the elemental grid. If I'm going to set the block to col-md-6, I can simply move the image to the top. If col-md-7 or larger I would pick left or right.


Focus of connection lines doesn't go away

Netron app and version: Desktop app 3bf0ac7bf97b7446f2aa1b5c4a4eab4efcc62670
OS and browser version: Windows 10 22H2

Steps to Reproduce:

Move mouse cursor over connection lines
Move mouse cursor away from connection lines

Please attach or link model files to reproduce the issue.
Checked with retinanet_resnet50_fpn_v2_Opset18.onnx. It should reproduce with other models.

The change to source/grapher.js in 24cffc272ea943e1c2e963b3e564e684cfd84517 caused this issue. I proposed the change in #1322 and I confirmed that my code also causes the same issue. Sorry about that.
My guess is when elements (of connection lines) are overlapped, the parent element cannot fully capture pointerleave events.


Faster tests: Destroy test module after every test by default in v13

🚀 Feature request
Command (mark with an x)

[x] new
[ ] build
[ ] serve
[ ] test
[ ] e2e
[x] generate
[ ] add
[ ] update
[ ] lint
[ ] extract-i18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Description
❯ npx @angular/cli@12 new web-apps --create-application false
❯ cd web-apps && yarn ng g app admin-console --routing --style scss

Edit projects/admin-console/src/test.ts and update TestEnvironmentOptions

getTestBed().initTestEnvironment(
  BrowserDynamicTestingModule,
  platformBrowserDynamicTesting(),
  { teardown: { destroyAfterEach: true } }
);

Describe the solution you'd like
The third argument { teardown: { destroyAfterEach: true } } should be applied by default when creating application/library.
Describe alternatives you've considered
N/A
Relevant blog post: What's new in Angular 12.1?

This definitely makes sense for new applications since eventually we’d like this to be the default.


Installation issue api login

Hi,
when I run "c9 install c9.ide.desktop" in a new terminal, I get asked to give my username and pw for "https://api.c9.io/user" I think. However, when I fill in my login info, it asks again. Do you know what's up with that ?
Thanks

It asks for the username and password that you loginto https://c9.io with. So just your regular c9 Username and Password.
If it isn't working for you with those credentials then you will need to file an issue with c9 at their support email<EMAIL_ADDRESS>