Use std::shared_ptr for variable resolution

AnchoredSetVariable::resolve is called for every rule (see RuleWithOperator::evaluate). The previous implementation allocated a new copy of every variable, which quickly added up. In my tests, AnchoredSetVariable::resolve function consumed 7.8% of run time.
AnchoredSetVariable (which is a multimap) values are never changed, only added. This means it's safe to store them in std::shared_ptr, and make resolve return shared_ptr pointing to the same object.
Other resolve implementation could also use this optimization by not allocating new objects, however, they are not hot spots, so this optimization was not implemented there.
In my benchmark, this raises performance from 117 requests per second to 131 RPS, and overhead is lowered from 7.8% to 2.4%.
As a bonus, replacing plain pointer with smart pointers make code cleaner, since using smart pointers makes manual deletes no longer necessary.
Additionally, VariableOrigin is now stored in plain std::vector, since it's wasteful to store structure containing just two integer values using std::list<std::unique_ptr<T>>.
Before (the thing to the left of executeTransformations labeled "modsecuri.."):

After:

SVG files for the flamegraphs: flamegraphs.tar.gz

Hi, @WGH-
Please consider using std::deque instead of std::vector for the VariableOrigin as explained at: #2375.
That sounds like a good modification, we didn't change so much the Variable class on 3.1 yet, so I think it will be easy to rebase that to 3.1-experimental. Do you mind?
Thank you for your work. Very nice to see the flame charts. Kudos :)

I'm skeptical that deque would be more performant here.  I would personally leave them as vector.

I made a test. std::deque basically gives the same performance (slower within the margin of error: 130 RPS).
std::deque shines when you actually use it as a queue: i.e. append/remove items to/from either end. Sure, it also avoids reallocations when you append elements, but the count and the size of individual elements are too small here to matter.

By the way, AnchoredSetVariable has a couple of places where the variable is inserted in front of the vector for no apparent reason. I think replacing it with push_back will have bigger impact.
https://github.com/SpiderLabs/ModSecurity/blob/0eb3c123f447b8787ea726ad4d4439018a07ee31/src/anchored_set_variable.cc#L83-L88
https://github.com/SpiderLabs/ModSecurity/blob/0eb3c123f447b8787ea726ad4d4439018a07ee31/src/anchored_set_variable.cc#L91-L102
I don't think the order of the resolved variables supposed to matter,  and even AnchoredSetVariable::resolve inserts new elements by iterating over std::unordered_map, which is, well, unorderdered, but it still causes some test to fail:
  # File Name                                         Test Name                                                             Passed?
--- ---------                                         ---------                                                             -------
  1 offset-variable.json                              Variable offset - FILES_NAMES                                         failed!

Test failed. From: ../test/test-cases/regression/offset-variable.json.
Test name: Variable offset - FILES_NAMES.
Reason:
Error log was not matching the expected results.
Expecting: o0,8o0,8v491,8t:trimo0,16o0,16v709,16t:trim
<...>
Error log:
ModSecurity: Warning. Matched "Operator `Rx' with parameter `(fiasdfasdfledata|filedata)' against variable `FILES_NAMES:filedata' (Value: `filedata' ) [file "offset-variable.json"] [line "2"] [id "1"] [rev ""] [msg "s"] [data ""] [severity "0"] [ver ""] [maturity "0"] [accuracy "0"] [hostname "<IP_ADDRESS>"] [uri "/wheee/f i l e "] [unique_id "1596052147"] [ref "o0,16o0,16v709,16t:trimo0,8o0,8v491,8t:trim"]

