Fix CI OOM without disabling ASAN

For some weird reason and according to my repeated testing, it looks like that we just have to remove -pipe from LINKFLAGS during linuxbsd building to not make the CI go OOM while running the GCC sanitized job.
Again, I'm not sure how it worked twice on my repo but I hope it works here too.

Thanks!


[6.x] Add support for stream reads

Backports https://github.com/laravel/framework/pull/34001 to the 6.x (LTS) version.

@barryvdh technically feature development for 6.x has halted.

Isn't this considered a bugfix instead of feature? See https://github.com/spatie/laravel-medialibrary/issues/2017 and https://github.com/thephpleague/flysystem-aws-s3-v3/issues/212
According to @frankdejonge this was an unintended BC break in Flysystem, right?

@barryvdh right gotcha. Thanks 👍


difference between this and bokehme (quality-wise)?

MPIB has a higher performance ceiling in preserving boundary details of in-focus objects and rendering realistic partial occlusion effects, but this method is not as stable as BokehMe due to the layer decomposition. You can refer to the supplementary material for some failure cases.


#37 Add aditional information to the Readme

#37
I took a stab at updating the Readme, feel free to adjust as you see fit. This is how I think the tool is mean to be used, but if you have a different philosophy it would be great to add that here.

@zweishar This is awesome, much better than what I have! Thank you!


services.KafkaConnectorTests.Kafka heisenbug

Observed one failure in jenkins:
services.KafkaConnectorTests.Kafka connector should send and receive a kafka message even after shutdown one of instances

Error Message

org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition.

Stacktrace

org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition.

Standard Output

[2017-11-28T15:07:19.923Z] [INFO] Slf4jLogger started
Received 1. Took 407 msec: List(Tue Nov 28 15:07:20 EST 2017)

Received 1. Took 4 msec: List(Tue Nov 28 15:07:20 EST 2017)

Received 1. Took 4 msec: List(Tue Nov 28 15:07:20 EST 2017)

Received 1. Took 4 msec: List(Tue Nov 28 15:07:20 EST 2017)

Received 1. Took 3 msec: List(Tue Nov 28 15:07:20 EST 2017)

Received 1. Took 4 msec: List(Tue Nov 28 15:07:20 EST 2017)

Received 2. Took 11 msec: List(Tue Nov 28 15:07:20 EST 2017, Tue Nov 28 15:07:31 EST 2017)

Received 3. Took 9 msec: List(Tue Nov 28 15:07:20 EST 2017, Tue Nov 28 15:07:31 EST 2017, Tue Nov 28 15:07:42 EST 2017)

Received 1. Took 4 msec: List(Tue Nov 28 15:07:42 EST 2017)

Received 1. Took 7 msec: List(Tue Nov 28 15:07:42 EST 2017)

Received 1. Took 10 msec: List(Tue Nov 28 15:07:42 EST 2017)

Received 1. Took 22 msec: List(Tue Nov 28 15:07:52 EST 2017)

@devbv I caught a stacktrace of a slightly different error but related
services.KafkaConnectorTests > Kafka connector should send and receive a kafka message even after shutdown one of instances FAILED
    org.scalatest.exceptions.TestFailedException: 0 was not equal to 1
        at org.scalatest.MatchersHelper$.indicateFailure(MatchersHelper.scala:340)
        at org.scalatest.Matchers$ShouldMethodHelper$.shouldMatcher(Matchers.scala:6668)
        at org.scalatest.Matchers$AnyShouldWrapper.should(Matchers.scala:6704)
        at services.KafkaConnectorTests$$anonfun$6$$anonfun$apply$2.apply$mcVI$sp(KafkaConnectorTests.scala:142)
        at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:160)
        at services.KafkaConnectorTests$$anonfun$6.apply(KafkaConnectorTests.scala:134)
        at org.scalatest.OutcomeOf$class.outcomeOf(OutcomeOf.scala:85)
        at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
        at org.scalatest.Transformer.apply(Transformer.scala:22)
        at org.scalatest.Transformer.apply(Transformer.scala:20)
        at org.scalatest.FlatSpecLike$$anon$1.apply(FlatSpecLike.scala:1682)
        at org.scalatest.TestSuite$class.withFixture(TestSuite.scala:196)
        at org.scalatest.FlatSpec.withFixture(FlatSpec.scala:1685)
        at org.scalatest.FlatSpecLike$class.invokeWithFixture$1(FlatSpecLike.scala:1679)
        at org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1692)
        at org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1692)
        at org.scalatest.SuperEngine.runTestImpl(Engine.scala:289)
        at org.scalatest.FlatSpecLike$class.runTest(FlatSpecLike.scala:1692)
        at org.scalatest.FlatSpec.runTest(FlatSpec.scala:1685)
        at org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1750)
        at org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1750)
        at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:396)
        at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:384)
        at scala.collection.immutable.List.foreach(List.scala:392)
        at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)
        at org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:373)
        at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:410)
        at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:384)
        at scala.collection.immutable.List.foreach(List.scala:392)
        at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)
        at org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:379)
        at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461)
        at org.scalatest.FlatSpecLike$class.runTests(FlatSpecLike.scala:1750)
        at org.scalatest.FlatSpec.runTests(FlatSpec.scala:1685)
        at org.scalatest.Suite$class.run(Suite.scala:1147)
        at org.scalatest.FlatSpec.org$scalatest$FlatSpecLike$$super$run(FlatSpec.scala:1685)
        at org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1795)
        at org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1795)
        at org.scalatest.SuperEngine.runImpl(Engine.scala:521)
        at org.scalatest.FlatSpecLike$class.run(FlatSpecLike.scala:1795)
        at services.KafkaConnectorTests.org$scalatest$BeforeAndAfterAll$$super$run(KafkaConnectorTests.scala:43)
        at org.scalatest.BeforeAndAfterAll$class.liftedTree1$1(BeforeAndAfterAll.scala:213)
        at org.scalatest.BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:210)
        at services.KafkaConnectorTests.run(KafkaConnectorTests.scala:43)

@jeremiaswerner Can we reduce number of kafka instance to 1, until we can handle all kafka related problem?

Had an instance of this where the test is hanging on receiving more messages.
services.KafkaConnectorTests > Kafka connector should send and receive a kafka message even after shutdown one of instances STANDARD_OUT
    Send message to topic.

    Successfully sent message to topic: Dinosaurs-0@0

    Receiving message from topic.

    Received 1. Took 76 msec: List(Mon Dec 04 06:37:04 EST 2017)

    Send message to topic.

    Successfully sent message to topic: Dinosaurs-0@1

    Receiving message from topic.

    Received 1. Took 13 msec: List(Mon Dec 04 06:37:04 EST 2017)

    Send message to topic.

    Successfully sent message to topic: Dinosaurs-0@2

    Receiving message from topic.

@devbv thanks for looking into it. I think for now we can leave it enabled to catch those intermittent issues. Once it gets annoying we can should go back to 1 kafka node. I think we have found three different issues so far. I've put them as checkboxes to the description.

@jeremiaswerner
Today, I could recreate those and more intermittent issues in my environments. I've almost resolved them but need little more time to make it clear and add new PR.  And we also need a time for code review, so how about going back to 1 kafka node just for one week? The PR already got approved. #3048

@devbv cool 👍   thank you!


Update vis-justgage to 2.0.1

Please update my adapter ioBroker.vis-justgage to version 2.0.1.
This pull request was created by https://www.iobroker.dev c0726ff.

ultra fast lane as 2.0.0 is completly broken (files missing)

RE-CHECK!


Return types conforming to interfaces and other interface ideas

I think it's common enough in generic programming that one works with different layers of objects. For example some iterator of objects, where the iterator could be an array, a tuple, etc. and the object anything that serves some further purpose. That further purpose could again be locked down by an interface I thought. Here I jotted down some code where I made a ReturnInterface that should guarantee a given signature returns an object that conforms to a given interface (that interface can simply be that it should be a certain type, or whatever more complex thing).
I also had the idea of splitting run time and compile time traits and only allowing composition of compile time traits into new compile time traits, but I haven't followed that here. Just including it for inspiration. I bet that relying on _return_type has all sorts of problems, I already hit some uninferred cases during casual testing. But it seems like the only thing we got after all?
abstract type Interface end
abstract type CompileTimeInterface <: Interface end
abstract type RunTimeInterface <: Interface end
abstract type CompositeInterface <: Interface end

struct AndInterface{T<:Tuple} <: CompositeInterface
    interfaces::T
end

test_implements(x, a::AndInterface) = all(i -> test_implements(x, i), a.interfaces)

struct OrInterface{T<:Tuple} <: CompositeInterface
    interfaces::T
end

test_implements(x, a::AndInterface) = any(i -> test_implements(x, i), a.interfaces)

struct HasMethodInterface{SIG} <: CompileTimeInterface
    signature::SIG
end

test_implements(x, m::HasMethodInterface) = hasmethod(x, m.signature)

struct TypeInterface3{T<:Type} <: CompileTimeInterface
    type::T
end

test_implements(x, t::TypeInterface3) = x <: t.type

struct ReturnInterface{SIG,I<:Interface} <: CompileTimeInterface
    signature::SIG
    returninterface::I
end

