DynamoDB source doesn't generate any event

OK, the fix is on its way. Turns out we didn't quite understand how to process records from a stream in the first iteration.
I referred to this tutorial: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.LowLevel.Walkthrough.html. Now records are being processed correctly.


Pending users are shown in prompt for work group organizers.

Pending users should NOT be able to be selected as WG organizers...

@dottorer I assume you mean "Pending users should not be able to be selected as WG organizers?

@NolanChan Sorry! That's a terribly misguiding tipo - you are of course correct that they should not appear....

Testable and deployed on staging.

LGTM - Thanks @NolanChan for contributing a bug fix! :-)


Lexer context tokens don't appear to keep state

Debugging in my lexer tests show that my loops are not even running, the tokens fifo in the lexer context are of size 1....

Fixed


dva ult charge percent incorrect between transformations

Created by: MaxwellJung
When dva changes from meka to pilot version and vice versa, her ult charge percentage doesn't behave as expected.

mentioned in issue ow1_emulator_backup#737

mentioned in merge request ow1_emulator_backup!16

mentioned in merge request ow1_emulator_backup!27

moved from ow1_emulator_backup#743

mentioned in merge request ow1_emulator_backup!21


MVP: python API to get dataframes out of an RRD

The user should be able to open an existing RRD.
Using the open RRD object, we should expose 4 new APIs:

Get “Schema”

Probably takes an EntityExpression as an input
Returns Columns w/ information about entities, components, and types, static/dynamic

List timelines

Timeline + TimeRange

Latest-at (list of columns (multi entity), timestamp)

Returns ArrowRecordBatch (single row)

RangeQuery (list of columns (multi entity), single point of view column, time range, timeline)

Returns iterator of ArrowRecordBatch (multiple rows)
This should be a "streaming" API so we don't need to allocate memory for the entire frame

The inputs to the APIs that take a list of columns likely either use ColumnDescriptors returned from the Schema API, or an EntityPath expression that can be indirectly evaluated to a list of columns.
When this is done we should have an easy piece of example code that opens and rrd and constructrs a dataframe that is fed into pandas or polars.

@teh-cmc: does this issue have enough specificity to implement these queries or do you need further details on the exact semantics of the queries?

Depends on: https://github.com/rerun-io/rerun/issues/7284


Change the dockerfile to build the new go app

@christianparpart please check

bare in mind, that you'll potentially need haproxy binary inside the docker image, too. ;-)


Category Names as Keywords Redundant?

Many emojis in the emojis.json list their category name (or a piece of their category name) as a keyword. In the same way that part of their description as a keyword (as the test enforces), should these be removed as redundant information as well?
A few examples:
  "mouse2": {
    "keywords": ["animal", "nature", "rodent"],
    "char": "🐁",
    "category": "nature"
  },

There are many animals with "nature" and "animal" included in keywords, and if the category is renamed to "Animals and Nature" will be really redundant. Though, having "animal" as a keyword might distinguish it from non-animal-nature-things (facepalm).
  "family": {
    "keywords": ["home", "parents", "child", "mom", "dad", "father", "mother", "people", "human"],
    "char": "👪",
    "category": "people"
  },

Also in this case "people" indicates more than one person moreso than the category, so it's ambiguous here too.
Let me know what you think.

I'm inclined to keep those words for the reasons you mentioned. Also I am starting to think that the emoji name itself should probably also be a keyword as it seems more intuitive that way... right?!

Makes sense!


Make java.beans optional (or not used)

Zipkin uses a base docker image that derives FROM delitescere/java:8
This is a JRE, not a JDK, specifically Zulu JRE compact3 profile. That profile does not include the java.beans package. It looks like this is implicitly used by HikariConfig when debug logging is enabled. Can it not? :)
query_1     | ERR [20150910-12:42:31.819] ThriftQueryService: Caused by java.lang.NoClassDefFoundError: java/beans/IntrospectionException
query_1     | ERR [20150910-12:42:31.819] ThriftQueryService:     at com.zaxxer.hikari.HikariConfig.logConfiguration(HikariConfig.java:827)
query_1     | ERR [20150910-12:42:31.819] ThriftQueryService:     at com.zaxxer.hikari.HikariConfig.validate(HikariConfig.java:782)
query_1     | ERR [20150910-12:42:31.819] ThriftQueryService:     at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:94)
--snip--

@adriancole I'll take a look.

thanks tons!

@adriancole It's actually the PropertyElf class that is using the java.beans package.  The usage is fairly light, and can be replaced by standard Java reflection with a small amount of work.  I'll try to get to it this weekend.

This is fixed in the dev branch.  HikariCP no longer depends on java.beans, and performs all operations by direct reflection.

great news. I'll lookout for a release, as I've some commits to revert!

I noticed PropertyElf is still in the dev branch. Is it just no longer used?
https://github.com/brettwooldridge/HikariCP/blob/dev/src/main/java/com/zaxxer/hikari/util/PropertyElf.java

any chance of a release soon? I'd love to use this.

HikariCP 2.4.2 has been released, containing a fix for this issue.

Great!


Increase psalm strictness to level 4 (7.1.x)

Q
A

Branch
7.1.x

Bug fix?
no

New feature?
no

BC breaks?
no

Deprecations?
no

Tests pass?
yes

License
MIT

This PR builds on top of #661 , adding a couple of changes for Chameleon 7.1.x. It is currently marked as #661 is merged and the 7.0.x branch is upmerged into 7.1.x.
The only differences between this PR and #661 is the following commit: 89393caecab803ca404e4519da0bab47a3c33c6b

#661 isn't more mergeable, from this reason, we have now new base in #684.

Closing for further review on gitlab


Clustering & Minor Patches in JS, Rust, & Java SDKs

@abetomo, the last PR seems to break the CI. Any ideas, why?

I'll check it.
https://github.com/unum-cloud/usearch/actions/runs/11284708348/job/31386324785?pr=503


Personalization fallback

Goal
Fallback on the Un-personalized SlateLineup when a personalized WebHome lineup is requested and a user profile does not exists
List of Changes

personalized_topic_list.py : Raise an exception PersonalizationError when the user profile does not exist
slate_lineup.py: get_slate_lineup return a Personalized lineup when a user profile exists else return the default fallback lineup
test_slate_lineup_model.py: test_get_slate_lineup_unpersonalized_fallback Tests the Default Lineup is returned when the request for Personalized lineup fails
test_slate_lineup_model.py: test_get_slate_lineup_personalized Tests the Personalized Lineup is returned when a user profile exists

QA
The Personalized Lineup is returned for a user that has a profile
It's hard to QA this because RecommendationAPI tries to hit recit.readitlater.com, which isn't accessible from the Dev VPN. The request times out as expected with the following cUrl command.
curl --location --request POST 'https://recommendation-api.getpocket.dev' \
--header 'userId: <USER ID GOES HERE>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "query": "query QueryLineup { getSlateLineup(slateLineupId: \"05027beb-0053-4020-8bdc-4da2fcc0cb68\") {id slates { id recommendations { itemId } } } }",
    "variables": null,
    "operationName": "QueryLineup"
}'

The Un-personalized Lineup is returned for a user that does not have a profile

[x] QA passes successfully

Steps

Log into the Dev VPN
Execute the following curl request:

curl --location --request POST 'https://recommendation-api.getpocket.dev' \
--header 'Content-Type: application/json' \
--data-raw '{
    "query": "query QueryLineup {\n getSlateLineup(slateLineupId: \"05027beb-0053-4020-8bdc-4da2fcc0cb68\") {id slates { id }\n }\n}",
    "variables": null,
    "operationName": "QueryLineup"
}'