I have rebased it on top of v3/dev/3.1-experimental branch.
I have been unable to test it with my benchmark, because it crashes. Base v3/dev/3.1-experimental crashes as well, so it's not caused by the shared_ptr changes.
(gdb) bt
#0  0x00007ffff7c0cf16 in __dynamic_cast () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x00007ffff7ea7d6f in modsecurity::RuleWithActions::executeTransformations (this=this@entry=0x5555565eeb00, trans=trans@entry=0x555564ca3390, in="%2F", Python Exception <class 'AttributeError'> 'NoneType' object has no attribute 'pointer':
results=std::__cxx11::list) at rule_with_actions.cc:336
#2  0x00007ffff7ead9f4 in modsecurity::RuleWithOperator::evaluate (this=0x5555565eeb00, trans=0x555564ca3390) at rule_with_operator.cc:303
#3  0x00007ffff7e9bba4 in modsecurity::RulesSet::evaluate (this=0x5555555bc870, phase=phase@entry=3, t=t@entry=0x555564ca3390) at rules_set.cc:300
#4  0x00007ffff7e88303 in modsecurity::Transaction::processRequestBody (this=<optimized out>) at transaction.cc:985
#5  0x0000555555559a8c in process_transaction (it=0x7fffffffe080, modsecTransaction=0x555564ca3390, j=...) at benchmark.cc:103
#6  main (argc=<optimized out>, argv=<optimized out>) at benchmark.cc:194
(gdb) frame 1
#1  0x00007ffff7ea7d6f in modsecurity::RuleWithActions::executeTransformations (this=this@entry=0x5555565eeb00, trans=trans@entry=0x555564ca3390, in="%2F", results=std::__cxx11::list = {...}) at rule_with_actions.cc:336
336             if (dynamic_cast<actions::transformations::None *>(t)) {

I made a test. std::deque basically gives the same performance (slower within the margin of error: 130 RPS).
std::deque shines when you actually use it as a queue: i.e. append/remove items to/from either end. Sure, it also avoids reallocations when you append elements, but the count and the size of individual elements are too small here to matter.

Thank you for having a test on it. My concern was about memory handling, but you have a point. @martinhsv also mentioned to me the possibility to use .reserve() to promptly pre-allocated the vector resources whenever we are able to measure (or educated guess its size).
We do use it here:
https://github.com/SpiderLabs/ModSecurity/blob/5824470768e73d438a5db03b7a6eb24d7c795097/src/anchored_set_variable.cc#L31-L36

By the way, AnchoredSetVariable has a couple of places where the variable is inserted in front of the vector for no apparent reason. I think replacing it with push_back will have bigger impact.
https://github.com/SpiderLabs/ModSecurity/blob/0eb3c123f447b8787ea726ad4d4439018a07ee31/src/anchored_set_variable.cc#L83-L88
https://github.com/SpiderLabs/ModSecurity/blob/0eb3c123f447b8787ea726ad4d4439018a07ee31/src/anchored_set_variable.cc#L91-L102
I don't think the order of the resolved variables supposed to matter, and even AnchoredSetVariable::resolve inserts new elements by iterating over std::unordered_map, which is, well, unorderdered, but replacing it with push_back still causes some test to fail:
  # File Name                                         Test Name                                                             Passed?
--- ---------                                         ---------                                                             -------
  1 offset-variable.json                              Variable offset - FILES_NAMES                                         failed!

Test failed. From: ../test/test-cases/regression/offset-variable.json.
Test name: Variable offset - FILES_NAMES.
Reason:
Error log was not matching the expected results.
Expecting: o0,8o0,8v491,8t:trimo0,16o0,16v709,16t:trim
<...>
Error log:
ModSecurity: Warning. Matched "Operator `Rx' with parameter `(fiasdfasdfledata|filedata)' against variable `FILES_NAMES:filedata' (Value: `filedata' ) [file "offset-variable.json"] [line "2"] [id "1"] [rev ""] [msg "s"] [data ""] [severity "0"] [ver ""] [maturity "0"] [accuracy "0"] [hostname "<IP_ADDRESS>"] [uri "/wheee/f i l e "] [unique_id "1596052147"] [ref "o0,16o0,16v709,16t:trimo0,8o0,8v491,8t:trim"]

Placing that on my TODO list, getting back to you in a few.

Rebased this patch here: be4cba2a375d22c74866c076d75e4b99eeacf8a1
It seems that it introduces an issue regarding the RunTimeString execution.
The test case: regression/issue-1844.json is falling with a core dump.
https://github.com/SpiderLabs/ModSecurity/blob/b32182940d558db803c063575552621bc061380b/test/test-cases/regression/issue-1844.json#L241-L287
back trace below:
#0  0x00007ffff7e94f5b in std::__uniq_ptr_impl<modsecurity::RunTimeString, std::default_delete<modsecurity::RunTimeString> >::_M_ptr (this=<optimized out>) at rule_with_actions.cc:399
#1  std::unique_ptr<modsecurity::RunTimeString, std::default_delete<modsecurity::RunTimeString> >::get (this=<optimized out>) at /usr/include/c++/10.1.0/bits/unique_ptr.h:421
#2  std::unique_ptr<modsecurity::RunTimeString, std::default_delete<modsecurity::RunTimeString> >::operator bool (this=<optimized out>) at /usr/include/c++/10.1.0/bits/unique_ptr.h:435
#3  std::operator==<modsecurity::RunTimeString, std::default_delete<modsecurity::RunTimeString> >(std::unique_ptr<modsecurity::RunTimeString, std::default_delete<modsecurity::RunTimeString> > const&, decltype(nullptr)) (__x=...) at /usr/include/c++/10.1.0/bits/unique_ptr.h:760
#4  modsecurity::actions::ActionWithRunTimeString::getEvaluatedRunTimeString[abi:cxx11](modsecurity::Transaction*) const (transaction=<optimized out>, this=<optimized out>) at ../src/actions/action_with_run_time_string.h:53
#5  modsecurity::RuleWithActions::getMessage[abi:cxx11](modsecurity::Transaction*) const (this=0x555555646c60, t=0x5555556651a0) at rule_with_actions.cc:399
#6  0x00007ffff7e3ac2f in modsecurity::variables::Rule_DictElement::msg (t=<optimized out>, rule=<optimized out>, l=0x7fffffffafa0) at ../src/variables/rule.h:124
#7  0x00007ffff7e91f10 in modsecurity::RunTimeString::evaluate[abi:cxx11](modsecurity::Transaction*) (this=0x555555645350, transaction=transaction@entry=0x5555556651a0) at run_time_string.cc:58
#8  0x00007ffff7ec62e1 in modsecurity::actions::ActionWithRunTimeString::getEvaluatedRunTimeString[abi:cxx11](modsecurity::Transaction*) const (transaction=0x5555556651a0, this=0x555555682d60) at ../src/actions/action_with_run_time_string.h:53
#9  modsecurity::actions::SetVar::execute (this=0x555555682d60, t=0x5555556651a0) at actions/set_var.cc:50
#10 0x00007ffff7e9609d in modsecurity::RuleWithActions::executeActionsIndependentOfChainedRuleResult (this=0x55555558ffc0, trans=0x5555556651a0) at rule_with_actions.cc:207
#11 0x00007ffff7e9cb0e in modsecurity::RuleWithOperator::evaluate (this=0x55555558ffc0, trans=<optimized out>) at rule_with_operator.cc:338
#12 0x00007ffff7e89724 in modsecurity::RulesSet::evaluate (this=<optimized out>, phase=phase@entry=3, t=t@entry=0x5555556651a0) at /usr/include/c++/10.1.0/bits/shared_ptr_base.h:1324
#13 0x00007ffff7e76d1a in modsecurity::Transaction::processRequestBody (this=0x5555556651a0) at transaction.cc:984
#14 0x000055555555db39 in perform_unit_test (test=<optimized out>, tests=<optimized out>, res=<optimized out>, count=<optimized out>) at regression/regression.cc:344
#15 0x000055555555976f in main (argc=<optimized out>, argv=<optimized out>) at regression/regression.cc:548
>>> bt
#0  0x00007ffff7e94f5b in std::__uniq_ptr_impl<modsecurity::RunTimeString, std::default_delete<modsecurity::RunTimeString> >::_M_ptr (this=<optimized out>) at rule_with_actions.cc:399
#1  std::unique_ptr<modsecurity::RunTimeString, std::default_delete<modsecurity::RunTimeString> >::get (this=<optimized out>) at /usr/include/c++/10.1.0/bits/unique_ptr.h:421
#2  std::unique_ptr<modsecurity::RunTimeString, std::default_delete<modsecurity::RunTimeString> >::operator bool (this=<optimized out>) at /usr/include/c++/10.1.0/bits/unique_ptr.h:435
#3  std::operator==<modsecurity::RunTimeString, std::default_delete<modsecurity::RunTimeString> >(std::unique_ptr<modsecurity::RunTimeString, std::default_delete<modsecurity::RunTimeString> > const&, decltype(nullptr)) (__x=...) at /usr/include/c++/10.1.0/bits/unique_ptr.h:760
#4  modsecurity::actions::ActionWithRunTimeString::getEvaluatedRunTimeString[abi:cxx11](modsecurity::Transaction*) const (transaction=<optimized out>, this=<optimized out>) at ../src/actions/action_with_run_time_string.h:53
#5  modsecurity::RuleWithActions::getMessage[abi:cxx11](modsecurity::Transaction*) const (this=0x555555646c60, t=0x5555556651a0) at rule_with_actions.cc:399
#6  0x00007ffff7e3ac2f in modsecurity::variables::Rule_DictElement::msg (t=<optimized out>, rule=<optimized out>, l=0x7fffffffafa0) at ../src/variables/rule.h:124
#7  0x00007ffff7e91f10 in modsecurity::RunTimeString::evaluate[abi:cxx11](modsecurity::Transaction*) (this=0x555555645350, transaction=transaction@entry=0x5555556651a0) at run_time_string.cc:58
#8  0x00007ffff7ec62e1 in modsecurity::actions::ActionWithRunTimeString::getEvaluatedRunTimeString[abi:cxx11](modsecurity::Transaction*) const (transaction=0x5555556651a0, this=0x555555682d60) at ../src/actions/action_with_run_time_string.h:53
#9  modsecurity::actions::SetVar::execute (this=0x555555682d60, t=0x5555556651a0) at actions/set_var.cc:50
#10 0x00007ffff7e9609d in modsecurity::RuleWithActions::executeActionsIndependentOfChainedRuleResult (this=0x55555558ffc0, trans=0x5555556651a0) at rule_with_actions.cc:207
#11 0x00007ffff7e9cb0e in modsecurity::RuleWithOperator::evaluate (this=0x55555558ffc0, trans=<optimized out>) at rule_with_operator.cc:338
#12 0x00007ffff7e89724 in modsecurity::RulesSet::evaluate (this=<optimized out>, phase=phase@entry=3, t=t@entry=0x5555556651a0) at /usr/include/c++/10.1.0/bits/shared_ptr_base.h:1324
#13 0x00007ffff7e76d1a in modsecurity::Transaction::processRequestBody (this=0x5555556651a0) at transaction.cc:984
#14 0x000055555555db39 in perform_unit_test (test=<optimized out>, tests=<optimized out>, res=<optimized out>, count=<optimized out>) at regression/regression.cc:344
#15 0x000055555555976f in main (argc=<optimized out>, argv=<optimized out>) at regression/regression.cc:548

Updated to 47be22e62a4b2ab06dae1075c2187f47b462b2f1

I have rebased it on top of v3/dev/3.1-experimental branch.
I have been unable to test it with my benchmark, because it crashes. Base v3/dev/3.1-experimental crashes as well, so it's not caused by the shared_ptr changes.
(gdb) bt
#0  0x00007ffff7c0cf16 in __dynamic_cast () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x00007ffff7ea7d6f in modsecurity::RuleWithActions::executeTransformations (this=this@entry=0x5555565eeb00, trans=trans@entry=0x555564ca3390, in="%2F", Python Exception <class 'AttributeError'> 'NoneType' object has no attribute 'pointer':
results=std::__cxx11::list) at rule_with_actions.cc:336
#2  0x00007ffff7ead9f4 in modsecurity::RuleWithOperator::evaluate (this=0x5555565eeb00, trans=0x555564ca3390) at rule_with_operator.cc:303
#3  0x00007ffff7e9bba4 in modsecurity::RulesSet::evaluate (this=0x5555555bc870, phase=phase@entry=3, t=t@entry=0x555564ca3390) at rules_set.cc:300
#4  0x00007ffff7e88303 in modsecurity::Transaction::processRequestBody (this=<optimized out>) at transaction.cc:985
#5  0x0000555555559a8c in process_transaction (it=0x7fffffffe080, modsecTransaction=0x555564ca3390, j=...) at benchmark.cc:103
#6  main (argc=<optimized out>, argv=<optimized out>) at benchmark.cc:194
(gdb) frame 1
#1  0x00007ffff7ea7d6f in modsecurity::RuleWithActions::executeTransformations (this=this@entry=0x5555565eeb00, trans=trans@entry=0x555564ca3390, in="%2F", results=std::__cxx11::list = {...}) at rule_with_actions.cc:336
336             if (dynamic_cast<actions::transformations::None *>(t)) {

@WGH- do you mind to test it again against the top of v3.1-experimental. If it still failing, can you share the set of rules that you are using? I am not able to reproduce it here.

It seems that it introduces an issue regarding the RunTimeString execution.

I'm having the same crash in my benchmark in base v3.1-experimental. I supposed this patch is not at fault, it just shuffled something a bit so the underlying problem surfaces in the regression test.
I'll create a minimal reproduction, and report back to #2376

It seems that push_back was used together with std::make_shared on different places, those could be replaced with emplace_back. I am having it tested here.

std::make_shared<T>(...) is more efficient than std::shared_ptr(new T(...)), since the former will do only one heap allocation instead of two, though.

@zimmerle Did you already merge it into v3/dev/3.1-experimental? Or what happened?

@zimmerle Did you already merge it into v3/dev/3.1-experimental? Or what happened?

Yes. It is merged on v3.1-experimental. As shared pointer I have delayed the variable resolution to the next minute if needed.
Listed here-
https://github.com/SpiderLabs/ModSecurity/blob/abf59f4b84992195e9ba58c378d8ab4441f73b6b/headers/modsecurity/variable_value.h#L51-L86
I did not collected the numbers yet, trying to make the branch stable first.

I am going to close this. We can track the performance numbers in a separated issue, if needed.
Thank you @WGH- .

It's just the state of this PR after you force-pushed some diverged branch utterly confused me. It's clear now, thanks,

R after you force-pushed some diverged branch utterly confused me. It's clear now, thanks,

v3.1-experimental is being rebased against v3/master from time to time, indeed it is confusing.


Issue Bankruptcy

Hypothesis
There's a substantial backlog of obsolete or stale issues and we could use a heuristic to close a significant number ("issue bankruptcy"). The policy would initially cause a large number to be closed, then stay in place periodically closing issues that meet the criteria. Several major repos including non Microsoft repos have such a policy.
Experiment
We will be trialing an issue bankruptcy experiment in dotnet/runtime focused on area-System.Collections. There are a number of parameters to be considered for the experiment:
Selection Criteria

Focus on Future milestone issues that have not been updated in over 6 months.
Exclude popular issues, e.g. issues that contain a large number of responses or upvotes.
Possibly exclude issues where the ball is clearly in our court (although that is probably vague and might be impossible to express in a query).

Execution

FabricBot applies a stale-issue label to selected issues and writes a post explaining that the issue has been marked for closure, linking to documentation related to this experiment, potentially encouraging users to submit their feedback on the process.
If no response has been provided within 30 days, the issue will be closed automatically by FabricBot. Otherwise, FabricBot will remove the stale-issue label from the issue.

Timing
Ideally we would want this experiment to coincide with the planning phase of a next release.
Success criteria
Reduction in the number of open issues in the Future milestone.

I have updated the OP with more details on the planned experiment.

Suggest to post a sticky issue first in the repo to explain the experiment, what we're going to do and why and encourage folks to help us do it right and learn from it -- and give the community some time (eg., a week) to share their thoughts.
Note that in dotnet/runtime, closed issues currently can be reopened by the original author within 30 days of the last activity -- after that they're locked. We can consider adjusting that automation of course.


Overlay autoPan not working if position is set before map.addOverlay

The example from the API for ol.overlay is incorrect:
var popup = new ol.Overlay({
  element: document.getElementById('popup')
});
popup.setPosition(coordinate);
map.addOverlay(popup);

If the position ist set in the config passed in ol.Overlay call or setPostion is called before map.addOverlay the autopanning does not work because it needs a reference to map wich is set to late in map.addOverlay.
If the setPosition call is placed after map.addOverlay it works but it gives the ugly effect that the element is first position in the top-left corner of the map area before it is placed the correct position.
Another thing is that the position property in Overlay options does not really work with autopanning.

the position property in Overlay options does not really work with autopanning.
i meet too

Same here.
The popup opens but there is absolute no panning :(


Fix postgres transactional error when using @Lob

The use of the @Lob annotation at a (possibly large) string field lead to errors when using postgres:
org.postgresql.util.PSQLException: Large Objects may not be used in auto-commit mode.
This change will fix the problem...

Thanks for fixing it :pineapple:
Please merge when green


custom map

help, is it possible to add a custom map to this container? Im using unraid 6.7 and the Unraid-Server container.  all works, just want to add a custom map.  can anyone let me know what  need to do

You need to transfer the map save file over to your unraid server. You can Google it. Will give you more details.


Engine Settings

Engine Settings should be present to remove hardcoded values or values that cover all possibilities within the engine.
This will remove hardcoded values and reduce the runtime overhead for picking the correct value where multiple are present.

will review this when filesystem branch is in main


any news on the update regarding the update for flutter 2.x ?

waiting patiently :)

you guys stopped working on this ?

No, but its not clear to me what your question is 😅  Dumble already works with null safe dart and thus with current flutter versions. Some things need to be refined in the future (as listed in ROADMAP.md), but thats nothing that would prevent you from using it right now.


Support getBlobChunkIds API for composite blob

Will set it as admin request in close source.

Codecov Report

Merging #2187 (5f752b4) into master (7b90403) will decrease coverage by 58.13%.
The diff coverage is 0.00%.

 Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add option to display plan schemas in svcat

Currently it doesn't seem possible in svcat describe plan to show full detail of the plan, specifically schemas for provisioning and/or binding.
Would it be possible to add support for such detailed output?

@martinmaly Is that information currently returned by the service catalog api? I'm not quite familiar with what you mean by schemas.

I believe so; when I run kubectl get clusterserviceplans <GUID> -o yaml and the service plan contains schema (as per https://github.com/openservicebrokerapi/servicebroker/blob/v2.13/spec.md#schema-object) the kubectl will print whatever schema the broker provided.
I guess kubectl will just print the whole resource as yaml so having a full resource yaml output in svcat would suffice.

Nice! I didn't know about the optional schema (because OSBA doesn't return them yet).
There is definitely value in having the schema printed out by default. Would you be interested in working on that? I'd be happy to help.
Maybe something like this?
$ svcat describe plan standard100
  Name:          standard100
  Description:   Standard Tier, 100 DTUs
  UUID:          edc2badc-d93b-4d9c-9d8e-da2f1c8c3e1c
  Status:        Active
  Free:          false
  Class:         azure-mysqldb

Instances:
No instances defined

Instance Parameter Schema: (if defined)
...

Binding Parameter Schema: (if defined)
...

That said, a yaml dump flag would also be useful too. I'm just all for making the UX for svcat shine, so I'd like to see us improve the default command output as well.

@carolynvs I'm happy to take a crack at this!

@kibbles-n-bytes Hurray!


Empty inventory list for Android?

Hi, have been using this extension for quite some time with no issue. However, I recently noticed that on Android I always receive an empty list when querying the inventory, meaning I can no longer display prices to my users. The remaining purchase flow works fine though.
I can't say exactly what would have changed recently- I have the latest official release from github here, and my app currently targets SDK 22 (minimum 11). I have experienced this on both Lollipop and Marshmallow.

I started receiving empty responses as well, and splitting my request into batches seemed to help. Not sure if there's an undocumented size limit or something on Google Play.
Note that extension-iap is not designed for batched responses - it completely replaces IAP.inventory with every request, instead of adding the new data.


issues/doubts about the current L.fst

Some issues and doubts about the current method to generate L.fst:

~Since there is no G, do we still need the disambiguation symbols?~

What is the purpose of adding optional silence at the end of each word?  Only OOV words are mapped to the silence phone SIL and I am afraid there is not enough training data for SIL.

~There is no blank symbol at all. Why is it not used? It is common to add a blank symbol to the topology in the literature, I think.~

No test code.

RE 1 and 3.

We use L.fst for training, there's no diambig symbols in it.
we add self-loops (blank) in training and decoding.

And another issue:

Any reason to NOT change the topology to support repeated symbols?

For the optional silence, we'll have to see if it's helpful in any scenario.  I think once we start using LF_MMI as part of the objective function it will become useful.
RE changing the topology to support repeated symbols, there isn't a particular reason, you could go ahead and try it.

thanks, will try it.

I am pretty sure that the disambiguation symbols in the phone symbol table are also present in the acoustic model output layer, as my changes didn't address that yet. I am not sure if them being present in the phone symbol table means that they are also present in L.

In graph.py this line
 LG.labels[LG.labels >= labels_disambig_id_start] = 0
takes care of it.


Update aws-java-sdk-dynamodb to 1.12.215

Updates com.amazonaws:aws-java-sdk-dynamodb from 1.11.1034 to 1.12.215.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws", artifactId = "aws-java-sdk-dynamodb" } ]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #285.


Make the plugin compatible with Influxdb 0.9

I've got a working version in my fork of the repo (which also includes some other fixes and enhancements like the ability to use the event data directly instead of requiring the explicit setting of data_points).

:+1:

There's a philosophical change in Influxdb 0.9. The Influxdb team asserts that metadata about the values in the series (things like host, username, IP, etc) should go into Influxdb as tags instead of fields. Values should only be a field if it changes over time.
Logstash also has tags and fields — and thought of in a similar way — however, we'll probably need to decide the method of mapping Logstash fields to Influxdb fields & tags.
I don't think we can just say "just use add_tag and pass through those tags" because things like the grok filter match values into fields and not tags.
Should we use a config setting to provide "value_fields" (an array of fields names that will be used as the field values sent to Influxdb) and everything else would go to Influxdb as tags.
Thoughts @ph, @jsvd?

Yeah, trying to bring up a new InfluxDB instance, fed by Logstash 1.5 and I ran right into this issue.

:+1:

@contentfree I like that idea and separation strategy, but it may make sense to have 2 arrays one for value_fields and one for tag_fields or something like that so we can control what data is inserted into the series as values and which data is inserted as tags.

@contentfree I've tried your fork, which works fine except when it inserts multiple points at the same time (same as this issue: https://github.com/influxdb/influxdb/issues/2984).
Would you open issues on your repo to help testing and reporting problems ?
Anyway, I'll take a look to the code to eventually submit a PR.

@gauthier-delacroix I've just done so.
I was unable to get logstash -> influxdb working reliably enough to move to production with it, so my immediate needs have waned and I'm fine adding folks as collaborators.

:+1:

Few note on making this plugin compatible with influxdb 0.9 : the json protocol will be deprecated at some point in favor of the line protocole, which achieve better performance anyway.
It might be good to adapt how data are formatted before being sent.
see https://github.com/influxdb/influxdb/pull/2696

I was able to successfully setup the fork of @contentfree with approximately 200 data points per second. Currently it runs in production for one week without any issues. Neither performance issues, reboots or crashes of some kind - it just runs fine.
Since that fork is already available since May and InfluxDB in version 9 even longer, I really would like to get an answer or statement from @ph or @jsvd on the status quo. The official plugin is more or less not the very useful.
If some work needs to be done, I can spare time to work on issues, etc.

This is also problematic for me. I'd rather avoid running a fork on production. So a big +1 if this could be merged.

+1 for merge

Happy to add folks as collaborators. I stopped pursuing influxdb (& logstash) a while ago, though I might come back around to it again (since graphite is being such a PITA to get installed…)

+1 for merge

I'm confused - this is an issue, not a pull request. What would be merged?

True. I'm happy to create a pull request from my fork – but yes, this is the issue (that references the fork…)

Have also used the @contentfree fork of the plugin to successfully ingest data using logstash to influxdb 0.9.3 solution for some months now.
It would be great if Dave Myron could create a pull request.
@jordansissel it would look good on logstash's part to have a updated version of this output plugin that supports influxdb 0.9.x.

@contentfree please create a PR and we can merge it in. Thanks!

Created PR https://github.com/logstash-plugins/logstash-output-influxdb/pull/29

Meanwhile InfluxDB 0.10.0 already released...

Fixed in #30


How to specify json encoder and decoder?

I want to set my encoder and decoder to engine. How to do it?

You are waiting on this: https://github.com/pallets/flask-sqlalchemy/issues/166


Support Zeiss CZI files

These resources may be useful for implementing a file reader for the Zeiss CZI/ZISRAW file format:

The CZI file format specification can be requested from Zeiss.

A collection of CZI files can be found at https://forum.image.sc/t/would-anyone-have-a-palm-czi-example-file/85900. It does not include hyperspectral fluorescence images.

pylibCZIrw/libCZIrw is the official implementation by Zeiss for reading CZI files. It is release under LGPL license, which is compatible with MIT.

aicsimageio provides a wrapper for pylibCZIrw. It is BSD licensed, but indirectly uses the GPL licensed Bio-Formats library, which is incompatible with MIT. Aicsimageio also supports ND2 and LIF files.

czifile is an independent implementation released under BSD license. It is currently unmaintained and has known issues with multi-resolution images. The library could be resuscitated by the PhasorPy project.

Hyperspectral CZI files can be created by exporting hyperspectral LSM files from the Zeiss ZEN lite software.

The only native, non-exported hyperspectral CZI file available to us (Q 5719_a.czi) apparently stores two acquisition channels with a spectral scans each in a single dimension. No available software can correctly separate the spectral scans from the acquisition channel.

Several updates:

the CZI file format specification seems no longer to be available from Zeiss.
aicsimageio is deprecated, superseded by BioIO.
libczi is developed at https://github.com/ZEISS/libczi.
pylibCZIrw is missing wheels for macOS.
more hyperspectral CZI files are available: the arrangement of the spectral and acquisition channels in CZI files differs between ZEN versions and/or LSM instruments.


Stop spamming the Steam-Servers (change Interval)

Theres one more reason why bots can´t connect > the interval for connecting your different bots is to low. Steam completely blocks access to their servers for some time if you spam 3 logons in just 1 second. I tried to login with Steam-Client after running ASF and get an error, that my login-attempt failed. (login-credentials definitely correct)

I released the most simple solution, we just delay creating bots to 1 bot per second.
https://github.com/JustArchi/ArchiSteamFarm/commit/e8335ac18343f0021dd7f8d39c3a36b194210b00
Try it. I don't have enough accounts.

The delay is to short. I changed the delay to 5s first and was able to connect 80 bots, then I got the "Invalid Password"-Error again. Now I modified the delay to something random between 5 and 10 seconds and nearly all bots connected and started farming! I will update program.cs with a delay of 5 - 15 seconds. I think then it would be possible to connect over 200 bots.

I took your idea and improved it greatly, so bots now limit steam logins also on reconnects + they're sleeping asynchronously (we should avoid Thread.Sleep() at all cost because it's blocking main thread too)
Pull my latest changes and test if all of your bots still work properly.