function test_implements(x, r::ReturnInterface)
    ret = Base._return_type(x, r.signature)
    ret === Base.Bottom && return false
    test_implements(ret, r.returninterface)
end

Thanks these are interesting ideas!
In most of the testing here I'm making types construct mock objects for testing, to get around _return_type like problems, but it does feel a bit clunky.
Your idea is interesting in that the tests are actually running at compile time. I'm not sure how far that will scale, previously I was running tests in precompile statements and got complaints even about that being too heavy, so removed it and rely on packages running interface tests in their test suite. For me that was a little disappointing in terms of how concrete and reliable the interface is.
Having the RunTimeInterface is a good workaround. We would still probably want to be able to run the tests for it separately to checking the trait so performance is decoupled from proof, was that the idea in your example?
The ability to compose And/Or interfaces is also cool. Especially Or, having a way to specify multiple lower level pathways that lead the same high level behavior seems pretty powerful.
I think this will at some point need the optional components as defined here, there is often just this one method in one of the interfaces that a specific type doesn't define.

Your idea is interesting in that the tests are actually running at compile time. I'm not sure how far that will scale, previously I was running tests in precompile statements and got complaints even about that being too heavy, so removed it and rely on packages running interface tests in their test suite. For me that was a little disappointing in terms of how concrete and reliable the interface is.
Having the RunTimeInterface is a good workaround. We would still probably want to be able to run the tests for it separately to checking the trait so performance is decoupled from proof, was that the idea in your example?

Interesting, indeed!
@rafaqz Are you suggesting that definitions of CompiletimeInterface and RuntimeInterface allow users (interface definitions) to opt-in to compile-time checks? That would be nice, as long as it would not be a barrier for actually defining interfaces.

We would still probably want to be able to run the tests for it separately to checking the trait so performance is decoupled from proof, was that the idea in your example?

Yes that was the idea, that some things you're only ever going to be able to check at runtime. So they can be used for dynamic dispatch. But never for JET-style testing.

More like some interface checks might be to expensive to use compile-time checks and would need to work like they do currently in this package, with traits being separated from tests.
But if we actually do anything at compile time, we could just revert you last PR do that the mock object constructors are known at compile time, and go back to doing tests in precompile to avoid the overheads.

More like some interface checks might be too expensive to use compile-time checks and would need to work like they do currently in this package, with traits being separated from tests.
But if we actually were to do anything at compile time, we could just revert you last PR so that the mock object constructors are known at compile time, and go back to doing tests in precompile to avoid the overheads.
(Maybe Im not clear but a lot of my thinking and design here is around reducing the costs to a minimum so there is no performance or ttfx related resistance in the ecosystem)

I think that was reasonably clear, but thanks for emphasizing your thinking - I completely agree that costs should be minimized.
One could also say, that one would expect the cost of both defining an interface and stating that an interface is implemented should be purely compile time and not a lot of it (close to zero).
JET-style static testing would also be an expectation (I have at least seen JET complain about a Duck not being able to dig, so I guess that already works? 😄).
Wrt. compile-time checks and compile-time test objects, I can see how that would need compile-time test objects for the predicate tests currently in this package, but I am wondering whether some tests could be done at compile-time even without test objects - e.g. just checking existence of methods and their signatures...

One could also say, that one would expect the cost of both defining an interface and stating that an interface is implemented should be purely compile time and not a lot of it (close to zero).

Totally, otherwise it needs to be done during testing.

Yes that was the idea, that some things you're only ever going to be able to check at runtime. So they can be used for dynamic dispatch. But never for JET-style testing.

@jkrumbiegel I'm not sure if I totally understand this... the interfaces defined in this pacakges currently are always used for compile time dispatch, rather than dynamic, its just that the testing of the trait is separated from the trait to remove the runtime overheads.
Do you mean some interfaces can't be known at compile time at all?

Well you had this in your readme which looked like runtime to me:
x -> age(x) >= 0,

That was the only reason why I included it, in principle I like compile time much more. Or to phrase it differently, type-based traits and not value-based traits.

An idea might be to have separately specified type traits/predicates and value traits/predicates.

That was the idea of CompileTimeInterface vs RunTimeInterface in the code snippet above :) I just didn't flesh out RunTimeInterface at all. Although I'm pretty sure one can go far without touching values at all. At some point you move from "interface" to just "code" that does something else based on values it encounters.

But does it make sense now that x -> age(x) >= 0 does not actually run at runtime?
One of the main questions with designing this thing is how to separate trait definitions from tests, and how object types that an interface is defined for are mapped to constructed objects that can be run in tests.

But does it make sense now that x -> age(x) >= 0 does not actually run at runtime?

I have not understood that part yet, no. Do you mean you want to check instances of structs at compile time by creating and testing them inside the macro expansion step? So it's still value based, just run at a different time?

But does it make sense now that x -> age(x) >= 0 does not actually run at runtime?

Assuming "runtime" should have been "compile-time".
I would think there could be lots of type-traits and/or type-predicates that could be checked at compile-time - without incurring too much overhead, e.g. checking implements(interface_type, type) or something like test_implements(x, m::HasMethodInterface) = hasmethod(x, m.signature) in the OP.
Would that work?

Also FYI
https://github.com/Keno/InterfaceSpecs.jl
Keno doesn't seem to care about using return_type and similar things either


Add annotation(s)? linking individual tests to spec subsections in organized manner.

E.g. see ML msg:
https://java.net/projects/jbatch/lists/public/archive/2015-09/message/7

Started by adding annotations here.
Next step is to use them by annotating some tests.

Not going to be interesting until we have more tests annotated, but besides applying the annotations,another questions is how to build reports from them (whatever form that's in.. standalone html. . or tied to Javadoc somehow???

Annotations were updated here.

Some thoughts, now that it's been a few weeks since we remodeled the annotations and now that we have a few of the tests annotated:

The Coverage Report is nice and detailed... but
The Report is probably be too detailed... and
The annotations are extremely bulky

So, how can we make them shorter?
Let's back up for a moment and think about what we're really trying to accomplish with the annotations:
The whole point of the TCK is to ensure that a given java batch implementation is compliant with the JSR 352 specification. In order to be compliant with the spec, an implementation must behave in all of the ways defined (or asserted) by the spec.
So what we're really looking for is a way to see - at a glance - whether or not we have a test for every behavior defined by the spec (we call these "assertions"); we want to know what assertions we still need to add tests for.
In order to do this, it follows that the spec itself should maintain a list of assertions for each of its sections. Then, a test can simply reference the assertion(s) that it's testing. And that is probably the only information we need in the annotation in order to generate the coverage report.

On the same topic: we currently have some tests that verify behaviors that are not asserted in a single spec subsection, but rather are extrapolated from a combination of subsection assertions. In these cases, we do not necessarily have to give the test an annotation. Though I think the real issue in these situations is that the spec itself should be made more explicit, so that it offers a definitive, single point of reference for some of these more complicated behaviors that we want to test.


it will work on T8 V1.7 TTGO ESP32 4MB Flash. HELP

it will work on ttgo t8 v1.7
product link: https://www.amazon.in/Outgeek-Development-Board-Module-ESP32/dp/B07L3P1PXH/ref=sr_1_1?dchild=1&keywords=ttgo+t8&qid=1609076876&sr=8-1
AliExpress banned in our country.

Absolutely, as it is ESP32 based module.
The board you asked before has the modem, you can use it stand alone without touching the modem.
It's bad design to include sim800l on that. It should include 3G/4G enable module instead of 2G or gprs module (sim800l) which the technology is outdated.

ik but  ttgo t8 v1.7 will work for this library

Actually I don't clearly understand what you said.  It looks like spam.
The library works on all ESP32 based modules and TTGO v1.7 too.
The ESP32 based module with built-in mobile modem that send AT command to onboard modem to connect the internet is not support unless you know how to operate it in WiFi only mode without using AT command and connect to the internet router by WiFi.
You need the one real board in hand and test it by yourself.

i want gprs connection to store data or read data witch will support this library

I always said not support any mobile modem (2G/gprs/3G/4G). Why you don't understand?.

so your library is fake

i need to report it

yhaaaahaaaaa

salle


Folder name need to be escaped (e.g. ':')

Along with escaping the colon, it would be great if we could escape all the illegal characters, just in case there are some other characters being used in kusto folder names.
Illegal characters in windows and liunx

Those characters are completely forbidden in paths.  So we can't escape them per se.
I.e. we can replace "a:b" by something like "a::b" or "a:b".  We could replace them by something legal, e.g. '_', so "a:b" would become "a_b".
Of course the issue with this approach is that "a:b" would then clash with "a?b" since they would both get escaped to "a_b".
Would that be acceptable?

Yes. For our use we don't need the reverse mapping to get back the original names. It may be an issue for someone if they are looking for that functionality though. But this solution will work for me as I just want to download the functions in folders.

Fixed in 0.7.2


Fix T5 inference performance regression

For T5 inference, don't wrap dropout with mark_step as it causes performance issue.
What does this PR do?

Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Add consequences page

@jimpalowski This is all your work from your other branch! I just re-added it in a new PR to clean up the git history since there were many commits and undo commits there and this will keep the repo a bit more clean and easier to follow. Just wanted to give you the heads up so you know that your work made it in! Thanks!

Cool thanks!


Support custom test name in Slack alerts

Since dbt 1.1 custom names for tests are supported.
Config looks like this:
        tests:
          - name: unexpected_order_status    # custom name for test
            test_name: accepted_values      # name of the generic test to apply

However, we don't use the right field in the alerts to show this name.
The change:

Check if we collect this field in dbt_package elementary_test_restults table. If not - add it.
Make alerts use that field as test name if it exists.

This is the similar issue for the report: https://github.com/elementary-data/elementary/issues/299

https://github.com/elementary-data/dbt-data-reliability/pull/99

Duplicate as #299 https://github.com/elementary-data/elementary/issues/299


Graphite datasource

I am trying to use graphite searches and have a question on how to actually use it. I enabled graphite in the config.php and restarted httpd. Trying to create new search and not getting good result just this:
SearchException: Remote server returned 0: :
My config looks like this:
$config['graphite'] = [     'host' => ['http://graphitetest'], ];
My query looks like this: ServerName.meminfo.used
What am I doing wrong here?
Thanks!

411 turns that into http://graphitetest/render?target=transformNull(ServerName.meminfo.used). Does that give results?

:-) It does, but it return png. You probably need to add this:
http://graphitetest/render?target=transformNull(ServerName.meminfo.used)&format=json
or
http://graphitetest/render?target=transformNull(ServerName.meminfo.used)&format=csv