Expectation
Responds with fallback lineup 249850f0-61c0-46f9-a16a-f0553c222800
Result
Fallback lineup is returned, as expected:
{
    "data": {
        "getSlateLineup": {
            "id": "249850f0-61c0-46f9-a16a-f0553c222800",
            "slates": [
                {
                    "id": "0737b00e-a21e-4875-a4c7-3e14926d4acf",
                    "recommendations": [
                        {
                            "itemId": "3407232194"
                        },
[...]

Reference
Tickets:

HOMPER-26

Implementation Decisions

@mmiermans, Thanks for pairing with me over the last few days!
@chelseatroy, For your review when you get a chance on Monday
Thank you both!


fix: update examples to use latest version

The examples in the README.md file were outdated and did not work with the latest version of the project. This commit updates the examples to use the latest version so that they work as expected.

Thanks @flyi!


Fixed ms2rescore  bugs

PR Type
enhancement, bug_fix

Description

Enhanced the PSM conversion process by adding handling for the 'q-value' meta value.
Introduced a new IDXMLReaderPatch class to improve idXML file reading, allowing for better PSM parsing with additional metadata and rescoring features.
Implemented logging to warn about invalid PSMs that lack search engine features, improving error handling and debugging.

Changes walkthrough 📝
Relevant filesEnhancement

psm_conversion.pyEnhance PSM conversion with 'q-value' handling

quantmsutils/psm/psm_conversion.py

Added handling for 'q-value' meta value in PSM conversion.

+2/-0

ms2rescore.pyEnhance idXML reading and PSM parsing with metadata

quantmsutils/rescoring/ms2rescore.py
Introduced IDXMLReaderPatch class for improved idXML reading.  Implemented PSM parsing with additional metadata and rescoring features.  Added logging for invalid PSMs without search engine features.

+100/-2

💡 PR-Agent usage: Comment /help "your question" on any pull request to receive relevant information

@jpfeuffer can you also take a look here in case Im missing something.

Looks fine. I also never used the significance threshold.


Change order of Live and On Demand

Can we change the order in the docs to have On Demand come first? We're going to be leading with On Demand as the primary way to use Studio, so it should be the very top of any list that showcases our products.

Issue seems to have been resolved


Allow custom footnote reference rendering

This change does two things to permit custom rendering of footnote references in the RichTextBlockWithFootnotes block:

Moves reference rendering from an inner function in the replace_footnote_tags() method to a separate render_footnote_tag() method on the RichTextBlockWithFootnotes block class. This provides an easy extension point for subclasses of RichTextBlockWithFootnotes to customize rendering that doesn't require duplication of a lot of other code.
The default implementation of render_footnote_tag renders using a Django template, optionally set with the WAGTAIL_FOOTNOTES_REFERENCE_TEMPLATE setting, allowing users to override rendering by providing a different template to that setting.

This is similar in spirit to @an-ant0ni0's proposal in #27, however we've chosen to move rendering out of Python f-strings altogether and into Django (or any other configured engine's) templates.
The motivation here, is we're adopting this package to replace our hand-crafted (😱) footnotes, and our existing style doesn't include [] brackets around the reference number.
This will allow that kind of customization of reference rendering so users can render however their style specifies without having to subclass RichTextBlockWithFootnotes and include the full code of the replace_footnote_tags() with a single line f-string change. Instead, users will just have to provide a template.

Fixed the linting issues 🤞🏻


Notification always says "Sent 0 mails". But the mails get sent!

Hmm quite strange! Haven't seen this behaviour before. If you have any logs you could share that would be great, otherwise I will investigate this.

No, I don't have any logs. I will try again and let you know. But as far as I remember I didn't get any error logs. May be I can provide the info logs.

Can you confirm that AWS  SES is NOT still in Sandbox mode. Have you asked for and received a send limit increase from AWS? If not, you will see a blue alert at the top of AWS SES for sandbox mode.
More info at http://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html

Thanks for the info @arcdev1 But if you clearly see my screen shot given above, I have a limit of 50,000 mails to send. And like I said in my issue heading, the mails are getting sent. It's just that the notifications show 0 as the number.

@karuppiah7890 yes I see that now. I should have looked more closely at the full thread. I saw the issue title and remembered having a similar issue when I first set things up that was related to AWS being in Sandbox mode. Sorry I couldn't be more helpful.

It's fine :) we can look into and see what went wrong.

@AndrewGHC When do the notifications come ? Only after sending all mails huh ? Because I think this can be possibly because my mails are getting sent a bit late sometimes, and that the values during sending are 0 in the database and that's why I get these notifications. But then, there have been times when I instantly get my mails in the mail box, but still the notifications show "Sent 0 mails"


[R-279] [R-280] Summarization Score Formula is unreasonable

I have checked the documentation and related resources and couldn't resolve my bug.
Describe the bug
I read the doc for summarization Score.
https://docs.ragas.io/en/stable/concepts/metrics/summarization_score.html

QA score, higher is better. range is (0, 1).
but, consiseness score, lower is better. range is (0, infinity).
so, summarization score = (QA score + conciseness score)/2, It's unreasonable.
I  think the "consiseness score" should be converted into a valut that range is (0, 1), and the larger the better.
Ragas version: stable
R-280

Hey @ofooo good point. I will take care of it this week.

Hey @ofooo , you are absoultely correct, In the code, its correct, I missed this in docs, I have updated the docs
But yes, we need to handle cases where summary length is higher than text length, we can straightaway assign 0 score maybe

Thanks for pitching in @sky-2002 and pointing out the issue @ofooo
@sky-2002 can you fix that edge case in the summarisation metric?
Another point I would like to make is summaries can be hard to score in general - even humans struggle with it. In coming versions, we will add support to ranking based metrics (it's easier to rank such tasks)

@shahules786 interesting points you made, we can discuss these in the above PR I created or on discord, there are more points to discuss on summarization,
@ofooo you can also join the discussion in the PR, suggestions are welcome

Hey @ofooo @sky-2002 An easy and intuitive fix for this is modify conciseness score as
conciseness score = length of summary / (length of context + 1)
thereby mapping into range of (0,1)
Then since a conciseness score, lower is better , we take (1 - consiseness score) when combining it with the QA score
So final will be = [QA Score + (1 - consiseness_score) ] / 2
One more suggestion, here we have assumed both to be QA and consiness to be equal weightage, but ideally user should be able to control it. So adding an extra argument as coeff (which is 0-1) , the score would be
score =  coeff * QA Score + (1-coeff) *(1 - consiseness_score)
How does that look guys?

Great idea @shahules786 , I had proposed this weighing initially but we didnt want too much work on the user side, but anyways, its good to let user control it, fixing it right away


Updated Tracker project to target .Net Standard 2.0

Updated Piwik.Tracker Project to target .NET Standard 2.0.
Updated other projects to .NET Framework 4.7 as we should keep back compatibility with least 3 years old technologies.
Test Units did not run at all with me, did not check as we need to upgrade them to xUnit.
I think we should move samples to other repo so could later convert them to templates and comply with how .NET core sdk works now.
@mattab

Thanks for creating the PR.
@julienmoumne @ptr1120 if you have any feedback about this PR looking at the code, feedback welcome!
@fahadabdulaziz I give you already commit access but please wait maybe 1 week or so before merging this first one :-)

fyi @julienmoumne @ptr1120  fahadabdulaziz has been added as a collaborator with write permissions on the repository.

Thank you @mattab
By the way, the tests didn't run on travis.

@fahadabdulaziz thanks for pointing it out. when a test fails, the PR check should appear red, but it is green now :thinking:
Maybe you are able to look into this issue?

@mattab The CI was using Mono to build & test the project, now when we convert the project to .NET standard we use .NET Core for that. but test not working neither on my machine and the CI.
Anyway I'll change this PR to be vNext of the project (Including rewrite the tests and make it work)

Hello,
I was wondering if there will be any further updates to this?
Thanks!


Refactor creating loggers

Description
Currently separate logger instance is created for when NewDTLogger is called. Number of loggers allocate memory which causes increased memory consumption.
This PR changes how loggers are created:

create singleton logger (with memory allocated only for this instance)
use logger.Factory.GetLogger("name") to get sublogger of singleton logger

Removed in d9c09b9f4f33a22540ac97cabd97c52ce4ac27d2
To measure it, GCP Cloud Provider is added. It can be enabled by adding env vars:
env:
- name: GCP_CLOUD_PROFILER_ENABLED    # default "false"
  value: "true"
- name: GCP_PROFILE_SERVICE
  value: mgk-dto
- name: GCP_PROFILE_DEBUG             # default "false"
  value: "true"

heap profile:

note troubleshoot logger is separate logger instance on purpose.
How can this be tested?
Check if logs are still there.
Check heap profile.
Checklist
~- [ ] Unit tests have been updated/added~

[x] PR is labeled accordingly
[x] I have read and understood the contribution guidelines

This should be splitt and seperated from each other, for the profilers there are seperate tickets :) I guess this PR should only be about the Logger

From a memory standpoint of view it looks way better than before, i like it 🫶🏻

@chrismuellner Regarding multiple loggers rename suggestions: It's strongly recommended that name segments contain only letters, digits, and hyphens (see the package documentation for more information).

@mjgrzybek I'm happy with - as well, e.g. webhook-mutation-pod instead of webhook.mutation.pod. I'd just like to see some hierarchy in our logs - currently the names are pretty random 🙂
We should use - just for hierarchy and not for any naming in between then, like level-morespecific instead of level-more-specific.
ps: description is still mentioning the profiler

@chrismuellner

We should use - just for hierarchy and not for any naming in between then, like level-morespecific instead of level-more-specific.
Hierarchy is maintained by logr. According to logr docs, hyphen shouldn't be used for it, it's just part of name, same as any other letter.
Loggers names are now pruned of dots,

Profiler report is in description as it proves single logger is instantiated.
No change regarding profiler is added in the source code.


CMake: Fix msh3-config.cmake configuration

Can you please provide more description as to why this is necessary?


CascadingValue is null if you navigate directly to the page

Here is the setup:
MainLayout
<MessageBanner ref="MessageBanner"></MessageBanner>

<CascadingValue Value="@MessageBanner">
            @Body
</CascadingValue>

@functions{
    protected MessageBanner MessageBanner;
}

I use this as a toaster of sorts so that I can display messages when different actions happen. This way I have it on the MainLayout and expose it to be Cascaded to all other Components.
I have found this works great, however I have noticed that if I open a new tab and go directly to a page (say a password reset page), this seems to break and MessageBanner is always null.
I'm not trying to use MessageBanner on Init of the component, but within a button click event.
If you need more information, please let me know.
Thanks

If you could post repro steps (i.e., a minimal amount code that's still enough for us to run it), we can certainly investigate. From what you've posted above I can't guess what's causing the issue I'm afraid!

I'll put something together tonight. Thanks for the quick reply back.

Ok, so I was slightly off in what is happening. I have attached a solution that shows the issue. Here is what I found.
On the loading of the Index Page, text is auto set for the Shared Component (the component that I have set to Cascade to be available on all other pages). If I click the button that sets text for the Shared Component, there is a null reference error. However, if I navigate to another page (using NavLink) and click the button on that page (Test Page), I have a reference to the component and the text is set as expected. If I now navigate back to the Index Page (using NavLink) and click the button, it now works as expected.
So, it seems like the Shared Component loads, however it is not available to any Child Components until you navigate which causes it to be available ... somehow.
After looking a little more at some of the other bugs, this seems like it is similar to (if not the same): https://github.com/aspnet/AspNetCore/issues/5675
In that example however, the person is trying to use the Cascading control OnInit, before rendering is complete. In my example, I am trying to use it after rendering is complete within an event.
Please let me know if there is more I can do to help or clarify anything.
Thanks
WebApplication1.zip

Since apparently it looks like this won't get fixed for quite some time, is there a workaround for this?

I've checked the repro sample and identified the issue. The problem is that you're trying to refer to a field populated by ref before the rendering is completed. ref fields are only guaranteed to be initialized once the first render is completed.
Specifically, in MainLayout.razor, you have:
<SharedCom ref="Shared" Text="This text will change when button clicked"></SharedCom>

<CascadingValue Value="@Shared">
    @Body
</CascadingValue>

... where the CascadingValue is being given the value of a field that is not necessarily yet populated.
There are several ways you can avoid this problem. One of them is to only render the CascadingValue (and @Body) once the field is populated, e.g.:
<SharedCom @ref="Shared" Text="This text will change when button clicked"></SharedCom>

@if (Shared != null)
{
    <CascadingValue Value="@Shared">
        @Body
    </CascadingValue>
}

@functions
{
    protected SharedCom Shared;

    protected override void OnAfterRender(bool firstRender)
    {
        if (firstRender)
        {
            StateHasChanged();
        }
    }
}

This uses the firstRender parameter we're introducing in preview 9. If you're using an older version of Blazor, you'll need to track that flag yourself.
Alternatively, instead of passing SharedCom as a cascading value, pass some other object that exposes the desired APIs. For example, instead of having your pages receive an instance of SharedCom, have them receive the MainLayout:
    public class Index_Page : ComponentBase
    {
        [CascadingParameter]
        public MainLayout Layout { get; set; }

        protected void Click_Event()
        {
            Layout.SetText("Index Page");
        }
    }

... and then put the method you want onto the layout:
<SharedCom @ref="Shared" Text="This text will change when button clicked"></SharedCom>

<CascadingValue Value="@this">
    @Body
</CascadingValue>

@functions
{
    protected SharedCom Shared;

    public void SetText(string text)
    {
        Shared.SetText(text);
    }
}

This latter technique will perform a bit better than the first one, as it only has to render the layout once.

Thanks Steve, I'll try this out.


Ability to configure the suppliers globally.

When using Instancio to create arbitrary classes, it would be useful to configure the supplier globally so that we can reuse them or the Instancio instance without having to pass them for each class.
Actually
for (Class cls : classes) {
  Instancio.of(cls)
    .lenient()
    .supply(....)
    .supply(...)
    .supply(..)
    .create();
}

Expected
Instancio.globally()
    .supply(....)
    .supply(...)
    .supply(..);

for (Class cls : classes) {
  Instancio.create(cls);
}

// OR
Instancio instancio = Instancio
    .supply(....)
    .supply(...)
    .supply(..);

for (Class cls : classes) {
  instancio.create(cls);
}

(I do have a favor for the instance)
My use case is that I browse the classpath to collect all classes that should be serialized. Then I instantiate them and test the serialization and deserialization.
However, I have to configure many suppliers to avoid some nulls and reach some border cases. The code would be much easier to maintain and read without having to configure Instancio for each class.

@gervaisb do you have an example of which fields are producing null values? Maybe that's something that needs to be fixed.
Regarding your use case, it should be possible with InstancioServiceProvider. There's some documentation on it in this section of the user guide. I also put together a small sample project. Using this approach, you can map generators to specific fields or classes, and they will be resolved automatically.
Another alternative would be to use a Model:
static <T> Model<T> baseModel(Class<T> klass) {
    return Instancio.of(klass)
        .supply(....)
        .supply(...)
        .supply(..)
        .lenient() // may require lenient if selectors are not common to all classes
        .toModel();
}

SomePojo p1 = Instancio.create(baseModel(SomePojo.class));
OtherPojo p2 = Instancio.create(baseModel(OtherPojo.class));

Our codebase is on Scala, some classes are generated _case class_es with specific construction. Properties of those types are usually null.
I do not use a Model but I have already moved the configuration of instancio and creation of a class in a dedicated method.
  def create[T](cls: Class[T]): T = {
    Instancio.of(cls).lenient()
      .supply(Select.all(classOf[Set[_]]), () => Set.empty[Any])
      .supply(Select.all(classOf[Option[_]]), () => Option.empty[Any])
      .supply(Select.all(classOf[OneEnumType]), () => OneEnum.Value)
      .supply(Select.all(classOf[OneScalaCaseClass]), () => OneScalaCaseClass(
            AnotherEnum.Value,
            OneNestedComplexType(...),
            Set.empty,
            None
          )
      )
      .create()
  }

  // later
        val origin = create(c)
        val (json, result) = serializeAndDeserialize(origin)
        assert(origin == result, json)

What would be the advantage of using a Model ?

Thanks for providing additional details!
Regarding models, the advantage is that you can customise objects created from it by adding or updating selectors (e.g. override some selector to a non-null value). But if you only have a single method like def create[T](cls: Class[T]): and don't need to customise the objects created from it, then there's no benefit to gain from using a model.
I don't have much experience with Scala, but based on your example I think implementing GeneratorProvider will be your best bet. E.g. you can map classOf(Set[_]) to a generator that returns Set.empty[Any], then using Instancio.create() will automatically use the custom generator. Please take a look at the sample project and let me know if you run into any issues.

@gervaisb I assume the suggested approach worked for you. I will close the issue for now, but feel free to re-open or add a comment if you're still having problems.


$event for component

http://jsfiddle.net/lega911/dvk8v7cg/

watchMode: text / static
? watchText

http://jsfiddle.net/lega911/90x7665k/
http://jsfiddle.net/lega911/woowhLw0/

http://jsfiddle.net/lega911/dvk8v7cg/
http://jsfiddle.net/lega911/181vm9vj/


Correct memory leaks

Please consider this pull request to free memory currently left allocated. Memory leaks may occur over time in the do_accept and new_connection functions.
The scenario tested to produce the problem is using mmproxy in front of OpenSSH. Without the changes, this script loop will cause growing heap utilization due to the leak.
for i in {1..10000}; do
  echo -en "PROXY TCP4 <IP_ADDRESS> <IP_ADDRESS> 0 0\r\nSSH-2.0-" | nc -W1 localhost 2222 > /dev/null;
done

thanks


Please add crystal.zip containing (crystal.exe and the libs) to the Release artefacts going forward

Right now programmatically fetching the crystal exe for any release from the CI is very hard.
For using package managers like Scoop, it is very difficult to create a script for setting up Crystal on the Windows device without this first step.
Adding a direct path to the crystal exe and corresponding libs for every releases at least open windows package managers to consider having app packages for Crystal on Windows.
Even if we don't have full windows support, we should look at making the act of using Crystal on Windows as painless as possible.
Note: I know that networking is missing but at least other use cases like gamedev, shell programming etc can still be done in Crystal.

The related discussion in Scoop repo is at https://github.com/lukesampson/scoop/issues/3775

This is https://github.com/crystal-lang/distribution-scripts/issues/64

Indeed, let's focus discussion over there!

This should be separate issue to easily track it. We just released 0.36 without the windows exe in the release artifacts.
It will be lost these in those discussions otherwise.


Forward-port #206

Forward port of #206 to master

Identical to 206, merge conflict was just in the travis conda setup - once a conda run starts, I'll merge this.


Stax modules as functions using a parameter tracer

Stax's functional api is in a way very elegant and fits nicely with Jax's overall style but I think there are a few places that can be improved without deviating from the Jax feel or start resorting to OO.
A pet-peeve of mine is how tedious it can be when you want to combine different modules in non-conventional ways (e.g., a combination of serial, parallel with parameter reuse). There doesn't seem that you can do much better than implementing both an init and apply function even when this custom module doesn't create parameters itself. The result is that you have to essential write the flow of which module to call when twice but following different and somewhat incompatible function signatures.
For example, when wanting to reuse parameters, you can't the apply calls in init since you would want to avoid initializing twice. But now you lose the shape inference and have to hack in a solution either by writing the shape inference by hand, or wrapping things in a function and using jax.eval_shape. Since modules without parameters only need an apply function to define, e.g., ones that only serve to connect others together, it should be possible to have an API that only requires that one function while handling generating the initialization function itself.
I've been toying with the idea of leveraging jax's tracing to achieve this. One could define a stax module which when initialize is called, just calls the apply functions with some sort of parameter tracer.
class StaxModule(namedtuple("StaxModule", "init_fun, apply")):

  def __call__(self, params, inputs, **kwargs):
    # lets just ignore handling `rng` for now
    if isinstance(params, ParameterTrace) and self.init_fun is not None:
      params.init_with(lambda: self.init_fun(kwargs["rng"], inputs))
    return self.apply(params, inputs, **kwargs)

  def initialize(self, rng, inputs):
    # code to bootstrap tracing and shape inference
    param_tracer = ParameterTracer()
    out_shape = self.__call__(param_tracer, inputs)

    # compute the parameters (or fetch if they're evaluated while tracing)
    params = param_tracer.evaluate()

    return out_shape, params

Now I'll admit that I haven't really worked much with tracers in general so I'm not all that familiar with the best patterns to use. That API/design is probably suboptimal and could merit some tweaks. However, even with this design you could handle cases like this effortlessly:
This would then allow you to do things like this:
@stax.module  # some helper function to wrap it in a StaxModule
def Foo(module1, module2):

  def apply_fun(params, inputs, **kwargs):
    param1, param2 = params
    out = module1(param1, inputs, **kwargs)
    out = module2(param2, out, **kwargs)
    return module1(param1, inputs, **kwargs)

  return apply_fun

foo = Foo(module1, module2)
out_shape, params = foo.initialize(rng, inputs)

out = foo(params, inputs)

Optional bonus:
Shape inference
In addition, with that machinery in place, we could simplify the init_fun API and have it just handle creating parameters, leaving the shape inference entirely up to jax's tracing of the apply_fun given parameters of a certain shape.
Handling rng (e.g., splitting, packing/unpacking)
Automatically handling the rng would essentially require the same machinery as the parameters so it would take very little to set that up at the same time. Where I'm less certain is whether this is something we would even want or not. I'm leaning to thinking that it wouldn't be too magical if we upacked rng like a parameters instead of splitting. If you were aware of random.split, I don't think this example would feel odd.
@stax.module
def Bar(module1, module2):

  def apply_fun(params, inputs, rng, **kwargs):
    param1, param2 = params
    rng1, rng2, rng3 = rng
    out = module1(param1, inputs, rng1, **kwargs)
    out = module2(param2, out, rng2, **kwargs)
    return module1(param1, inputs, rng3, **kwargs)

  return apply_fun

Natural handling of vmap
With all this in place, it would be possible support the use of vmap on modules without having to worry about its affect on the shapes at initialization (mostly relevant for vectorizing over axes other than 0). We could treat modules like any other function.
Conclusion
I think this kind of machinery would go a long way in removing some of Stax's rough edges, especially when it comes to supporting unconventional NN architectures. It would make parameter reuse much more user friendly then it currently is without needing to memorize which the modules were already initialize (e.g., trax's solution). This essentially allows us to keep the modules immutable.
Hopefully I didn't miss some hidden difficulty but I woudn't expect something like this to be overly complex. I'm happy to help with its implementation. Though, some pointers for how best to handle the tracing would be very helpful!
As a final example of how it lightens the implementation, here is how stax.serial and stax.parallel would look like (with the "automatic" handling of rng):
@stax.module  # some helper function to wrap it in a StaxModule
def serial(*layers):

  def apply_fun(params, inputs, rng, **kwargs):
    for layer, param, l_rng in zip(layers, params, rng):
      inputs = layer(param, inputs, l_rng)
    return inputs

  return apply_fun

@stax.module
def parallel(*layers):

  def apply_fun(params, inputs, rng, **kwargs):
    return [
            layer(param, l_in, l_rng)
            for layer, param, l_in, l_rng in zip(layers, params, inputs, rng)
            ]

  return apply_fun

Edit: thinking back I realized that it might not be possible to tell how many items to generate from a a, b, c = gen statement. That could be replaced by a more explicit a, b, c = gen.split(3) call similar to how rngs work.

This is some very cool work, and similar ideas have been bubbling around inside and outside the team for a few months now (with perhaps the first effort in this direction being @j-towns's pointy stax).
We definitely agree that stax is limiting, and one of the biggest missing features is precisely this kind of "pointiness" that would let you write complex composite modules once rather than twice when they don't fit cleanly into stax's existing "point-free" combinators. Similarly, we've also had the instinct that JAX's tracing machinery should be able to help, since any solution to pointiness essentially involves evaluating the user's neural network layer definitions in two contexts (while initializing and while applying), which should be a great use case for alternative interpretation.
The specific mechanism proposed here is very compelling (enough that it's a worthwhile productivity improvement even if it's implemented in Python outside the JAX machinery, as with jaxnet and a couple libraries that aren't yet open sourced and work atop JAX similarly to how Sonnet works atop TensorFlow). But unfortunately the way the JAX core works means that it's impossible to implement it as a tracer: the only things visible to JAX transformations are abstract or concrete values (multidimensional arrays and scalars) and the primitive computations that use them—not Python data structures or attribute access.
Instead, I've been working on what I hope is the next best thing: a generic mechanism for tagging intermediate values in JAX computations (#1660) that can be used to build a fairly similar neural net API to the one proposed here. Your Foo example would look something like this:
def Foo(module1, module2):
  def apply_fun(key, inputs, **kwargs):
    key1, key2 = random.split(key)
    out = module1(key1, inputs, **kwargs)
    out = module2(key2, out, **kwargs)
    return module1(key1, out, **kwargs)
  return apply_fun

foo = Foo(module1, module2)
_, params = collect(foo)(rng, inputs)
out = inject(foo, params)(inputs)

My current plan is to work to land the "tagging" infrastructure (#1660) and a minimal "stax2" that uses it, while also enabling authors of existing high-level libraries like jaxnet, trax, and the others to benefit from the infrastructure if they'd like (it should improve the ability to compose those libraries with JAX transformations) without breaking their existing users.
We want JAX to be a great substrate for exploration in neural net API design, especially in a functional style, so we're always happy to see proposals like this 🙂. And don't necessarily take my "impossible" as dispositive! The JAX core infrastructure is a land of many wonders and you may well find what you need there to build the library you're looking for.

@gehring I think you will like JAXnet. (:
@jekbradbury Can't wait to use your tagging API for building TensorBoard-style diagnostics / enabling eduard2-style probabilistic programming! It looks super clean and useful! Over the last days I greatly simplified JAXnet's implementation, getting rid of code outside the JAX machinery, as described in https://github.com/google/jax/issues/1663.

@JuliusKunze I will definitely be checking it out, looks very well made! I wasn't aware of jaxnet and it looks like that design is very close to what I had in mind.
@jekbradbury Thanks for the pointers! I wasn't aware of these projects. With Jax gaining popularity, it might be worth maintaining a brief list of projects built off it in order to direct people looking for some utility functions for specific use cases, e.g., ML. (Also, out of curiosity, you used the term "pointiness". I've never heard it used in this context. Is it a common programming term that I might have missed or is it a play on some other term/concept?)
I'm really looking forward to the "tagging" stuff you've been working on! I've thought of implementing something similar to extract intermediate values from custom vjps but couldn't come up with an approach that wasn't terrible. Your design looks quite promising!
With respect to the "tagging" version of Foo (and also a JAXnet version of it), it pretty much checks all the boxes for me but I do have some concerns/thoughts.
Explicit parameters
First, I'm not sure how I feel about losing the explicit params argument in the apply function. Granted, with the current stax API, all the manual book keeping for initializing and apply feels tedious but it might not feel overly verbose to explicitly pass down or unpack parameters once stuff like initialization and shape inference is handled automatically. I guess the question is at what point does it become too magical.
But more specifically, I'm worried about some unconventional use case where parameters are not matched 1-to-1 with a module. If I were a user with that use case, it would be disappointing to be fully invested in Jax but not be able to leverage most/any of the convenience tools surrounding Stax. Specifically, I'm thinking of combining modules like this:
def WeirdFoo(module1, module2, module3):

  def apply_fun(params, inputs, rng, **kwargs):
    param1, param2, param3 = params
    rng1, rng2, rng3, rng4, rng5 = rng

    # standard use of a module
    out = module1(param1, inputs, rng1, **kwargs)

    # unconventional use of a parameters, no module "owns" param2
    out = module2(param2, out, rng2, **kwargs)
    out = module1(param2, out, rng3, **kwargs)

    # module3 might never have been initialized, but that's okay, it should
    # behave just like a function.
    out = module3(params1, out, rng4, **kwargs)

    # module2 on yet unused parameters, this should cause module2 to be
    # initialized twice. Again, this should be okay if everything behaves
    # "functionally" and module2 is immutable/stateless.
    out = module2(param3, out, rng5, **kwargs)

  return apply_fun

For this example to work, the logic used for tracking and initializing parameters should have the following behavior:

the parameter tracer needs to know not to initialize modules when given initialized parameters even if the module has never been initialized (should be supported by most sensible designs)
the parameter tracer needs to always initialize uninitialized parameters with the first module using it (maybe some alternative well-defined semantic could work but this seems like the most intuitive)

With "hidden" implicit parameters, it isn't clear to me how to implement this example without expanding the api with functions to specifically support it. By keeping parameters explicit, it would be natural to implement this use case even for a new user that might not be familiar with the ins and outs of the Stax2/JAXnet API. I suspect that the extra expressiveness that explicit parameters would provide will justify the slightly more verbose API, but I'm curious to hear what you all think about this.
Supporting vmap
This is more of a general comment than something concrete but I wanted to mention this here since it might influence some design choices for "tagging" API (from what I understand there is still discussion about how best to handle batching).
Hypothetically, imagine a scenario where, after some hard work, Stax modules can finally be combined as simple function call and that using it allowed for some of the most elegant, even awe inspiring, code known to man, but with the catch that batching is fully well supported (even if every low-level primitive used supports it). The world would adopt Stax, but everyone would still manually handle batch dimensions like cavemen.
Hyperbole asides, this would be such a waste of Jax's batching feature. I don't think it would be particularly difficult to support this as long as no incompatible design choices are made on the way. My guess is if the initializer/parameter tracer is aware of the batching tracer (or vice versa), it should be straightforward to infer the correct shape of parameters and of the batched output. I would expect some kind of approach like this to be the most natural: "trace (in python) the parameters with unbatched inputs while building a jaxpr to be transformed by the batcher later (where the shape compatibility of the batched input and parameter can be validated)".
I haven't had the chance to dive into the details of how JAXnet does it so this might already be fully supported, but I felt it worth stating explicitly so that the feature isn't forgotten somewhere along the way!

I had forgotten about this issue (#815). Mentioning it here in case we want to discuss vmap + stax separately.

y u hate OO so much? But seriously, PyTorch's nn.Module is just great: just single level of inheritance, constructor and the forward method. Would that be so bad?

Ooh just looking at jaxnet! I take that back, sorry (although nn.Module style would still be cool IMO).

Closing this since I feel like this isn't relevant anymore given many maturing third-party libraries. It is probably best to let other projects develop this side of things and keep jax more focused on the low-level functionality.


New Settings fileds Truststore-/Keystore-Alias

Truststore-/Keystore alias can be set in the future (currently on DSC-branch configuration).
Would require 2 additional form fields on the settings page, POST-scheme:

Implemented in be26abb


changed useState with useReducer

Pull Request for WebMasterLog 💡
Issue Title:
using 3 more useState is not best practice

Name of the project : Password Generator
Category: React Js
Name: Rendi Virgantara Setiawan
GitHub ID: rendi12345678
Idenitfy yourself: Aspiring React Js Front End Web Developer

Closes:
#85
Describe the add-ons or changes you've made 📃
Changed useState to useReducer
Type of change ☑

What sort of change have you made:

[x] Changed useState with useReducer

How Has This Been Tested? ⚙
Describe how it has been tested
really well
Checklist: ☑

[x] My code follows the Contributing Guidelines & Code of Conduct of this project.
[x] This PR does not contain plagiarized content.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have added things that prove my fix is effective or that my feature works.
[x] Any dependent changes have been merged and published in downstream modules.

Screenshots 📷

Note to reviewers 📄

@rendi12345678 without creating your own issue and before assigned, never create pull request. And you should follow the contributing guidelines carefully. ok
So, Create a own issue for enhancement purpose, after assignment, go for creating pr.


Allow setting a file path for options.reporter

This pull request solves issue https://github.com/gruntjs/grunt-contrib-nodeunit/issues/34

Needs a test.


[Bug] Developer Tools wont open

Ctrl Shift I does nothing after update/reload discord
tried disabling all plugins/theme and repairing/reinstalling better discord
Persists

This is a change performed by discord. There is a PR #1179 open to "fix" this issue but for security reasons we're not really sure if it should get merged like that, it might become a toggle in BD settings that you need to opt in for. The linked reddit comment explains how to enable the devtools manually tho.

Do you know when is that Dev tools option gonna get added in the BD settings?

This is a change performed by discord. There is a PR #1179 open to "fix" this issue but for security reasons we're not really sure if it should get merged like that, it might become a toggle in BD settings that you need to opt in for. The linked reddit comment explains how to enable the devtools manually tho.

yeah seems fair to make it a toggle at least

I meant when is this toggle gonna get added in the BD Settings?

Zere already merged the pr, no toggle

Oh rlly oh yeah he did

It will be behind a different kind of toggle.

which one?

Its in a toggle now https://github.com/BetterDiscord/BetterDiscord/commit/8365730de53f8547503bf92d071361f2bcd8cc14

Yeah I saw the toggle.

Ok can someone close the issue since it is fixed.


BUG - Fiori Tools Page Editor freezes when changing the order of a custom column

Description
Starting from a simple Fiori Elements List Report application, consisting of several regular columns and one custom column, the Page Editor freezes when trying to change the order of the custom column using the provided up and down arrows in the page editor.
Steps to Reproduce
Steps to reproduce the behavior:

Open the page editor for the List Report page
Open the Columns of the table on the Page Editor
Press the up arrow to change the order of the custom column in the table (so it moves to the left in the table)

Expected results
The custom column should move to the left, in the Page Editor, and when running the application.
Perhaps if an invalid state has occured, some reason why this state occurred...
Actual results
The page editor becomes unresponsive (freezes).
Screenshots
If applicable, add screenshots to help explain the problem.
Version/Components/Environment

Windows
VS Code
SAPUI5 v1.96.8
"@sap/ux-ui5-tooling": "^1.8.0"
"@ui5/cli": "^2.14.14"
npm v8.19.2
node v16.17.1

@jvanattedev that part of the functionality in the SAP Fiori tools, page modeler is not yet published here to the open-ux-tools, however, if you could provide the project causing the issues, I am sure we can try to help you.

@jvanattedev thanks for also reporting this as incident for the SAP Fiori tools. We are closing this one, and will be helping you in the incident.


Pressing enter while select is open triggers error in console

Current Behavior
See this codepen example:

Click on select (taken from docs site examples)
Press "enter" key (without using up/down keys first)
Observe the following error in the console:

Uncaught TypeError: Cannot read property 'click' of undefined
    at Dropdown._handleDropdownKeydown (materialize.js:2510)
_handleDropdownKeydown @ materialize.js:2510

Expected Behavior
If no item is selected then the behavior I would expect is either to close the select (leaving value/selection unchanged) or do nothing (like it does now except without the error getting thrown).
Your Environment

Version used: 1.0.0-rc.2 (see codepen)
Browser Name and version: tested in Chrome 67
Operating System and version (desktop or mobile): Debian Linux (kernel 4.9.0-6-amd64)

One possible "solution"/band-aid would be to add checks here to prevent attempting to call .click() on undefined.

Fixed in 1f5deb3c


Verify if Create, read, Update, Delete functionalities work for template in the admin interface

@frankmolenaar1986 which template does this ticket refer to?


when searchspace type set loguniform, could the _value min not set too small?

Describe the issue:
I have an expriment run some time,expriment could  stop
I find that when the expriment stops, after ps -aux , COMMAND col  appear some "[bash] < defunct >",Parent process don't deal with this Zombie process?
or
search space i use {"_type":"loguniform","_value":[0.000001,0.001]}
Is it that  _value min value too small when numerical calculation log,  log go wrong ?(i guss too small _value will regard as 0?)
when I set _type to uniform; expriment run normally.
Environment:

NNI version: 2.0
Training service (local|remote|pai|aml|etc):
Client OS:
Server OS (for remote mode only):
Python version: 3.6
PyTorch/TensorFlow version: PyTorch1.2
Is conda/virtualenv/ venv used?:
Is running in Docker?: Yes

How to reproduce it?:

I found this maybe because I run this expriment on dorcker. I later run it well on a real machine .

Would you like to share us the version of docker image? I will try it in docker ASAP.

Would you like to share us the version of docker image? I will try it in docker ASAP.

docker will not be shared because it is not pulled  common docker hub.
but i can provide the linux version and kernel version , other key  lib info:
Linux version 4.9.99 (gcc version 6.3.0 (GCC) ) #1 SMP Mon Oct 21 14:47:51 CST 2019
Ubuntu 18.04.3 LTS
other key libs:
torch 1.2  (cuda 10.0)
torchvision 0.4.0
tensorboard 1.14.0
nni 2.0 and 2.4 i tried
scipy 1.2.1

Thank you. And I wonder if you run the experiment with a config file like '*.yaml'? If you do, please share me a copy with that : )

Thank you. And I wonder if you run the experiment with a config file like '*.yaml'? If you do, please share me a copy with that : )
config.yml , as below:

experimentName: xxxx
trialConcurrency: 2
maxExecDuration: 1d
maxTrialDuration: 1h    ## nni=2.4
maxTrialNum: 1000
#choice: local, remote, pai, kubeflow
trainingServicePlatform: local
searchSpacePath: search_space.json
# logDir: xxxxx/temp/nni-experiments/
#choice: true, false
useAnnotation: false
tuner:
  #choice: TPE, Random, Anneal, Evolution
  builtinTunerName: TPE
  classArgs:
    #choice: maximize, minimize
    optimize_mode: minimize
assessor:
  builtinAssessorName: Medianstop
  classArgs:
    optimize_mode: minimize
trial:
  command: python train.py
  codeDir: .
  gpuNum: 1
localConfig:
  gpuIndices: "0"
  maxTrialNumPerGpu: 2
  useActiveGpu: true

I ran the experiment in docker with almost the same environment(GCC 8.4.0 && some latest dependencies), because some previous versions were hard to found. And it worked normally. So I would like to suggest you turning to the log at ./nni-experiments/*/log/dispatcher.log and see what happened. Anyway, I would report this to my team in case of any potential scheduling issues : )

I ran the experiment in docker with almost the same environment(GCC 8.4.0 && some latest dependencies), because some previous versions were hard to found. And it worked normally. So I would like to suggest you turning to the log at ./nni-experiments/*/log/dispatcher.log and see what happened. Anyway, I would report this to my team in case of any potential scheduling issues : )

thank you very much,  I will check the log as you say. if I find some reason, I will exchange the message with u.

I ran the experiment in docker with almost the same environment(GCC 8.4.0 && some latest dependencies), because some previous versions were hard to found. And it worked normally. So I would like to suggest you turning to the log at ./nni-experiments/*/log/dispatcher.log and see what happened. Anyway, I would report this to my team in case of any potential scheduling issues : )

I check the log as you say, log record a INFO message:
INFO (hyperopt.utils/MainThread) Failed to load dill, try installing dill via "pip install dill" for enhanced pickling support
INFO (hyperopt.fmin/MainThread) Failed to load dill, try installing dill via "pip install dill" for enhanced pickling support

I pip install dill then run "nnictl xxx",it is okay likely..
Is it  the reason ?
if  Yes ,dill could be added to requirements.txt

I ran the experiment in docker with almost the same environment(GCC 8.4.0 && some latest dependencies), because some previous versions were hard to found. And it worked normally. So I would like to suggest you turning to the log at ./nni-experiments/*/log/dispatcher.log and see what happened. Anyway, I would report this to my team in case of any potential scheduling issues : )

I think about a way of trying to cheat that crontab a task "ps -aux|grep -v grep|grep defunct |awk '{print $2}'|xargs -n1 -I {} kill -s 9 {}". when this zombie pid appear,kill it because I think these zombie pid appear so that nni regard as this zombie task run continue.
But when I try to kill the zombie pid,it failed because  it's the subprocess from present process of "nni_node".

Did you notice the time stamp between dispatcher.log and nnimanager.log? And a normal exit should come up with the words like "terminated" and "task stopped"

d a normal exit should come up with the word

in dispatcher.log and nnimanager.log，I didn't find the words "terminated" and "task stopped". my nni version is 2.4 .
But,
in nnimanager.log ,I found "INFO (NNIManager) Trial job OJlVS status changed from WAITING to RUNNING" but did not find "Trial job OJlVS status changed from RUNNING to EARLY_STOPPED" or "Trial job OJlVS status changed from RUNNING to SUCCEEDED" that will be in log if the task run well.

It may crush while processing. A possible solution is to use ps -a and find PID with python then kill it.
Could you show the full contents of these two logs? Because I couldn't reproduce your issue, I'd like to try to find some reasons.

[2021-09-26 21:46:43] INFO (NNIManager) NNIManager received command from dispatcher: KI, "LTg1n"
[2021-09-26 21:46:43] INFO (NNIManager) cancelTrialJob: "LTg1n"
[2021-09-26 21:46:46] INFO (NNIManager) Trial job LTg1n status changed from RUNNING to EARLY_STOPPED

In order to save on computing resources, NNI supports an early stopping policy and has an interface called **Assessor** to do this job.

Assessor receives the intermediate result from a trial and decides whether the trial should be killed using a specific algorithm. Once the trial experiment meets the early stopping conditions (which means Assessor is pessimistic about the final results), the assessor will kill the trial and the status of the trial will be `EARLY_STOPPED`.

The sentences are from docs/en_US/builtin_assessor.rst.
All above, there may be something unexpected with your docker, like versions or configs, etc. Maybe a latest environment will help : )

[2021-09-26 21:46:43] INFO (NNIManager) NNIManager received command from dispatcher: KI, "LTg1n"
[2021-09-26 21:46:43] INFO (NNIManager) cancelTrialJob: "LTg1n"
[2021-09-26 21:46:46] INFO (NNIManager) Trial job LTg1n status changed from RUNNING to EARLY_STOPPED

In order to save on computing resources, NNI supports an early stopping policy and has an interface called **Assessor** to do this job.

Assessor receives the intermediate result from a trial and decides whether the trial should be killed using a specific algorithm. Once the trial experiment meets the early stopping conditions (which means Assessor is pessimistic about the final results), the assessor will kill the trial and the status of the trial will be `EARLY_STOPPED`.

The sentences are from docs/en_US/builtin_assessor.rst.
All above, there may be something unexpected with your docker, like versions or configs, etc. Maybe a latest environment will help : )

I understand the early_stopped policy.my meaning of before description "INFO (NNIManager) Trial job OJlVS status changed from WAITING to RUNNING" is that the task of OJlVS log in nnimanager.log only show state is RUNING ,not SUCCEED or EARLY_STOPPED if run right.
"INFO (NNIManager) Trial job OJlVS status changed from WAITING to RUNNING" is the end line of nnimanager.log


GPL-937 BUG - duplicate detection with same testing date not matching (C=S , V=2)

Describe the bug
When same data for a sample is uploaded and same testing date, it triggers an error as if the testing date were different, which is confusing. It should log an error as a normal sample duplicate (not different testing date), not an error with different testing date.
WARNING: Samples rows matching previously uploaded rows but with different test date. (TYPE 7) (e.g. Already in database, line: 2, root sample id: xxxx, dates: (2021-03-18 16:02:45 != 2021-03-18 16:02:45+00:00)) (e.g. Already in database, line: 3, root sample id:

RT Ticket Number
If applicable
To Reproduce
Steps to reproduce the behaviour:

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

Expected behaviour
What was expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

Windows or Mac?
Browser Chrome, Firefox, Safari or other?
Browser version (use 'About' to look up)?

Additional context
Add any other context about the problem here.

I believe this is no longer relevant following the handover to GSU.


[Question]: Why youtube stream does not start with writegear?

Issue guidelines

[X] I've read the Issue Guidelines and wholeheartedly agree.

Issue Checklist

[X] I have read the Documentation and found nothing related to my problem.
[X] I have gone through the Bonus Examples and FAQs and found nothing related or helpful.

Describe your Question
I have tried basically everything I found on the internet, but nothing works for me to start a youtube livestream using opencv pipeing into ffmpeg.
I have an rtsp stream, which I would like to post process via opencv and other python libs, and then stream it to youtube.
I stumbled upon write gears youtube streaming solution:
# import required libraries
from vidgear.gears import CamGear
from vidgear.gears import WriteGear
import cv2

# define video source
VIDEO_SOURCE = "/home/foo/foo.mp4"

# Open stream
stream = CamGear(source=VIDEO_SOURCE, logging=True).start()

# define required FFmpeg optimizing parameters for your writer
# [NOTE]: Added VIDEO_SOURCE as audio-source, since YouTube rejects audioless streams!
output_params = {
    "-i": VIDEO_SOURCE,
    "-acodec": "aac",
    "-ar": 44100,
    "-b:a": 712000,
    "-vcodec": "libx264",
    "-preset": "medium",
    "-b:v": "4500k",
    "-bufsize": "512k",
    "-pix_fmt": "yuv420p",
    "-f": "flv",
}

# [WARNING] Change your YouTube-Live Stream Key here:
YOUTUBE_STREAM_KEY = "xxxx-xxxx-xxxx-xxxx-xxxx"

# Define writer with defined parameters and
writer = WriteGear(
    output_filename="rtmp://a.rtmp.youtube.com/live2/{}".format(YOUTUBE_STREAM_KEY),
    logging=True,
    **output_params
)

# loop over
while True:

    # read frames from stream
    frame = stream.read()

    # check for frame if Nonetype
    if frame is None:
        break

    # {do something with the frame here}

    # write frame to writer
    writer.write(frame)

# safely close video stream
stream.stop()

# safely close writer
writer.close()

and it runs properly, but then my youtube live does not start.
I inputed the correct stream api key (Ive tested it in other ways and it started livestream properly),
I have a conda environment, all of my libs are up to date...
please help:S
VidGear Version
newest
Python version
Python 3.9.12
Operating System version
ubuntu 18.04
Any other Relevant Information?
No response

@pentadotddot Where are the terminal logs? I atleast need those to say anything.

VidGear Version
newest

Also, what is this "latest" ?

This is what I can read on my terminal when running:
03:03:50 ::    Helper     ::   INFO   :: Running VidGear Version: 0.2.6
03:03:50 ::    CamGear    ::  DEBUG   :: Enabling Threaded Queue Mode for the current video source!
03:03:51 ::    Helper     :: WARNING  :: Specified directory /home/mobilrouter/rtmp_YT/rtmp:/a.rtmp.youtube.com/live2 doesn't exists or valid.
03:03:51 ::   WriteGear   :: WARNING  :: rtmp://a.rtmp.youtube.com/live2/9a7p-647j-2k7y-5677-3v0c isn't a valid system path or directory. Skipped!
03:03:51 ::   WriteGear   ::  DEBUG   :: Compression Mode is enabled therefore checking for valid FFmpeg executable.
03:03:51 ::   WriteGear   ::  DEBUG   :: Output Parameters: {'-i': 'rtsp://admin:Arviz987@<IP_ADDRESS>:554/stream1', '-f': 'flv', '-rtsp_transport': 'tcp', '-force_key_frames': 'expr:gte(t,n_forced*2)', '-reorder_queue_size': '4000', '-max_delay': '10000000', '-acodec': 'aac', '-ar': 44100, '-b:a': 712000, '-vcodec': 'libx264', '-preset': 'medium', '-b:v': '4500k', '-bufsize': '2048k', '-pix_fmt': 'yuvj420p'}
03:03:51 ::    Helper     ::  DEBUG   :: Final FFmpeg Path: ffmpeg
03:03:51 ::    Helper     ::  DEBUG   :: FFmpeg validity Test Passed!
03:03:51 ::    Helper     ::  DEBUG   :: Found valid FFmpeg Version: b'9c33b2f' installed on this system
03:03:51 ::   WriteGear   ::  DEBUG   :: Found valid FFmpeg executable: ffmpeg.
03:03:51 ::   WriteGear   ::  DEBUG   :: Checking whether output_filename is a valid URL..
03:03:51 ::    Helper     ::  DEBUG   :: URL scheme rtmp is supported by FFmpeg.
03:03:51 ::   WriteGear   ::  DEBUG   :: URL:rtmp://a.rtmp.youtube.com/live2/9a7p-647j-2k7y-5677-3v0c is successfully configured for streaming.
03:03:51 ::   WriteGear   ::  DEBUG   :: Forced termination is enabled for this FFmpeg process.
03:03:51 ::   WriteGear   ::  DEBUG   :: Compression Mode with FFmpeg backend is configured properly.
03:03:52 ::   WriteGear   ::  DEBUG   :: InputFrame => Height:1520 Width:2688 Channels:3
03:03:52 ::   WriteGear   ::  DEBUG   :: Executing FFmpeg command: ffmpeg -y -f rawvideo -vcodec rawvideo -s 2688x1520 -pix_fmt bgr24 -i - -i rtsp://admin:Arviz987@<IP_ADDRESS>:554/stream1 -f flv -rtsp_transport tcp -force_key_frames expr:gte(t,n_forced*2) -reorder_queue_size 4000 -max_delay 10000000 -acodec aac -ar 44100 -b:a 712000 -vcodec libx264 -preset medium -b:v 4500k -bufsize 2048k -pix_fmt yuvj420p -crf 18 rtmp://a.rtmp.youtube.com/live2/9a7p-647j-2k7y-5677-3v0c
ffmpeg version 9c33b2f Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 9.3.0 (crosstool-NG <IP_ADDRESS>_b0863d8_dirty)
configuration: --prefix=/home/mobilrouter/anaconda3/envs/ppe_env --cc=/home/conda/feedstock_root/build_artifacts/ffmpeg_1627813612080/_build_env/bin/x86_64-conda-linux-gnu-cc --disable-doc --disable-openssl --enable-avresample --enable-gnutls --enable-gpl --enable-hardcoded-tables --enable-libfreetype --enable-libopenh264 --enable-libx264 --enable-pic --enable-pthreads --enable-shared --enable-static --enable-version3 --enable-zlib --enable-libmp3lame --pkg-config=/home/conda/feedstock_root/build_artifacts/ffmpeg_1627813612080/_build_env/bin/pkg-config
libavutil      56. 51.100 / 56. 51.100
libavcodec     58. 91.100 / 58. 91.100
libavformat    58. 45.100 / 58. 45.100
libavdevice    58. 10.100 / 58. 10.100
libavfilter     7. 85.100 /  7. 85.100
libavresample   4.  0.  0 /  4.  0.  0
libswscale      5.  7.100 /  5.  7.100
libswresample   3.  7.100 /  3.  7.100
libpostproc    55.  7.100 / 55.  7.100
Input #0, rawvideo, from 'pipe:':
Duration: N/A, start: 0.000000, bitrate: 2451456 kb/s
Stream #0:0: Video: rawvideo (BGR[24] / 0x18524742), bgr24, 2688x1520, 2451456 kb/s, 25 tbr, 25 tbn, 25 tbc
[rtsp @ 0x564b5167ad40] max delay reached. need to consume packet
[rtsp @ 0x564b5167ad40] RTP: missed 51 packets
[h264 @ 0x564b5167e180] error while decoding MB 48 36, bytestream -5
[h264 @ 0x564b5167e180] concealing 9913 DC, 9913 AC, 9913 MV errors in P frame
Input #1, rtsp, from 'rtsp://admin:Arviz987@<IP_ADDRESS>:554/stream1':
Metadata:
title           : Media Presentation
Duration: N/A, start: 0.280000, bitrate: N/A
Stream #1:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 2688x1520 [SAR 95:98 DAR 12:7], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
[swscaler @ 0x564b51809900] deprecated pixel format used, make sure you did set range correctly
[libx264 @ 0x564b516c33c0] VBV bufsize set but maxrate unspecified, ignored
[libx264 @ 0x564b516c33c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x564b516c33c0] profile High, level 5.0, 4:2:0, 8-bit
[libx264 @ 0x564b516c33c0] 264 - core 161 r3030M 8bd6d28 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=18.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, flv, to 'rtmp://a.rtmp.youtube.com/live2/9a7p-647j-2k7y-5677-3v0c':
Metadata:
encoder         : Lavf58.45.100
Stream #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuvj420p(pc), 2688x1520, q=-1--1, 4500 kb/s, 25 fps, 1k tbn, 25 tbc
Metadata:
encoder         : Lavc58.91.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/4500000 buffer size: 2048000 vbv_delay: N/A
frame=    5 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   [rawvideo @ 0x564b516771c0] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
frame=   14 fps= 13 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   frame=   26 fps= 17 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   frame=   40 fps= 19 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   frame=   47 fps= 16 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   frame=   58 fps= 16 q=23.0 size=     495kB time=-00:00:00.03 bitrate=N/A speed=Nframe=   63 fps= 15 q=23.0 size=     774kB time=00:00:00.16 bitrate=39379.0kbitsframe=   69 fps= 14 q=23.0 size=    1013kB time=00:00:00.40 bitrate=20686.2kbitsframe=   75 fps= 14 q=23.0 size=    1398kB time=00:00:00.64 bitrate=17870.3kbitsframe=   81 fps= 13 q=23.0 size=    1641kB time=00:00:00.88 bitrate=15260.8kbitsframe=   87 fps= 13 q=23.0 size=    2015kB time=00:00:01.12 bitrate=14728.5kbitsframe=   92 fps= 13 q=23.0 size=    2239kB time=00:00:01.32 bitrate=13887.9kbitsframe=   99 fps= 13 q=23.0 size=    2620kB time=00:00:01.60 bitrate=13408.0kbits^Xframe=  103 fps= 13 q=23.0 size=    2806kB time=00:00:01.76 bitrate=13055.0kbiframe=  111 fps= 13 q=23.0 size=    3542kB time=00:00:02.08 bitrate=13945.0kbitsf

VidGear Version
newest

Also, what is this "latest" ?

newest -> latest

@pentadotddot Edit your comment you should never paste your YouTube Key on a public forum.

-i rtsp://admin:Arviz987@<IP_ADDRESS>:554/stream1

@pentadotddot Does this source contains any audio? I'm not seeing it in logs.

-i rtsp://admin:Arviz987@<IP_ADDRESS>:554/stream1

@pentadotddot Does this source contains any audio? I'm not seeing it in logs.

no it does not include audio

@pentadotddot Then use this code instead and you'll able to stream to YouTube Live:
# import required libraries
from vidgear.gears import CamGear
from vidgear.gears import WriteGear
import cv2

# define and open video source
stream = CamGear(source="/home/foo/foo.mp4", logging=True).start()

# define required FFmpeg parameters for your writer
output_params = {
    "-clones": ["-f", "lavfi", "-i", "anullsrc"],
    "-vcodec": "libx264",
    "-preset": "medium",
    "-b:v": "4500k",
    "-bufsize": "512k",
    "-pix_fmt": "yuv420p",
    "-f": "flv",
}

# [WARNING] Change your YouTube-Live Stream Key here:
YOUTUBE_STREAM_KEY = "xxxx-xxxx-xxxx-xxxx-xxxx"

# Define writer with defined parameters
writer = WriteGear(
    output_filename="rtmp://a.rtmp.youtube.com/live2/{}".format(YOUTUBE_STREAM_KEY),
    logging=True,
    **output_params
)

# loop over
while True:

    # read frames from stream
    frame = stream.read()

    # check for frame if Nonetype
    if frame is None:
        break

    # {do something with the frame here}

    # write frame to writer
    writer.write(frame)

# safely close video stream
stream.stop()

# safely close writer
writer.close()

If you get stuck anywhere, let me know. Also, drop a 🌟 if you like it.

Updated Example is Here: https://abhitronix.github.io/vidgear/v0.3.0-dev/help/writegear_ex/#using-writegears-compression-mode-for-youtube-live-streaming


Connection failures while sending messages to Azure IoT Hub using Python SDK

Context
This issue is raised in below forum as well.
https://docs.microsoft.com/en-us/answers/questions/132626/azure-iothub-python-sdk-connectionfailederror-whil.html

OS and version used: Windows 10, Raspberry Operating System(3b+,4b models)
Python version: Python 3.7
pip version: 20.2
list of installed packages: azure-iot-device==2.3.0 ;  azure-iot-hub==2.2.3
cloned repo: NA

Description of the issue
While sending messages to Azure IoTHub from Python SDK,  the connection is frequently getting lost with different error messages :
1)Failed to receive on socket :
2)Transport.connect raised error
Also, some times IoTHub is receiving multiple(duplicate) messages for the same request.
Code sample exhibiting the issue
Attached the sample code.
IotHubClient_PythonSDK.txt
Console log of the issue
Attached the error screenshot.

AB#8654767

Hi @pvvpraveen , thanks for reaching out! From our experience, this looks like an issue with the IoT Hub service rather than the SDK. We could check logs to validate if you provide a timeframe and IoT Hub name, but this shouldn't be shared publicly and is best done by opening a support ticket through Azure portal with any Azure subscription. Could you file a ticket? Let us know if you have issues with this, we can find a way to troubleshoot this issue by getting your info privately.

Hi @pvvpraveen , was this resolved for you? Were you able to open a support ticket to further investigate? If all is good, we will close this issue-- please let us know if you have any other updates or feedback for the Python SDK.

Hi elhorton,
I have raised a ticket and they are still investigating it. The issue may not be with IoT Hub , as it is working fine with C# SDK.

I know you have shared the hub name in ur service ticket, but it would great if you can share your full connection string in the service ticket.  Please don't share it here.
Also please report the time frame and the day on which you faced these issues for python SDK. Like a to and from date/time frame.
Also are you using the exact same hub and exact same device for both the python and C# SDK ?

Sure, will do.
Yes, I have been using the same kind of device(Raspberry Pi 3b model) for both the SDKs. The issue can also be reproduced from a Windows 10 computer.  Please note that the frequency of the connection failures increases when we send more than 100 kb file.
There is a mail chain going on with the support team where I shared all the details and logs(with timestamps,etc).

Yes, in the sample we are reading only one static file and send it to the IoT Hub for every 40 seconds.
In reality, we read a dynamic file and the loop runs till the scheduler(cron job) is stopped.
Should I attach the file in the service ticket or in the email?

yes please..the file that you referred to as being larger in size....

Sent it in the mail, please check.

can you attach it to the service ticket ? if you have sent to my gmail , I still don't see it.

I sent it to<EMAIL_ADDRESS>now attached to the ticket as well.

I still see the output.zip and the IotHubClient_PythonSDK.txt file on your ticket.
But I do not see any third attachment for mp3.
Also another question
Also are you using the exact same hub and exact same device for both the python and C# SDK ? I meant did you use the same connection string for both of your devices for the C# and Python.

Hi, I can see that in the ticket.

Yes, we have used same device and connection strings for python(on Raspbian OS) and C#(Windows IoT core OS)) sdks.

okay i got the files.
How long did you run your sample in the windows 10 computer before you saw the error ?

Ranging from 2 mins to 30 mins. We either get connection failed error or duplicate messages.
Are you able to reproduce this?

Ranging from 2 mins to 30 mins. Screenshot attached under the section "Console log of the issue"  shows that it failed after sending just 2 messages.
We either get connection failed error or duplicate messages.
Are you able to reproduce this?

So with the file that you had attached , I could actually run your sample for 2 days continuously without ever encountering the issue.  Are you encountering this issue even today ?

@pvvpraveen let us know if you are still encountering the issue at the moment? Thanks

By any chance is there any other audio file that you had sent other than the one you attached in the service ticket ?
If so please also attach those if you are still seeing this error.

Hello,
The issue is stil reproducible with the same audio file. We tried on Friday from India and Sweden.
The results are quite good in Sweden (with 99% success rate) compared to that of in India.
We are running some more tests , will share you the results tomorrow.
Regards
From<EMAIL_ADDRESS>Sent: Monday, 9 November 2020 19:39
To<EMAIL_ADDRESS>Cc<EMAIL_ADDRESS><EMAIL_ADDRESS>Subject: Re: [Azure/azure-iot-sdk-python] Connection failures while sending messages to Azure IoT Hub using Python SDK (#698)
By any chance is there any other audio file that you had sent other than the one you attached in the service ticket ?
If so please also attach those if you are still seeing this error.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure%2Fazure-iot-sdk-python%2Fissues%2F698%23issuecomment-724199449&data=04|01||a73d8f79598945534ab108d884dec129|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637405439536205924|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=n%2B4PKdsrozD%2By%2BwOlqh10hNoENRbDs6DKgCWsknG%2F7k%3D&reserved=0, or unsubscribehttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FARN4DXQ6BVRPNRCRJTS473TSPAZNBANCNFSM4S5AEXZQ&data=04|01||a73d8f79598945534ab108d884dec129|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637405439536215922|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=eUpqKzzkbBXnanChMMp3%2FKtaQUYsiB5lpyoY4%2BLysAg%3D&reserved=0.

@pvvpraveen @playboxsthlm as per the Azure Support Ticket closure reason:
"We are not able to reproduce this now... this might be due to bad network conditions that occur randomly."
Therefore I will request that @olivakar #please-close the issue and reopen if the issue occurs again.
Thank you for all your time!

Closing re: @asergaz 's comment above.

Closing re: @asergaz 's comment above.

@pvvpraveen, @asergaz, @playboxsthlm, thank you for your contribution to our open-sourced project! Please help us improve by filling out this 2-minute customer satisfaction survey

@pvvpraveen, @asergaz, @playboxsthlm, thank you for your contribution to our open-sourced project! Please help us improve by filling out this 2-minute customer satisfaction survey


chore: cleanup geondxr/prototype-dev folder

All subfolders except connecting-pieces should go into an archive. Should probably also rename connecting-pieces to something more descriptive.

Duplicates #302 ?


Fix 2023 01 19

Update URL for MariaDB mirror to use Funet mirror

Please change title of PR so that it is a bit more informative.
You can then use the same title for the squashed commit for example.


Update dev README with fancier regular expression for maintenance release notes

I am trying to incrementally improve the release notes; Add some sed magic

Codecov Report

Merging #687 (d3c8e1c) into master (1a5c26b) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head d3c8e1c differs from pull request most recent head 797228f. Consider uploading reports for the commit 797228f to get more accurate results

@@           Coverage Diff           @@
##           master     #687   +/-   ##
=======================================
  Coverage   82.44%   82.44%
=======================================
  Files         168      168
  Lines       47347    47347
=======================================
  Hits        39033    39033
  Misses       8314     8314

Continue to review full report at Codecov.

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


The npm magic 🌹

This works
npm run lint

This does not
npm run test

I deleted the node_modules folder and cleaned the npm cache. Still, it does not work.
Suggestions welcome 👋

are you on mac/windows/linux/other?
try using Bash
rm and cp doesnt work well on all platforms

It is the famous

Typically this terminal does the job and is a fairly good approximation of a Linux bash

Same here for another Windows bash

okay, I think it works as expected, its just difficult to tell from the first screenshot
test contains 3 steps,
"test": "npm run lint && npm run downport && npm run unit",
the step "npm run downport" fails with exit code 1, ie. it does not run "npm run unit"
for now, do "npm run downport", which will return an exit code, but not something that you will notice

Depending on the environment, the exit status of the Abaplint is interpreted differently. In both situations there are 33 issues and the very last output is Fixes applied.

By the way, the result is the same for npm run downport and npm run test.

@albertmink did you get this working?


Make it usable from typescript

In TypeScript, it is not possible to import a module that exports a class by itself.
In other words, we are forced to use require, which does not allow us to define types.
Therefore, I changed the export method as follows, although it is a destructive change.
// before
module.exports = EdgeAuth;

// after
module.exports = { EdgeAuth };

Then, I created a type definition file.
Now we can use from TypeScript as follows.
import { EdgeAuth } from "akamai-edgeauth";

Oh damn. this is 3 years old. Any alternatives around?


Unable to install giveaway-grabber

Hello world,
I am having an issue installing giveaway-grabber because my system needs to pass an argument "--unsafeperm=true" to install puppeteer. I have successfully installed puppeteer by itself, but giveaway-grabber tries to reinstall it without the necessary argument. Is there a way that I can add the argument to the install?

See #122


Error when named parameter starts with the name of another named parameter

Error description
There seems to be an error when resolving named parameters in queries if the parameter name starts with the name of another named parameter.
Example query
SELECT `id`
FROM `table`
WHERE `column` = :param OR `column` = :parameter

Note that the :parameter param name starts with the exact name of the first named parameter.
Possible cause
It seems that somewhere the occurences of the first placeholder are replaced by the bound value to that parameter, but it will also replace the first part (:param) of the second named parameter inside the query which leads to invalid SQL.

Thx for reporting.
Would you be able to provide a failling unit test?
Just create a new file into
https://github.com/staabm/phpstan-dba/tree/main/tests/default/data
And include it from the DbaInferenceTest like others already included


Check time zone issues

I had written in the Google Doc #50:

Note that the data directory time is in UTC, but the log messages are in the server's time zone, so you'll need to take that into account.

We might also want to change the code to return a list of candidates sorted by time distance, since we're not sure yet what the maximum distance might be.


Provide a EnableSslCertificateVerification attribute parameter for KafkaTrigger

Compared to the Confluent Kafka library, the azure functions version currently does not provide a EnableSslCertificateVerification setting.
Of course, people should not exactly be encouraged to disable this security mechanism, but in some cases it is very useful to test something without the hassle of SSL setup.
Would it be possible to also provide a way to ignore SSL in this lib?

/azp run


Improved the width of Image & visibility of points in Yoga Therapy Page

Issue #283
I've improved the width of the image & and the visibility of text present under the benefits of yoga on the yoga therapy page.

@MohitNamdev22 Fix the merge conflicts.
__
  Summary: :hammer_and_wrench: This code needs a fix  |  Tags: Not reusable

Resolved the conflicts


Potree.js PointAttributes assignment

I managed to compile Potree 1.8 for linux - at first it did not find the "page_template" - I had to copy the parent folder "resources" directly in root path (/resources/page_template) and everything worked - but points are not loaded.
Checking the page debugger it shows that the attributes seem not to be assigned correctly in the Potree.js file

Hi,
Closing this because PotreeConverer 1.7 is now replaced by a complete rewrite, PotreeConverter 2.0, and the old version will no longer be worked on. The requested feature or issue may not apply to PotreeConverter 2.0, either because it is fixed or the feature is not yet ported.


[ffi] Flaky crashes on QEMU bot

There are flaky ffi test crashes in the flakiness log.
From log:
/==========================================================\
| ffi_2/hardfp_test/3 broke (Pass -> Crash, expected Pass) |
\==========================================================/

--- Command "vm_compile_to_kernel []" (took 02.000611s):
DART_CONFIGURATION=ReleaseXARM /b/s/w/ir/cache/builder/sdk/pkg/vm/tool/gen_kernel --aot --platform=out/ReleaseXARM/vm_platform_strong.dill -o /b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_hardfp_test.dart_3/out.dill /b/s/w/ir/cache/builder/sdk/tests/ffi_2/hardfp_test.dart --packages=/b/s/w/ir/cache/builder/sdk/.packages -Ddart.developer.causal_async_stacks=true

exit code:
0

--- Command "precompiler" (took 05.000223s):
DART_CONFIGURATION=ReleaseXARM out/ReleaseSIMARM_X64/gen_snapshot --snapshot-kind=app-aot-assembly --assembly=/b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_hardfp_test.dart_3/out.S --no-use-integer-division --use-slow-path --stacktrace-every=100 --ignore-unrecognized-flags --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_hardfp_test.dart_3/out.dill

exit code:
0

--- Command "remove_kernel_file" (took 6ms):
DART_CONFIGURATION=ReleaseXARM rm /b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_hardfp_test.dart_3/out.dill

exit code:
0

--- Command "assemble" (took 02.000062s):
DART_CONFIGURATION=ReleaseXARM arm-linux-gnueabihf-gcc -shared -nostdlib -o /b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_hardfp_test.dart_3/out.aotsnapshot /b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_hardfp_test.dart_3/out.S

exit code:
0

--- Command "remove_assembly" (took 13ms):
DART_CONFIGURATION=ReleaseXARM rm /b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_hardfp_test.dart_3/out.S

exit code:
0

--- Command "vm" (took 450ms):
DART_CONFIGURATION=ReleaseXARM qemu-arm -L /usr/arm-linux-gnueabihf/ out/ReleaseXARM/dart_precompiled_runtime --use-slow-path --stacktrace-every=100 --ignore-unrecognized-flags --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_hardfp_test.dart_3/out.aotsnapshot

exit code:
-11

stderr:
Expected key=value format, found �KV.
*****************************************************************************
test.dart: The output of this test contained non-UTF8 formatted data.
*****************************************************************************

--- Re-run this test:
python tools/test.py -n dartkp-linux-release-arm-qemu ffi_2/hardfp_test/3

From log:
/=================================================================================\
| ffi_2/vmspecific_function_callbacks_test/7 broke (Pass -> Crash, expected Pass) |
\=================================================================================/

--- Command "vm_compile_to_kernel []" (took 02.000601s):
DART_CONFIGURATION=ReleaseXARM /b/s/w/ir/cache/builder/sdk/pkg/vm/tool/gen_kernel --aot --platform=out/ReleaseXARM/vm_platform_strong.dill -o /b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_vmspecific_function_callbacks_test.dart_7/out.dill /b/s/w/ir/cache/builder/sdk/tests/ffi_2/vmspecific_function_callbacks_test.dart --packages=/b/s/w/ir/cache/builder/sdk/.packages -Ddart.developer.causal_async_stacks=true

exit code:
0

--- Command "precompiler" (took 05.000078s):
DART_CONFIGURATION=ReleaseXARM out/ReleaseSIMARM_X64/gen_snapshot --snapshot-kind=app-aot-assembly --assembly=/b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_vmspecific_function_callbacks_test.dart_7/out.S --no-use-integer-division --use-slow-path --enable-testing-pragmas --stacktrace-every=100 --ignore-unrecognized-flags --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_vmspecific_function_callbacks_test.dart_7/out.dill

exit code:
0

--- Command "remove_kernel_file" (took 6ms):
DART_CONFIGURATION=ReleaseXARM rm /b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_vmspecific_function_callbacks_test.dart_7/out.dill

exit code:
0

--- Command "assemble" (took 01.000865s):
DART_CONFIGURATION=ReleaseXARM arm-linux-gnueabihf-gcc -shared -nostdlib -o /b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_vmspecific_function_callbacks_test.dart_7/out.aotsnapshot /b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_vmspecific_function_callbacks_test.dart_7/out.S

exit code:
0

--- Command "remove_assembly" (took 13ms):
DART_CONFIGURATION=ReleaseXARM rm /b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_vmspecific_function_callbacks_test.dart_7/out.S

exit code:
0

--- Command "vm" (took 351ms):
DART_CONFIGURATION=ReleaseXARM qemu-arm -L /usr/arm-linux-gnueabihf/ out/ReleaseXARM/dart_precompiled_runtime --use-slow-path --enable-testing-pragmas --stacktrace-every=100 --ignore-unrecognized-flags --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/out/ReleaseXARM/generated_compilations/dartkp/tests_ffi_2_vmspecific_function_callbacks_test.dart_7/out.aotsnapshot

exit code:
-11

stderr:
Expected key=value format, found �dU.
*****************************************************************************
test.dart: The output of this test contained non-UTF8 formatted data.
*****************************************************************************

--- Re-run this test:
python tools/test.py -n dartkp-linux-release-arm-qemu ffi_2/vmspecific_function_callbacks_test/7

@dcharkes Could you investigate?

Thanks for reporting @mkustermann!
All flaky crashes last month are on the QEMU bot:
|   |   |   |   |   |   |   |   |   |   |   |   |
-- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | --
2020-04-15 16:43:06 | ffi_2/hardfp_test/3 | dartkp-linux-release-arm-qemu | Crash,Pass | Pass | 15 | 15 |   |   |   | 1 |   |   |
2020-04-15 16:43:06 | ffi_2/vmspecific_function_callbacks_test/7 | dartkp-linux-release-arm-qemu | Crash,Pass | Pass | 15 | 15 |   |   |   | 1 |   |   |
2020-04-08 03:08:34 | ffi_2/function_callbacks_many_test/3 | dartkp-linux-release-arm-qemu | Crash,Pass | Pass | 96 | 96 |   |   |   | 1 |   |   |
2020-04-09 07:40:43 | ffi_2/function_callbacks_many_test/6 | dartkp-linux-release-arm-qemu | Crash,Pass | Pass | 81 | 81 |   |   |   | 1 |   |   |
2020-04-10 13:12:10 | ffi_2/vmspecific_dynamic_library_test | dartkp-linux-release-arm-qemu | Crash,Pass | Pass | 63 | 63 |   |   |   | 1 |
I'll take a look.

Since this seems to be a problem in qemu - which we can do little about - I'm tentatively closing this issue.


Can programmatically put the tree in some state when setup?

Hi, I want to put the tree in some state when the page loads, for example, open up the first parent node and its child and set the selected node the grandson like:
(When page loads)

Parent

Child

Grandson<selected

Parent2
Parent3

The current implementation only allows you to set the initial levels that the tree will render as open/expanded on initialisation.
The project started out as an example of what could quickly and easily be done using bootstrap's existing components, and wasn't originally intended to be a feature rich tree view to cover all potential use cases.  However, due to its popularity and ongoing requests I do now intend to add a comprehensive range of features; including the ability to setup initial state and programmatic node selection.
I will be setting aside a small amount of time each week to work through feature enhancements.  Keep an eye on the project repository for future updates.

I came up with a method to implement what i want using _nodes and nodes on
underlying tree and then calling _render. I guess the same effect could be
achieved by a new attribute while traversing the tree and choosing weather
or not to show up that tree branch. Anyway I'm not so javascript fluent but
I'll try to contribute somehow.
Thanks for your plugin :)
El feb 14, 2015 5:57 AM, "Jonathan Miles"<EMAIL_ADDRESS>escribió:

Closed #43 https://github.com/jonmiles/bootstrap-treeview/issues/43.
—
Reply to this email directly or view it on GitHub
https://github.com/jonmiles/bootstrap-treeview/issues/43#event-235834176
.

FYI I've raised #49 to cover your requirements

@boriscougar I have implemented definable node states, coincidentally it was one of the first things I had to work on.  If you want to check it out ahead of the pending v1.1.0 release, you can checkout the develop branch.
Your scenario would be achieved with the following data structure.
[
  {
    text: 'Parent 1',
    states: {
      expanded: true
    },
    nodes: [
      {
        text: 'Child 1',
        states: {
          expanded: true
        },
        nodes: [
          {
            text: 'Grandchild 1',
            states: {
              selected: true
            }
          }
        ]
      },
      {
        text: 'Child 2',
        href: '#child2'
      }
    ]
  },
  {
    text: 'Parent 2'
  },
  {
    text: 'Parent 3'
  }
]

Please refer to #49 and the updated README.md for full details.


Allow usage of editor on WordPress frontend

Feature Description
As mentioned in this support topic, WCFM front-end manager plugin inquired about a way to enable story editing from the frontend / non-wp-admin side for vendor/ custom user roles.
Alternatives Considered

Additional Context

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

There are no plans to support displaying a story editor on the frontend, but with the decoupling effort it would be possible for a developer to implement this on their own. Hence closing for now.


Update docs for HTTP endpoint

Since we default to HTTP endpoint for caikit+TGIS now, update docs accordingly

/lgtm


TLS support for sending email

Please add TLS support for SMTP, as most services mandate TLS connection.
d.TLSConfig = &tls.Config{InsecureSkipVerify: true}
(or use env for setup)
Thanks,

The usage of TLS depends which SMTP port you specify:

25: SMTP without TLS
465: SMTPS with TLS
587: SMTP with STARTTLS

in gomail Dialer struct
	// SSL defines whether an SSL connection is used. It should be false in
	// most cases since the authentication mechanism should use the STARTTLS
	// extension instead.
	SSL bool
	// TSLConfig represents the TLS configuration used for the TLS (when the
	// STARTTLS extension is used) or SSL connection.
	TLSConfig *tls.Config

In example SMTP config with gmail STARTTLS will be used.
Your suggestion d.TLSConfig = &tls.Config{InsecureSkipVerify: true} is highly unsecure! Please avoid posting this kind of information without any security warning.
If its still not clear please provide error logs and your SMTP configs for further investigation

Your suggestion d.TLSConfig = &tls.Config{InsecureSkipVerify: true} is highly unsecure! Please avoid posting this kind of information without any security warning.

You are right!. I was so convinced that the problem is the TLS, that I didnt think about that.
My problem:
wg-gen-web    | time="2020-03-17T08:14:07Z" level=error msg="failed to send email to client" err="dial tcp: i/o timeout"
I setup all the env variables and rechecked that they are set using docker inspect.

As pointed by the error message is a timeout issue. Please verify that your docker container can access email server. For example using netcat with something line  nc smtp.example.com 587. You must install the tool in your docker with apk add netcat.
Or share your server IP and port i can check for you, if the server is publicly accessible

please reopen if you still can not send email

Just for documentation:
My problem was with the IPTABLES rules on the docker container. Once I allowed outbound traffic, Everything was OK.
Thank you

As mentioned in readme Wg Gen Weg is not touching (iptables, nft, service or whatever) your host system at all. It’s your responsibility to ensure WireGuard and underlying system is fully configured and working before use this tool to automate client config generation.
Glad you figured out the issue.