Still need feedback ^

I would say it works now with the 5s delay but I´m getting some errors with debian(mono) after ~110 bots connected:

EXCEPTION: UrlToHttpResponse()  The Task was canceled
WEB API Call timed out

There are 5 users trying to reconnect at the same time. With Windows it looks like its working, there were 188 bots connected at the same time. But ~20 bots were missing and didn´t connected for some reason. The log is gone so I can´t figure out what happened. Also there are no messages that those bots tried to reconnect, so dunno.
Maybe its better to read the delay from config? I think it would help if someone has more bots then me. Its like there is a limit per minute or hour like you said and this way everyone could use its own delay depending on how much bots he owns. A user like you with 5 bots don´t need a 5s delay.

For now I think that we leave 5 sec on, and make it switchable in future.

Anyway, fixed for now.


cant get it to work on a modpack

no error log, nothing telling me why, i put the jar in the mods folder, and it does not work.  i empty the mod list of all other mods, it still dont work.
MC version: 1.12.2
forge version: <IP_ADDRESS>31

Could you please upload the logs anyways ?

ShoulderSurfing 1.12.2-1.15.1 works as intended with Forge <IP_ADDRESS>38


reword scene tilemap apis

Fixes microsoft/pxt-arcade#334 (see issue and comments for reasoning on change)
Once we confirm what the apis should be I'll make the changes to the documentation here and in arcade, and add a patch to fix existing scripts