Opps, we actually use &raw. Can you inspect the call here: https://github.com/etsy/411/blob/master/phplib/Search/Graphite.php#L54
and see what error message curl is returning?

How can I do this? Sorry, I am not that familiar with php.
Also when I used &raw I still get png. I pasted the query into a browser and got this:

Found the issue - I guess [ ] are not supported in graphite config:
$config['graphite'] = [     'host' => 'http://graphiteStaging', ];
NOT:
$config['graphite'] = [ 'host' => ['http://graphitetest'], ];

Closed and reopened. So alerting works with graphite but... I do not see any alerts on 411 Alerts page and I also see these errors in Elasticsearch directly related to the graphite alert:

My guess 411 has troubles writing to ES because of the incorrect number format?

Also saw a bunch of these errors when graphite search was active:
except [NONE] Errno 2048: "Declaration of ECL\Command\Elasticsearch\Builder::setSettings() should be compatible with ECL\Command\Elasticsearch::setSettings(array $settings)" at [/var/www/411/vendor/kiwiz/ecl/src/Command/Elasticsearch/Builder.php:9] 0:[include() called at [/var/www/411/vendor/composer/ClassLoader.php:414]] 1:[Composer\Autoload\includeFile() called at [/var/www/411/vendor/composer/ClassLoader.php:301]] 2:[Composer\Autoload\ClassLoader->loadClass() called at [:0]] 3:[spl_autoload_call() called at [/var/www/411/phplib/Search/ECL.php:96]] 4:[include_once() called at [/var/www/411/phplib/411bootstrap.php:48]] 5:[FOO\{closure}() called at [:0]] 6:[spl_autoload_call() called at [/var/www/411/phplib/TypeModel.php:27]] 7:[FOO\TypeModel::getTypes() called at [/var/www/411/phplib/TypeModel.php:51]] 8:[FOO\TypeModel::getSchema() called at [/var/www/411/phplib/Model.php:574]] 9:[FOO\ModelFinder::generateWhere() called at [/var/www/411/phplib/Model.php:530]] 10:[FOO\ModelFinder::generateQuery() called at [/var/www/411/phplib/Model.php:492]] 11:[FOO\ModelFinder::getByQuery() called at [/var/www/411/phplib/REST/Models.php:130]] 12:[FOO\Models_REST->read() called at [/var/www/411/phplib/REST/Searches.php:48]] 13:[FOO\Searches_REST->GET() called at [/var/www/411/phplib/REST.php:107]] 14:[FOO\REST->route() called at [/var/www/411/htdocs/api/searches.php:6]], referer: http://411.test.com/alerts

Hmm, try composer update.

That's new:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for etsy/phan ^0.6.0 -> satisfiable by etsy/phan[0.6].
- etsy/phan 0.6 requires php >=7.0 -> your PHP version (5.6.26) does not satisfy that requirement.
Also - is this related to the errors in the logs? Or to the fact that no Alerts are created and 411 is having issues writing to ES?

I removed require-dev from composer config. Updated. It looks like the errors in the log stopped. But graphite search still not creating any alerts on 411 page and I see errors in ES (NumberFormatExcpetion)

Also we started getting this kind of emails very often now:

Then follow up message comes in:

Not sure why this is happening.

Those emails indicate that 411's occasionally getting an error when it tries to determine the current health of the Graphite server. Do you have any idea why that would be the case? (network, cpu, etc)

I figured it out. We were restarting httpd on graphite server to limit memory used. So we can ignore those emails. What about alerts and NumberFormatException errors?

@AGirin Can you provide the mapping for your 411 index (probably 411_alerts_1)?

@kiwiz - not sure where to get that info. Is this what you need?

Nope, I mean the mapping for ES. /_mapping/411_alerts_1 should give you it.

Yes, this is what I have:

I need to see the details for each individual mapped field: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-mapping.html

