Make Firestore use FirebaseDataEncoder and FirebaseDataDecoder (re-implementation of #8858)

Continuing the discussion from PR #8858 here.
This PR makes Firestore use the FirebasesDataEncoder and FirebaseDataDecoder - bringing key coding strategies, etc. to the encoding, while attempting to be compatible with the existing encoder and decoder.
After restructuring of Firestore and FirebaseSharedSwift it was too hard for me to merge into the branch from #8858.
I still need to implement tests - since #8858 I have learned how to run tests by @peterfriese - thanks! :-)
I have a feeling that the CodablePassthroughTypes isn't working as it is being passed type erased values. Needs to be done through is casting/checking instead.

It's great to remove so many lines of code. thanks!
Do you need help resolving the PassthroughType related CI failures?

That would be great - I assume they are due to using a fixed version of FirebaseSharedSwift rather than the one in the same release? At least I had to add a reference to the local version of FirebaseSharedSwift in Firestore/Example/Podfile - but I don't know how all the other tests are built.
There are currently two failing tests in FirestoreEncoderTests, namely testDate and testDecodingDocumentIDWithConfictingFieldsThrows.
I think that the behavior of Date encoding and decoding ought to be discussed a bit more.
I.e. I think that the default in the current Firebase encoder is to pass through dates directly - and while decoding there are a few special cases like Timestamps being able to be decoded directly to Date... I don't know if all these behaviors should be recreated.
With regards to throwing at conflicting document id fields, I think that I mentioned on the other PR that I think that this is a quite harsh behavior that makes it hard to evolve your models towards using document ids or away from them - if old data models with old ids make your code crash. So I'd recommend that this behavior was removed on purpose.

@mortenbekditlevsen See #9493 for CI fixes
@peterfriese @ryanwilson @schmidt-sebastian Any thoughts about Morten's other questions?

To clarify my uncertainty about Date encoding and decoding:
I am not 100% certain about the current default encoding behavior for a Date.
By reading the code alone, it appears that the current encoder leaves it as a Date and lets the firestore serialization deal with it.
I just tried a small experiment, and it would appear to me that a Date serializes to a double_value field when written to firestore.
Does this mean that Date currently doesn't round-trip?
If this is true, the behavior is asymmetric with the decoding, where at least it appears that a Timestamp in Firestore will default to decoding to a Date. This behavior is why I added the timestamp date decoding strategy with a fallback, so that Timestamp always decodes to Date, but secondarily any other strategy applies.
I would suggest that the default encoding strategy of a Date was .timestamp, so that the behavior is more symmetric.
There's of course a whole other discussion about why Timestamp exists at all. Isn't the platforms default currency Date precise enough? :-)

Thanks @mortenbekditlevsen This Date discussion maps to these current CI test failures:
Failing tests:
Firestore_IntegrationTests_iOS:
FirestoreEncoderTests.testDate()
FirestoreEncoderTests.testDecodingDocumentIDWithConfictingFieldsThrows()

The first one, yes.
But it appears that I am mistaken. Date actually does round trip on master. I will have to look closer into what's going on.
The second failure is related to my question about whether the presence of eg an 'id' property in data decoded with a DocumentID called 'id' should actually fail.
I think that it should not because it complicates evolution of your models. So I think that test case should just be deleted.

Sorry, I was out of office for a couple of days. Looks like you were able to find answers to your questions.
Firestore accepts Dates and Timestamps as input but by default only returns Timestamps. For customers that use Codable, we can deviate from the default when we know that the resulting type is meant to be a Date. This still seems to be the case if I understand testTimestampCanDecodeAsDate correctly. FWIW, Firestore TImestamps supports microsecond precision.
I don't have a strong opinion in regards to the DoumcentID validation. I agree that it makes it harder to migrate data models, so it seems reasonable to remove this validation.

What is outstanding on this PR besides a CHANGELOG update?  @mortenbekditlevsen @peterfriese @schmidt-sebastian @ryanwilson

Hi Paul,
There's one thing that I would like to change. I think that I 'over engineered' the .timestamp(fallback) date decoding strategy.
The idea was, that since the existing Firestore Decoder always succeeds when decoding a Timestamp into a model containing a Date, then this always should be kept for backwards compatibility. So I made a timestamp(fallback) date decoding strategy that first sees if the encoded data is a Timestamp - and if it is, then it returns it's requested Date representation. And otherwise it falls back to the decoding strategy present in the argument...
But actually the always in the current decoder only needs to translate to 'by default'. Meaning that the default date decoding strategy for the Firestore decoder would just be a 'timestamp' decoder that looks like:
extension Firestore.Decoder.DateDecodingStrategy {
  /// Decode the `Date` from a Firestore `Timestamp`
  static var timestamp: Firestore.Decoder.DateDecodingStrategy {
    return .custom { decoder in
      let container = try decoder.singleValueContainer()
      let value = try container.decode(Timestamp.self)
      return value.dateValue()
    }
  }
}

This doesn't mean that the fallback behavior that I already implemented can't be of value, but it complicates the API a bit and it can of course be implemented by the user if one really wishes that behavior.
What do you think? Should I go ahead and do the simpler timestamp date decoding strategy or keep the version that's a bit more involved?

@mortenbekditlevsen It sounds like you're saying that there is no difference in behavior between the two implementations. In that case, it sounds good to me to go ahead and update to the simpler implementation.

@mortenbekditlevsen It sounds like you're saying that there is no difference in behavior between the two implementations. In that case, it sounds good to me to go ahead and update to the simpler implementation.

Well, not exactly, but the default behavior (and thus the compatibility with previous versions) is the same and I don't think there's a whole lot of value in the more complex behavior.
I'll go ahead and commit the simpler version, and it can be compared to the more complex implementation through the git history if anyone is interested. :-)

Sure, I'll take a look at it later today.

@paulb777 I think that should do it - but let's see what the CI says! :-)

All green! Thanks @mortenbekditlevsen

Just a few remarks:

Can we rename the title of the PR to something more descriptive? I think it's OK to mention this is a re-implementation of an existing PR, but it'd be better to keep this short, e.g."Make Firestore use StructureEncoder and StructureDecoder (re-implementation of #8858)
Should be add a line to the changelog?
I wonder about the impact of this on the samples and docs. @mortenbekditlevsen can you provide your insight, so we can make sure this material is kept up to date in line with this change?

@peterfriese: Certainly!
By using FirebaseDataEncoder and FirebaseDataDecoder, we get some new expressivity while being compatible with the previous FirestoreEncoder and FirestoreDecoder.
The new expressivity is the same that one might already be familiar with when using FirebaseDataEncoder and FirebaseDataDecoder for FirebaseDatabaseSwift and FirebaseFunctionsSwift, and also the JSONEncoder and JSONDecoder from Foundation. Namely the ability to configure:

keyEncodingStrategy / keyDecodingStrategy
dateEncodingStrategy / dateDecodingStrategy
dataEncodingStrategy / dataDecodingStrategy
nonConformingFloatEncodingStrategy / nonConformingFloatDecodingStrategy

Personally, not having the key coding strategies for Firestore was the main reason that I could not the provided Swift overlays until now.
Internally, another improvement is to only have to maintain one pair of encoder/decoder across the various components.

I'll push a commit to revert the copyrights to save you some time cc @mortenbekditlevsen

I'm going to try to make some changes based on the comments and push to a branch to get this in for Firebase 9, hopefully GitHub does the right thing and recognizes the same PR... will give it a go.

Sorry, it looks like we're not going to have enough time to work through the API implications of this PR in time for our 9.0.0 release.  We appreciate your efforts @mortenbekditlevsen and will follow up once we have 9.0.0 out.

Hi @paulb777 ,
No worries, I'm not in a hurry. :-)
But I do hope that the changes can still be used once the swift overlays are out of beta.
Depending on how to wrap the default configuration of the encoder/decoder (wrap the type or provide a static property with configuration) there is actually a small breaking change for those who might call the decoder directly - although I can't imagine the situation where you would actually need to do this.
Just let me know how to proceed. :-)

Thanks @mortenbekditlevsen. Would you more fully explain what the capabilities you are looking to use once the swift overlays go out of beta?  My understanding was that this PR was mostly an internal refactor to reduce duplication of codable implementations across the Firebase products.
What exactly is the use case that the change will break for?
Why does the API surface need to be increased with the additional public methods in Firestore/Swift/Source/Codable/EncoderDecoder.swift? Following up the discussion there, does changing to a static eliminate that need?

Hi @paulb777 ,
You're correct that it's mostly just a refactor. But I am really, really looking forward to keyEncodingStrategy and ditto for decoding.
The possible source breaking change I am mentioning is actually a decrease in api surface area per the discussion between me and @ryanwilson above.
The current Firestore.Decoder has a method:

public func decode<T: Decodable>(_: T.Type,
                                     from container: Any,
                                     in document: DocumentReference? = nil) throws -> T {

and I replicated that, but Ryan and I were considering removing this and moving this functionality a level 'up' so that the reference will be set in the places where the decoder is used instead.
I am not certain why the api is public today since it appears to me that it may as well just be internal...
Perhaps that's the solution: marking it internal as part of moving it out of beta.

Yep, a separate PR that just does the breakages could be helpful. Then we could just do the breakages in 9.0.0 and then take our time with the adds and API reviews for 9.1.0

After a few more conversations today, we'd like to try to land the new capabilities in 9.1.0 and deprecate, instead of remove, anything that needs to be deleted. See #9694.  Then we'll clean up the deprecated stuff in 10.0.0.

Sounds good. But deprecation means that in 9.10 the function still can't be removed as a side effect of the refactor. And this in turn means that the current (in this PR) Firestore.Decoder wrapper is still needed - rather than removing the wrapper as @ryanwilson suggested in the comments above.
And this is of course just fine - just wanted to point it out. 😊

Well, I guess that the Firestore Swift overlay could still add an overload to the shared decoder as an extension, so there's perhaps no issue here...

In our discussion, we weighed the benefits of pushing the changes in 9.0 vs accumulating technical debt for the deprecation, and decided that we could achieve a smoother 9.0 release as well as provide a better dev exp by deprecating this method before removing it. Since the Firestore Codable implementation does not change often, we expect the tech debt incurred to be fairly manageable.

Hi @chliangGoogle ,
I just noticed that the milestone for this PR was previously moved forward, but 16 days ago it was removed entirely.
Does that mean that it's 'off the radar' for getting merged - or is the review just taking longer than expected?

@mortenbekditlevsen I think we just forget to move this to the next release as we are releasing the previous release.

@mortenbekditlevsen Sorry that we've been so slow at landing this PR. I'd really like to get it in before our code freeze deadline for Firebase 10.0.0 in the next week or so.
Reading through the comments, I see a few open questions, but I'm not sure what exactly still needs to be resolved to merge. Given that 10.0.0 is a breaking change release, we can allow some breakages if we document them and believe they're only used in corner cases.
Is it possible to update the Firestore CHANGELOG that summarizes the implications for the API's clients?

I'll have a look at it tomorrow evening. There may not be any breaking changes after all. I'll have a look and suggest an addition to the change log.

I added the following to the CHANGELOG - please let me know if you think it requires more details:

With regards to breaking changes, I think that the way we ended up implementing it - by wrapping the shared encoder and decoder instead of just making it be a typealias to the shared encoder and decoder - ended up giving it a fully backwards compatible API surface. I'm not certain how to prove this, however. Isn't there some api checker tool that can verify this externally?

The various encoding and decoding strategies are tested thoroughly in FirebaseSharedSwift and the 'defaults' are tested through the existing tests. I could add some extra tests for the combination. This will verify that the wrapping of the decoder/encoder correctly passes on the strategies.
Is there a deadline for the release 10 work?

The API review is still awaiting final approval, and I'm going to merge here to get into the Firebase 10 testing.


Refactor: use app-model and in-n-out

Description
This is a replacement for #4741, #4742, #4743
It uses in-n-out and app-model, two new packages that i have been working on that extract some of the nicely isolated code here into something that can be more thoroughly tested/documented

in-n-out is lightweight dependency injection (replacement for inject_napari_dependencies).  I've made a lot of improvements/changes, and I think it's much cleaner now
app-model is the extraction of #4741 to a new package that presents a generic application model (for menus, keybindings, commands, actions) which makes it much easier to create reusable Qt components that only have to worry about stereotyped objects.  It also includes a couple qt implementations

As stated in #4741, this is a big change, so just posting this here for preview and would be happy to discuss it over zoom.
this specific PR is mostly deleting things here, and follow up PRs would convert more of our menus, keybindings, and actions.  Though it does "unify" our context, actions, and injection logic into a new private _app folder that I imagine could be the manifestation of the Application object that has come up in a number of conversations with @sofroniewn
If you're embarking on a review of this PR, maybe start with this internal doc:
https://github.com/napari/napari/blob/dc5cd29dea20be92a017c0cb315b51eb9132e115/docs/guides/app_model.md
and the documentation for app-model at https://app-model.readthedocs.io/
see also, follow up PRs:

#4826
#4847
https://github.com/napari/napari/issues/4860

Type of change

[ ] Bug-fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

References

How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change
[ ] example: I check if my changes works with both PySide and PyQt backends
as there are small differences between the two Qt bindings.

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

Looks like this is off to a great start for me!! Excited to review

napari.utils.context is part of public API (but I'm not sure if any plugin uses this API)

I guarantee that no one uses it (confirmed by a github code search).  It literally does nothing outside of napari yet. it should have been private to begin with.  it's fine.

I do not like the _app module name. Based on experience from other libraries (Qt, django, flask, wxwidgets) the appis responsible for running the whole application. I prefer to have another name. Like_app_model, _app_actions` as it will be less confusing for existing and new contributors.

I actually do see this object as potentially bootstrapping the entire application eventually.  I see it as more than just actions

when try to play with this PR on python 3.8 (ubuntu linux) and I end with exceptions. Here shortest one:

huh, surprised that my py3.8 tests didn't catch that.  thanks, will look into fixing upstream

when try to play with this PR on python 3.8 (ubuntu linux) and I end with exceptions. Here shortest one:

huh, surprised that my py3.8 tests didn't catch that. thanks, will look into fixing upstream

it also didn't fail in our tests here: https://github.com/napari/napari/runs/7224648734?check_suite_focus=true
could this be something about your env perhaps?  or a typing_extensions minimum version that I need to specify?

But currently, it does not bootstrap

yes... but sometimes we name things based on their intended eventual scope, not their current literal scope

and as I understand it should not bootstrap, as it should know about the selected backend. For me, any App like object should live close to the backend.

This is debatable.   we talk often about "qt independence"; and – feasibility of actually dropping qt aside – if we did ever swap qt for something, or allow a toggle to use something else, we would need to declare that somewhere outside of the _qt folder.  Essentially, that bootstrapping is currently done by napari._event_loop, which literally just imports it run function from our qt module.  It is not much of a leap to imagine that the App would have a run method that perhaps even accepted a backend parameter  (from napari import app; app.run('qt')).  So, while this is all definitely a ways down the road, i don't think it's safe to say "it should not bootstrap".

This is debatable. we talk often about "qt independence"; and – feasibility of actually dropping qt aside – if we did ever swap qt for something, or allow a toggle to use something else, we would need to declare that somewhere outside of the _qt folder...

Maybe it will be nice to have a document with a draft of new architecture. Because this what you describe does not comes from this PR code but is a possible follow-up in the next PR. So without such a document, it may be hard to properly continue this work.

Maybe it will be nice to have a document with a draft of new architecture.

absolutely.  I was going to create a full documentation site for app model, and am internal “app model with napari” doc.  I could do that before we consider this PR if people want, but I was hoping to get some general impressions of whether we like this direction first before spending time on creating docs for a stale thing.
I’d say if people generally look at the files changed here, and more or less like the syntax/structure changes, then I will go ahead and create full blown docs

I've created some documentation here: https://app-model.readthedocs.io/en/latest/
can continue to update it as needed, but hopefully that gives a better idea of motivation and usage patterns (start at the overview and explore the types from there)

@Czaki, the only thing failing here is the codecov/project/utils ... but it's hard to tell from the report what lines of the remaining code in napari/utils has lost coverage. do you know?

oh i think i know what's going on here: I've removed a bunch of stuff that was well covered...  so the remaining (less well-tested) code has less total percent coverage than it used to.  That's something I think we can ignore here.  This is all set

Yes. Removing well-tested code caused a drop in coverage

And they do something with their report view. It looks different than last time.
Maybe we should open the issue that removing lines should not cause a coverage test failure.

Maybe we should open the issue that removing lines should not cause a coverage test failure.

could try.  I did find this thread... they don't seem to be in a hurry to fix it:  https://community.codecov.com/t/project-coverage-decrease-on-deleted-line/2726

I've created some documentation here: https://app-model.readthedocs.io/en/latest/

Amazing @tlambert03 - as we discussed in zulip I really like the direction all of this is going. One thing I flagged was how we might want to one day have more methods for explicitly setting the backend, but i think that stuff can come later as we develop more. I will try and get a few more folks to review this. @nclack and @potating-potato we can discuss a plan for review next time we chat tomorrow

@alisterburt,  my deepest thanks for having a look!  I know it's a lot!

maybe we should strictly pin these new packages, at least in the first phase of development? To not break napari in the mid of releases?

I actually see them being in another repo as a benefit (given how long/slow an actual napari release is).  My preference would not be to pin them, but rather to run naparis tests in those repos.  That has worked well for magicgui and npe2 and psygnal

Only a mild opinion though... if others want to pin that's fine

I actually see them being in another repo as a benefit (given how long/slow an actual napari release is). My preference would not be to pin them, but rather to run naparis tests in those repos. That has worked well for magicgui and npe2 and psygnal

Against how many versions of napari you would like to run tests? 3-4 last releases and repository?
I agree that the pining version is blocking, but they are rather new and could quickly mutate.
Or you do not have a plan to merge this before 0.4.17 and have additional three months to stabilize these libraries and decide about pinning policy when 0.5.0 is released?

Against how many versions of napari you would like to run tests? 3-4 last releases and repository?

well, definitely not that until we are at least 3-4 napari releases deep into depending on app-model.  however, we could perhaps use some strategic max version pins that we could go past on app-model if we specifically want to indicate a drop in support for an older napari release.  like, we could pin now to <0.3 or something, and then release 0.3 to stop providing updates for napari 0.4.17?  or i dunno.  maybe since app-model is pretty solidly tested (and unlikely to need hot-fixes) we can just start with a strong pin.  dunno

Or you do not have a plan to merge this before 0.4.17

well, it's conceivable, but i'd certainly like to have this merged real soon! 😄

I actually see them being in another repo as a benefit (given how long/slow an actual napari release is). My preference would not be to pin them, but rather to run naparis tests in those repos. That has worked well for magicgui and npe2 and psygnal

Agreed - i'd rather not pin too for this reason

however, we could perhaps use some strategic max version pins that we could go past on app-model if we specifically want to indicate a drop in support for an older napari release. like, we could pin now to <0.3 or something, and then release 0.3

I like the idea of pinning the upper version and just dropping support for the older version when it is needed, as my main worry is not to break pip install napari==0.4.17 like commands because we need to do some breaking change to push napari development.
I think that we should test for compatibility with all napari versions that declare compatibility with the package version.

I left a more detailed review of https://github.com/napari/napari/pull/4847 (partially by accident, but that's also the direction I prefer).

quick question about "direction I prefer" ... were you mistaking this PR for the (now closed) alternative to #4847, which was #4844?  This PR here is required for all future PRs, it's the integration of app model in general, which those PRs were just building on this PR to implement plugin menus.  I'll incorporate your comments from #4874 in this pr.

OK, I think I've covered all the comments here (and included @nclack's comments added in #4847).  This is ready to go.  Would appreciate any final thoughts soonish please :smile:.  thanks!

were you mistaking this PR for the (now closed) alternative to https://github.com/napari/napari/pull/4847, which was https://github.com/napari/napari/pull/4844?

Yes. Thanks for dealing with my comments.  This looks ready to merge to me.


Black screen "Untitled Window" on Peppermint 10 (Ubuntu 18)

I'm using SBCL, Emacs + SLIME and quicklisp and i unfortunately can't get it to work :disappointed:
Here's the output of glxinfo:
OpenGL vendor string: X.Org OpenGL renderer string: AMD PALM (DRM 2.50.0 / 4.18.0-18-generic, LLVM 7.0.0) OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.2.8 OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.1 Mesa 18.2.8 OpenGL shading language version string: 1.40 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.2.8 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10 OpenGL ES profile extensions:
And here's a screenshot of what i have achieved so far...

Sorry for the long wait.
I really need to add a splash screen and instructions/help menu on what to do.
If you focus on the window and press "E" the screen should turn blue and the test world[which doesn't exist now] will load, and you will be able to move with WASD, place blocks and move around.
Once you can see a blue screen and a white dot [the crosshair],
Then if you press "E" your mouse will be free again.
Now if you evaluate this:
(dotimes (x 100)
   (flet ((foo () (- (random 20) 10)))
        (world::plain-setblock (foo) (foo) (foo)  2)))

Then if you click on the window and press "E" again, grass blocks should appear.
Its very painful and convoluted, I really need to simplify the process.
Currently I'm trying to write documentation, tests and a tutorial but if you really want to get started then (world::plain-setblock x y z value) will place a block. (world::plain-setblock 0 0 0 1) will place a stone block at 0,0,0.


Allow disabling consumer groups with kafka input

The kafka input should have an option to support ignoring any stored offsets and instead consume from the latest (or oldest) offset each time the connection is established.

Would making consumer_group an interpolation field help here, perhaps?

Would making consumer_group an interpolation field help here, perhaps?

An alternative is that you allow users to specify an empty consumer group which disables partition balancing and offset persistence. A minor annoyance here is that Benthos sets it to a default value, so you'd need to add an explicit consumer_group: "" to your config, but we can have it empty by default in V4.
Allowing consumer group interpolations has the advantage of being able to resume a previous group if you later decide to, but we're not really offering any tools for enabling that, so you'd need to manually dig out the random identifier and make it explicit in the Benthos config. It would also mean persisting an unbounded number of group offsets, meaning if the retention period (offsets.retention.minutes) of the broker is high we'd potentially end up taking a significant amount of space and resources for information that's likely being unused.
The consumer group interpolation approach is definitely cleaner for us to implement (kudos to @DeeJayBro) but I'm a little worried that once the cats out of the bag we're then responsible for any negative repercussions, and this is something that could end up slowing down brokers if a user isn't careful.

An alternative is that you allow users to specify an empty consumer group which disables partition balancing and offset persistence. A minor annoyance here is that Benthos sets it to a default value, so you'd need to add an explicit consumer_group: "" to your config, but we can have it empty by default in V4.
Allowing consumer group interpolations has the advantage of being able to resume a previous group if you later decide to, but we're not really offering any tools for enabling that, so you'd need to manually dig out the random identifier and make it explicit in the Benthos config. It would also mean persisting an unbounded number of group offsets, meaning if the retention period (offsets.retention.minutes) of the broker is high we'd potentially end up taking a significant amount of space and resources for information that's likely being unused.
The consumer group interpolation approach is definitely cleaner for us to implement (kudos to @DeeJayBro) but I'm a little worried that once the cats out of the bag we're then responsible for any negative repercussions, and this is something that could end up slowing down brokers if a user isn't careful.

Another alternative would be to add an option to reset the offset to oldest or newest on startup, but this could potentially lead to problems with other consumers already online, but completely disabling offset persistence would prob be the cleanest solution

Another alternative would be to add an option to reset the offset to oldest or newest on startup, but this could potentially lead to problems with other consumers already online, but completely disabling offset persistence would prob be the cleanest solution

Yeah let's go with disabling the consumer group. The logic for the kafka input is already quite complex specifically around commits due to the checkpointer but hopefully this should be fairly quick and easy to add.

And what about to have a parameter like the -o (offset) in kafkacat where we can set if we want to read from the end (-o end), from the beginning (-o begin) or from an absolute or relative value:
                     beginning | end | stored |
                     <value>  (absolute offset) |
                     -<value> (relative offset from end)
                     s@<value> (timestamp in ms to start at)
                     e@<value> (timestamp in ms to stop at (not included))```

What about disabling auto.commit.offset, so we can use the existing start_from_oldest to define the offset at each startup. Because no last offsets are saved in the Kafka, thus the user doesn't accidentally flood resources etc

+1 for this request. disabling offset commit via explicit variable works for me. Specifying empty clientid works as well.

Would use this feature as well!

Disabling commits might be a nice compromise. A risk there is that because you would still be joining a consumer group you are subject to partition rebalancing, and since we wouldn't have an offset saved it would mean that every time a rebalance occurs you would either introduce a flood of duplicates with start_from_oldest, or drop data without. My understanding is that rebalances can occur quite often under certain circumstances, and even when there's only one active client in the group.
I'm still in the mindset that the ability to disable consumer groups is so far the only clean solution here that doesn't introduce odd side effects and confusing behaviour.
This seems like quite a high demand feature so if I have time I'll take a look soon.

Okay so I've implemented this in https://github.com/Jeffail/benthos/commit/76264dfe8c6afba31b5383093ee97041578fc92b, you can now set the consumer group to be empty (consumer_group: ""). However, I haven't enabled this for unexplicit partitions, so for example with topics: [ foo ] you will get an error if you don't have a consumer group specified, but topics: [ foo:0-10 ] will work (and consume partitions 0 through 10).
My reasoning for this is that it would be reasonable to expect in the case of topics: [ foo ] that if new partitions are created whilst Benthos is consuming that it would automatically consume those as well, and until that behaviour is implemented I'd rather not imply that it is.
We also don't have a way of specifying a specific offset to start from. I've considered expanding the topic syntax to allow for this but it'd need some design work, it could look something like topics: [ foo:0:1020 ], not sure how we'd also offer timestamps.
If you're interested in any of these outstanding features then please open a separate issue.


[FLINK-25573][kafka] Migrate KafkaSink to SinkV2

What is the purpose of the change
This PR enables SinkV2s in the Table API and migrates the KafkaSink to the new API.
Brief change log

ebf312825d25e48b967c4c52df228c0319a3235e Adds a SinkV2Provider to retrieve the transformation from the new sink (very similar to SinkProvider)
54d2712f829412110a7b71254710a7d1a8ea38b1 Migrates the existing Kafka connector to the new Sink API

Verifying this change

Added ITCase to verify that Sink V2 works in the Table API
All Kafka table tests still pass and the change did not change the production code

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@flinkbot run azure


Fix typo in Administrator

@javierruizjimenez : Thanks for your contribution! The author, @eross-msft, has been notified to review your proposed change.

@javierruizjimenez  Thanks!
#sign-off


figure 5 in paper

hello ,in Figure 5 of your paper,GeoNet shows clear advantages in occluded ,texture ambiguous regions,and even in shaded dim area.
but  i can't see the comparison of GeoNet Predictions and other methods like DirFlowNetsS,can you show it in the figure ,and where is the difference between GeoNet Error and DirFlowNetsS Error? i can't see the advantages of GeoNet.can you show the accurate data and show more pictures (not just chose the best 4 input)

In Fig.5, the 4th & 5th columns show the qualitative comparison between GeoNet and DirFlowNetS. The red or orange regions indicate erroneous predictions.
Regarding accurate quantitative comparison, refer to Table.2 where we clearly show the end point error statistics.

oh,oh ,sorry ,i  don' t make clear before ,thank you for your explanation.it means the bigger red and orange regions ,the more erroneous predictions are ?

Yes. Such visualization approach follows the official KITTI benchmark, as provided in their development kit.


Is it possible to disable the lightbulb for unfocused buffer?

When splitting a window with different buffers, I want to see the lightbulb only in the current buffer.
I'm trying to use WinLeave and BufLeave events to call this function
require("nvim-lightbulb").update_lightbulb({
    virtual_text = { enabled = false },
})

But it doesn't work, is there a way to do so?

I'm also looking for a way to disable the lightbulb showing in my Nvim Tree panel.

@ctrlplusb my workaround for this is putting this callback on WinLeave event
      local ns = vim.api.nvim_create_namespace("nvim-lightbulb")
      vim.api.nvim_buf_clear_namespace(args.buf, ns, 0, -1)
      require("nvim-lightbulb").update_lightbulb({
        virtual_text = { enabled = false },
      })

Hello! There are a few ways to solve this with the latest release.

Configure ignore.ft to the filetypes you wish to ignore (like neo-tree)
Set  hide_in_unfocused_buffer = true to stop showing a lightbulb on WinLeave

Please file another issue should you find a problem with the feature


question regarding loading

Hi! First of all, great extension! thank you for doing it, and I really really appreciate your commitment (it's hard to maintain and respond to issues). I have a question, in my chrome there is still delay, in fact, 2:

new page is loaded, I see reels block which disappears a little bit later (all settings are set to prevent this kind of thing). I suspect that this one might be due to unfinished loading of page. I wonder if anything can be made in this case. can extension not show facebook page at all before the reels are not hidden? Im ok to wait with blank screen some time.
when I scroll facebook there are reels blocks which are not hidden but they become hidden in 2-3 seconds.

Hey,
Thanks :)
So one thing to check is the 5s load delay - make sure it is unchecked
The other cause is waiting on the facebook feed to be fully rendered so we can find it.
Ref: https://github.com/mrinc/F-B-Hide-Recommendations-and-Reels/blob/master/src/content/index.ts#L672

https://github.com/mrinc/F-B-Hide-Recommendations-and-Reels/blob/master/src/content/index.ts#L702
And that just takes a bit of time.... we could add a cover on the page so it's hidden and then is rendered - that is possible indeed.
The only thing we need to account for is the case where we cannot find the feed - ie: inner pages (not home page)
So we have to make sure we don't break standard use of FB.

We might have to do a URL test during load - if home page - then add cover else no cover.
If you can, push through a PR and lets have a look :)
Yea, I have a debounce set on the scroll events.
I know there was a fork that used html events, however I found some times that trying to run immediately caused some oddities with FB so I just kept it the original way - ref: https://github.com/mrinc/F-B-Hide-Recommendations-and-Reels/blob/master/src/content/index.ts#L706
But if you want to try optimize this, happy to see how it goes

the thing is I dont know js/ts stuff, I'm into python and backend languages so there is very little what can I help with. But as I see from other issues raised (although they are often with few details) I think that is what is pressing.

fork idea is quite good btw

So I cannot add a loader currently... code is there for future - but there needs to be a bunch of thought into it before we can do it.
I have sped up initial load of the plugin ... but can only speed it up so much ...
See how the new version is when it comes out and we can go from there re the speed.


Added New CheatSheet Of HTML

What does this PR do?
I added a new CheatSheet HTML 5 - The Mega CheatSheet by Jamie Spencer and is a pdf file  (For hacktober fest).
For resources
Description

This CheatSheet is free on Make A Website Hub Website and they are also distributing it for free through their website download page.
Hope it helps (My 1st contribution to this repo)

Why is this valuable (or not)?

This Mega CheatSheet contains 99.9% all the elements of HTML updated till date.

How do we know it's really free?

You can check out Make A Website Hub and as soon as you land, there is an option DOWNLOAD A4 PDF OF THIS HTML 5 MEGA CHEAT SHEET HERE!.

For book lists, is it a book? For course lists, is it a course? etc.
Yes, CheatSheet, HTML 5 Mega CheatSheet .
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates. -Done
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Merge it please, I want to make furthermore 3 PR.

Done the changes!!! Please give it a review!

Thanks, and welcome to free-programming-books!


请提出你的问题
网页请求得到{"detail":"Not Found"}，
日志输出为INFO:     <IP_ADDRESS>:64463 - "GET / HTTP/1.1" 404 Not Found

测试能通过吗？

https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/code_generation/codegen#测试服务

看上去是个bug。codegen_server.py:79
@app.post("/v1/engines/codegen/completions", status_code=200)
改成
@app.post("/engines/codegen/completions", status_code=200)
就能通了，但用例子返回500了。有用的信息如下
我cuda装的12，cudnn也是对应配套的，但最早有报错貌似用不了12（找不到cudnn64_7.dll），我就找了个别的目录的cudnn64_7.dll写到了path里面能起来了。想问一下cuda环境用啥？10.0？10.2？python版本呢？我现在用的3.10
RuntimeError: (PreconditionNotMet) The third-party dynamic library (cublas64_102.dll;cublas64_10.dll) that Paddle depends on is not configured correctly. (error code is 126)
Suggestions:

Check if the third-party dynamic library (e.g. CUDA, CUDNN) is installed correctly and its version is matched with paddlepaddle you installed.
Configure third-party dynamic library environment variables as follows:

Linux: set LD_LIBRARY_PATH by export LD_LIBRARY_PATH=...
Windows: set PATH by `set PATH=XXX; (at ..\paddle\phi\backends\dynload\dynamic_loader.cc:305)
[operator < linear > error]
[2023-03-29 14:28:35,204] [   ERROR] h11_impl.py:369 - Exception in ASGI application

cuda用的10.2,python3.8

版本问题：https://github.com/PaddlePaddle/PaddleNLP/blob/develop/examples/code_generation/codegen/requirements.txt#L6

版本问题：https://github.com/PaddlePaddle/PaddleNLP/blob/develop/examples/code_generation/codegen/requirements.txt#L6

我降低python版本解决了该问题，后续生成成功调用，但是生成内容只有！
[2023-03-29 16:05:52,810] [    INFO] - Start generating code
[2023-03-29 16:05:52,990] [    INFO] - Finish generating code
[2023-03-29 16:05:52,991] [    INFO] - Time cost: 0.18152546882629395
[2023-03-29 16:05:52,994] [    INFO] - Generated code: !
INFO:     <IP_ADDRESS>:63833 - "POST /v1/engines/codegen/completions HTTP/1.1" 200 OK
[2023-03-29 16:05:53,102] [    INFO] - Request: {'prompt': 'import openai\r\ndef openaitest():\r\n    openai.api_key = 'dummy'\r\n    openai.api_base = 'http://<IP_ADDRESS>:8978'\r\n    result = openai.Completion.create(\r\n        engine='codegen', prompt='def hello', max_tokens=16, temperature=0.1)\r\n    print(result)\r\nlog_path = "2023-03-27_18-51-24-989546(<IP_ADDRESS>04).log"\r\nwith open(log_path,encoding='utf-8') as f:\r\n    f.read()\r\n\r\n#调用', 'stream': False}
[2023-03-29 16:05:53,103] [    INFO] - Start generating code
[2023-03-29 16:05:53,280] [    INFO] - Finish generating code
[2023-03-29 16:05:53,281] [    INFO] - Time cost: 0.17859983444213867
[2023-03-29 16:05:53,283] [    INFO] - Generated code: !
INFO:     <IP_ADDRESS>:63835 - "POST /v1/engines/codegen/completions HTTP/1.1" 200 OK
[2023-03-29 16:05:55,571] [    INFO] - Request: {'prompt': 'import openai\r\ndef openaitest():\r\n    openai.api_key = 'dummy'\r\n    openai.api_base = 'http://<IP_ADDRESS>:8978'\r\n    result = openai.Completion.create(\r\n        engine='codegen', prompt='def hello', max_tokens=16, temperature=0.1)\r\n    print(result)\r\nlog_path = "2023-03-27_18-51-24-989546(<IP_ADDRESS>04).log"\r\nwith open(log_path,encoding='utf-8') as f:\r\n    f.read()\r\n\r\n#调用o', 'stream': False}

想问下你这个python版本是多少？然后可以预测java语言吗？

测试能通过吗？
我解决了以上问题，并用fauxpilot联上了本地服务器，但是只要一开始请求服务器就得到如下错误

[2023-03-29 15:55:39,977] [ INFO] - Start generating code INFO: <IP_ADDRESS>:61740 - "POST /v1/engines/codegen/completions HTTP/1.1" 500 Internal Server Error ERROR: Exception in ASGI application Traceback (most recent call last): File "D:\python38\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 366, in run_asgi result = await app(self.scope, self.receive, self.send) File "D:\python38\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 75, in call return await self.app(scope, receive, send) File "D:\python38\lib\site-packages\fastapi\applications.py", line 269, in call await super().call(scope, receive, send) File "D:\python38\lib\site-packages\starlette\applications.py", line 124, in call await self.middleware_stack(scope, receive, send) File "D:\python38\lib\site-packages\starlette\middleware\errors.py", line 184, in call raise exc File "D:\python38\lib\site-packages\starlette\middleware\errors.py", line 162, in call await self.app(scope, receive, _send) File "D:\python38\lib\site-packages\starlette\exceptions.py", line 93, in call raise exc File "D:\python38\lib\site-packages\starlette\exceptions.py", line 82, in call await self.app(scope, receive, sender) File "D:\python38\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 21, in call raise e File "D:\python38\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in call await self.app(scope, receive, send) File "D:\python38\lib\site-packages\starlette\routing.py", line 670, in call await route.handle(scope, receive, send) File "D:\python38\lib\site-packages\starlette\routing.py", line 266, in handle await self.app(scope, receive, send) File "D:\python38\lib\site-packages\starlette\routing.py", line 65, in app response = await func(request) File "D:\python38\lib\site-packages\fastapi\routing.py", line 227, in app raw_response = await run_endpoint_function( File "D:\python38\lib\site-packages\fastapi\routing.py", line 160, in run_endpoint_function return await dependant.call(**values) File "D:\python\paddlenlp\examples\code_generation\codegen\codegen_server.py", line 92, in gen output, _ = model.generate( File "D:\python38\lib\site-packages\decorator.py", line 232, in fun return caller(func, *(extras + args), **kw) File "D:\python38\lib\site-packages\paddle\fluid\dygraph\base.py", line 354, in _decorate_function return func(*args, **kwargs) File "D:\python38\lib\site-packages\paddlenlp\transformers\generation_utils.py", line 850, in generate return self.greedy_search( File "D:\python38\lib\site-packages\paddlenlp\transformers\generation_utils.py", line 947, in greedy_search outputs = self(**model_inputs) File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 930, in call return self._dygraph_call_func(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 915, in _dygraph_call_func outputs = self.forward(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddlenlp\transformers\codegen\modeling.py", line 648, in forward transformer_outputs = self.transformer( File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 930, in call return self._dygraph_call_func(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 915, in _dygraph_call_func outputs = self.forward(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddlenlp\transformers\codegen\modeling.py", line 487, in forward outputs = block( File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 930, in call return self._dygraph_call_func(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 915, in _dygraph_call_func outputs = self.forward(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddlenlp\transformers\codegen\modeling.py", line 257, in forward attn_outputs = self.attn( File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 930, in call return self._dygraph_call_func(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 915, in _dygraph_call_func outputs = self.forward(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddlenlp\transformers\codegen\modeling.py", line 186, in forward k_rot = apply_rotary_pos_emb(k_rot, sincos, offset=offset) File "D:\python38\lib\site-packages\paddlenlp\transformers\codegen\modeling.py", line 78, in apply_rotary_pos_emb return (x * cos) + (rotate_every_two(x) * sin) File "D:\python38\lib\site-packages\paddlenlp\transformers\codegen\modeling.py", line 64, in rotate_every_two x1 = x[:, :, :, ::2] File "D:\python38\lib\site-packages\paddle\fluid\dygraph\varbase_patch_methods.py", line 740, in getitem return self._getitem_index_not_tensor(item) RuntimeError: (NotFound) There are no kernels which are registered in the strided_slice operator. [Hint: Expected kernels_iter != all_op_kernels.end(), but received kernels_iter == all_op_kernels.end().] (at ..\paddle\fluid\imperative\prepared_operator.cc:341)

hello  我也遇到这个问题  请问您是怎么解决的？

测试能通过吗？
我解决了以上问题，并用fauxpilot联上了本地服务器，但是只要一开始请求服务器就得到如下错误

[2023-03-29 15:55:39,977] [ INFO] - Start generating code INFO: <IP_ADDRESS>:61740 - "POST /v1/engines/codegen/completions HTTP/1.1" 500 Internal Server Error ERROR: Exception in ASGI application Traceback (most recent call last): File "D:\python38\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 366, in run_asgi result = await app(self.scope, self.receive, self.send) File "D:\python38\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 75, in call return await self.app(scope, receive, send) File "D:\python38\lib\site-packages\fastapi\applications.py", line 269, in call await super().call(scope, receive, send) File "D:\python38\lib\site-packages\starlette\applications.py", line 124, in call await self.middleware_stack(scope, receive, send) File "D:\python38\lib\site-packages\starlette\middleware\errors.py", line 184, in call raise exc File "D:\python38\lib\site-packages\starlette\middleware\errors.py", line 162, in call await self.app(scope, receive, _send) File "D:\python38\lib\site-packages\starlette\exceptions.py", line 93, in call raise exc File "D:\python38\lib\site-packages\starlette\exceptions.py", line 82, in call await self.app(scope, receive, sender) File "D:\python38\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 21, in call raise e File "D:\python38\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in call await self.app(scope, receive, send) File "D:\python38\lib\site-packages\starlette\routing.py", line 670, in call await route.handle(scope, receive, send) File "D:\python38\lib\site-packages\starlette\routing.py", line 266, in handle await self.app(scope, receive, send) File "D:\python38\lib\site-packages\starlette\routing.py", line 65, in app response = await func(request) File "D:\python38\lib\site-packages\fastapi\routing.py", line 227, in app raw_response = await run_endpoint_function( File "D:\python38\lib\site-packages\fastapi\routing.py", line 160, in run_endpoint_function return await dependant.call(**values) File "D:\python\paddlenlp\examples\code_generation\codegen\codegen_server.py", line 92, in gen output, _ = model.generate( File "D:\python38\lib\site-packages\decorator.py", line 232, in fun return caller(func, *(extras + args), **kw) File "D:\python38\lib\site-packages\paddle\fluid\dygraph\base.py", line 354, in _decorate_function return func(*args, **kwargs) File "D:\python38\lib\site-packages\paddlenlp\transformers\generation_utils.py", line 850, in generate return self.greedy_search( File "D:\python38\lib\site-packages\paddlenlp\transformers\generation_utils.py", line 947, in greedy_search outputs = self(**model_inputs) File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 930, in call return self._dygraph_call_func(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 915, in _dygraph_call_func outputs = self.forward(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddlenlp\transformers\codegen\modeling.py", line 648, in forward transformer_outputs = self.transformer( File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 930, in call return self._dygraph_call_func(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 915, in _dygraph_call_func outputs = self.forward(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddlenlp\transformers\codegen\modeling.py", line 487, in forward outputs = block( File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 930, in call return self._dygraph_call_func(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 915, in _dygraph_call_func outputs = self.forward(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddlenlp\transformers\codegen\modeling.py", line 257, in forward attn_outputs = self.attn( File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 930, in call return self._dygraph_call_func(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddle\fluid\dygraph\layers.py", line 915, in _dygraph_call_func outputs = self.forward(*inputs, **kwargs) File "D:\python38\lib\site-packages\paddlenlp\transformers\codegen\modeling.py", line 186, in forward k_rot = apply_rotary_pos_emb(k_rot, sincos, offset=offset) File "D:\python38\lib\site-packages\paddlenlp\transformers\codegen\modeling.py", line 78, in apply_rotary_pos_emb return (x * cos) + (rotate_every_two(x) * sin) File "D:\python38\lib\site-packages\paddlenlp\transformers\codegen\modeling.py", line 64, in rotate_every_two x1 = x[:, :, :, ::2] File "D:\python38\lib\site-packages\paddle\fluid\dygraph\varbase_patch_methods.py", line 740, in getitem return self._getitem_index_not_tensor(item) RuntimeError: (NotFound) There are no kernels which are registered in the strided_slice operator. [Hint: Expected kernels_iter != all_op_kernels.end(), but received kernels_iter == all_op_kernels.end().] (at ..\paddle\fluid\imperative\prepared_operator.cc:341)

hello 我也遇到这个问题 请问您是怎么解决的？

PaddlePaddle升级到最新版


Implementing #352 #356 (Partial: #245) and improvements

#245
Resolve #352
Resolve #356

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 32

Complexity increasing per file
==============================
- mongodb/factory/prof_base.py  10
- mongodb/factory/mixin/prop.py  3
- mongodb/factory/prof_main.py  11

Complexity decreasing per file
==============================
+ models/utils/validators.py  -3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 32

Complexity increasing per file
==============================
- mongodb/factory/mixin/prop.py  3
- mongodb/factory/prof_main.py  11
- mongodb/factory/prof_base.py  10

Complexity decreasing per file
==============================
+ models/utils/validators.py  -3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 32

Complexity increasing per file
==============================
- mongodb/factory/prof_main.py  11
- mongodb/factory/prof_base.py  10
- mongodb/factory/mixin/prop.py  3

Complexity decreasing per file
==============================
+ models/utils/validators.py  -3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 32

Complexity increasing per file
==============================
- mongodb/factory/prof_main.py  11
- mongodb/factory/mixin/prop.py  3
- mongodb/factory/prof_base.py  10

Complexity decreasing per file
==============================
+ models/utils/validators.py  -3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 32

Complexity increasing per file
==============================
- mongodb/factory/mixin/prop.py  3
- mongodb/factory/prof_main.py  11
- mongodb/factory/prof_base.py  10
- script_check_trans.py  8

Complexity decreasing per file
==============================
+ models/utils/validators.py  -3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 32

Complexity increasing per file
==============================
- mongodb/factory/mixin/prop.py  3
- mongodb/factory/prof_base.py  10
- mongodb/factory/prof_main.py  11
- script_check_trans.py  8

Complexity decreasing per file
==============================
+ models/utils/validators.py  -3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 61

Complexity increasing per file
==============================
- mongodb/factory/prof_main.py  11
- script_check_trans.py  8
- mongodb/factory/prof_base.py  10
- mongodb/factory/mixin/prop.py  3

Complexity decreasing per file
==============================
+ models/user.py  -1
+ models/utils/validators.py  -3
+ mongodb/factory/stats.py  -1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 94
- Added 2

Complexity increasing per file
==============================
- mongodb/factory/prof_main.py  11
- mongodb/factory/prof_base.py  10
- models/stats/base.py  8
- models/stats/msg.py  10
- mongodb/factory/mixin/prop.py  3
- script_check_trans.py  8
- models/stats/model.py  1

Complexity decreasing per file
==============================
+ models/user.py  -1
+ mongodb/factory/stats.py  -1
+ models/utils/validators.py  -3
+ msghandle/handle.py  -3
+ mongodb/helper/stats.py  -1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 95
- Added 2

Complexity increasing per file
==============================
- mongodb/factory/prof_main.py  11
- mongodb/factory/mixin/prop.py  3
- models/stats/model.py  1
- models/stats/base.py  8
- strres/extutils.py  3
- models/stats/msg.py  10
- script_check_trans.py  8
- mongodb/factory/prof_base.py  10

Complexity decreasing per file
==============================
+ mongodb/factory/stats.py  -1
+ msghandle/handle.py  -3
+ models/utils/validators.py  -3
+ models/user.py  -1
+ mongodb/helper/stats.py  -1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 98

Complexity increasing per file
==============================
- mongodb/factory/mixin/prop.py  3
- models/stats/msg.py  10
- mongodb/factory/prof_main.py  11
- strres/extutils.py  3
- script_check_trans.py  8
- models/stats/base.py  8
- models/stats/model.py  1
- mongodb/factory/prof_base.py  10

Complexity decreasing per file
==============================
+ models/utils/validators.py  -3
+ mongodb/factory/stats.py  -1
+ msghandle/handle.py  -3
+ mongodb/helper/stats.py  -1
+ models/user.py  -1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 98

Complexity increasing per file
==============================
- script_check_trans.py  8
- mongodb/factory/mixin/prop.py  3
- mongodb/factory/prof_base.py  10
- strres/extutils.py  3
- models/stats/model.py  1
- mongodb/factory/prof_main.py  11
- models/stats/msg.py  10
- models/stats/base.py  8

Complexity decreasing per file
==============================
+ models/user.py  -1
+ mongodb/helper/stats.py  -1
+ msghandle/handle.py  -3
+ models/utils/validators.py  -3
+ mongodb/factory/stats.py  -1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 98

Complexity increasing per file
==============================
- strres/extutils.py  3
- mongodb/factory/mixin/prop.py  3
- mongodb/factory/prof_base.py  10
- models/stats/base.py  8
- models/stats/model.py  1
- mongodb/factory/prof_main.py  11
- script_check_trans.py  8
- models/stats/msg.py  10

Complexity decreasing per file
==============================
+ mongodb/factory/stats.py  -1
+ models/user.py  -1
+ msghandle/handle.py  -3
+ models/utils/validators.py  -3
+ mongodb/helper/stats.py  -1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 98

Complexity increasing per file
==============================
- mongodb/factory/mixin/prop.py  3
- models/stats/model.py  1
- script_check_trans.py  8
- models/stats/msg.py  10
- strres/extutils.py  3
- mongodb/factory/prof_base.py  10
- mongodb/factory/prof_main.py  11
- models/stats/base.py  8

Complexity decreasing per file
==============================
+ models/utils/validators.py  -3
+ models/user.py  -1
+ msghandle/handle.py  -3
+ mongodb/factory/stats.py  -1
+ mongodb/helper/stats.py  -1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 98

Complexity increasing per file
==============================
- models/stats/msg.py  10
- mongodb/factory/prof_base.py  10
- script_check_trans.py  8
- mongodb/factory/prof_main.py  11
- mongodb/factory/mixin/prop.py  3
- strres/extutils.py  3
- models/stats/model.py  1
- models/stats/base.py  8

Complexity decreasing per file
==============================
+ msghandle/handle.py  -3
+ models/utils/validators.py  -3
+ mongodb/helper/stats.py  -1
+ mongodb/factory/stats.py  -1
+ models/user.py  -1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 98

Complexity increasing per file
==============================
- models/stats/msg.py  10
- models/stats/model.py  1
- mongodb/factory/prof_base.py  10
- strres/extutils.py  3
- mongodb/factory/prof_main.py  11
- script_check_trans.py  8
- models/stats/base.py  8
- mongodb/factory/mixin/prop.py  3

Complexity decreasing per file
==============================
+ mongodb/factory/stats.py  -1
+ models/user.py  -1
+ msghandle/handle.py  -3
+ models/utils/validators.py  -3
+ mongodb/helper/stats.py  -1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 119

Complexity increasing per file
==============================
- mongodb/factory/prof_main.py  11
- mongodb/factory/prof_base.py  10
- strres/extutils.py  3
- script_check_trans.py  8
- mongodb/factory/mixin/prop.py  3
- models/stats/base.py  8
- models/stats/msg.py  10
- models/stats/model.py  1

Complexity decreasing per file
==============================
+ mongodb/factory/stats.py  -1
+ mongodb/helper/stats.py  -1
+ msghandle/handle.py  -3
+ models/user.py  -1
+ models/utils/validators.py  -3

Clones removed
==============
+ msghandle/botcmd/command/ar.py  -2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 135
- Added 1

Complexity increasing per file
==============================
- mongodb/factory/prof_base.py  10
- models/stats/base.py  8
- mongodb/factory/prof_main.py  11
- strres/extutils.py  3
- models/stats/model.py  1
- models/stats/msg.py  10
- mongodb/factory/mixin/prop.py  3
- script_check_trans.py  8

Complexity decreasing per file
==============================
+ models/utils/validators.py  -3
+ models/user.py  -1
+ msghandle/handle.py  -3
+ mongodb/helper/stats.py  -1
+ mongodb/factory/stats.py  -1

Clones removed
==============
+ msghandle/botcmd/command/ar.py  -2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 119

Complexity increasing per file
==============================
- mongodb/factory/prof_base.py  10
- models/stats/msg.py  10
- script_check_trans.py  8
- mongodb/factory/prof_main.py  11
- mongodb/factory/mixin/prop.py  3
- models/stats/model.py  1
- models/stats/base.py  8
- strres/extutils.py  3

Complexity decreasing per file
==============================
+ mongodb/helper/stats.py  -1
+ models/utils/validators.py  -3
+ mongodb/factory/stats.py  -1
+ models/user.py  -1
+ msghandle/handle.py  -3

Clones removed
==============
+ msghandle/botcmd/command/ar.py  -2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 136
- Added 1

Complexity increasing per file
==============================
- mongodb/factory/prof_main.py  11
- mongodb/factory/mixin/prop.py  3
- strres/extutils.py  3
- models/stats/msg.py  10
- mongodb/factory/prof_base.py  10
- models/stats/base.py  8
- models/stats/model.py  1
- script_check_trans.py  8

Complexity decreasing per file
==============================
+ models/user.py  -1
+ models/utils/validators.py  -3
+ mongodb/factory/stats.py  -1
+ mongodb/helper/stats.py  -1
+ msghandle/handle.py  -3

Clones removed
==============
+ msghandle/botcmd/command/ar.py  -2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 181

Complexity increasing per file
==============================
- models/stats/model.py  1
- models/stats/base.py  8
- mongodb/factory/mixin/prop.py  3
- script_check_trans.py  8
- mongodb/factory/prof_base.py  10
- mongodb/factory/prof_main.py  11
- models/stats/msg.py  10
- strres/extutils.py  3

Complexity decreasing per file
==============================
+ mongodb/factory/stats.py  -1
+ models/user.py  -1
+ msghandle/handle.py  -3
+ mongodb/helper/stats.py  -1
+ models/utils/validators.py  -3

Clones removed
==============
+ msghandle/botcmd/command/ar.py  -2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 188

Complexity increasing per file
==============================
- script_check_trans.py  8
- models/stats/model.py  1
- models/stats/msg.py  10
- mongodb/factory/prof_main.py  11
- strres/extutils.py  3
- mongodb/factory/prof_base.py  10
- models/stats/base.py  8
- mongodb/factory/mixin/prop.py  3

Complexity decreasing per file
==============================
+ mongodb/factory/stats.py  -1
+ models/utils/validators.py  -3
+ models/user.py  -1
+ msghandle/handle.py  -3
+ mongodb/helper/stats.py  -1

Clones removed
==============
+ msghandle/botcmd/command/ar.py  -2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 188

Complexity increasing per file
==============================
- models/stats/base.py  8
- mongodb/factory/prof_main.py  11
- models/stats/msg.py  10
- models/stats/model.py  1
- strres/extutils.py  3
- mongodb/factory/mixin/prop.py  3
- script_check_trans.py  8
- mongodb/factory/prof_base.py  10

Complexity decreasing per file
==============================
+ mongodb/helper/stats.py  -1
+ mongodb/factory/stats.py  -1
+ models/utils/validators.py  -3
+ models/user.py  -1
+ msghandle/handle.py  -3

Clones removed
==============
+ msghandle/botcmd/command/ar.py  -2

See the complete overview on Codacy


dep does not honor source in lock file

I'm facing a lot of trouble with accessing internal github projects using dep.
I managed to get an inital lock and toml file using init, but ensure does not seem to use the sources specified in these files: it tries to access the https url instead of the git one, leading to errors when fetching.
Is this expected behavior? I would imagine ensure would be using the sources provided in the lock file.

is this a dupe of #860, perhaps?


Added parallel map to function compiler

still uncertain about unit testing, but perhaps I'll add something to the test app that'll execute this code (replace the bg bitmap with an array of bitmaps perhaps?)

[Current coverage][cc-pull] is 95.56%

Merging [#80][cc-pull] into [master][cc-base-branch] will decrease coverage by 1.37%

@@             master        #80   diff @@
==========================================
  Files            39         39
  Lines          1532       1554    +22
  Methods           0          0
  Messages          0          0
  Branches        263        266     +3
==========================================
  Hits           1485       1485
- Misses           19         41    +22
  Partials         28         28

Powered by Codecov. Last updated by [eb8999e...8bf1751][cc-compare]
[cc-base-branch]: https://codecov.io/gh/google/agera/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/google/agera/compare/eb8999e834ffec432bcad54bfeaaa77d080c2fc5...8bf17513e277873bb54985b5f650efa408d31158
[cc-pull]: https://codecov.io/gh/google/agera/pull/80?src=pr

@smile616


Format and cleanup Get-DbaRoleMember

Just cleaning up and format. Only minor code change to add the ComuterName, InstanceName and SqlInstance properties.
Also added a test for command.

Closing this for now until I determine if we should split this command up.


web3 直播 - hackusama 参赛

@fyang1024 @iorveth @KStasi @herryho @whalelephant
你们好，我是 Jimmy。是 Parity 亚洲团队的工程师，也负责开发社区的推广。我们打算对亚洲区 hackusama 参赛得奖团队作约15-20分钟的直播访谈。而你们是其中一队我们想约做访谈的。你们会有兴趣参与吗？
是的话，请加我微信确认：jimmychu0807
Hi, this is Jimmy. I am a runtime engineer in Parity Asia team, and also responsible for building our developer community in Asia. We would like to conduct a 15 - 20 mins interview with teams who have won in the Hackusama, and you are one of the teams interested talking to. The interview will be streamed on our Crowdcast and Bilibili site. Would you be interested to participate in the interview?
If yes, please add my wechat to confirm: jimmychu0807

詳情 Details
时间 Time：10月9日 18:00 - 19:00 (UTC +8)  / Oct 9th 18:00 - 19:00 (UTC +8)
软件 Software： Zoom
使用语言 Language：主要中文，但用英文也可以 / Mainly Chinese, but feel free to use English as well
主要问题 / Questions：

为什么参加这次 Hackusama?  / Why did you participate in this Hackusama?
参赛作品理念是什么？为何有这个构思? / What is the idea behind your project? What motivate you on this?
这次参赛作品会有后续发展吗？ / Would there be any further development on the project after the hackathon?
这次使用 Substrate 及其生态的工具来做开发感觉怎么样？什么地方好，什么地方有待提高？ / After building a project in Substrate ecosystem, what do you think about? What do you like? What do you hope to improve?

Thank you @jimmychu0807 for the invitation. I've added your WeChat. I believe @herryho also has added your WeChat.
We are interested in the interview. I think at least 2 or 3 members will be able to join the interview.

Hi team, I received the latest update that HQ is re-considering on which team to do a short interview in the upcoming AMA session. So forget about my request here. Sorry about this.


Challenge 223

My program seems to work as intended, but I'm unable to pass the challenge. I can't see where there can be a problem with my code
http://pastebin.com/2FQbcBZJ

Your code does not pass the third test:
After update(1245, "tracks", "Addicted to Love"), tracks should have "Addicted to Love" as the last element.
, because the value of tracks should remain an array rather than be assigned a string value.
This is not an issue with the challenge; please ask for a review of your code in the HelpJavaScript chat room when you have questions about your code rather than filing an issue.
Happy coding!


Uses LUIS which is being retired

Currently have a working c# server solution that uses the Speech Services sdk and the LUIS authoring portal as described in this doc and elsewhere. I am trying to upgrade my solution to use the newer Cognitive Language Understanding Service and cannot see how to connect the speech services sdk to the newer  cognitive language service. If this doc could be updated to reflect that, that would be great!
Thanks

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

ID: fa9000d2-c474-2dbd-4115-8daaf7b9afba
Version Independent ID: 14666aec-a1eb-eaa5-ab2e-3765f8a4d04b
Content: Intent recognition quickstart - Speech service - Azure Cognitive Services
Content Source: articles/cognitive-services/Speech-Service/get-started-intent-recognition.md
Service: cognitive-services
Sub-service: speech-service
GitHub Login: @eric-urban
Microsoft Alias: eur

@motive-ray
Thanks for your feedback! We will investigate and update as appropriate.

@motive-ray - Your request is timely. Support for Conversational language understanding will be available with the Speech SDK version 1.25 (coming soon). Please check the SDK release notes later next week.

@motive-ray - The CLU doc is now available here. Thanks!

#please-close


Fix/file load error handling

Problem
Closes #254
Solution

Replaced the try-catch block inside of the then callback in the customRequest function with a Promise.catch() to catch all errors, including exceptions that can happen inside the Promise.all() async function
In the catch callback, propagate the caught error message to the app state using the SET_STATUS action
Supply appropriate, helpful error messages depending on what the problem is

Bonus changes

Made the error notification display for 10 seconds instead of 4.5 seconds (can manually close anytime)
Tweaked/improved the util function that turns strings into sentence case so that a file extension mentioned in an error message doesn't get capitalized

☝🏻 Turn on "Hide whitespace changes" for a better diff
Type of change
Please delete options that are not relevant.

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
This change requires updated or new tests

Steps to Verify:

Download this zip file actin_bundle.zip and unzip it
With the downloaded files, try these scenarios. None of these scenarios should break the viewer (= viewer freezes/hangs without giving you a helpful error message).

Only load a geometry file or files (or any other file(s) that don't include a .simularium file)
Drag and drop a folder instead of a group of files
Load a trajectory file that requires local geometry files, but without any geometry files
Load a trajectory file that requires local geometry files, but without one of the geometry files
Load a trajectory that doesn't require any local geometry files

Try to break the viewer with some other kind of file upload scenario I didn't list above

Screenshots (optional):

File(s) did not include a .simularium file:

Didn't include geometry files (error message text is from the viewer):

Tried to load a folder:

Keyfiles (delete if not relevant):
src/components/LocalFileUpload/custom-request-upload.ts

I think this branch still has a problem: there are some errors that are supposed to warn the user but not stop the load process. This may mean we have to introduce the idea of "warning" but currently that's how it works on the test bed viewer app. Here is my collection of files, that purposely is missing some data, and it should warn the user that it is defaulting to spheres but it should still load. geo-test-colors.zip

Okay, yeah I didn't test any cases where the trajectory file itself is missing data, only cases having to do with the user loading the wrong thing or forgetting files. Let me see if this is a simple fix

I think this branch still has a problem: there are some errors that are supposed to warn the user but not stop the load process. This may mean we have to introduce the idea of "warning" but currently that's how it works on the test bed viewer app. Here is my collection of files, that purposely is missing some data, and it should warn the user that it is defaulting to spheres but it should still load. geo-test-colors.zip

Okay, yeah I didn't test any cases where the trajectory file itself is missing data, only cases having to do with the user loading the wrong thing or forgetting files. Let me see if this is a simple fix

Nevermind, this file is also missing spatialUnits and such, which is what was causing it to error out, when I fixed that it does load with the errors displaying. It would be nice if we sent in a "warning" attribute though so that the front end could display it with a different icon that the red X


AppImage Fails to Launch Due to Incorrect Sandbox Configuration

./wakatime-linux-x86_64.AppImage
[270386:0902/210500.033070:FATAL:setuid_sandbox_host.cc(163)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /tmp/.mount_wakatidh5Azd/chrome-sandbox is owned by root and has mode 4755.
Trace/breakpoint trap (core dumped)

Steps to Reproduce:

Download the wakatime-linux-x86_64.AppImage.
Make the AppImage executable (e.g., chmod +x wakatime-linux-x86_64.AppImage).
Execute the AppImage (e.g., ./wakatime-linux-x86_64.AppImage).

Expected Behavior:
The application should launch successfully without errors related to the sandbox configuration.

./wakatime-linux-x86_64.AppImage
[270386:0902/210500.033070:FATAL:setuid_sandbox_host.cc(163)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /tmp/.mount_wakatidh5Azd/chrome-sandbox is owned by root and has mode 4755.
Trace/breakpoint trap (core dumped)

Steps to Reproduce:
* Download the wakatime-linux-x86_64.AppImage.

* Make the AppImage executable (e.g., chmod +x wakatime-linux-x86_64.AppImage).

* Execute the AppImage (e.g., ./wakatime-linux-x86_64.AppImage).

Expected Behavior: The application should launch successfully without errors related to the sandbox configuration.

i am encountering the same issue

Temporary solution: run with flag --no-sandbox


#2517 Update deprecated use of json_normalize

Signed-off-by: Nigel Jones<EMAIL_ADDRESS>Fixes #2517

Added notes on memory/failure to retrieve report
Fixes #2497


fix: move tslib to dev dependencies

tslib is not used in the final bundle.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


chore: set permissions for routes

CUSTOM INPUTS
PRIVATE: router.get('/:userID', getCustomInputsByUser);

Retrieve personalized data for a particular user

PRIVATE: router.post('/', addCustomInput);

Users need be authenticated to submit inputs

MEAL SCHEDULES
PRIVATE: router.get('/:userID', getMealScheduleByUser);

Retrieve personalized data for a particular user

PRIVATE: router.post('/', createMealScheduleForUser);

Users need to be authenticated to create a meal schedule

PRIVATE: router.put('/:userID', updateMealScheduleForUser);

Users need to be authenticated to update their meal schedule

USER PROFILES
(?) Can expose certain fields in a UserProfile if we want to enable profiles to connect with each other
PRIVATE: router.get('/', getAllUserProfiles);

Profiles are confidential information

PRIVATE: router.get('/:userID', getUserProfileById);

A single profile is confidential

PRIVATE: router.post('/', createUserProfile);

a user must be authenticated to add finish generating their profile

PRIVATE: router.put('/:userID', updateUserProfile);

a user must be authenticated to update their own profile

PRIVATE: router.delete('/:userID', deleteUserProfileById);

a user must be authenticated to delete their own profile

WORKOUT SCHEDULES
(?) Change to public if we want to enable schedule sharing between users (I.E. lookup your friends profile and download their schedule)
PRIVATE: router.get('/:userID', getWorkoutScheduleByUserID);

a user may only view their own schedule when logged in

PRIVATE: router.post('/', createWorkoutSchedule);

a user must be authenticated to create their own schedule

PRIVATE: router.put('/:userID', updateUserWorkoutScheduleByUserID);

a user must be authenticated to update their own schedule

@d-x-s for any private routes (all of the routes in this PR basically), add the middleware, and ensure that the controllers are also documented similarly.


Added the ability to override the baseView classNameBindings

This fixes issue #139 by allowing a developer to set (or disable) the classNameBindings with a custom wrapper. I know the config key is a little verbose, but I think it makes sense. Added a test and everything looks green.
Anyone trying to use Bootstrap 3 with ember-easyForm will run into this issue when they have a field named "Label" (fairly common).

Closing in favor of #229


integrate curry into mne-testing-data

Update mne.datasets.utils.py according to https://github.com/mne-tools/mne-testing-data/pull/47
release version was changed from 0.65 to 0.66
testing hash was changed to the returned hash from:
python -c "import mne; mne.datasets.testing.data_path(force_update=True)"
Hope this is correct.

Thanks @DiGyt


Add a cli flag for sarif-to-comment to define report titles

This might have been a missing feature, the option was just missing from the cli https://github.com/azu/security-alert/issues/17

@azu just checking with you, I don't want to merge things without your approval :)


boards: arm: add ruuvi_ruuvitag

Adds ARM based Ruuvtag baord. This board is based on the nRF52832.
Signed-off-by: the BASTION theBASTI0N<EMAIL_ADDRESS>@carlescufi Thanks for the help earlier. I think this should have fixed the issue.
I have mentioned the flashing option via SWDIO and SWDCLK pin but did not go into detail.

Scancode / Scan code for licenses (pull_request) is failing on Kconfig.defconfig file.
Not sure why as it has the license header.

@theBASTI0N you need to squash the 3 commits together and then force-push. You also need to follow the commit formatting guidelines I linked you to.

@carlescufi Not sure why the last two checks are failing.

@carlescufi Not sure why the last two checks are failing.

They are all passing now, so this is ready once you get an additional approval. Note  that this will have to wait until 2.3 is released since the feature merge window is currently closed.

@carlescufi Thanks for the help.

@ioannisg @anangl can you review please?

Would there be a reason Shappable is now failing at:

Also I am not sure about buildkite either that seems new.

@theBASTI0N did you test the UART configuration on this board?  I've got some rev B7.1 boards, and am having no luck, even though I've confirmed that the selected RX/TX pins are correct by configuring them as LEDs.  Very strange.

Looks like missing default configs: the following are normally in board_defconfig, but of course aren't here because this board doesn't normally have a console.  Leaving any one of them off silently prevents console output from appearing.
CONFIG_SERIAL=y
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y


Update graphs.md

Jenkins, test this please.

Jenkins, test this please.

Can one of the admins verify this patch?


Merge pull request #22 from Midburn/develop

Develop

mergin the other way
this should not have happened
yuk


use cross-db macro to concat str in test

resolves dbt-labs/dbt-adapters#155
Description
In dbt.tests.adapter.basic.files, there is a string concatenation being done in the PostgreSQL syntax. This PR changes that to use the cross-db macro concat so that you don't have to override the SQL in that syntax just to make the concatenation work.
Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[x] I have run changie new to create a changelog entry

Thanks for taking the time to open this PR @sdebruyn! Since opening, we've decoupled dbt Adapters from dbt Core, and this code now lives in a separate repo: dbt-adapters.
A consequence of the decoupling is that PR can't be merged anymore as is, so we're closing it. For more context see #9171.
The linked issue has already been transferred. Please don't hesitate to re-open your proposed code changes within this PR in the dbt-adapters repo.


update README about what we do not support

@bors r+

:pushpin: Commit 4cbd31220bf710ecc917941fa7d836cad8d6eef0 has been approved by RalfJung

:hourglass: Testing commit 4cbd31220bf710ecc917941fa7d836cad8d6eef0 with merge fc8105ec581840b910c4f82372cce9e7f412292e...

:broken_heart: Test failed - checks-travis

@bors retry

:hourglass: Testing commit 4cbd31220bf710ecc917941fa7d836cad8d6eef0 with merge 4d765264151751a12a8e541acbe0e2231f40cede...

:sunny: Test successful - checks-travis, status-appveyor
Approved by: RalfJung
Pushing 4d765264151751a12a8e541acbe0e2231f40cede to master...


fix issue with casting to ISupportNugetPackage

When performing #!connect is kql and sql connection assume that the command is handled in a kernel that supports nuget packages.

cc @JustinMDotNet


Support unsubscribing from flows

Figure out how this should be done. Open questions:
Should subscribers know how to unsubscribe themselves?

Should unsubscribing be via a subscription token?
Is a Subscriber.onSubscribe needed?
Or onNext(value, token) overload with default implementation?

Should we support adding the same subscriber to multiple flows?

Semantics would get weird with possibly multiple onEnd/onError
Plus signals don't have a sender reference

Is it enough that onSubscribe receives a subscription token with which to unsubscribe?

Apparently not

Semantics re: async unsubscribing? How to avoid race conditions?

Should subscribers be prepared to get spurious signals after unsubscribe?
Or should callers somehow ensure this does not happen?
Latter would basically require locking in some form
Better to ask for forgiveness than permission?

f836f45047136f4615e4715e8179873b7db8b0da


Create SECURITY.md

@Miu98 I don't think this file is relevant to this quickstart repo.  We don't have "versions" that are supported.


Inline stem not quoted in the latex backend

https://github.com/asciidoctor/asciidoctor-latex/blob/652176e5f94ad7972a0d0bb4cc6721ce7a35fe93/lib/asciidoctor/latex/node_processors.rb#L801
Caused directly by the above line.

Yeah, I think [latexmath]: inline syntax should be wrapped so that we can write 100%  compatible Asciidoc.


docs(security): update documentation for MPS.md

PR Checklist

[X] Leverages formatting as provided by https://squidfunk.github.io/mkdocs-material/reference/abbreviations/
[X] Have viewed and verified edits in rendered form ensuring proper formatting

What are you changing?

Fixed formatting issue
Added additional details and clarity

Anything the reviewer should know when reviewing this PR?

Closing this pull request as commits are in #19


Add a test for a crash fixed by patch 8.1.1424

An expression mapping can also reproduce the crash.

Hangs on MS-Windows

Oh it needs CheckNotGui


dbNSFP: Update hg19_pos col name

The dash - in the column name causes vcf2db to exclude the data from the db for some reason. Removing it should fix the issue.
Cheers
M

Matthias -- thanks much for being on top of this and for the fix.


Initialize my_endpoints with my_endpoint

While I was trying to manually go through the invite/request process via Swagger I used the /connections/{conn_id}/accept-request endpoint and added My URL endpoint which resulted in an error 500.
Creating connection response
    connection_id: db0b89aa-df4c-4ec7-a99d-f11c1bcb18df

2020-09-09 12:32:12,290 aries_cloudagent.core.dispatcher ERROR Handler error: connections_accept_request
Traceback (most recent call last):
  File "/home/laurencedejong/.venv/aries-cloudagent-python/lib/python3.6/site-packages/aries_cloudagent/protocols/connections/v1_0/routes.py", line 435, in connections_accept_request
    response = await connection_mgr.create_response(connection, my_endpoint)
  File "/home/laurencedejong/.venv/aries-cloudagent-python/lib/python3.6/site-packages/aries_cloudagent/protocols/connections/v1_0/manager.py", line 488, in create_response
    my_info, connection.inbound_connection_id, my_endpoints
UnboundLocalError: local variable 'my_endpoints' referenced before assignment
2020-09-09 12:32:12,292 aries_cloudagent.admin.server ERROR Handler error with exception: local variable 'my_endpoints' referenced before assignment
2020-09-09 12:32:12,292 aiohttp.server ERROR Error handling request
Traceback (most recent call last):
  File "/home/laurencedejong/.venv/aries-cloudagent-python/lib/python3.6/site-packages/aiohttp/web_protocol.py", line 418, in start
    resp = await task
  File "/home/laurencedejong/.venv/aries-cloudagent-python/lib/python3.6/site-packages/aiohttp/web_app.py", line 458, in _handle
    resp = await handler(request)
  File "/home/laurencedejong/.venv/aries-cloudagent-python/lib/python3.6/site-packages/aiohttp/web_middlewares.py", line 119, in impl
    return await handler(request)
  File "/home/laurencedejong/.venv/aries-cloudagent-python/lib/python3.6/site-packages/aries_cloudagent/admin/server.py", line 146, in ready_middleware
    raise e
  File "/home/laurencedejong/.venv/aries-cloudagent-python/lib/python3.6/site-packages/aries_cloudagent/admin/server.py", line 136, in ready_middleware
    return await handler(request)
  File "/home/laurencedejong/.venv/aries-cloudagent-python/lib/python3.6/site-packages/aries_cloudagent/admin/server.py", line 161, in debug_middleware
    return await handler(request)
  File "/home/laurencedejong/.venv/aries-cloudagent-python/lib/python3.6/site-packages/aiohttp_apispec/middlewares.py", line 45, in validation_middleware
    return await handler(request)
  File "/home/laurencedejong/.venv/aries-cloudagent-python/lib/python3.6/site-packages/aries_cloudagent/admin/server.py", line 253, in apply_limiter
    return await task
  File "/home/laurencedejong/.venv/aries-cloudagent-python/lib/python3.6/site-packages/aries_cloudagent/protocols/connections/v1_0/routes.py", line 435, in connections_accept_request
    response = await connection_mgr.create_response(connection, my_endpoint)
  File "/home/laurencedejong/.venv/aries-cloudagent-python/lib/python3.6/site-packages/aries_cloudagent/protocols/connections/v1_0/manager.py", line 488, in create_response
    my_info, connection.inbound_connection_id, my_endpoints
UnboundLocalError: local variable 'my_endpoints' referenced before assignment

Codecov Report

Merging #715 into master will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #715      +/-   ##
==========================================
- Coverage   99.01%   99.00%   -0.01%
==========================================
  Files         254      254
  Lines       13698    13699       +1
==========================================
  Hits        13563    13563
- Misses        135      136       +1

Sure, do you want me to change it on lines 294-301 as well?


have to add extra driver init to get last chip to work

close the issue .... I was just tired

I know the feeling, have some rest :)


Arabic Language

Can you please also add Arabic Language as well or guide me how to add ?

Translations are made by community folks.
If you want to translate RainLoop by yourself, you need to add the language name in rainloop/v/0.0.0/app/i18n/langs.ini (maybe ask @RainLoop to do so), and then you need to create the translation file in rainloop/v/0.0.0/langs. The best thing is to copy the en.ini and translate it line by line. If you also want to translate the admin panel, do the same thing in rainloop/v/0.0.0/langs/admin.
Finally, you can send a pull request with the changes.
You might want to subscribe to issue #467, from which you'll be notified when new strings are added.


isXboxController returns false for XBOX 360 controller on Windows

Issue details
Xbox.isXboxController returns false with my XBOX 360 controller connected on Windows.
The problem lies in the code of class Xbox line 157:
return controller.getName().contains("Xbox")
The name of the controller returned by method controller.getName() is:
Controller (XBOX 360 For Windows)
So the fact that contains is case sensitive is the problem here.
Here are the key codes for the controller on Windows:
// Button code
A						= 0;
B						= 1;
X						= 2;
Y						= 3;
L_BUMPER				= 4;
R_BUMPER				= 5;
BACK					= 6;
START					= 7;
// Axis code
L_STICK_VERTICAL_AXIS		= 0;
L_STICK_HORIZONTAL_AXIS	= 1;
R_STICK_VERTICAL_AXIS		= 2;
R_STICK_HORIZONTAL_AXIS	= 3;
L_TRIGGER				= 4;
R_TRIGGER				= 4; // same than L_TRIGGER
// unused
DPAD_UP					= -1;
DPAD_DOWN				= -1;
DPAD_LEFT				= -1;
DPAD_RIGHT				= -1;
L_STICK					= -1;
R_STICK					= -1;
GUIDE					= -1;
Reproduction steps/code
I just plugged in my XBox 360 controller on Windows and tested it on Desktop.
Version of LibGDX and/or relevant dependencies
1.9.7
LWJGL
Please select the affected platforms

[ ] Android
[ ] iOS (robovm)
[ ] iOS (MOE)
[ ] HTML/GWT
[X ] Windows
[ ] Linux
[ ] MacOS

Did #5090 fix this?
If so this should be closed.

Given there is no response for nearly 2 years and #5090 might fix the problem, I'll close the issue. There have been other controller improvements in the past 2 years, so this might have become moot. We can re-open or create a new issue as needed.


Fix issue where tensor columns can't be indexed with pandas series

Will close #194

Codecov Report

Merging #195 (f6d29cc) into dev (5a97a8b) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##              dev     #195      +/-   ##
==========================================
+ Coverage   86.05%   86.06%   +0.01%
==========================================
  Files          47       47
  Lines        3105     3108       +3
  Branches      546      547       +1
==========================================
+ Hits         2672     2675       +3
  Misses        318      318
  Partials      115      115

Flag
Coverage Δ

unittests
86.06% <100.00%> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

meerkat/block/tensor_block.py
92.04% <100.00%> (+0.28%)
:arrow_up:

Continue to review full report at Codecov.

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


Can i please understand the differences between some of the demos

Can i please understand the differences between the bellow boilerplates in terms of performance on mobile browser support, advantages of using one over another and face tracking accuracy for each one.
This would be immensely helpful, not only for me but for everyone wanting to use this for bigger projects but cant have all the know how to differentiate them all and ick the right one for their project. i hope this makes sense.
Also on No. 3 (Boilerplate with 2 canvas: 1 for FaceFilter and 1 for THREE.JS), why are there 2 canvases being used and whats the difference between this one and No. 1.

Boilerplate (displays a cube on the user's head)
Boilerplate with ES6
Boilerplate with 2 canvas: 1 for FaceFilter and 1 for THREE.JS
Boilerplate using dist/NNClight.json as neural net
Boilerplate using dist/NNCwideAngles.json as neural net
Boilerplate without JeelizThreeHelper
GLTF fullscreen demo with HD video

Thank you so much.

Hi,
Boilerplate (displays a cube on the user's head)
-> old boilerplate, it will be removed from next versions
Boilerplate with ES6
-> use only if you use ES6. I do not advise
Boilerplate with 2 canvas: 1 for FaceFilter and 1 for THREE.JS
-> not the best
Boilerplate without JeelizThreeHelper
-> you should use this one
Boilerplate using dist/NNClight.json as neural net
-> boilerplate with another neural net. will be removed soon ( not the neural net, only the boiletplate)
Boilerplate using dist/NNCwideAngles.json as neural net
GLTF fullscreen demo with HD vide

wow Xavier, thats awesome! Thank you so much.
I have 3 more follow up questions - quick ones i hope, all about performance:
Whats the difference between the below 2  boiler plates ? in terms of performance?
Boilerplate using dist/NNClight.json as neural net
Boilerplate using dist/NNCwideAngles.json as neural net
Whats the difference in performance between the below 2?
Boilerplate without JeelizThreeHelper
Boilerplate using dist/NNCwideAngles.json as neural net
And the last question:
Is the GLTF fullscreen demo with HD video good in performace, compared with the Boilerplate without JeelizThreeHelper or the Boilerplate using dist/NNCwideAngles.json
Thank you so much.
Alex

I have improved a bit the descrption of these boilerplates in the readme, and I have deleted the deprecated boilerplate and replaced it by cubeWithBoilerPlate.
NNClight.json and NNCwideAngles.json are 2 différent neural nets.
There are short details about them here: https://github.com/jeeliz/jeelizFaceFilter#changing-the-neural-network
NNClight is faster and lighter but it can be hard to stabilize than heavier neural nets. It can be nice for mobile applications.
NNCwideAngles.json is heavier and smaller, and have been trained with larger angles.
There is always a trade off between training a small, fast and light neural net which output will be too noisy and which will limited in term of learning features or training a heavier neural net, which will be slower but more accurate. That's why I put several neural nets. You can switch between them easily. I made copies of the boilerplate with different neural networks in order to be able to quickly test them.
You should not use "Boilerplate without JeelizThreeHelper", I have just removed it from the repository, it is deprecated. In the THREE.JS helper I have included important corrections from https://github.com/jeeliz/jeelizFaceFilter/issues/42 or https://github.com/jeeliz/jeelizFaceFilter/issues/56 so you will get better results using the helper.
The GLTF fullscreen demo ask for a better video resolution, and there are more pixels to compute so it may be slower. it really depends on the configuration. The detection is adaptative up to some point: if your device is powerful, there are more detections per seconds, so the tracking is faster and more accurate. Currently the cheaper devices to run the demos smoothly is a Samsung Galaxy A5 or a Motorolla Xplay. It will work on lower devices but it may be slow.
Of course on IphoneX, Ipad pro or Samsung galaxy S7 S8 it should run perfectly.

These are some great explanations, hopefully people find these, or maybe we can have some of this in the readme.
Quick question:
Boilerplate (displays a cube on the user's head) how does it detect the face and keep track of it? Im assuming its not using a neural network as the other examples, thus is faster? Im sorry if this might seem as a very silly question.