Yup, was looking for some discussion on this, just need to nail it down so I can fix the courses and all as needed.
Updated to match the discussion in slack, but not sure on the javascript name; maybe setTilesByColor or something of the sort?


Noob question - how to access 'pyhtml' pages?

Hello,
I'm trying the MicroWebSrv engine and it seems that serving static pages works fine. Using the controller methods also works fine. However, I have a serious issue with the pyhtml engine.
That's what I did:

I copied microWebSocket.py, microWebSrv.py and microWebTemplate.py in /flash/lib
I created simple static HTML page in /flash/www/index.pyhtml
I used the same initializiation code as from the provided sample

The initialization code:
from microWebSrv import MicroWebSrv
mws = MicroWebSrv()
mws.Start()

The issue is that whenever I try to access http://my-host, my WiPy device hangs for a while and then it seems to restart itself. This happens only when I hit pyhtml pages. Like I said, there is no problem serving static HTML files and there is no problem serving pages from controller methods. I guess I'm missing something. I'm using the latest 'master' source code. Could you please explain what I might be missing in my setup?
Thanks!

Very interesting - when I start the server like this...
mws.Start(threaded=False)
...then my WiPi device doesn't restart when I hit pyhtml pages. Instead, I get HTTP error 501 (Not Implemented).

Ok, please, update the Git repository or remove the '.' from the 2 import lines in microWebSrv.py, at the beginning, and tell me.
I've just changed this problem now, this syntax doesn't works on LoPy/WiPy.
Thank you

You can try : http://x.x.x.x/test.pythml for PyHTML "language"
but also : http://x.x.x.x/wstest.html for testing websockets :)

OK, seems there is some progress. My WiPy device no longer restarts when I hit static HTML inside 'pyhtml' file, but when I try to open test.pyhtml, I get this:
PyHTML page execution error
maximum recursion depth exceeded

This is my custom pyhtml which also throws the same 'maximum recursion depth exceeded' error:

    <title>TEST PYHTML</title>

BEGIN {{ "Hello" }} END

      {{ for test in range(5) }}

{{ test }}

      {{ end }}

I updated the firmware earlier today, so updating the firmware is not an option until new firmware comes out. Regarding the MicroPyhon options - I have no idea what you're talking about but I'll dig it further. I admit I'm still quite new to both WiPy and MicroPython.
For now I'm more than happy with the ability to process HTTP requests by using controller methods and that's enough for my use cases. Thank you for the assistance on this matter!

Cool and thank you :)
Just note that WiPy/LoPy development modules have a very little RAM memory compared to OEM versions.
If you want the threaded option of MicroWebSrv for example, I think that you doesn't have enought memory...

FYI - I rebooted my device and suddenly my sample 'pyhtml' page worked. :)
I guess there has been a lot of garbage in the RAM and after reboot it cleared. It's strange, considering I should have approximately 4MB RAM according to the specs.
Anyway, problem solved.

Yeah 🥇

Hello,
I released a fully new version (v2.0) of my web server here :
github.com/jczic/MicroWebSrv2.
Open source MIT, fully asynchronous, more robust, more fast and more
efficient!
It is delivered with a good documentation.
Thank you for your support and feedback. ☺
Jean-Christophe Bos
Le lun. 2 juil. 2018 à 23:43, Ivan Davidov<EMAIL_ADDRESS>a
écrit :

FYI - I rebooted my device and suddenly my sample 'pyhtml' page worked. :)
I guess there has been a lot of garbage in the RAM and after reboot it
cleared. It's strange, considering I should have approximately 4MB RAM
according to the specs.
Anyway, problem solved.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/jczic/MicroWebSrv/issues/36#issuecomment-401947096,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAegLOOxN-PWFCQobX1-jijAE6NzuHjPks5uCpPxgaJpZM4U_zgO
.

--
Sincèrement,


Add possibility to add pullsecret to helm chart

In order to use an image from a private repo, the deployment needs the name of the secret containing the pull credentials. This is optional and not needed for public repos.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Strange. I cannot add any reviewers.

Pull Request Test Coverage Report for Build 273

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 74.054%

Totals

Change from base Build 263:
0.0%

Covered Lines:
137

Relevant Lines:
185

💛  - Coveralls

Is the travis error really related to this PR?

How to continue with this PR? I cannot assign labels nor assignees.

@georgifarashev Thanks for the input. I will have a look. But how can a linter error come to master if the PR rejects it? :)

@c0d1ngm0nk3y , the gometalinter that we use drops the support for those linters recently, as they are obsolete and the errors they find are already covered by supported linters. This is the reason we get this failures. Few days ago I remove the linters from the gometalinter configuration: https://github.com/Peripli/service-broker-proxy-k8s/pull/50/commits/d5d11237044f70c086e47273d02be03f3d754280


Fixed threaded stream and futures user socket