Does it look like what you need?
{
"411_alerts_1": {
"mappings": {
"logstash": {`
"properties": {
"alert_date": {
"type": "date",
"format": "epoch_second"
},
"archived": {
"type": "boolean"
},
"assignee": {
"type": "long"
},
"assignee_type": {
"type": "long"
},
"category": {
"type": "string"
},
"content": {
"properties": {
"@version": {
"type": "string"
},
"Category": {
"type": "long"
},
"ComputerName": {
"type": "string"
},
"EventIdentifier": {
"type": "long"
},
"InsertionStrings": {
"type": "string"
},
"Logfile": {
"type": "string"
},
"RecordNumber": {
"type": "long"
},
"SourceName": {
"type": "string"
},
"TimeGenerated": {
"type": "string"
},
"TimeWritten": {
"type": "string"
},
"Type": {
"type": "string"
},
"User": {
"type": "string"
},
"host": {
"type": "string"
},
"message": {
"type": "string"
},
"metrics": {
"properties": {
"server_host": {
"type": "string"
},
"server_lag": {
"type": "double"
},
"server_time": {
"type": "date",
"format": "strict_date_optional_time||epoch_millis"
}
}
},
"type": {
"type": "string"
}
}
},
"content_hash": {
"type": "string"
},
"create_date": {
"type": "date",
"format": "epoch_second"
},
"escalated": {
"type": "boolean"
},
"id": {
"type": "long"
},
"notes": {
"type": "string"
},
"owner": {
"type": "long"
},
"priority": {
"type": "long"
},
"renderer_data": {
"type": "object"
},
"resolution": {
"type": "long"
},
"search_id": {
"type": "long"
},
"site_id": {
"type": "long"
},
"state": {
"type": "long"
},
"tags": {
"type": "string"
},
"update_date": {
"type": "date",
"format": "epoch_second"
}
}
},
"default": {
"properties": {
"alert_date": {
"type": "date",
"format": "epoch_second"
},
"assignee": {
"type": "long"
},
"assignee_type": {
"type": "long"
},
"content": {
"type": "object"
},
"content_hash": {
"type": "string"
},
"create_date": {
"type": "date",
"format": "epoch_second"
},
"escalated": {
"type": "boolean"
},
"notes": {
"type": "string"
},
"resolution": {
"type": "long"
},
"search_id": {
"type": "long"
},
"state": {
"type": "long"
},
"update_date": {
"type": "date",
"format": "epoch_second"
}
}
}
}
}
}

That's perfect. Looking.

Also I am finding that I am getting strange result when I try using "Less then" in Graphite search.
This is what I get through API:
xxxxxx.memory.available_bytes,1478809140,1478809200,10|1900199936.0,1900597248.0,1900032000.0,1900806144.0,1895153664.0,1895284736.0
For a test I specified number lot larger  in a search expecting to see alert but sometimes I get this:

Or this

So it looks like query does not really work. Form all my hundreds of tries I got it working twice I think (somehow it displayed the right value and alert). But other times I get the messages above.
It works fine however with greater than - no problems here.

Well - I think after all updates to 411 it started creating alerts on the alerts page. But still graphite search is not reliable - at least when I click Test or Execute it gives me different results all the time (most of the time no results or count 0 but very rarely - the actual correct value).
I tried curl from the same server I run 411 and it returns all values just fine from graphite.

@Kennysan Could you take a look at this?

@AGirin Did you get this working? What was the url you were hitting with curl?

Closing due to inactivity.


Update 5e-SRD-Levels.json

Adding subclass Totem Warrior to Barbarian.
What does this do?
Its the second path to the barbarian class at 3rd level.
How was it tested?
In my local application.
Is there a Github issue this is resolving?
no
https://github.com/5e-bits/5e-database/pull/543
https://github.com/5e-bits/5e-database/pull/542

https://github.com/5e-bits/5e-database/pull/542
https://github.com/5e-bits/5e-database/pull/543
https://github.com/5e-bits/5e-database/pull/544
https://github.com/5e-bits/5e-database/pull/545

https://github.com/5e-bits/5e-database/pull/542#issuecomment-1650155755


Custom SiteUrl After Installation

Hi,
We want to change LB public url to our siteurl. We changed all of the variables into moodle config and sync with VMSS instances. But when we request our site, application return "http 301" response to LB url and after that response our site url.
I check the VMSS extensions and i found setup_webserver.sh. This script take moodle_on_azure_configs_json_path as a parameter. This parameter using in "helper_functions.sh". I found "/var/lib/cloud/instance/moodle_on_azure_configs.json" into our Controller VM. I changed siteURL parameter. And after that reimage instances. But configurations not changed.
How can we change siteURL variable for VMSS instances?
Best Regards.

I fixed that problem. Thanks

@Domdu  what did you do?


Relation-dependent label descriptions

(this issue extends #13 and is essentially a nice-to-have)
In the current iteration of the new DanNet web presence there is an unsolved issue with certain labels being identical in result sets, making resources hard to differentiate. One example might be centrum which evokes multiple synsets and has multiple senses all with the same label, making it impossible to distinguish the list of resources.
One solution could be to have a way of obtaining and displaying additional information depending on the relation in question (or alternatively via the type, although this requires class information to be fetched in the original query). This could be a graph path, set of triples, a function, etc. which defines how to get the additional data point, e.g. for the ontolex:evokes relation the graph path would be
[:skos/definition]

while for ontolex:lexicalizedSense the graph path would be
[:lexinfo/senseExample :rdf/value]

Thus, for words the definitions and example sentences are available for decorating the listed resources. The decoration might be represented as a sublist underneath the item as this would also allow for the support of multiple returned items for the given path, e.g. multiple example sentences.

No longer relevant as of https://github.com/kuhumcst/DanNet/commit/1d35bb49f384730deabfd5f44367e81e502aebc8.


iOS add support for disabling userLocation callout

Does any other open PR do the same thing?
NO
What issue is this PR fixing?
option to disable user location callout on iOS
How did you test this PR?
manually on iOS device / simulator

Is this userLocation callout?
I'm trying to see how to disable this "user avatar" current location pin/marker. It appears after you press on the blue circle of your location.
I'm on a previous version

Interesting. Like @gianpaj said, this does not seem to disable the user location callout. Even passing userLocationCallout={false} as an argument to the <MapView> element, the callout still pops up when clicking on the blue dot that represents the user's location. Was able to reproduce on a simulator and on real device, running the application through Expo with the Expo Go app.

@mzanini these changes are included in current prerelease v0.29 while expo is on the latest stable release of 0.28. I’ll be releasing 0.29 as a stable version soon.


crash in async from #40228

Declaring exports.apply = apply is now marked an alias, but now calls getTextOfNode, which tries to walk up the tree to get the sourcefile in order to get a substring from it. This fails because parent pointers aren't set yet in the binder.
../../../built/local/tsc.js:13400
        return getTextOfNodeFromSourceText(sourceFile.text, node, includeTrivia);
                                                      ^

TypeError: Cannot read property 'text' of undefined
    at getSourceTextOfNodeFromSourceFile (../../../built/local/tsc.js:13400:55)
    at getTextOfNode (../../../built/local/tsc.js:13425:16)
    at Object.declarationNameToString (../../../built/local/tsc.js:13737:66)
    at getDisplayName (../../../built/local/tsc.js:39792:53)
    at declareSymbol (../../../built/local/tsc.js:39906:111)
    at bindExportsPropertyAssignment (../../../built/local/tsc.js:42016:17)
    at bindWorker (../../../built/local/tsc.js:41712:29)
    at bind (../../../built/local/tsc.js:41601:13)
    at bindExpressionStatement (../../../built/local/tsc.js:40666:13)
    at bindChildren (../../../built/local/tsc.js:40151:21)

I'll add a repro when I get one.

Also crashes chrome-devtools

Crashes trying to issue error on duplicate exports, like
exports.apply = apply
exports.apply = apply

Although the actual code from async was
exports.apply = undefined
// lots of code ...
exports.apply = _apply2.default

Adding the missing setParent(node.left, node) fixes the crash because it allows the error to be correctly reported.

https://github.com/microsoft/tsserverfuzzer/issues/295


port() not working after initialization if port(0) is provided

This is the failing case:
...
port(0);
<routing setup>
....
awaitInitialization();
port() --> is returning 0, although jetty has been correctly initialised with another free port

        try {
            logger.info("== {} has ignited ...", NAME);
            logger.info(">> Listening on {}:{}", host, port);

            server.start();
            latch.countDown();
            server.join();
        } catch (Exception e) {
            logger.error("ignite failed", e);
            System.exit(100);
        }

        return port;

The thread started in Service.init() releases the latch and then... waits. Execution doesn't proceed to the return statement while server is running.


Issue while running the code in azure OpenAI

I want to run this repo on azure OpenAI. Please give me steps for the same.

I've copied this to the somatic kernel examples repo, and that has a version (console only, no speech) that can be configured for both OpenAI and Azure OpenAI Service:
https://github.com/jimbobbennett/semantic-kernel-starters/tree/add-sk-console-gpt/sk-csharp-console-chat


Translation

Hello Jing,
Thanks for putting your project on GitHub.
If you need help on translation into French, I can help.

Hi fred!
OK Thanks a lot! Where to put the translated document?

Hi,
Post it to the releases tab.

Hello Jing,
you can send your file to my gmail box.

Hello (Bonjour), Jing and Fred
Jing, do you plan to continue to update the page "Change Log"? (https://reogrid.net/change-log/)
Information for the Russian version of the documentation, I usually took on this page (change log).
Documentation in the Ukrainian language: I'm not yet sure whether - whether it is necessary.

hello,
I have created a GitHub project
https://github.com/fredatgithub/TranslationReoGridWebSite
We can start with this.

Hello
Fred, you have a very good idea, but it's no support for some features of the existing documentation projects.
The original document format - a few pages in English. Examples of only the language C#.
Russian version - is one HTML-file with examples for languages VB, C#.
In the Russian version of the documentation is one feature - it is a separate project, which consists of 2 solutions Visual Studio 2012 (All code snippets in VB and C# + "builder").
When I came to "ReoGrid" project, Jing asked me to do my version of the project documentation.
Therefore, HTML-file Russian documentation assembled from HTML-template and code snippets on VB, C#. This is a mini-book with pictures and videos: https://reogrid.net/ru/document/v1-3-0/
Will you be able to consider these features in your project?
(If I understand correctly, then someone has to break the English version of the site into fragments, and the other participants must re-create this structure in its language versions).

Thanks Fred and Alexey!
I have created a website https://reogrid.net/fr for French language documents. The website server keeps all documents in database and backup automatically every day.

Thanks, Jing)
We need to wait for a response from Fred: he clearly knows French better than I)

hello,
I have created a GitHub project
https://github.com/fredatgithub/TranslationReoGridWebSite
We can start with this.

Fred,
Any ideas on how to convert this: https://reogrid.net/ru/document/v1-3-0/ and this: https://reogrid.net/document  into your proposed template:

???

Changes in the Russian documentation: deleted marks "Pro-edition", added information about paid services.

Hello,
@alexey77777, no need to use my created gitHub project
https://github.com/fredatgithub/TranslationReoGridWebSite
because Jing created a French web site
https://reogrid.net/fr
so the solution for new languages is to ask Jing to create a new web site from English and then the translator will access it and translate it.

Hello, Fred)
Thank you for this information :-)
2 days ago I saw your translated pages on this site (reogrid.net/fr) - it's great :-)

so the solution for new languages is to ask Jing to create a new web site from English and then the translator will access it and translate it.

Thanks) So we made a Russian version of the site: reogrid.net/ru
The more sites, the more time it takes to update them when new releases of the engine sites. So about whether it makes sense to do a separate site for the Ukrainian language, we need to think twice .. It may be enough support in this language.

Hello Alexey,
It is up to Jing to decide how the translation of ReoGrid.net web site should be done.
One XML file for all the terms in one application should be the best solution but it may be difficult to adapt if Jing has already started with a different approach.


what about class variables?

Have googled around but haven't found any hints:
Is there a way to define class variables with factory girl?

@lumpidu https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md#custom-construction might be a good place to start.
Please be aware that mutable class attributes can cause loads of problems when running tests in parallel, and in general is tricky to ensure there's no "state bleed" between tests.


[Enhancement] Improve grading page

Checklist

[x] I tested all changes and all related features with different users (student, tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.
[x] Client: I followed the coding and design guidelines.
[x] Client: I documented the TypeScript code using JSDoc style.
[x] Client: I added multiple screenshots/screencasts of my UI changes
[x] Client: I translated all the newly inserted strings into German and English

Motivation and Context

Better explain the options and charts of the grading page.
Resolves #2572
Description

[x] split chart for test-cases
[x] add better explanations for the charts (+ translations)
[x] add (?) explanations for weights, bonus multiplier and bonus points
[x] add (?) explanations for penalty and max penalty
[x] add explanations to sca category issue chart
[x] make the tables sortable

Steps for Testing

Log in to Artemis
Navigate to the grading page
Check that sorting in the test case and category tables works
Check the (?) tooltips.
Check the chart descriptions.

Test Coverage

Nothing changed.
Screenshots

The button in the "After Due Date" popup now works.

The button in the "After Due Date" popup now works.


Widen numpy version

Requiring numpy 1.26 was causing intermittent problems with colab. This widens the version spec in pyproject.toml.

This change is


Inconsistent behavior on deleting a running pod in DAG

Checklist:

[x] I've included the version.
[x] I've included reproduction steps.
[x] I've included the workflow YAML.
[x] I've included the logs.

What happened:
When a running pod of a DAG from a workflow is deleted, the pod fails with either
phase: Failed
message: pod termination

or
phase: Error
message: pod deleted

What you expected to happen:
Expected the pod to fail with phase: Error.
How to reproduce it (as minimally and precisely as possible):

Submit the workflow

argo submit https://gist.githubusercontent.com/jyotishp/6375f62044d549f907d6f79ba49d6a3f/raw/9c541dd53df1a966dd9c8dfa116d6920d76de0a1/workflow.yaml

Identify the running pod (named "B") and run

kubectl delete pod --force <pod>

Sometimes the pod status is set to Failed and sometimes to Error.
Anything else we need to know?:
Environment:

Argo version:

$ argo version
argo: v2.8.0
  BuildDate: 2020-05-11T22:55:16Z
  GitCommit: 8f696174746ed01b9bf1941ad03da62d312df641
  GitTreeState: clean
  GitTag: v2.8.0
  GoVersion: go1.13.4
  Compiler: gc
  Platform: linux/amd64

Kubernetes version :

$ kubectl version -o yaml
clientVersion:
  buildDate: "2020-04-23T22:11:11Z"
  compiler: gc
  gitCommit: 52c56ce7a8272c798dbc29846288d7cd9fbae032
  gitTreeState: archive
  gitVersion: v1.18.2
  goVersion: go1.14.2
  major: "1"
  minor: "18"
  platform: linux/amd64
serverVersion:
  buildDate: "2020-04-06T16:33:17Z"
  compiler: gc
  gitCommit: 34a615f32e9a0c9e97cdb9f749adb392758349a6
  gitTreeState: clean
  gitVersion: v1.14.10-gke.36
  goVersion: go1.12.12b4
  major: "1"
  minor: 14+
  platform: linux/amd64

Other debugging information (if applicable):

Workflow result for phase: Error:

Name:                wf-v8rff
Namespace:           default
ServiceAccount:      default
Status:              Error
Created:             Sun May 24 02:30:57 +0530 (22 seconds ago)
Started:             Sun May 24 02:30:57 +0530 (22 seconds ago)
Finished:            Sun May 24 02:31:13 +0530 (6 seconds ago)
Duration:            16 seconds

STEP         TEMPLATE  PODNAME             DURATION  MESSAGE
 ⚠ wf-v8rff  run-dag
 └-⚠ B       B         wf-v8rff-770678605  22s       pod deleted

Workflow result for phase: Failed:

Name:                wf-sl7jp
Namespace:           default
ServiceAccount:      default
Status:              Failed
Created:             Sun May 24 02:31:25 +0530 (20 seconds ago)
Started:             Sun May 24 02:31:25 +0530 (20 seconds ago)
Finished:            Sun May 24 02:31:39 +0530 (6 seconds ago)
Duration:            14 seconds

STEP         TEMPLATE  PODNAME              DURATION  MESSAGE
 ✖ wf-sl7jp  run-dag
 └-✖ B       B         wf-sl7jp-3474479707  14s       pod termination

Workflow YAML

Logs

argo get -o yaml for phase: Failed
Controller logs for phase: Failed
argo get -o yaml for phase: Error
Controller logs for phase: Error

Message from the maintainers:
If you are impacted by this bug please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

Not able to reproduce on the master branch.
Fixed: https://github.com/argoproj/argo/pull/2855

@sarabala1979 I can see a similar thing happening with argo v2.9.0-rc2.
I submit the same workflow.
If I run kubectl delete pod <pod>, I get
Name:                wf-4xj8j
Namespace:           default
ServiceAccount:      default
Status:              Failed
Conditions:
 Completed           True
Created:             Mon Jun 22 14:37:44 +0530 (4 minutes ago)
Started:             Mon Jun 22 14:37:44 +0530 (4 minutes ago)
Finished:            Mon Jun 22 14:38:27 +0530 (3 minutes ago)
Duration:            43 seconds
ResourcesDuration:   51s*(1 cpu),51s*(100Mi memory)

STEP         TEMPLATE  PODNAME              DURATION  MESSAGE
 ✖ wf-4xj8j  run-dag
 └-✖ B       B         wf-4xj8j-2031810101  42s       failed with exit code 137

If I run `kubectl delete pod --grace-period=0 , I get
Name:                retry-timeouts-qxf6p
Namespace:           default
ServiceAccount:      default
Status:              Succeeded
Conditions:
 Completed           True
Created:             Mon Jun 22 12:53:55 +0530 (1 hour ago)
Started:             Mon Jun 22 12:53:55 +0530 (1 hour ago)
Finished:            Mon Jun 22 12:54:40 +0530 (1 hour ago)
Duration:            45 seconds
ResourcesDuration:   0s*(1 cpu),0s*(100Mi memory)

STEP                        TEMPLATE           PODNAME                          DURATION  MESSAGE
 ✔ retry-timeouts-qxf6p(0)  step-with-retries  retry-timeouts-qxf6p-1324065497  45s

If I run kubectl delete pod --force <pod>, the workflow status doesn't update this time,
❯ argo get wf-xscgq
Name:                wf-xscgq
Namespace:           default
ServiceAccount:      default
Status:              Running
Created:             Mon Jun 22 14:36:34 +0530 (7 minutes ago)
Started:             Mon Jun 22 14:36:34 +0530 (7 minutes ago)
Duration:            7 minutes 45 seconds

STEP         TEMPLATE  PODNAME              DURATION  MESSAGE
 ● wf-xscgq  run-dag
 └-● B       B         wf-xscgq-1753985747  7m
❯ kubectl get pod wf-xscgq-1753985747
Error from server (NotFound): pods "wf-xscgq-1753985747" not found

But sometimes (happened once out of many trials), it does detect that the pod got deleted but after a long time,
Name:                wf-x2cl8
Namespace:           default
ServiceAccount:      default
Status:              Error
Conditions:
 Completed           True
Created:             Mon Jun 22 14:32:20 +0530 (13 minutes ago)
Started:             Mon Jun 22 14:32:20 +0530 (13 minutes ago)
Finished:            Mon Jun 22 14:33:04 +0530 (12 minutes ago)
Duration:            44 seconds

STEP         TEMPLATE  PODNAME             DURATION  MESSAGE
 ⚠ wf-x2cl8  run-dag
 └-⚠ B       B         wf-x2cl8-499854486  13m       pod deleted

The workflow's duration was 44 seconds but the pod's duration was 13 minutes (which is probably the time it took to mark the pod as deleted).

#3214

We should see if pod deleted but -  pod termination - what do we do?

"pod termination" is a red-herring - this was changed to "pod deleted" 7th May (see #2855).
As with Failed vs Error - this was changed.
The cause of "pod deleted" is someone deleted pod with kubectl and Argo Workflows decides the workflow should be in error state.
The outcome is different if you use --force:

k delete wf-ql9nf-3336848021 - error status + "pod deleted".
k delete --force wf-ql9nf-3336848021 - workflow remains running, and will do so until the controller restarts.

The workflow controller is not informed of forced deletion. We can't really help you if you use forced delete - by using it you are saying you don't mind your system being put into bad state.
I believe this issues is invalid and labelling as such.

@alexec
Can you help me understand this?

The workflow controller is not informed of forced deletion

I do not think that should be the case. Adding --force still sends out a k8s event. This is the event sent on force delete.
Name:             test.16218ceee8f2cabd
Namespace:        default
Labels:           <none>
Annotations:      <none>
API Version:      v1
Count:            2
Event Time:       <nil>
First Timestamp:  2020-07-14T07:11:40Z
Involved Object:
  API Version:       v1
  Field Path:        spec.containers{test-pod}
  Kind:              Pod
  Name:              test
  Namespace:         default
  Resource Version:  182730333
  UID:               3a1daa30-c5a1-11ea-a8fd-42010a840172
Kind:                Event
Last Timestamp:      2020-07-14T07:11:40Z
Message:             Killing container with id docker://test-pod:Need to kill Pod
Metadata:
  Creation Timestamp:  2020-07-14T07:11:40Z
  Resource Version:    1023700
  Self Link:           /api/v1/namespaces/default/events/test.16218ceee8f2cabd
  UID:                 43ea58c6-c5a1-11ea-a8fd-42010a840172
Reason:                Killing
Reporting Component:
Reporting Instance:
Source:
  Component:  kubelet
  Host:       nodes-2e9e3720-vzql
Type:         Normal
Events:       <none>

If k8s state is updated properly, shouldn't the workflow controller (which uses k8s for tracking its state) detect this?

Also, this still doesn't explain why the task is marked as "Succeeded" when --grace-period=0 is used.

All I'm really saying is that, from the workflow controller logs, we never see the pod being deleted if you use force. I'm not sure why this is and will speak to my team later.

@jessesuen and @alexmt  -  it looks like the pod informer does not get notified if the pod is deleted using --force, this maybe pick up after a re-sync. Have you ever seen this?

Delete with force - last message
{
    "apiVersion": "v1",
    "kind": "Pod",
    "metadata": {
        "annotations": {
            "workflows.argoproj.io/node-name": "wf-dv24q.B",
            "workflows.argoproj.io/template": "{\"name\":\"B\",\"arguments\":{},\"inputs\":{},\"outputs\":{},\"metadata\":{},\"container\":{\"name\":\"\",\"image\":\"alpine\",\"command\":[\"sh\",\"-c\"],\"args\":[\"sleep 1000000\\nexit 2\"],\"resources\":{}},\"archiveLocation\":{\"archiveLogs\":true,\"s3\":{\"endpoint\":\"minio:9000\",\"bucket\":\"my-bucket\",\"insecure\":true,\"accessKeySecret\":{\"name\":\"my-minio-cred\",\"key\":\"accesskey\"},\"secretKeySecret\":{\"name\":\"my-minio-cred\",\"key\":\"secretkey\"},\"key\":\"wf-dv24q/wf-dv24q-136091366\"}}}"
        },
        "creationTimestamp": "2020-07-14T15:34:49Z",
        "deletionGracePeriodSeconds": 0,
        "deletionTimestamp": "2020-07-14T15:35:04Z",
        "labels": {
            "workflows.argoproj.io/completed": "false",
            "workflows.argoproj.io/workflow": "wf-dv24q"
        },
        "managedFields": [
            {
                "apiVersion": "v1",
                "fieldsType": "FieldsV1",
                "fieldsV1": {
                    "f:metadata": {
                        "f:annotations": {
                            ".": {},
                            "f:workflows.argoproj.io/node-name": {},
                            "f:workflows.argoproj.io/template": {}
                        },
                        "f:labels": {
                            ".": {},
                            "f:workflows.argoproj.io/completed": {},
                            "f:workflows.argoproj.io/workflow": {}
                        },
                        "f:ownerReferences": {
                            ".": {},
                            "k:{\"uid\":\"d754dfeb-ecdb-4525-9093-feba144c41cf\"}": {
                                ".": {},
                                "f:apiVersion": {},
                                "f:blockOwnerDeletion": {},
                                "f:controller": {},
                                "f:kind": {},
                                "f:name": {},
                                "f:uid": {}
                            }
                        }
                    },
                    "f:spec": {
                        "f:containers": {
                            "k:{\"name\":\"main\"}": {
                                ".": {},
                                "f:args": {},
                                "f:command": {},
                                "f:image": {},
                                "f:imagePullPolicy": {},
                                "f:name": {},
                                "f:resources": {},
                                "f:terminationMessagePath": {},
                                "f:terminationMessagePolicy": {}
                            },
                            "k:{\"name\":\"wait\"}": {
                                ".": {},
                                "f:command": {},
                                "f:env": {
                                    ".": {},
                                    "k:{\"name\":\"ARGO_CONTAINER_RUNTIME_EXECUTOR\"}": {
                                        ".": {},
                                        "f:name": {},
                                        "f:value": {}
                                    },
                                    "k:{\"name\":\"ARGO_POD_NAME\"}": {
                                        ".": {},
                                        "f:name": {},
                                        "f:valueFrom": {
                                            ".": {},
                                            "f:fieldRef": {
                                                ".": {},
                                                "f:apiVersion": {},
                                                "f:fieldPath": {}
                                            }
                                        }
                                    }
                                },
                                "f:image": {},
                                "f:imagePullPolicy": {},
                                "f:name": {},
                                "f:resources": {
                                    ".": {},
                                    "f:limits": {
                                        ".": {},
                                        "f:cpu": {},
                                        "f:memory": {}
                                    },
                                    "f:requests": {
                                        ".": {},
                                        "f:cpu": {},
                                        "f:memory": {}
                                    }
                                },
                                "f:securityContext": {
                                    ".": {},
                                    "f:capabilities": {
                                        ".": {},
                                        "f:add": {}
                                    }
                                },
                                "f:terminationMessagePath": {},
                                "f:terminationMessagePolicy": {},
                                "f:volumeMounts": {
                                    ".": {},
                                    "k:{\"mountPath\":\"/argo/podmetadata\"}": {
                                        ".": {},
                                        "f:mountPath": {},
                                        "f:name": {}
                                    },
                                    "k:{\"mountPath\":\"/argo/secret/my-minio-cred\"}": {
                                        ".": {},
                                        "f:mountPath": {},
                                        "f:name": {},
                                        "f:readOnly": {}
                                    }
                                }
                            }
                        },
                        "f:dnsPolicy": {},
                        "f:enableServiceLinks": {},
                        "f:restartPolicy": {},
                        "f:schedulerName": {},
                        "f:securityContext": {},
                        "f:shareProcessNamespace": {},
                        "f:terminationGracePeriodSeconds": {},
                        "f:volumes": {
                            ".": {},
                            "k:{\"name\":\"my-minio-cred\"}": {
                                ".": {},
                                "f:name": {},
                                "f:secret": {
                                    ".": {},
                                    "f:defaultMode": {},
                                    "f:items": {},
                                    "f:secretName": {}
                                }
                            },
                            "k:{\"name\":\"podmetadata\"}": {
                                ".": {},
                                "f:downwardAPI": {
                                    ".": {},
                                    "f:defaultMode": {},
                                    "f:items": {}
                                },
                                "f:name": {}
                            }
                        }
                    }
                },
                "manager": "workflow-controller",
                "operation": "Update",
                "time": "2020-07-14T15:34:49Z"
            },
            {
                "apiVersion": "v1",
                "fieldsType": "FieldsV1",
                "fieldsV1": {
                    "f:status": {
                        "f:conditions": {
                            "k:{\"type\":\"ContainersReady\"}": {
                                ".": {},
                                "f:lastProbeTime": {},
                                "f:lastTransitionTime": {},
                                "f:status": {},
                                "f:type": {}
                            },
                            "k:{\"type\":\"Initialized\"}": {
                                ".": {},
                                "f:lastProbeTime": {},
                                "f:lastTransitionTime": {},
                                "f:status": {},
                                "f:type": {}
                            },
                            "k:{\"type\":\"Ready\"}": {
                                ".": {},
                                "f:lastProbeTime": {},
                                "f:lastTransitionTime": {},
                                "f:status": {},
                                "f:type": {}
                            }
                        },
                        "f:containerStatuses": {},
                        "f:hostIP": {},
                        "f:phase": {},
                        "f:podIP": {},
                        "f:podIPs": {
                            ".": {},
                            "k:{\"ip\":\"<IP_ADDRESS>\"}": {
                                ".": {},
                                "f:ip": {}
                            }
                        },
                        "f:startTime": {}
                    }
                },
                "manager": "k3s",
                "operation": "Update",
                "time": "2020-07-14T15:34:52Z"
            }
        ],
        "name": "wf-dv24q-136091366",
        "namespace": "argo",
        "ownerReferences": [
            {
                "apiVersion": "argoproj.io/v1alpha1",
                "blockOwnerDeletion": true,
                "controller": true,
                "kind": "Workflow",
                "name": "wf-dv24q",
                "uid": "d754dfeb-ecdb-4525-9093-feba144c41cf"
            }
        ],
        "resourceVersion": "56348",
        "selfLink": "/api/v1/namespaces/argo/pods/wf-dv24q-136091366",
        "uid": "44f5ea48-9da7-4bab-9b79-ac3002cd37e4"
    },
    "spec": {
        "containers": [
            {
                "command": [
                    "argoexec",
                    "wait"
                ],
                "env": [
                    {
                        "name": "ARGO_POD_NAME",
                        "valueFrom": {
                            "fieldRef": {
                                "apiVersion": "v1",
                                "fieldPath": "metadata.name"
                            }
                        }
                    },
                    {
                        "name": "ARGO_CONTAINER_RUNTIME_EXECUTOR",
                        "value": "pns"
                    }
                ],
                "image": "argoproj/argoexec:latest",
                "imagePullPolicy": "Never",
                "name": "wait",
                "resources": {
                    "limits": {
                        "cpu": "500m",
                        "memory": "128Mi"
                    },
                    "requests": {
                        "cpu": "100m",
                        "memory": "64Mi"
                    }
                },
                "securityContext": {
                    "capabilities": {
                        "add": [
                            "SYS_PTRACE"
                        ]
                    }
                },
                "terminationMessagePath": "/dev/termination-log",
                "terminationMessagePolicy": "File",
                "volumeMounts": [
                    {
                        "mountPath": "/argo/podmetadata",
                        "name": "podmetadata"
                    },
                    {
                        "mountPath": "/argo/secret/my-minio-cred",
                        "name": "my-minio-cred",
                        "readOnly": true
                    },
                    {
                        "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount",
                        "name": "default-token-sllr5",
                        "readOnly": true
                    }
                ]
            },
            {
                "args": [
                    "sleep 1000000\nexit 2"
                ],
                "command": [
                    "sh",
                    "-c"
                ],
                "image": "alpine",
                "imagePullPolicy": "Always",
                "name": "main",
                "resources": {},
                "terminationMessagePath": "/dev/termination-log",
                "terminationMessagePolicy": "File",
                "volumeMounts": [
                    {
                        "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount",
                        "name": "default-token-sllr5",
                        "readOnly": true
                    }
                ]
            }
        ],
        "dnsPolicy": "ClusterFirst",
        "enableServiceLinks": true,
        "nodeName": "k3d-k3s-default-server",
        "priority": 0,
        "restartPolicy": "Never",
        "schedulerName": "default-scheduler",
        "securityContext": {},
        "serviceAccount": "default",
        "serviceAccountName": "default",
        "shareProcessNamespace": true,
        "terminationGracePeriodSeconds": 30,
        "tolerations": [
            {
                "effect": "NoExecute",
                "key": "node.kubernetes.io/not-ready",
                "operator": "Exists",
                "tolerationSeconds": 300
            },
            {
                "effect": "NoExecute",
                "key": "node.kubernetes.io/unreachable",
                "operator": "Exists",
                "tolerationSeconds": 300
            }
        ],
        "volumes": [
            {
                "downwardAPI": {
                    "defaultMode": 420,
                    "items": [
                        {
                            "fieldRef": {
                                "apiVersion": "v1",
                                "fieldPath": "metadata.annotations"
                            },
                            "path": "annotations"
                        }
                    ]
                },
                "name": "podmetadata"
            },
            {
                "name": "my-minio-cred",
                "secret": {
                    "defaultMode": 420,
                    "items": [
                        {
                            "key": "accesskey",
                            "path": "accesskey"
                        },
                        {
                            "key": "secretkey",
                            "path": "secretkey"
                        }
                    ],
                    "secretName": "my-minio-cred"
                }
            },
            {
                "name": "default-token-sllr5",
                "secret": {
                    "defaultMode": 420,
                    "secretName": "default-token-sllr5"
                }
            }
        ]
    },
    "status": {
        "conditions": [
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:34:49Z",
                "status": "True",
                "type": "Initialized"
            },
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:34:52Z",
                "status": "True",
                "type": "Ready"
            },
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:34:52Z",
                "status": "True",
                "type": "ContainersReady"
            },
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:34:49Z",
                "status": "True",
                "type": "PodScheduled"
            }
        ],
        "containerStatuses": [
            {
                "containerID": "containerd://f41cd478ca50fc660312170a66bb219a28aa3f945a30084ddb640e29ac53b5d2",
                "image": "docker.io/library/alpine:latest",
                "imageID": "docker.io/library/alpine@sha256:185518070891758909c9f839cf4ca393ee977ac378609f700f60a771a2dfe321",
                "lastState": {},
                "name": "main",
                "ready": true,
                "restartCount": 0,
                "started": true,
                "state": {
                    "running": {
                        "startedAt": "2020-07-14T15:34:51Z"
                    }
                }
            },
            {
                "containerID": "containerd://2dcefcdc86a303425b880137e31d354e0d32bb52d6fb8780b2c6fbd8aa4355b5",
                "image": "docker.io/argoproj/argoexec:latest",
                "imageID": "sha256:f7a58299dc349241028c834f9cc5b5d80d1a07fca869d1e8f16bbd7183cf873f",
                "lastState": {},
                "name": "wait",
                "ready": true,
                "restartCount": 0,
                "started": true,
                "state": {
                    "running": {
                        "startedAt": "2020-07-14T15:34:50Z"
                    }
                }
            }
        ],
        "hostIP": "<IP_ADDRESS>",
        "phase": "Running",
        "podIP": "<IP_ADDRESS>",
        "podIPs": [
            {
                "ip": "<IP_ADDRESS>"
            }
        ],
        "qosClass": "Burstable",
        "startTime": "2020-07-14T15:34:49Z"
    }
}

Delete without force:
{
    "apiVersion": "v1",
    "kind": "Pod",
    "metadata": {
        "annotations": {
            "workflows.argoproj.io/node-name": "wf-lwlzp.B",
            "workflows.argoproj.io/template": "{\"name\":\"B\",\"arguments\":{},\"inputs\":{},\"outputs\":{},\"metadata\":{},\"container\":{\"name\":\"\",\"image\":\"alpine\",\"command\":[\"sh\",\"-c\"],\"args\":[\"sleep 1000000\\nexit 2\"],\"resources\":{}},\"archiveLocation\":{\"archiveLogs\":true,\"s3\":{\"endpoint\":\"minio:9000\",\"bucket\":\"my-bucket\",\"insecure\":true,\"accessKeySecret\":{\"name\":\"my-minio-cred\",\"key\":\"accesskey\"},\"secretKeySecret\":{\"name\":\"my-minio-cred\",\"key\":\"secretkey\"},\"key\":\"wf-lwlzp/wf-lwlzp-878720680\"}}}"
        },
        "creationTimestamp": "2020-07-14T15:36:17Z",
        "deletionGracePeriodSeconds": 0,
        "deletionTimestamp": "2020-07-14T15:36:34Z",
        "labels": {
            "workflows.argoproj.io/completed": "false",
            "workflows.argoproj.io/workflow": "wf-lwlzp"
        },
        "managedFields": [
            {
                "apiVersion": "v1",
                "fieldsType": "FieldsV1",
                "fieldsV1": {
                    "f:metadata": {
                        "f:annotations": {
                            ".": {},
                            "f:workflows.argoproj.io/node-name": {},
                            "f:workflows.argoproj.io/template": {}
                        },
                        "f:labels": {
                            ".": {},
                            "f:workflows.argoproj.io/completed": {},
                            "f:workflows.argoproj.io/workflow": {}
                        },
                        "f:ownerReferences": {
                            ".": {},
                            "k:{\"uid\":\"f1bd093e-743a-4e69-abb8-d0dacee191ef\"}": {
                                ".": {},
                                "f:apiVersion": {},
                                "f:blockOwnerDeletion": {},
                                "f:controller": {},
                                "f:kind": {},
                                "f:name": {},
                                "f:uid": {}
                            }
                        }
                    },
                    "f:spec": {
                        "f:containers": {
                            "k:{\"name\":\"main\"}": {
                                ".": {},
                                "f:args": {},
                                "f:command": {},
                                "f:image": {},
                                "f:imagePullPolicy": {},
                                "f:name": {},
                                "f:resources": {},
                                "f:terminationMessagePath": {},
                                "f:terminationMessagePolicy": {}
                            },
                            "k:{\"name\":\"wait\"}": {
                                ".": {},
                                "f:command": {},
                                "f:env": {
                                    ".": {},
                                    "k:{\"name\":\"ARGO_CONTAINER_RUNTIME_EXECUTOR\"}": {
                                        ".": {},
                                        "f:name": {},
                                        "f:value": {}
                                    },
                                    "k:{\"name\":\"ARGO_POD_NAME\"}": {
                                        ".": {},
                                        "f:name": {},
                                        "f:valueFrom": {
                                            ".": {},
                                            "f:fieldRef": {
                                                ".": {},
                                                "f:apiVersion": {},
                                                "f:fieldPath": {}
                                            }
                                        }
                                    }
                                },
                                "f:image": {},
                                "f:imagePullPolicy": {},
                                "f:name": {},
                                "f:resources": {
                                    ".": {},
                                    "f:limits": {
                                        ".": {},
                                        "f:cpu": {},
                                        "f:memory": {}
                                    },
                                    "f:requests": {
                                        ".": {},
                                        "f:cpu": {},
                                        "f:memory": {}
                                    }
                                },
                                "f:securityContext": {
                                    ".": {},
                                    "f:capabilities": {
                                        ".": {},
                                        "f:add": {}
                                    }
                                },
                                "f:terminationMessagePath": {},
                                "f:terminationMessagePolicy": {},
                                "f:volumeMounts": {
                                    ".": {},
                                    "k:{\"mountPath\":\"/argo/podmetadata\"}": {
                                        ".": {},
                                        "f:mountPath": {},
                                        "f:name": {}
                                    },
                                    "k:{\"mountPath\":\"/argo/secret/my-minio-cred\"}": {
                                        ".": {},
                                        "f:mountPath": {},
                                        "f:name": {},
                                        "f:readOnly": {}
                                    }
                                }
                            }
                        },
                        "f:dnsPolicy": {},
                        "f:enableServiceLinks": {},
                        "f:restartPolicy": {},
                        "f:schedulerName": {},
                        "f:securityContext": {},
                        "f:shareProcessNamespace": {},
                        "f:terminationGracePeriodSeconds": {},
                        "f:volumes": {
                            ".": {},
                            "k:{\"name\":\"my-minio-cred\"}": {
                                ".": {},
                                "f:name": {},
                                "f:secret": {
                                    ".": {},
                                    "f:defaultMode": {},
                                    "f:items": {},
                                    "f:secretName": {}
                                }
                            },
                            "k:{\"name\":\"podmetadata\"}": {
                                ".": {},
                                "f:downwardAPI": {
                                    ".": {},
                                    "f:defaultMode": {},
                                    "f:items": {}
                                },
                                "f:name": {}
                            }
                        }
                    }
                },
                "manager": "workflow-controller",
                "operation": "Update",
                "time": "2020-07-14T15:36:17Z"
            },
            {
                "apiVersion": "v1",
                "fieldsType": "FieldsV1",
                "fieldsV1": {
                    "f:status": {
                        "f:conditions": {
                            "k:{\"type\":\"ContainersReady\"}": {
                                ".": {},
                                "f:lastProbeTime": {},
                                "f:lastTransitionTime": {},
                                "f:message": {},
                                "f:reason": {},
                                "f:status": {},
                                "f:type": {}
                            },
                            "k:{\"type\":\"Initialized\"}": {
                                ".": {},
                                "f:lastProbeTime": {},
                                "f:lastTransitionTime": {},
                                "f:status": {},
                                "f:type": {}
                            },
                            "k:{\"type\":\"Ready\"}": {
                                ".": {},
                                "f:lastProbeTime": {},
                                "f:lastTransitionTime": {},
                                "f:message": {},
                                "f:reason": {},
                                "f:status": {},
                                "f:type": {}
                            }
                        },
                        "f:containerStatuses": {},
                        "f:hostIP": {},
                        "f:phase": {},
                        "f:podIP": {},
                        "f:podIPs": {
                            ".": {},
                            "k:{\"ip\":\"<IP_ADDRESS>\"}": {
                                ".": {},
                                "f:ip": {}
                            }
                        },
                        "f:startTime": {}
                    }
                },
                "manager": "k3s",
                "operation": "Update",
                "time": "2020-07-14T15:36:35Z"
            }
        ],
        "name": "wf-lwlzp-878720680",
        "namespace": "argo",
        "ownerReferences": [
            {
                "apiVersion": "argoproj.io/v1alpha1",
                "blockOwnerDeletion": true,
                "controller": true,
                "kind": "Workflow",
                "name": "wf-lwlzp",
                "uid": "f1bd093e-743a-4e69-abb8-d0dacee191ef"
            }
        ],
        "resourceVersion": "56441",
        "selfLink": "/api/v1/namespaces/argo/pods/wf-lwlzp-878720680",
        "uid": "cb8fa533-522b-4fd3-a6ce-5a65fa18079c"
    },
    "spec": {
        "containers": [
            {
                "command": [
                    "argoexec",
                    "wait"
                ],
                "env": [
                    {
                        "name": "ARGO_POD_NAME",
                        "valueFrom": {
                            "fieldRef": {
                                "apiVersion": "v1",
                                "fieldPath": "metadata.name"
                            }
                        }
                    },
                    {
                        "name": "ARGO_CONTAINER_RUNTIME_EXECUTOR",
                        "value": "pns"
                    }
                ],
                "image": "argoproj/argoexec:latest",
                "imagePullPolicy": "Never",
                "name": "wait",
                "resources": {
                    "limits": {
                        "cpu": "500m",
                        "memory": "128Mi"
                    },
                    "requests": {
                        "cpu": "100m",
                        "memory": "64Mi"
                    }
                },
                "securityContext": {
                    "capabilities": {
                        "add": [
                            "SYS_PTRACE"
                        ]
                    }
                },
                "terminationMessagePath": "/dev/termination-log",
                "terminationMessagePolicy": "File",
                "volumeMounts": [
                    {
                        "mountPath": "/argo/podmetadata",
                        "name": "podmetadata"
                    },
                    {
                        "mountPath": "/argo/secret/my-minio-cred",
                        "name": "my-minio-cred",
                        "readOnly": true
                    },
                    {
                        "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount",
                        "name": "default-token-sllr5",
                        "readOnly": true
                    }
                ]
            },
            {
                "args": [
                    "sleep 1000000\nexit 2"
                ],
                "command": [
                    "sh",
                    "-c"
                ],
                "image": "alpine",
                "imagePullPolicy": "Always",
                "name": "main",
                "resources": {},
                "terminationMessagePath": "/dev/termination-log",
                "terminationMessagePolicy": "File",
                "volumeMounts": [
                    {
                        "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount",
                        "name": "default-token-sllr5",
                        "readOnly": true
                    }
                ]
            }
        ],
        "dnsPolicy": "ClusterFirst",
        "enableServiceLinks": true,
        "nodeName": "k3d-k3s-default-server",
        "priority": 0,
        "restartPolicy": "Never",
        "schedulerName": "default-scheduler",
        "securityContext": {},
        "serviceAccount": "default",
        "serviceAccountName": "default",
        "shareProcessNamespace": true,
        "terminationGracePeriodSeconds": 30,
        "tolerations": [
            {
                "effect": "NoExecute",
                "key": "node.kubernetes.io/not-ready",
                "operator": "Exists",
                "tolerationSeconds": 300
            },
            {
                "effect": "NoExecute",
                "key": "node.kubernetes.io/unreachable",
                "operator": "Exists",
                "tolerationSeconds": 300
            }
        ],
        "volumes": [
            {
                "downwardAPI": {
                    "defaultMode": 420,
                    "items": [
                        {
                            "fieldRef": {
                                "apiVersion": "v1",
                                "fieldPath": "metadata.annotations"
                            },
                            "path": "annotations"
                        }
                    ]
                },
                "name": "podmetadata"
            },
            {
                "name": "my-minio-cred",
                "secret": {
                    "defaultMode": 420,
                    "items": [
                        {
                            "key": "accesskey",
                            "path": "accesskey"
                        },
                        {
                            "key": "secretkey",
                            "path": "secretkey"
                        }
                    ],
                    "secretName": "my-minio-cred"
                }
            },
            {
                "name": "default-token-sllr5",
                "secret": {
                    "defaultMode": 420,
                    "secretName": "default-token-sllr5"
                }
            }
        ]
    },
    "status": {
        "conditions": [
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:36:17Z",
                "status": "True",
                "type": "Initialized"
            },
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:36:35Z",
                "message": "containers with unready status: [wait main]",
                "reason": "ContainersNotReady",
                "status": "False",
                "type": "Ready"
            },
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:36:35Z",
                "message": "containers with unready status: [wait main]",
                "reason": "ContainersNotReady",
                "status": "False",
                "type": "ContainersReady"
            },
            {
                "lastProbeTime": null,
                "lastTransitionTime": "2020-07-14T15:36:17Z",
                "status": "True",
                "type": "PodScheduled"
            }
        ],
        "containerStatuses": [
            {
                "containerID": "containerd://7857323db376d9b56c4a86de30f1d9ebd2bd6987bc2d7209011cc8f54af0b4b5",
                "image": "docker.io/library/alpine:latest",
                "imageID": "docker.io/library/alpine@sha256:185518070891758909c9f839cf4ca393ee977ac378609f700f60a771a2dfe321",
                "lastState": {},
                "name": "main",
                "ready": false,
                "restartCount": 0,
                "started": false,
                "state": {
                    "terminated": {
                        "containerID": "containerd://7857323db376d9b56c4a86de30f1d9ebd2bd6987bc2d7209011cc8f54af0b4b5",
                        "exitCode": 143,
                        "finishedAt": "2020-07-14T15:36:34Z",
                        "reason": "Error",
                        "startedAt": "2020-07-14T15:36:19Z"
                    }
                }
            },
            {
                "containerID": "containerd://4c27a25158a4d90c012a12ae66e620e2aec9fa2dbbc9c5ccabcc42341fc11bd7",
                "image": "docker.io/argoproj/argoexec:latest",
                "imageID": "sha256:f7a58299dc349241028c834f9cc5b5d80d1a07fca869d1e8f16bbd7183cf873f",
                "lastState": {},
                "name": "wait",
                "ready": false,
                "restartCount": 0,
                "started": false,
                "state": {
                    "terminated": {
                        "containerID": "containerd://4c27a25158a4d90c012a12ae66e620e2aec9fa2dbbc9c5ccabcc42341fc11bd7",
                        "exitCode": 143,
                        "finishedAt": "2020-07-14T15:36:34Z",
                        "reason": "Error",
                        "startedAt": "2020-07-14T15:36:18Z"
                    }
                }
            }
        ],
        "hostIP": "<IP_ADDRESS>",
        "phase": "Failed",
        "podIP": "<IP_ADDRESS>",
        "podIPs": [
            {
                "ip": "<IP_ADDRESS>"
            }
        ],
        "qosClass": "Burstable",
        "startTime": "2020-07-14T15:36:17Z"
    }
}

Bug found:
``
controller | time="2020-07-14T08:39:44-07:00" level=info msg="insignificant pod change"

Deleting pod is not "insignificant"


Parse server options from jhipster config field instead of full .yo-rc.json

This is more consistent.
In generator-jhipster, this is this.config and you don't need to wrap it.

Well, if you've tested it and seen it work, then Thanks =)


This makes the HTMX Component a pydantic.BaseModel

The implications are:

Rename Component.template_name -> Component._template_name
Move the logic Component.__init__ -> Component.mount
The __init__ is now handled by pydantic

I like the idea, because now when I create a base HTMX component I have to repeat its __init__ arguments in all subclasses.  So, +1; however, this is breaking change, so I would make it another Component class and deprecate the current one.
I will work on this proposal.

The README needs to be updated.

The README needs to be updated.

I'm on the process of doing all of this.  I went for the breaking change version, but even breaking the import which I find more dev-friendly because it won't even allow you to run the server while developing because an ImportError.
This is still not ready yet.  It will take some time to complete.