Fix #1200 and #1174 with Python 3.8.13
The stream does not work anymore with the standard code presented. We have to change the threading approach to run it successfully. Additionally, we should also be able to use the testnet for the futures stream in combination with the threaded approach, so that has also been fixed. @sammchardy
Minimal testing example:
import time
from binance.streams import ThreadedWebsocketManager

def handler(order_data):
    print(order_data)

manager = ThreadedWebsocketManager(
    API_KEY,
    API_SECRET,
    testnet=True
)

manager.daemon = True # ctrl-c works
manager.start()
manager.start_futures_user_socket(handler)

while True:
    # run your other code here
    time.sleep(0.1)

Thanks @casperbh96


Use Meta-Annotation to combine multiple annotations.

Hi Thomas,
great to see you liked the idea of removing Guava for handling events.
Regarding your commment:

We didn't want to have two annotations on each listener

That's something I understand and fully agree on. The drawback of the solution from the blog you mentioned above is that all events are now handled asynchronously (noted in the blog, too). I also found the link in the blog post that mentioned a solution for this (having both, sync and async events). But that solution comes with some more configuration overhead that is not really necessary I think.
My proposal would be to use Meta-Annotations instead. Create your own annotation for that, like this one:
@Target({ ElementType.METHOD, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@EventListener
@Async
public @interface AsyncEventListener {

    @AliasFor(annotation = EventListener.class, attribute = "value")
    Class<?>[] value() default {};

    @AliasFor(annotation = EventListener.class, attribute = "classes")
    Class<?>[] classes() default {};

    @AliasFor(annotation = EventListener.class, attribute = "condition")
    String condition() default "";
}

The benefit would be you can drop the special configuration class and the much more useful benefit would be you could control the behaviour (sync/async) on the listeners side. What makes it much more flexible for you.
Try it.
Have fun.
Happy coding.
Jörg

Hi Jörg,
this was my first idea, too. It would also have the benefit to distinguish between event and command listeners (which we also have) and to avoid a direct dependency to Spring in each listener (which is only partly true, because each listener must be a Spring Bean).
My approach looked like this:
@Target(AnnotationTarget.FUNCTION)
@Retention(AnnotationRetention.RUNTIME)
@EventListener
@Async
annotation class CommandListener

@Target(AnnotationTarget.FUNCTION)
@Retention(AnnotationRetention.RUNTIME)
@EventListener
@Async
annotation class EventListener

Unfortunately, @Async doesn't work when applied on a meta annotation.

I pushed my version to a branch: https://github.com/bringmeister/ddd-with-kotlin/tree/listener-meta-annotation
But as I said, it's not working.

Hmm, I will have a look.

Thanks for your support. I merged your PR.


Kinesis video signaling GetIceServerConfigCommand blocked by CORS policy

version 0.0.2
AWS SDK issue:
https://github.com/aws/aws-sdk-js-v3/issues/1962

Hello @pdcarroll.
Firstly, I want to thank you for your library, it looks fantastic.
I came across in the same issue and I want to ask is there any workaround for this problem?
Thank you.

Hello @pdcarroll.
Firstly, I want to thank you for your library, it looks fantastic.
I came across in the same issue and I want to ask is there any workaround for this problem?
Thank you.

Hi, @se0ga. Thank you!
I don't know of a workaround for AWS SDK v3. However, v2 of the AWS SDK (used in v0.0.1 of this library) does not have the issue.

Hi, @se0ga. Thank you!
I don't know of a workaround for AWS SDK v3. However, v2 of the AWS SDK (used in v0.0.1 of this library) does not have the issue.

Thank you! Are there any major cons to use v2 of the AWS SDK?

I think the biggest drawback to using v2 would be that it's a monolithic library with all of the services in the same package. Version 3 uses modular architecture, so you can install only the specific libraries you need (that was my biggest motivation factor in upgrading for this project).

@se0ga This issue is resolved in version 3.6.0 of the aws sdk.


DF-123: Sentry Integration

Resolves ticket: https://national-archives.atlassian.net/browse/DF-123
Can be tested locally by setting the SENTRY_DSN env var to the relevant value (see ticket for more details), as well as the following:

SENTRY_ENVIRONMENT=local
SENTRY_DEBUG_URL_ENABLED=True

You should unset these values after testing is complete, as you should be using Django's built-in debugging tools locally, which are free!

Can be tested locally by setting the SENTRY_DSN env var to the relevant value (see ticket for more details), as well as the following:

SENTRY_ENVIRONMENT=local
SENTRY_DEBUG_URL_ENABLED=True

You should unset these values after testing is complete, as you should be using Django's built-in debugging tools locally, which are free!

Could this be made part of our documentation?

An issue with version
SENTRY_DSN=https://....
SENTRY_ENVIRONMENT=local
SENTRY_SEND_USER_DATA=True
SENTRY_DEBUG_URL_ENABLED=True
fabfile.py => PRODUCTION_APP_INSTANCE = "develop"
fab build
fab start
fab pull-production-data
Applying migrations from local environment...
Skipping virtualenv creation, as specified in config file.
Traceback (most recent call last):
File "/app/manage.py", line 17, in
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.9/site-packages/django/core/management/init.py", line 419, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.9/site-packages/django/core/management/init.py", line 363, in execute
settings.INSTALLED_APPS
File "/usr/local/lib/python3.9/site-packages/django/conf/init.py", line 82, in getattr
self._setup(name)
File "/usr/local/lib/python3.9/site-packages/django/conf/init.py", line 69, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python3.9/site-packages/django/conf/init.py", line 170, in init
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/local/lib/python3.9/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in _load_unlocked
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "/app/config/settings/dev.py", line 1, in
from .base import *  # noqa: F401
File "/app/config/settings/base.py", line 158, in
sentry_sdk.init(
File "/usr/local/lib/python3.9/site-packages/sentry_sdk/hub.py", line 105, in _init
client = Client(*args, **kwargs)  # type: ignore
File "/usr/local/lib/python3.9/site-packages/sentry_sdk/client.py", line 88, in init
self.options = get_options(*args, **kwargs)  # type: Dict[str, Any]
File "/usr/local/lib/python3.9/site-packages/sentry_sdk/client.py", line 61, in _get_options
raise TypeError("Unknown option %r" % (key,))
TypeError: Unknown option 'version'
Failed to apply migrations. Deleting database.
Traceback (most recent call last):
File "C:\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Python\Python310\lib\runpy.py", line 86, in run_code
exec(code, run_globals)
File "C:\dev\venv2\Scripts\fab.exe_main.py", line 7, in
File "C:\dev\venv2\lib\site-packages\invoke\program.py", line 384, in run
self.execute()
File "C:\dev\venv2\lib\site-packages\invoke\program.py", line 566, in execute
executor.execute(*self.tasks)
File "C:\dev\venv2\lib\site-packages\invoke\executor.py", line 129, in execute
result = call.task(*args, **call.kwargs)
File "C:\dev\venv2\lib\site-packages\invoke\tasks.py", line 127, in call
result = self.body(*args, **kwargs)
File "C:\dev\develop\ds-wagtail\fabfile.py", line 236, in pull_production_data
pull_database_from_platform(c, PRODUCTION_APP_INSTANCE)
File "C:\dev\develop\ds-wagtail\fabfile.py", line 288, in pull_database_from_platform
run_management_command(c, "migrate", check_returncode=True)
File "C:\dev\venv2\lib\site-packages\invoke\tasks.py", line 127, in call
result = self.body(*args, **kwargs)
File "C:\dev\develop\ds-wagtail\fabfile.py", line 61, in run_management_command
return web_exec(f"poetry run python manage.py {cmd}", check_returncode)
File "C:\dev\develop\ds-wagtail\fabfile.py", line 48, in web_exec
return container_exec(cmd, "web", check_returncode)
File "C:\dev\develop\ds-wagtail\fabfile.py", line 37, in container_exec
result.check_returncode()
File "C:\Python\Python310\lib\subprocess.py", line 456, in check_returncode
raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['docker-compose', 'exec', '-T', 'web', 'bash', '-c', 'poetry run python manage.py migrate']' returned non-zero exit status 1.

@ababic , please give a tour on how to use Sentry

Could this be made part of our documentation?

I don't think configuring Sentry locally needs to be documented, as it's not intended for use locally (the advice provided is just to allow you to test this PR, then remove after) - However, I agree there should be documentation about how sentry is used/configured in the various environments.

@TNA-Allan For now, all you need to check is that an error appears here when Sentry is configured as set out above:
https://sentry.io/organizations/the-national-archives/issues/
As you can see, there are a couple of `ZeroDivisionError /sentry-debug/ events in there from my local environment

I tested with 'local' settings with and without debug for Zero Division, induced raise validation error in code.
Looks Good. Thank you


[T4A7][W09-B3] Cai Deshun

Ready for review

Good commit history to show TDD process. Good code abstraction. I'm afraid
'for (int i = 0; i < lengthThisName; i++){
if (thisName[i].equals(otherName[matches])){
matches++;
}
}'
in 'isSameDisregardingOmission' is a bit problematic. It passes the test if thisName is "John K Smith" and otherName is "John Smith", but will fail if otherName is "John K Smith" and thisName is "John Smith". Please close the issue.


Delta t already exists.

Description
When trying to add an entry for stations > Delta T, I get an error message:
Delta t with this Time interval (minutes) already exists.
As I don't have an entry for this time interval (5 min) yet, presumably another user already has a (private) entry with the same value, and the system does not allow more than one entry with the same value?
To Reproduce
Steps to reproduce the behavior:

Go to Home › Station › Delta ts › Add delta t
Add an entry with a time interval of 5 minutes
See error

Expected behavior
Duplicate entries should be allowed because a user may have a private entry that is not accessible for another user.
Screenshot

Additional context
If this is unique to Delta T then it may not be necessary to solve it - see feature request on removing Delta T. If this is a problem that also occurs with other objects then it needs to be solved.

Good point. Will action after discussing https://github.com/ImperialCollegeLondon/paricia/issues/329, since it might be Delta T is not needed at all.

As DeltaT will be removed as part of #329, this is no longer relevant.


Visual-Objects: random objects are created if the web service restarts

If the web service restarts random visual objects are re-created, thus the failover scenarios feels like a data loss as the object position changes, but they are completely different set of objects. The objects should be generated deterministically.

Fixed: https://github.com/Azure-Samples/service-fabric-dotnet-getting-started/commit/80dca5e9d9c67877e04ec73fe3dfd9c5c812ed58


Clarify how to get listed on https://cilium.io/enterprise/

The https://cilium.io/enterprise/ is a great resources for end users and others looking for Cilium training and support. It would be great to have a link to how to add a resource and how to qualify, e.g., https://prometheus.io/support-training/#add

Please check the contributing guide on how to get listed there https://github.com/cilium/cilium.io/blob/main/CONTRIBUTING.md#listing-cilium-distributions

Thanks Bill, anyway you can add this to the website so it's clearer on that
page?
I couldn't easily find it.
On Tue, Oct 17, 2023 at 9:01 AM Bill Mulligan @.***>
wrote:

Please check the contributing guide on how to get listed there
https://github.com/cilium/cilium.io/blob/main/CONTRIBUTING.md#listing-cilium-distributions
—
Reply to this email directly, view it on GitHub
https://github.com/cilium/cilium.io/issues/363#issuecomment-1766483420,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAPSIIGV7YLFLNTIW3L5DTX72FT5AVCNFSM6AAAAAA6D4Q4AOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRWGQ4DGNBSGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Cheers,
Chris Aniszczyk
https://aniszczyk.org

Thanks Bill!
On Wed, Oct 25, 2023 at 5:59 AM Bill Mulligan @.***>
wrote:

Closed #363 https://github.com/cilium/cilium.io/issues/363 as completed
via #374 https://github.com/cilium/cilium.io/pull/374.
—
Reply to this email directly, view it on GitHub
https://github.com/cilium/cilium.io/issues/363#event-10767112668, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAPSIOIXRNQS7SR6BYCAEDYBEELXAVCNFSM6AAAAAA6D4Q4AOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJQG43DOMJRGI3DMOA
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Cheers,
Chris Aniszczyk
https://aniszczyk.org


fix: ci docker publish, specify Dockerfile path

Turns out that I should read the source of the Docker Orb a bit better,
it is not sufficient to just specify the path, dockerfile needs to
be specified also.

PR Storybook available here


Can apollo be installed on Esxi Server's or on Xen Server's

Hi Team,
I see that you have give the example for AWS cluster setup.
Can this be done on Esxi Server or on Xen Servers.
I see weave is been used for networking. Just wanted to know if apollo supports vlan or vxlan.
Regards,
vijay

Hey @vijaykumar0690
I think the right answer is that it could potentially be run on Esxi
We use terraform for creating cluster "infrastructure" and then we use dynamic ansible inventories for reading a terraform.state file and configuring this machines. We support aws, Google, Digitalocean and Vagrant so far.
We don't have a solution at the moment for dynamically generate a cluster on Esxi.
For provisioning the cluster on Esxi could use this
https://github.com/ansible/ansible/blob/12a2585e84be7fdf40e07ca1415f4938e95de1f3/contrib/inventory/vmware.py
or just an ansible static inventory.
We rely on weave at the moment for networking which rely on Pcap for capturing and forward the packets via udp. We hace WIP for moving to the latest version of weave which use fastdatapath http://blog.weave.works/2015/06/12/weave-fast-datapath/ which rely on Open vSwitch Datapath and Vxlan.
We aim to have a more flexible/pluggable networking system for Apollo once Docker 1.9 with libnetwork support get released https://github.com/docker/libnetwork and mesos net modules becomes stable https://github.com/mesosphere/net-modules

Hi @enxebre,
Thanks for the information.
Want to know if present apollo is configured to multi tenant with weave.
As an example. If a customer has a aws account he can configure the VPC and have subnet <IP_ADDRESS>/24
Same way the other customer-2 can login and create a vpc <IP_ADDRESS>/24 and both will not overlap as its divided by tenant wise.
Can this be achieved in present setup of apollo.
with present weave its wide open and we can access all the dockers running on the host.
Regards,
Vijay


So many open issues

Maybe people can't find what they want

Fair point. If there is an issue someone wants to raise, either comment on an old ticket so that we reopen it, or just make a new ticket.


Make generics work for any type

Including struct.
This would allow to have Datas of structs (though, they'd still need to be initialized).

Related to #1

This can easily be solved by taking the same approach that has been taken for Datas in #67


Issues with running the docker-compose up command for starting articulate

Did you download a release or pull from Master? Which release? - Yes. The latest one v0.29.0.
What operating system are you running? - Windows 10 Home.
Are you running locally or in the cloud? - Locally.
Which browser are you using? - Google Chrome.

Hi! I'm using Docker Toolbox because I can't install Docker for Windows on Windows 10 Home. I tried to run the Articulate locally. First times I got some errors. I increased RAM of VM from 1GB to 4GB and video memory to 64MB. Now I don't get any errors but the Articulate still doesn't run properly, localhost:8080 is unavailable. Here is my log:
C:\Users\Vitaliy\Articulate\articulate-v0.29.0>docker-compose up
Creating network "articulate-v0290_default" with the default driver
Creating articulate-v0290_duckling_1      ... done                                                                                Creating articulate-v0290_ui_1            ... done                                                                                Creating articulate-v0290_rasa_1          ... done                                                                                Creating articulate-v0290_api_1           ... done                                                                                Creating articulate-v0290_nginx_1         ... done                                                                                Creating articulate-v0290_redis_1         ... done                                                                                Creating articulate-v0290_elasticsearch_1 ... done                                                                                Attaching to articulate-v0290_duckling_1, articulate-v0290_ui_1, articulate-v0290_api_1, articulate-v0290_nginx_1, articulate-v0290_rasa_1, articulate-v0290_elasticsearch_1, articulate-v0290_redis_1
api_1            | 2020/01/06 11:43:54 Waiting for: http://elasticsearch:9200
redis_1          | 1:C 06 Jan 11:43:54.865 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis_1          | 1:C 06 Jan 11:43:54.874 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=1, just started
redis_1          | 1:C 06 Jan 11:43:54.874 # Configuration loaded
redis_1          | 1:M 06 Jan 11:43:54.880 * Running mode=standalone, port=6379.
redis_1          | 1:M 06 Jan 11:43:54.882 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
redis_1          | 1:M 06 Jan 11:43:54.883 # Server initialized
redis_1          | 1:M 06 Jan 11:43:54.884 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
redis_1          | 1:M 06 Jan 11:43:54.923 * DB loaded from append only file: 0.038 seconds
api_1            | 2020/01/06 11:43:54 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
duckling_1       | no port specified, defaulting to port 8000
ui_1             | yarn run v1.17.3
api_1            | 2020/01/06 11:43:55 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
api_1            | 2020/01/06 11:43:56 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
ui_1             | $ cross-env NODE_ENV=production env-cmd --no-override .env node server
ui_1             | Server started ! ✓
api_1            | 2020/01/06 11:43:57 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
api_1            | 2020/01/06 11:43:58 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
api_1            | 2020/01/06 11:43:59 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
rasa_1           | 2020-01-06 11:44:00+0000 [-] Log opened.
rasa_1           | 2020-01-06 11:44:00+0000 [-] Site starting on 5000
elasticsearch_1  | OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
api_1            | 2020/01/06 11:44:00 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
elasticsearch_1  | [2020-01-06T11:44:01,566][WARN ][o.e.c.l.LogConfigurator  ] [unknown] Some logging configurations have %marker but don't have %node_name. We will automatically add %node_name to the pattern to ease the migration for users who customize log4j2.properties but will stop this behavior in 7.0. You should manually replace %node_name with [%node_name]%marker  in these locations:
elasticsearch_1  |   /usr/share/elasticsearch/config/log4j2.properties
elasticsearch_1  | [2020-01-06T11:44:02,553][INFO ][o.e.e.NodeEnvironment    ] [MxtDTjP] using [1] data paths, mounts [[/usr/share/elasticsearch/data (/c/Users)]], net usable_space [21.9gb], net total_space [118.1gb], types [vboxsf]
api_1            | 2020/01/06 11:44:01 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
elasticsearch_1  | [2020-01-06T11:44:02,554][INFO ][o.e.e.NodeEnvironment    ] [MxtDTjP] heap size [503.6mb], compressed ordinary object pointers [true]
elasticsearch_1  | [2020-01-06T11:44:02,914][INFO ][o.e.n.Node               ] [MxtDTjP] node name derived from node ID [MxtDTjPAQJSwJbZhwxazVw]; set [node.name] to override
elasticsearch_1  | [2020-01-06T11:44:02,915][INFO ][o.e.n.Node               ] [MxtDTjP] version[6.5.1], pid[1], build[default/tar/8c58350/2018-11-16T02:22:42.182257Z], OS[Linux/4.14.154-boot2docker/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/11.0.1/11.0.1+13]
api_1            | 2020/01/06 11:44:02 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
api_1            | 2020/01/06 11:44:03 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
api_1            | 2020/01/06 11:44:04 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
elasticsearch_1  | [2020-01-06T11:44:02,916][INFO ][o.e.n.Node               ] [MxtDTjP] JVM arguments [-Xms1g, -Xmx1g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.io.tmpdir=/tmp/elasticsearch.W98e3TPC, -XX:+HeapDumpOnOutOfMemoryError, -XX:HeapDumpPath=data, -XX:ErrorFile=logs/hs_err_pid%p.log, -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m, -Djava.locale.providers=COMPAT, -XX:UseAVX=2, -Des.cgroups.hierarchy.override=/, -Xms512m, -Xmx512m, -Des.path.home=/usr/share/elasticsearch, -Des.path.conf=/usr/share/elasticsearch/config, -Des.distribution.flavor=default, -Des.distribution.type=tar]
elasticsearch_1  | [2020-01-06T11:44:06,410][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [aggs-matrix-stats]
elasticsearch_1  | [2020-01-06T11:44:06,410][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [analysis-common]
elasticsearch_1  | [2020-01-06T11:44:06,411][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [ingest-common]
elasticsearch_1  | [2020-01-06T11:44:06,411][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [lang-expression]
elasticsearch_1  | [2020-01-06T11:44:06,411][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [lang-mustache]
elasticsearch_1  | [2020-01-06T11:44:06,412][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [lang-painless]
elasticsearch_1  | [2020-01-06T11:44:06,413][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [mapper-extras]
elasticsearch_1  | [2020-01-06T11:44:06,413][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [parent-join]
elasticsearch_1  | [2020-01-06T11:44:06,414][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [percolator]
elasticsearch_1  | [2020-01-06T11:44:06,414][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [rank-eval]
elasticsearch_1  | [2020-01-06T11:44:06,415][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [reindex]
elasticsearch_1  | [2020-01-06T11:44:06,415][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [repository-url]
elasticsearch_1  | [2020-01-06T11:44:06,415][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [transport-netty4]
elasticsearch_1  | [2020-01-06T11:44:06,418][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [tribe]
elasticsearch_1  | [2020-01-06T11:44:06,418][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [x-pack-ccr]
elasticsearch_1  | [2020-01-06T11:44:06,420][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [x-pack-core]
elasticsearch_1  | [2020-01-06T11:44:06,420][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [x-pack-deprecation]
elasticsearch_1  | [2020-01-06T11:44:06,420][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [x-pack-graph]
elasticsearch_1  | [2020-01-06T11:44:06,421][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [x-pack-logstash]
elasticsearch_1  | [2020-01-06T11:44:06,421][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [x-pack-ml]
elasticsearch_1  | [2020-01-06T11:44:06,423][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [x-pack-monitoring]
elasticsearch_1  | [2020-01-06T11:44:06,424][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [x-pack-rollup]
elasticsearch_1  | [2020-01-06T11:44:06,424][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [x-pack-security]
elasticsearch_1  | [2020-01-06T11:44:06,425][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [x-pack-sql]
elasticsearch_1  | [2020-01-06T11:44:06,425][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [x-pack-upgrade]
elasticsearch_1  | [2020-01-06T11:44:06,426][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded module [x-pack-watcher]
elasticsearch_1  | [2020-01-06T11:44:06,427][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded plugin [ingest-geoip]
api_1            | 2020/01/06 11:44:05 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
api_1            | 2020/01/06 11:44:06 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
api_1            | 2020/01/06 11:44:07 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
api_1            | 2020/01/06 11:44:08 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
api_1            | 2020/01/06 11:44:09 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
api_1            | 2020/01/06 11:44:10 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
api_1            | 2020/01/06 11:44:11 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
api_1            | 2020/01/06 11:44:12 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
api_1            | 2020/01/06 11:44:13 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
api_1            | 2020/01/06 11:44:14 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
elasticsearch_1  | [2020-01-06T11:44:06,430][INFO ][o.e.p.PluginsService     ] [MxtDTjP] loaded plugin [ingest-user-agent]
api_1            | 2020/01/06 11:44:15 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
elasticsearch_1  | [2020-01-06T11:44:15,786][INFO ][o.e.d.DiscoveryModule    ] [MxtDTjP] using discovery type [single-node] and host providers [settings]
elasticsearch_1  | [2020-01-06T11:44:16,785][INFO ][o.e.n.Node               ] [MxtDTjP] initialized
elasticsearch_1  | [2020-01-06T11:44:16,786][INFO ][o.e.n.Node               ] [MxtDTjP] starting ...
elasticsearch_1  | [2020-01-06T11:44:17,067][INFO ][o.e.t.TransportService   ] [MxtDTjP] publish_address {<IP_ADDRESS>:9300}, bound_addresses {<IP_ADDRESS>:9300}
elasticsearch_1  | [2020-01-06T11:44:17,174][WARN ][o.e.b.BootstrapChecks    ] [MxtDTjP] max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
elasticsearch_1  | [2020-01-06T11:44:17,235][INFO ][o.e.h.n.Netty4HttpServerTransport] [MxtDTjP] publish_address {<IP_ADDRESS>:9200}, bound_addresses {<IP_ADDRESS>:9200}
elasticsearch_1  | [2020-01-06T11:44:17,236][INFO ][o.e.n.Node               ] [MxtDTjP] started
elasticsearch_1  | [2020-01-06T11:44:18,156][INFO ][o.e.l.LicenseService     ] [MxtDTjP] license [34f0405e-d9e8-4414-9c04-c3a2b56de14f] mode [basic] - valid
api_1            | 2020/01/06 11:44:16 Problem with request: Get http://elasticsearch:9200: dial tcp <IP_ADDRESS>:9200: connect: connection refused. Sleeping 1s
api_1            | 2020/01/06 11:44:18 Received 200 from http://elasticsearch:9200
api_1            | yarn run v1.17.3
api_1            | $ cross-env NODE_ENV=development env-cmd server/.env nodemon server --exec babel-node
api_1            | [nodemon] 1.18.10
api_1            | [nodemon] reading config ./package.json
api_1            | [nodemon] to restart at any time, enter rs
api_1            | [nodemon] or send SIGHUP to 40 to restart
api_1            | [nodemon] ignoring: ./node_modules/**/*
api_1            | [nodemon] watching: .
api_1            | [nodemon] watching extensions: js,mjs,json
api_1            | [nodemon] starting babel-node server
api_1            | [nodemon] spawning
api_1            | [nodemon] child pid: 53
api_1            | [nodemon] watching 490 files
elasticsearch_1  | [2020-01-06T11:44:18,160][INFO ][o.e.g.GatewayService     ] [MxtDTjP] recovered [1] indices into cluster_state
Sometimes there are no lines after 'watching 490 files'.
Sometimes I get 3 more lines after 'watching 490 files':
elasticsearch_1  | [2020-01-06T10:43:40,453][INFO ][o.e.g.GatewayService     ] [MxtDTjP] recovered [0] indices into cluster_state
elasticsearch_1  | [2020-01-06T10:43:49,894][WARN ][o.e.d.c.m.MetaDataCreateIndexService] [MxtDTjP] the default number of shards will change from [5] to [1] in 7.0.0; if you wish to continue using the default of [5] shards, you must manage this on the create index request or with an index template
elasticsearch_1  | [2020-01-06T10:43:50,141][INFO ][o.e.c.m.MetaDataCreateIndexService] [MxtDTjP] [document] creating index, cause [api], templates [], shards [5]/[1], mappings []

I don't see any errors in the above, Articulate can take several minutes to fully start-up.  What makes you think it isn't working properly?

Because neither http://localhost:8080/ nor http://localhost:7500/documentation are available. I tried once more an hour ago and got the same issue. Can Articulate take more then hour to start-up?

no, it shouldn't.
Can you give me the output of docker-compose ps?

Системе не удается найти указанный путь.
Name                            Command                State     Ports
articulate-v0290_api_1             docker-entrypoint.sh /bin/ ...   Exit 137
articulate-v0290_duckling_1        /bin/sh -c stack exec duck ...   Exit 137
articulate-v0290_elasticsearch_1   /usr/local/bin/docker-entr ...   Exit 143
articulate-v0290_nginx_1           nginx-debug -g daemon off;       Exit 0
articulate-v0290_rasa_1            ./entrypoint.sh start --pa ...   Exit 0
articulate-v0290_redis_1           docker-entrypoint.sh redis ...   Exit 0
articulate-v0290_ui_1              yarn start:prod                  Exit 1

The russian snippet means:
The system cannot find the path specified.

Looks like you had already shut it down, I want to see which process dies on it's own. Can you run.
docker-compose up -d

wait 5 minutes and then run
docker-compose ps

I got the same.
Name                            Command               State                Ports
articulate-v0290_api_1             docker-entrypoint.sh /bin/ ...   Up      <IP_ADDRESS>:7500->7500/tcp
articulate-v0290_duckling_1        /bin/sh -c stack exec duck ...   Up      <IP_ADDRESS>:8000->8000/tcp
articulate-v0290_elasticsearch_1   /usr/local/bin/docker-entr ...   Up      <IP_ADDRESS>:9200->9200/tcp, 9300/tcp
articulate-v0290_nginx_1           nginx-debug -g daemon off;       Up      <IP_ADDRESS>:8080->80/tcp
articulate-v0290_rasa_1            ./entrypoint.sh start --pa ...   Up      <IP_ADDRESS>:5000->5000/tcp
articulate-v0290_redis_1           docker-entrypoint.sh redis ...   Up      <IP_ADDRESS>:6379->6379/tcp
articulate-v0290_ui_1              yarn start:prod                  Up      <IP_ADDRESS>:32770->3000/tcp

huh, everything is running fine. So if you go to localhost:8080 now what happens?
Are there any errors in the browser console?

Given that your on Windows 10 home, does that mean you're running Docker in a VM? If that's the case your url may not be localhost... it may be the IP of the VM.

This isn't Articulate related.
this is when going to http://localhost:8080 ?
I would try to find the IP of the VM and use that.

Yeah, yo're right. I'm running Docker in a VM. All I needed was to run Articulate using the VM's IP. It works using url [IP]:8080.
Thanks a lot for help.

Great, sorry for your troubles!

Hello! Are you a Small Business Owner or know someone who is, that's tired of being turned down by the traditional banks not wanting to loan you money? If so, please let Mas Financial Services be of assistance to you! We'd love to help you get the capital you need! No collateral is required. Free application. No obligation to proceed! I welcome you to email  us via<EMAIL_ADDRESS>and see what we have to offer! Thank you for your time!
Jim


Test: Add tests to KongLicense controller

What this PR does / why we need it:

Add unit tests, envtest tests and isolated integration tests for KongLicense controller.
Based on #5514.
Which issue this PR fixes:

fixes #5565.
Special notes for your reviewer:

Should be reviewed after #5514 is merged.
This also sets enterprise to true in isolated integration tests to enable enterprise features because applying Kong licenses needs Kong gateway enterprise. Which is better, create an "enterprise" job or enable enterprise feature in all isolated integration test cases? I prefer the latter because the "enterprise" mode includes all cases.
PR Readiness Checklist:
Complete these before marking the PR as ready to review:
~- [ ] the CHANGELOG.md release notes have been updated to reflect any significant (and particularly user-facing) changes introduced by this PR~ ALL of the commits other than #5514 are tests, no need to update changelog

Closed this and submit #5569.


Esp32 WT32-ETH01

Hi how its possible to working with ESP32 WT32-ETH01
Its esp with LAN Cable.
I don't want working on WiFi
Thanks for all your job its the best way i see🙏
Just found this amazing item on AliExpress. Check it out! ₪37.61  67％ Off | WT32-ETH01 Embedded Serial Port Networking Ethernet Bluetooth-compatible WIFI Combo Gateway MCU ESP32 Wireless Module Board
https://a.aliexpress.com/_EvBJprt

Hi how its possible to working with ESP32 WT32-ETH01
Its esp with LAN Cable.
I don't want working on WiFi
Thanks for all your job its the best way i see🙏
Just found this amazing item on AliExpress. Check it out! ₪37.61  67％ Off | WT32-ETH01 Embedded Serial Port Networking Ethernet Bluetooth-compatible WIFI Combo Gateway MCU ESP32 Wireless Module Board
https://a.aliexpress.com/_EvBJprt

At the momement no LAN Support. But will come hopefully in near future. See other posts.

Ok thanks
Its working perfectly
בתאריך יום ו׳, 31 במאי 2024 ב-14:56 מאת 011V32 @.***>:

Hi how its possible to working with ESP32 WT32-ETH01
Its esp with LAN Cable.
I don't want working on WiFi
Thanks for all your job its the best way i see🙏
Just found this amazing item on AliExpress. Check it out! ₪37.61 67％ Off |
WT32-ETH01 Embedded Serial Port Networking Ethernet Bluetooth-compatible
WIFI Combo Gateway MCU ESP32 Wireless Module Board
https://a.aliexpress.com/_EvBJprt
At the momement no LAN Support. But will come hopefully in near future.
See other posts.
—
Reply to this email directly, view it on GitHub
https://github.com/rednblkx/HomeKey-ESP32/issues/60#issuecomment-2141894510,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALPOXPO7HTHHRA4LKJTFHPLZFBQPDAVCNFSM6AAAAABISVO4JGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBRHA4TINJRGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

I buy this one
https://shop.everythingsmart.io/products/est-poe-32-esp32-poe-development-board

Is the board from aliexpress working?

@moshiko2312
To get this working I guess you had to build your own code to make it work?
because the GPIOs used by the Ethernet module!?

yep, correct. you need to use the second hardware SPI bus (called HSPI) because the first one (VSPI) is used by the ethernet module. See also my post here https://github.com/rednblkx/HomeKey-ESP32/issues/48#issue-2241602306

Its just works for me. Nothing special, i used random GPIOs.
spi:
  clk_pin: GPIO14
  miso_pin: GPIO4
  mosi_pin: GPIO2

pn532_spi:
  id: nfc_spi_module
  cs_pin: 12
  update_interval: 100ms

Its just works for me. Nothing special, i used random GPIOs.
spi:
  clk_pin: GPIO14
  miso_pin: GPIO4
  mosi_pin: GPIO2

pn532_spi:
  id: nfc_spi_module
  cs_pin: 12
  update_interval: 100ms

Thank you for this reply! How did you set those settings? config.h? How did you compile afterwards? Thank you very much!

@klim123123 Thank you for this reply! How did you set those settings? config.h? How did you compile afterwards? Thank you very much!

Sorry, i'm confused with other project of rednblkx.
I'm using rednblkx/HAP-ESPHome
Same functionality but for ESPHome. It's just works.


Commands from the mod wont work on terminal

Lethal Company: v45
LethalLib: 0.9.0
I type lgu, lategame or try buying a upgrade (got the name from the mod page) and it says the command don't exist, i checked the log file and it says the mod loaded correctly
Mod List:
Brutal Company
LethalLib
MoreCompany
More Suits
Masked Enemies Reworked
MoreEmotes
TooManySuit (suit pages)
SkinWalker
Mimics
Yippe
BoomBox custom song
Shiploot
LC_API
LC_OPTM
Late Company
CleanerLogs
Log: LogOutput.log

the problem was i downloaded thw wrong version of the mod for v45


Why is node and edge data an Option?

The user could always specify the data to be an Option so why force the use of option in the API?

Actually no strong reason behind this, maybe just to say explicitly that this is an optional field. But I agree that user himself can set it to Option as it still satisfies Clone.
In the upcoming fixes I will address this and change this API.


Mysql

Out of curiosity, I guess your composer would install some database. How do you pull it to the docker container?

I use Symfony integrated fixture loading...


Update: you UI Code for 2 programs.

4 things>

I have autism so i will be doing all my things by video or voice only.
so here you go.  https://www.twitch.tv/videos/1307838093

Your program is outdated for the python coding for
blender, and blender for artists. 3.1.0, so that needs to be updated.

Your cats program needs is own material combiner since material combiners add for blender don't work with your add-on.

blender foundations devs and coders refused a federal N.H.N Judge court order  to be more inclusive and intuitive.
even though They have been given 1 year, Chances are They will be handed over to  N.H.D Software.
so  I will be the coder's boss. I will be replacing the entire team.
but for now it is an illegally running open-source software.
(follow the link)
https://newhnation.wixsite.com/n-h-n

What the heck is this PR?


micro: port op BATCH_MATMUL from lite

@tensorflow/micro
This issue tracks my work porting operator BATCH_MATMUL from lite to micro.
The port will be submitted in a number of PRs. Here's a rough flight plan per @advaitjain and @petewarden:
PR 1: Extract the code for parsing the op from a flatbuffer out of ParseOpDataTfLite in tensorflow/lite/core/api/flatbuffer_conversions.cc into a standalone function that can be called from micro's op resolver
PR 2: Extract the reference implementation out of tensorflow/lite/kernels/internal/reference/reference_ops.h into its own header which can be included without dragging in reference_ops.h's dependences
PR 3: Copy operator from lite to micro making minimal changes and not including in the build
PR 4: Delete extra code from the micro copy of the operator
PR 5: Port micro copy of operator as necessary and add a corresponding test

Hi @ddavis-2015, are you stilling planning on integrating this?

@pkgoogle A new PR based on this PR is in progress.


Added long to 'CliSparklintConfig.historySource'

Otherwise, the server fails with NoSuchElementException when --historySource
is passed because of the 'o.long.get' call in 'parseCliArgs'.

It seems historySource is unsupported atm. Not sure if this is worth merging then

I'm working on proper Spark History integration. Will open a new PR once it's ready.


Update inc/Devel/CheckLib.pm from 0.99 to 1.14

This is a pull request for #86. For reference, "hide from PAUSE" hack, which was once done by (deprecated) use-devel-checklib script, is unnecessary for inc/ directory.

Even after reverting inc/Devel/CheckLib.pm from 1.14 to 0.99 (and only fixing the outdated .github/workflows/windows.yml), the CI error for windows goes on. The CI error log says it was unable to find expat library by inc/Devel/CheckLib.pm, but Strawberry Perl installs expat by default. I have tested this on my Strawberry Perl environment, but I am unable to reproduce this issue.

formatting changes should be excluded, and probably submitted as standalone pr's and other fixes (github path thing). they have a chance of getting merged imho.

If I remember correctly, I created the standalone PR without formatting changes at first but the CI error occurred. So I added the formatting changes to try to fix it, but in vain. I have no idea why the CI in Windows platform failed.