Migrating to OpenSearch but query slower than expected

Hi Guys,
We consider to move to OpenSearch as search cluster for our solution. The first test showed that performance for our search queries seems to be much slower than in our ElasticSearch setup.
We tested this in a simple scenario, which is described below. The result times of the queries are as follow (when executed 1000x)
ELASTIC-7.11.2   : Took: 27696 ms,   # Results: 483340
OPENSEARCH-1.3.4 : Took: 46525 ms,   # Results: 483340
OPENSEARCH-2.3.0 : Took: 43378 ms,   # Results: 483340

Test scenario:

single node search engine (in docker, 4gb memory, no-auth, other settings out-of-the-box)
simple schema with Name (firstname + lastname) with ngram(1,2) analyzer (eg. "Padron, Briana")
index with 1mio. documents
query matching names base on ngram (with min. 75% match)

What can be the reason for slower performance of the queries?
Query:
{
    "size": 100,
    "query": {
        "match": {
            "Name.onetwogram": {
                "query": "Padron, Briana",
                "minimum_should_match": "75%"
            }
        }
    }
}

Schema:
dynamic: false
properties:
  Name:
    type: keyword
    fields:
      onetwogram: { type: text, analyzer: onetwogram_analyzer}

Analyzer:
index:
  refresh_interval: -1
analysis:
  tokenizer:
    onetwogram_tokenizer:
      type: ngram
      min_gram: 1
      max_gram: 2
  analyzer:
    onetwogram_analyzer:
      tokenizer: onetwogram_tokenizer

Also it might be good to see how the numbers stacked up for OPENSEARCH-1.0

Next, is this something about these particular queries (try with a much simpler query to get a baseline)?

Also it might be good to see how the numbers stacked up for OPENSEARCH-1.0

I added a basic type to my mapping and reran the tests (on a different system today, so the absolute times are higher, but the relative differences are still there).

settings.yaml
dynamic: false
properties:
  Name:
    type: keyword
    fields:
      onetwogram: { type: text, analyzer: onetwogram_analyzer }
      basic: { type: text }

Query is nearly the same
{
  "size": 100,
  "query": {
    "match": {
      "Name.basic": {
        "query": "Padron, Briana",
        "minimum_should_match": "75%"
      }
    }
  }
}

ELASTIC-7.11.2:
 >> onetwogram: Took:  79393 ms
 >> basic:      Took:   2554 ms

OPENSEARCH-1.0.0:
 >> onetwogram: Took: 645492 ms
 >> basic:      Took:   2527 ms

OPENSEARCH-1.1.0:
 >> onetwogram: Took: 108886 ms
 >> basic:      Took:   2411 ms

OPENSEARCH-1.3.4:
 >> onetwogram: Took: 101952 ms
 >> basic:      Took:   2878 ms

OPENSEARCH-2.3.0:
 >> onetwogram: Took: 103630 ms
 >> basic:      Took:   2887 ms

Opensearch 1.0.0 is pretty slow for the ngram analyzer. I repeated the test a few times and it was always nearly the same results.

Looks like a 12-14% difference between 7.11 and 2.3.0, so there's definitely something going on. A handful of ideas.

Are you trying with the -min distribution and just swapping ES for OpenSearch, or enabling/disabling other things?
Make sure G1GC is enabled. Are you running ES/OS on Different Java versions?
We forked at 7.10.2, could be some optimization in 7.11. You can rule that out by comparing against 7.10.2.

@treddeni-amazon has a team that does a lot of benchmarking in https://github.com/opensearch-project/opensearch-benchmark, maybe someone can take a look at this?

Are you trying with the -min distribution and just swapping ES for OpenSearch, or enabling/disabling other things? Try with the -min distribution that should be drop in replacement for ES min.

Currently, we want to use OS as a drop in replacement for ES.
Where can I find the -min distribution? It couldn't be resolved from my docker compose setup.

Make sure G1GC is enabled.

I enabled it explicitly, but still the same results.

Are you running ES/OS on Different Java versions? Use the same one to rule that out.

I used the default Java that comes with the images from Docker Hub.
Elasticsearch 7.10.2 --> Java 15
Elasticsearch 7.11.2 --> Java 15
Opensearch 1.1.0 --> Java 15
Opensearch 2.3.0 --> Java 17

I compared OS 1.1.0 and ES 7.11.2 which have the same Java versions but the problem already exists for the ngram analyser.

We forked at 7.10.2, could be some optimization in 7.11. You can rule that out by comparing against 7.10.2. I would expect 7.10.2 to behave like 1.0.0.

I compared ES 7.10.2 to OS 1.0.0. OS 1.0.0 seems to have a problem with the ngram analyser, it takes always 10 times longer than in ES 7.10.2. In further versions of OS it's about "just" 27-36% slower.
ES 7.10.2
 >> onetwogram: Took:  63279 ms
 >> basic:      Took:   1716 ms
OS 1.0.0
 >> onetwogram: Took: 649000 ms
 >> basic:      Took:   1701 ms

Are you trying with the -min distribution and just swapping ES for OpenSearch, or enabling/disabling other things? Try with the -min distribution that should be drop in replacement for ES min.

Currently, we want to use OS as a drop in replacement for ES. Where can I find the -min distribution? It couldn't be resolved from my docker compose setup.

There's a Minimum Distributions section in every version in downloads, e.g. https://opensearch.org/artifacts/opensearch/opensearch-2-3-0-min-linux-x64.html which points to https://artifacts.opensearch.org/releases/core/opensearch/2.3.0/opensearch-min-2.3.0-linux-x64.tar.gz.

I compared ES 7.10.2 to OS 1.0.0. OS 1.0.0 seems to have a problem with the ngram analyser, it takes always 10 times longer than in ES 7.10.2. In further versions of OS it's about "just" 27-36% slower.
ES 7.10.2
 >> onetwogram: Took:  63279 ms
 >> basic:      Took:   1716 ms
OS 1.0.0
 >> onetwogram: Took: 649000 ms
 >> basic:      Took:   1701 ms

Ok, so I think we narrowed that regression here to ~30% slower in onetwogram analyzer? Just confirming that we agree on the issue, or is there anything else?

Yes, I think, that's the main issue here. Everything else looks fine.
Thank you for your help.

I can verify these results.
So the issue is that the performance dropped in Openseach as well as in newer Elasticsearch versions about 30%.
Is there maybe a shared library which was updated to a newer version (e.g. Lucene) when Opensearch was forked, which can cause this performance issue?
Or is there some code which was forked from a newer Elasticsearch version?

@mxptrs-px I don't recommend guessing, but writing a performance benchmark for this, then bisecting it down to a change.

Btw, does anyone have a good guide to doing this? A walkthrough of finding a performance regression? Maybe we can add it to https://github.com/opensearch-project/OpenSearch/blob/main/DEVELOPER_GUIDE.md? @mch2 @andrross @adnapibar


Can you please explain how the parameters: loss_weight_feat,loss_weight_enc and loss_weight_clip are helpful ?

So I would like to how the above-stated parameters impact the final generated image. Can you please explain?

The generation and manipulation process is almost the same except where the latent codes come from. That means the generation can be seen as the manipulation. So the problem is how to change the desired attributes or regions of the given image according to the given texts and leave the others unchanged (such constraint of generation can be relaxed which means you can actually change the undesired attributes since there could be infinite results for generation).
The first goal change the desired attributes or regions is actually controlled by the clip loss (loss_weight_clip). This loss leads the optimization to obtained an image that is consistent with the texts. The other losses (loss_weight_feat and loss_weight_enc) tries to keep the others unchanged, or put it in other words, faithfully reconstruct the other regions. You should have noticed that in different cases, the two kinds of losses are playing the game differently. In most cases, the losses that are responsible for the second goal are dominant. The primary goal of such optimization is to reconstruct the images and change some attributes incidentally. For other cases, there is a border it has to cross over. For example, when editing some attributes, e.g. adding eyeglasses, you have to make the clip loss in charge during the optimization and try to reconstruct the rest regions.

The generation and manipulation process is almost the same except where the latent codes come from. That means the generation can be seen as the manipulation. So the problem is how to change the desired attributes or regions of the given image according to the given texts and leave the others unchanged (such constraint of generation can be relaxed which means you can actually change the undesired attributes since there could be infinite results for generation).
The first goal change the desired attributes or regions is actually controlled by the clip loss (loss_weight_clip). This loss leads the optimization to obtained an image that is consistent with the texts. The other losses (loss_weight_feat and loss_weight_enc) tries to keep the others unchanged, or put it in other words, faithfully reconstruct the other regions. You should have noticed that in different cases, the two kinds of losses are playing the game differently. In most cases, the losses that are responsible for the second goal are dominant. The primary goal of such optimization is to reconstruct the images and change some attributes incidentally. For other cases, there is a border it has to cross over. For example, when editing some attributes, e.g. adding eyeglasses, you have to make the clip loss in charge during the optimization and try to reconstruct the rest regions.

So do these parameters change their values while generating the final output? or they act as values for initializing the weights?

It is a process of optimization rather than training. Such optimization is image-specific (as mentioned in the Limitation Section), which means that these parameters may be different to obtain a desired output.

I understood that it is a process of optimization and also I observed that the weights are changing while generating an image. does that mean that the weights (loss_feat,loss_reg,loss_clip) are getting to their optimal values during the generation of the image. If so? why initialize them with specific values such as "loss_weight_clip=2.0", why not initialize them with random values in their domain. Am I thinking right? I still need clarity on this. Please help

Those default values are empirically chosen. The values in the screenshot you posted are the values of losses, not the weights. The weights are fixed when you run the python scripts.
I knew such image-specific optimization is not elegant and maybe you can find a better way to obtain the desired latent codes with the guidance of texts.

Those default values are empirically chosen. The values in the screenshot you posted are the values of losses, not the weights. The weights are fixed when you run the python scripts.
I knew such image-specific optimization is not elegant and maybe you can find a better way to obtain the desired latent codes with the guidance of texts.

okay, got it thanks


Clarify whether markdown only applies to well-formed javadoc block comments

Consider the two cases:
/**
 * @see whatever in a well formed jsdoc tag
 */

/*
@garbage not really jsdoc?
*/

Right now we are treating garbage like it could still be jsdoc. Maybe we should not.

I decided it is best to allow sloppiness. The code benefits more authors by tolerating non-canonical formats and there isn't much additional complexity. Markdown can apply to non-well-formed javadoc block comments.


Wrong rendering in print dialog

Configuration:

Web browser and its version: Firefox 86 (64-bit) - (but in any other versions i've tried it the same happens) and Edge 89 (anything Chromium based will do, actually)
Operating system and its version: Windows 10 20H2 (But Any OS will have the same problem - Linux inclusive)
PDF.js version: the one on Firefox 86

Steps to reproduce the problem:

Open PDF file
Bring up the print dialog

Description:
I have a company PDF transport document generated by SalesForce software (which i cannot publicly share).
It looks like this (I had to remove the text inside the rectangles):

Now, if i open it under MS Edge (or anything chromium based, or in any other pdf viewer like Adobe Reader or Okular) and bring up the print dialog it looks like this (which is how it should look like):

In Firefox, however, it shows up reduced and centered to the left:

(And it does print like the preview, in case you're wondering)
The page size and all the other configurations are the same.

I have a company PDF transport document generated by SalesForce software (which i cannot publicly share).

As a general rule, please note that all issues must include a test-case in order to be actionable/valid (since it's generally impossible to debug something using only a screen-shot).

In Firefox, however, it shows up reduced and centered to the left:

After PR #13102, the content will always be printed in the centre of the pages; hence this should be partially fixed already.

The page size and all the other configurations are the same.

Most likely, given the lack of a test-case, the rest of the issue is caused by Firefox not yet supporting the @page-rule which means that we cannot provide accurate page size information when printing.

All-in-all, let's just close this as a duplicate of https://bugzilla.mozilla.org/show_bug.cgi?id=1697778 for now.

All-in-all, let's just close this as a duplicate of https://bugzilla.mozilla.org/show_bug.cgi?id=1697778 for now.

Hi, Thank you for your fast reply! :)
I cannot provide the original file, unfortunately... company policy!
But it seems to be the case of the bug you mentioned, so i agree that the bug can be closed.
Is PR #13102 available in nightly already?
Thanks

I cannot provide the original file, unfortunately... company policy!

It's usually possible to create a PDF document with "dummy"-data, to work-around that limitation.
(Please keep in mind that this is an open-source bug tracker, rather than a support forum, and many of the people you interact with here are volunteers and not paid support staff.)

Is PR #13102 available in nightly already? (what's the FF version that's estimated to have this fix?)

See https://bugzilla.mozilla.org/show_bug.cgi?id=1699313

It's usually possible to create a PDF document with "dummy"-data, to work-around that limitation.

Yes, "usually"... but since we do not control the data used to generate the file, it does not apply to this case.
It's also kind of confusing having two places to report problems in pdf.js... here and in BugZilla...
Anyway, thank you so much for you time and support. :)


DNN-8511: Fix menu style hiding other pages for long page names

I don't think these styles belong in default.css, they should probably be in https://github.com/dnnsoftware/Dnn.Platform/blob/development/DNN Platform/Skins/Xcillion/Skin/skin.css

@ricardodiasc how did you choose those specific values for max-width? Experimentally or do they appear somewhere else in our styles?


Fix the conflicts between contract identifiers and generated identifiers

Motivation
There are contracts whose identifiers conflict with the identifiers of the generated classes. For example, Uniswap v3-periphery QuoterV2 contains functions with an argument named params that conflicts with a variable of the generated class.
Problems
I see several levels of this problem:

[x] conflict caused by the params argument of the specified contract;
[ ] conflicts between identifiers that are keywords in Dart and are valid identifiers in Solidity (like async, assert, class, etc);
[ ] conflict between contract identifiers and any other identifiers in the generated classes (like read and write functions identifier, self variable identifier of GeneratedContract class, etc);

Possible Solutions
I wrote a simple fix for the conflict of identifiers named params (by replacing the generated variable with $params) and a test for this case. But it won't work if the identifier in the contract is $params (valid identifiers in Solidity).
For cases of conflicts based on the use of Dart keywords, it would be possible to use dictionary renaming using the template $keyword or _keyword.
For cases of conflicts between contact identifiers and generated identifiers, dynamic identifier generation could be used for use in generated classes where possible.

Hello. Thanks for your input. I have studied your request, and indeed there is such a problem. But I think that it should be resolved in a different way. Namely, isolating the names of function arguments into a separate object. To simplify the generation, records from dart 3.0.0 were used.
You can try updating to the new version of web3dart_builders: 0.1.0


Added settings

Added XML Class
Added WindowState saving

Hello,
In C# we have Settings class. We don't need a XML file for this.


CB-9581 OSX WebView does not send cookies is safari cache is cleared

this also includes PR #21

I'll pull this in and close both this and PR #21 at the same time.


How to specify version of Sql Server when generating SQL Scripts with Script-Migration?

Hi. When using the Script-Migration command, we get sql scripts that do not work on the production server as this one is not the newest.
Is there a way to specify which version of Sql Server the produced SQL migrations script should work on?
[Enter feedback here]

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

ID: 22803277-a2a7-0adf-acfc-35ed8e4238c8
Version Independent ID: 19869482-5737-adff-3f7f-60b4217b977d
Content: EF Core tools reference (Package Manager Console) - EF Core
Content Source: entity-framework/core/miscellaneous/cli/powershell.md
Product: entity-framework
Technology: entity-framework-core
GitHub Login: @bricelam
Microsoft Alias: bricelam

What SQL Server version is your production, and what part of the script fails?

Production is an Sql Server Enterprise version 14.0.3335.7 and the error we receive is when creating new tables, then
OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF
is part of it and it is not recognized in that version of Sql Server (but works fine on our local development databases).
Of course, we can manually remove that one line, but I guess other unsupported keywords could be used as well?
Den 18. september 2020 kl. 14.16.46 +02.00, skrev Erik Ejlskov Jensen<EMAIL_ADDRESS>
What SQL Server version is your production, and what part of the script fails?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/dotnet/EntityFramework.Docs/issues/2664#issuecomment-694833630, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJIUAWCC6IONOYIPJUBEG3DSGNFS5ANCNFSM4RR4WIIQ.

And that is included in the output from "Script-Migration" - I doubt that.

@herrbehn Can you please attach/post the code that results in this script generation so that we can investigate?

Hi
It turns out that a developer abused the migrations to add sql scripts directly. So I’m sorry for asking this - it’s all good after all :-)
Sendt fra min iPhone

Den 18. sep. 2020 kl. 21.56 skrev Arthur Vickers<EMAIL_ADDRESS>
@herrbehn Can you please attach/post the code that results in this script generation so that we can investigate?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


MRI datasets synthetic CT datasets

Thank you very much for your excellent work. I am very interested in your work. Now there are some labeled MRI datasets. Can you help me to synthesize the corresponding labeled CT datasets? Look forward to your reply!

@lfxuan Yes, please send your data to me. But I cannot guarantee the quality of the synthesized CT since my model is trained with a small dataset.

Hello, I have sent the data to you by email. Thank you again for your help!


Outputstyle 'condensed' should be named 'compact'

It seams that LibSasHost renamed that outputstyle.
LibSassBuilder gives an error using condensed, but works with compact. So it is more of a documentation issue.

Thanks @MichaelMay81 !


Support for different terrains

[ ] Use btHeightfieldTerrainShape
[ ] Render it

Moved to mfirmin/coach.js#6


library doing multiple UpdateAttrib and one DeleteNode instead of just one DeleteNode

Hey, this is something I found out and I need a solution to get over with.
I am using the xmldiff python library to compare following xmls:
left.xml
<root>
<node id="1"/>
<node id="2"/>
<node id="3"/>
<node id="4"/>
<node id="5"/>
</root>

right.xml
<root>
<node id="1"/>
<node id="2"/>
<node id="4"/>
<node id="5"/>
</root>

this creates following differences:
UpdateAttrib(node='/root/node[3]', name='id', value='4')
UpdateAttrib(node='/root/node[4]', name='id', value='5')
DeleteNode(node='/root/node[5]')

Why would the library show such unnecessary steps and does not create something like this:
DeleteNode(node='/root/node[3]')

I am comparing with these parameters:
diffs = main.diff_trees(leftXML, rightXML, diff_options={"F":0.1, "ratio_mode":"accurate"})

Information and help appreciated.
nv+

I am seeing something very similar when I compare a tree with a tree that's identical except one sub-branch has been removed. There should only be DeleteNode entries in the diff but there are unnecessary MoveNode or Update* entries. This happens for any of the ratio modes.

Because the nodes are so similar that it decides that node 3 and node 4 is likely the same node, as they are extremely similar and in the same position. If you specify that id is uniquely identifying the nodes, then it behaves as you expect.
You also get the same effect if you increase -F to 0.8, in this case.
It would be possible to avoid this issue, if we first make a match of all nodes to all other nodes, to make sure we have identified the best possible match for all nodes, but that would make it unacceptably slow on large files. Such a mode could be implemented as an option, though, contributions are welcome.

Yesterday I had an idea of how to make a more careful matching algorithm that wasn't exponentially slower. It seems to be approximately half the speed of the normal matching algorithm
I released version 2.6b1 with a --best-match parameter, this solves the issue.


[Bug] in most table widgets data comes in English when fetch Hebrew api

@atalyaalon
There is issue with table data
Describe the bug
when fetch data from Hebrew api, data comes in English
To Reproduce
Steps to reproduce the behavior:

Open app see table widget with english data

Expected behavior
Data should be in hebrew, when fetching hebrew
Screenshots

need more tests


Remove auto-complete for Industry Classification Code

Details
This fixes an issue where chrome will auto-complete for Industry Classification Code. This is the workaround that we follow in Web because Chrome will auto-populate the autoComplete data even if the autoComplete field is set to off. As an additional side-effect of this, we need to also remove the autoComplete for the ExpensifyPassword field.
Fixed Issues

$ https://github.com/Expensify/Expensify/issues/173177
Tests/QA

Sign into an account on chrome and save the password in chrome when prompted
Sign into an account, tap on the profile icon to go to settings, and then click on a workspace
Click on Get Started for the Expensify Card
Select Connect Manually and enter 123123123 for both fields
On the autoComplete section, confirm no values are pre-filled for Industry Classification Code
Confirm the same happens on all platforms (you won't be able to save password on the others)

Tested On

[x] Web
[x] Mobile Web
[x] Desktop
[x] iOS
[x] Android

Screenshots
Web/Desktop

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @deetergp in version: 1.0.83-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @isagoico in version: 1.0.85-9 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[Event Request] codeunit 6500 "Item Tracking Management" - procedure SynchronizeWhseItemTracking

Please add two events to procedure SynchronizeWhseItemTracking in codeunit "Item Tracking Management"
    procedure SynchronizeWhseItemTracking(var TempTrackingSpecification: Record "Tracking Specification" temporary; RegPickNo: Code[20]; Deletion: Boolean)
    var
        ReservEntry: Record "Reservation Entry";
        RegisteredWhseActLine: Record "Registered Whse. Activity Line";
        Qty: Decimal;
        ZeroQtyToHandle: Boolean;
    begin
        OnBeforeSynchronizeWhseItemTracking(TempTrackingSpecification, RegPickNo, Deletion);

        if TempTrackingSpecification.FindSet() then
            repeat
                if TempTrackingSpecification.Correction then begin
                    if IsPick then begin
                        ZeroQtyToHandle := false;
                        Qty := -TempTrackingSpecification."Qty. to Handle (Base)";
                        if RegPickNo <> '' then begin
                            RegisteredWhseActLine.SetRange("Activity Type", RegisteredWhseActLine."Activity Type"::Pick);
                            RegisteredWhseActLine.SetSourceFilter(
                              TempTrackingSpecification."Source Type", TempTrackingSpecification."Source Subtype",
                              TempTrackingSpecification."Source ID", TempTrackingSpecification."Source Ref. No.", -1, true);
                            RegisteredWhseActLine.SetTrackingFilterFromSpec(TempTrackingSpecification);
                            RegisteredWhseActLine.SetFilter("No.", '<> %1', RegPickNo);
                            if not RegisteredWhseActLine.FindFirst then
                                ZeroQtyToHandle := true
                            else
                                if RegisteredWhseActLine."Whse. Document Type" = RegisteredWhseActLine."Whse. Document Type"::Shipment then begin
                                    ZeroQtyToHandle := true;
                                    Qty := -(TempTrackingSpecification."Qty. to Handle (Base)" + CalcQtyBaseRegistered(RegisteredWhseActLine));
                                end;
                        end;

                        ReservEntry.SetSourceFilter(
                          TempTrackingSpecification."Source Type", TempTrackingSpecification."Source Subtype",
                          TempTrackingSpecification."Source ID", TempTrackingSpecification."Source Ref. No.", true);
                        ReservEntry.SetSourceFilter('', TempTrackingSpecification."Source Prod. Order Line");
                        ReservEntry.SetTrackingFilterFromSpec(TempTrackingSpecification);
                        if ReservEntry.FindSet(true) then
                            repeat
                                if ZeroQtyToHandle then begin
                                    ReservEntry."Qty. to Handle (Base)" := 0;
                                    ReservEntry."Qty. to Invoice (Base)" := 0;
                                    ReservEntry.Modify();
                                    OnSynchronizeWhseItemTrackingOnZeroQtyToHandle(TempTrackingSpecification); // <-- NEW EVENT
                                end;
                            until ReservEntry.Next() = 0;

                        if ReservEntry.FindSet(true) then
                            repeat
                                if RegPickNo <> '' then begin
                                    ReservEntry."Qty. to Handle (Base)" += Qty;
                                    ReservEntry."Qty. to Invoice (Base)" += Qty;
                                end else
                                    if not Deletion then begin
                                        ReservEntry."Qty. to Handle (Base)" := Qty;
                                        ReservEntry."Qty. to Invoice (Base)" := Qty;
                                    end;
                                if Abs(ReservEntry."Qty. to Handle (Base)") > Abs(ReservEntry."Quantity (Base)") then begin
                                    Qty := ReservEntry."Qty. to Handle (Base)" - ReservEntry."Quantity (Base)";
                                    ReservEntry."Qty. to Handle (Base)" := ReservEntry."Quantity (Base)";
                                    ReservEntry."Qty. to Invoice (Base)" := ReservEntry."Quantity (Base)";
                                end else
                                    Qty := 0;
                                OnSynchronizeWhseItemTrackingOnbeforeReservEntryModify(ReservEntry, TempTrackingSpecification, RegPickNo, Deletion);
                                ReservEntry.Modify();

                                if IsReservedFromTransferShipment(ReservEntry) then
                                    UpdateItemTrackingInTransferReceipt(ReservEntry);
                            until (ReservEntry.Next() = 0) or (Qty = 0);
                        OnSynchronizeWhseItemTrackingOnAfterUpdateReservEntryForPick(TempTrackingSpecification); // <-- NEW EVENT
                    end;
                    TempTrackingSpecification.Delete();
                end;
                OnSynchronizeWhseItemTrackingOnAfterTempTrackingSpecificationLoop(TempTrackingSpecification, RegPickNo, Deletion);
            until TempTrackingSpecification.Next() = 0;

        RegisterNewItemTrackingLines(TempTrackingSpecification);
    end;

    [IntegrationEvent(false, false)]
    local procedure OnSynchronizeWhseItemTrackingOnZeroQtyToHandle(var TempTrackingSpecification: Record "Tracking Specification" temporary)
    begin
    end;

    [IntegrationEvent(false, false)]
    local procedure OnSynchronizeWhseItemTrackingOnAfterUpdateReservEntryForPick(var TempTrackingSpecification: Record "Tracking Specification" temporary)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Eliminate WIN3264 macro instead of MSWIN

We use the existing WIN3264 macro instead.

Codecov Report

Merging #3932 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3932      +/-   ##
==========================================
- Coverage   78.88%   78.88%   -0.01%
==========================================
  Files         105      105
  Lines      142085   142085
==========================================
- Hits       112088   112079       -9
- Misses      29997    30006       +9

Impacted Files
Coverage Δ

src/netbeans.c
27.06% <ø> (ø)
:arrow_up:

src/buffer.c
80.55% <ø> (ø)
:arrow_up:

src/window.c
83.37% <ø> (-0.04%)
:arrow_down:

src/term.c
60.56% <ø> (ø)
:arrow_up:

src/fileio.c
75.2% <ø> (ø)
:arrow_up:

src/ex_docmd.c
80.58% <ø> (ø)
:arrow_up:

src/gui.c
58.15% <ø> (-0.32%)
:arrow_down:

src/ex_getln.c
76.11% <ø> (ø)
:arrow_up:

src/version.c
86.28% <ø> (ø)
:arrow_up:

src/misc1.c
79.74% <ø> (ø)
:arrow_up:

... and 17 more

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 ec0f50a...0331328. Read the comment docs.

We use the existing WIN3264 macro instead.

We could do it the other way around, use MSWIN instead of WIN3264.
It's shorter and easier to read.
We can probably also use MSWIN instead of WIN32.  There is an OR operation on
WIN32 and _WIN64, but I guess that when _WIN64 is defined WIN32 also is
defined.
So I think we can just use MSWIN nearly everywhere, and only use _WIN64 where
it really has to be the 64 bit version.  All the rest works for both 32 and 64
bit MS-Windows.
--
The MS-Windows registry is no more hostile than any other bunch of state
information... that is held in a binary format... a format that nobody
understands... and is replicated and cached in a complex and largely
undocumented way... and contains large amounts of duplicate and obfuscated
information...  (Ben Peterson)
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

WIN32 is undocumented at least. Actually _WIN32 and _WIN64 is officially.

See https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=vs-2017

@mattn Thanks!
This microsoft site is written as follows.

_WIN32 Defined as 1 when the compilation target is 32-bit ARM, 64-bit ARM, x86, or x64. Otherwise, undefined.

This means that the definition below is fine, right?
#ifdef _WIN32
# define MSWIN
#endif

Then, we can replace the part directly referencing WIN32 or _WIN32 with MSWIN, right?

I thought that defining WIN3264 was redundant, because it is exactly the same as _WIN32.
However, one merit for using WIN3264 is that it can avoid misunderstanding that _WIN32 doesn't includes _WIN64 (which is incorrect).
MSWIN was used for both Win16 and Win32, but we have already dropped the support for Win16.
So now MSWIN, WIN3264 and _WIN32 (and also WIN32) are all the same.
Using _WIN32 is a standard way in the Windows programming. So it is straightforward.
However, still there's a risk that someone misunderstands that it doesn't include _WIN64. Do we need to care such a case? If so, MSWIN might be better.

Bram's comment:
https://groups.google.com/d/msg/vim_dev/XsEQZnQr8Ck/StHpy92xAwAJ

It is best to separate the dependency on the compiler and Makefile from
what we use throughout Vim code.  "MSWIN" is the easiest to understand
for all builds on MS-Windows.  Then we can define it in one place in
vim.h, depending on _WIN32 or WIN32 (WIN32 is defined in all the
MS-Windows makefiles).
We can keep using _WIN64 for 64-bit specific code.

Okay, let's use MSWIN and _WIN64.
There is a part which uses WIN64 in evalfunc.c. It can be removed then.
BTW, we have also FEAT_GUI_W32 and FEAT_GUI_MSWIN.
FEAT_GUI_W32 is defined in the makefiles, and FEAT_GUI_MSWIN is defined in vim.h.
What do you think of this? Using FEAT_GUI_MSWIN is better?

Bram's comment:
https://groups.google.com/d/msg/vim_dev/XsEQZnQr8Ck/StHpy92xAwAJ

It is best to separate the dependency on the compiler and Makefile from
what we use throughout Vim code.  "MSWIN" is the easiest to understand
for all builds on MS-Windows.  Then we can define it in one place in
vim.h, depending on _WIN32 or WIN32 (WIN32 is defined in all the
MS-Windows makefiles).
We can keep using _WIN64 for 64-bit specific code.

Okay, let's use MSWIN and _WIN64.
There is a part which uses WIN64 in evalfunc.c. It can be removed then.
BTW, we have also FEAT_GUI_W32 and FEAT_GUI_MSWIN.
FEAT_GUI_W32 is defined in the makefiles, and FEAT_GUI_MSWIN is defined in vim.h.
What do you think of this? Using FEAT_GUI_MSWIN is better?

Yes, since it's also used for 64-bit Windows, thus the "32" part is
confusing.  I suppose FEAT_GUI is defined, so we can make it:
#if defined(FEAT_GUI) && defined(MSWIN)
# define FEAT_GUI_MSWIN
#endif

And remove other places where FEAT_GUI_MSWIN is defined.

/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

All right. Thank you!
I have been busy for a few days, so I will work on weekends.
(Unofficial 30% rule can not be used! :grin:)
--
Best regards,
Hirohito Higashi (h_east)

I have a question.
Do we still need to support Make_ivc.mak?

Recent versions of Visual Studio cannot open Make_ivc.mak (and also Make_dvc.mak).
I don't think we still need to support them. But is it related to this PR?

Yes.  We need s/FEAT_GUI_W32/FEAT_GUI/g in Make_ivc.mak

Let me know when this is ready to include.

My work has been completed, but the impact range is large,
I'm happy if you can have reviews by various people.

@mattn, @ntak and Windows developers:
JFYI, Use FEAT_MSWIN instead of WIN3264, WIN32 and _WIN32.
And also use FEAT_GUI_MSWIN instead of FEAT_GUI_W32.
Reason:
https://github.com/vim/vim/pull/3932#issuecomment-462404918
https://github.com/vim/vim/pull/3932#issuecomment-463183221

Hmm, you defined FEAT_GUI_MSWIN and FEAT_GUI differently with other platforms.
In other platforms, FEAT_GUI_GTK or other platform-specific macros are defined in each makefile, and FEAT_GUI is defined in vim.h. However you defined FEAT_GUI in Windows makefiles, and FEAT_GUI_MSWIN in vim.h. They are reversed.

JFYI, Use FEAT_MSWIN instead of WIN3264, WIN32 and _WIN32.

s/FEAT_MSWIN/MSWIN/

They are reversed.

Thank you for your advice.
Indeed, the opposite is true.
I will PR later.


Pumpkins seeds cannot be planted on peat.

I am playing around with this mod on a single player world and was lucky enough to spawn near a swamp. Started a small farm with some peat and when I returned with some pumpkin seeds was sad to see that I couldn't plant them on peat.

Fixed for next version.


Fixes filter property for old IE versions.

Actually I've just found out that the css part for the repo didn't include the fix from font-awesome: this avoids dreaded warnings on Safari.
You can read more about this kind of issue here:
https://github.com/FortAwesome/Font-Awesome/issues/5043

@yortz Because this patch wasn't yet applied to Font Awesome core, we're can't apply it here. If this change is the recommended fix for the underlying issue that those are seeing between Safari and IE8, please submit a PR to https://github.com/FortAwesome/Font-Awesome/. Once it gets pulled in there, we'll be more willing to include it here as well.


removed dead links & providers, adjusted text

considering, that my statistics homework hasn't gotten any more interesting, i decided to procrastinate and do this instead.
What did I do?

Removed the following providers (seem to be dead, homepages don't load):
https://freemc.host/, https://nightnodes.com/, https://play.nxyl.pro, https://spawnmc.net/
Removed a dead link to a google article about a Minecraft server setup guide
added some minor stuff to the default message, open for feedback on that one
Added the TCP-ping thingy (ovh issue or so) to the Revivenode info. Seen it multiple times with people using revivenode, starting from 2 months ago up until recently... seems fair to include it

cheers

oh and ive added the info on Aternos auto-downloading latest version & how to update it there, as Jackson's idea

Updated "FalixNodes" instructions - clone-remote-port doesnt work anmore ( https://discord.com/channels/613163671870242838/1041251970897412146 )
Added GPortal - seems like their support provides a port upon request ( https://discord.com/channels/613163671870242838/1041271158005317733 )


Generate SLSA provenance documents for releases

TL;DR
Generate SLSA provenance documents for Legitify releases.
Detailed design
Preferably, implement it by using https://github.com/slsa-framework/slsa-github-generator.
Ideally, use the go-builder provided by this package to provide a highly-trusted builder.

Additional information
No response

Using the go-builder is blocked:

The SLSA Go builder is currently broken (https://github.com/slsa-framework/slsa-github-generator/issues/1163#issuecomment-1306962095)
Anyway, it does not support multiple builds yet, so we might want to wait for the functionality to be available

We might be able to generate provenance anyway (along with our goreleaser) by using the post-build hook to output the digest and then use it in a follow-up job that invokes SLSA's generic provenance generator.
Note that we must output the digest directly from the goreleaser because:

The provenance generation invocation must be from the same workflow as the build.
Doing some sort of a post-upload trick isn't good enough, because we can't tell that the artifact wasn't modified before the provenance generation job acted on it.


Added an Emoji Theme

Amazing stuff @soboapps ! I will go over the code later today.

@soboapps Everything looks great. Just change the imported package name and I can merge. Amazing job! 😁

Let me know if I missed anything.

Amazing work @soboapps and cool idea adding emoji ;)

Again, Thank you for doing the real work! 👍


[KAFKA-7379] [streams] send.buffer.bytes should be allowed to set -1 in KafkaStreams

What changes were proposed in this pull request?
atLeast(0) in StreamsConfig, ProducerConfig and ConsumerConfig were replaced by SEND_BUFFER_LOWER_BOUND and RECEIVE_BUFFER_LOWER_BOUND from CommonClientConfigs.
How was this patch tested?
KafkaProducerTest and KafkaConsumerTest already contain the method testOsDefaultSocketBufferSizes which covers changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@mjsax review my changes, please.
Is my understanding of the goal of this JIRA correct?

Hey @aai95 ,
Thanks for the PR!
I think we only wanted to change the bound on send and receive buffers.
Also, can you think of some way to test this change?
Thanks,
-John

Hi @vvcephei,
Thank you for your remarks! I made corresponding changes.
Regarding test coverage, as I understand org.apache.kafka.clients.producer.KafkaProducerTest and
org.apache.kafka.clients.consumer.KafkaConsumerTest already contain methods testInvalidSocketSendBufferSize and testInvalidSocketReceiveBufferSize
which check these cases if send.buffer.bytes and receive.buffer.bytes become less than -1.

@aai95 trunk branch was broken recently -- can you please rebase this PR to pick up latest trunk that is fixed now? Otherwise, we can't get a green build. Thx.
For testing, we could add a test, but if Consumer/Producer would change the bounds, our test would not catch this anyway. Adding those parameters is basically code duplication.
If we want to improve the code, Consumer/Producer (or mabye CommonConfig) should define a public final static variable, that define the lower bound, and we could use this in all three classes. This way, if the bounds change, all are updated and we don't miss anything.
Thoughts?

I performed rebase of my PR just to check that build passes. The test will be added.

@mjsax review my changes, please.
I implemented your suggestion regarding global constants. Thanks.
In classes KafkaProducerTest and KafkaConsumerTest we have method testOsDefaultSocketBufferSizes.
Here value Selectable.USE_DEFAULT_BUFFER_SIZE is -1, as I understand this case covers my changes.
This test succefully passed before, because in ProducerConfig and ConsumerConfig we had hardcoded value -1, now we have global contant in CommonClientConfigs.

@aai95 could you add the unit test in KafkaStreamsTest for testing the scope of this config for Streams as well? The existing tests in KafkaProducerTest / KafkaConsumerTest does not cover streams case.

@guozhangwang review my changes, please.
Three unit tests were added to KafkaStreamsTest

The jenkins failure is not relevant.


refactor: email protocol with crypto type

Description
Fixed #7520.
Reference:

https://sendgrid.com/blog/whats-the-difference-between-ports-465-and-587/
https://mailtrap.io/blog/smtp-ports-25-465-587-used-for/

Checklist:

[x] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[x] Conforms to style guide

Why do we need this change?

I based on https://github.com/bcit-ci/CodeIgniter/blob/develop/system/libraries/Email.php#L2022, No strict port to protocol

CI3 implementation is not a reference here.
It is an old implementation, and we have improved it.
See #3430
If you change the current implementation, please show the reasoning by RFC or something.
In the reference you wrote:

Tl;dr Port 465 is used for implicit TLS, however, port 587 and startTLS are preferred.

If the port for SSL and TLS schemes is not specified, then we use 465.
If port 578 (stratTLS) is specified then TLS scheme.

I don't know enough about these protocol specifics to weigh in on this. @ddevsr did you check out iRedds' suggestion?


Add NPM Audit action

Hello! 👋
I'd like to add an Action I built that runs npm audit fix in your repository, then opens a pull request to suggest the changes. You can check it out here: https://github.com/JasonEtco/npm-audit-fix-action
Thanks! This is a wonderful list by the way ✨

Thanks!


Reverts the change made to the editor progress dialog

In faaecd6987ba27056b1866bc57e78a7246795c22
It was causing issues on Windows like, for example, when saving with CTRL+S the keys CTRL and S were stuck after saving and pressing only S would save the scene again until CTRL was pressed again.

Thanks!


Unable to specify message when creating new actions

Sentinl and Kibana version
Kibana: 6.2.4
Sentinl: 6.2.4 (master)

Issue description
Unable to specify message when creating new actions in sentinl.

First image: https://github.com/sirensolutions/sentinl/releases/download/tag-6.2.3-3/sentinl-v6.2.4.zip

Second image: https://github.com/sirensolutions/sentinl master branch

Reproducing the issue step-by-step
(master)
In the process of creating a watcher I am unable to specify what message I would like to send.

Expected results vs. actual results
Expected is the first image.
Actual is the last image.

Sample of data

Additional details

I'll fix it today asap

The fix is available in the release packages https://github.com/sirensolutions/sentinl/releases/tag/tag-6.2.3-3


[iOS] Paste label tip has wrong position

I am using CupertinoTextField and I try to paste text in a field. The device is an iPhone 7.
The tip of the Paste label is a little bit to the left, I expect it to be aligned with the cursor.
Check the screenshots:

$ flutter doctor -v
[✓] Flutter (Channel stable, v1.2.1, on Mac OS X 10.14.4 18E226, locale en-GB)
    • Flutter version 1.2.1 at /Users/tudor/dev/flutter
    • Framework revision 8661d8aecd (9 weeks ago), 2019-02-14 19:19:53 -0800
    • Engine revision 3757390fa4
    • Dart version 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/tudor/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = /Users/tudor/Library/Android/sdk
    • Java binary at: /Users/tudor/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/182.5314842/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.2, Build version 10E125
    • ios-deploy 1.9.4
    • CocoaPods version 1.6.1

[✓] Android Studio (version 3.3)
    • Android Studio at /Users/tudor/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/182.5314842/Android Studio.app/Contents
    • Flutter plugin version 34.0.1
    • Dart plugin version 182.5215
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[✓] Connected device (1 available)
    • Tudor’s iPhone 7 • 6c6f39c58d86256962f6a336f8ebef46f202225e • ios • iOS 12.2

I tested this on latest dev using iPhone 6s and see that the label tip is now displayed / aligned with the cursor.

body: Center(
          child: Container(
            width: 200,
            height: 50,
            child: CupertinoTextField(
              placeholder: 'E-mail',
            )
          )
          )

flutter doctor -v
[✓] Flutter: is fully installed. (Channel dev, 1.22.0-9.0.pre, on Mac OS X 10.15.2 19C57, locale
    en-US)
[!] Android toolchain - develop for Android devices: is partially installed; more components are
    available. (Android SDK version 29.0.3)
[✓] Xcode - develop for iOS and macOS: is fully installed. (Xcode 11.6)
[✓] Chrome - develop for the web: is fully installed.
[✓] Android Studio: is fully installed. (version 3.6)
[✓] Connected device: is fully installed. (5 available)

@tudor07 Can you please confirm if this is still an issue at your end ?
Thanks.

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Fix xp range end values, bump minor version

Please review, I didn't read the context of the code :)

Ah, it was already correct in levelup.py
It was just formatter. Changing now.


ledger-live-desktop: 2.34.3 -> 2.34.4

Motivation for this change
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

/marvin opt-in
/status needs_reviewer

Does this package actually work for you? I've tried it a couple times out of curiosity and it fails every time:
❯ ./result/bin/ledger-live-desktop
Ledger Live 2.34.4
init
Checking for update
Generated new staging user ID: e82b9733-e858-5fa0-aa2c-bf9f564aa81c
spawned internal process 143
Update for version 2.34.4 is not available (latest version: 2.34.4, downgrade is disallowed).
internal process 143 got killed by signal SIGSEGV

Seems to be working fine for me, I'm on nixos-unstable though.

Seems to be working fine for me, I'm on nixos-unstable though.

Same here, I wonder why it segfaults here every time :P

Does the current version work for you? I really have no clue tbh.


Cant update to 0.93

Can't install andig/evcc:0.93: 404 Client Error for http+docker://localhost/v1.41/images/create?tag=0.93&fromImage=andig%2Fevcc&platform=linux%2Famd64: Not Found ("manifest for andig/evcc:0.93 not found: manifest unknown: manifest unknown")

.93 not available!
https://github.com/evcc-io/evcc/releases/tag/0.93
habe to wait


Put sonarcloud and codecov settings into config files

Goal
Improve our tools' configuration via config as code.
Technical Details
Codecov and Sonarcloud can be configured via files that live in our repo.
For Codecov, let's remove the autogenerated files from being tracked
For Sonarcloud, the following should be done:

[ ] operator/api/v1alpha1/zz_generated.deepcopy.go should be excluded
[ ] config from the UI translated in config file

DoD

[ ] Configuration is stored in a file
[ ] Aforementioned details are implemented

Enthusiastic approval for all config-as-code features!  However, need to ensure a sane relationship between the UI and the config file.  Ideally, changes made to a config file should be reflected in and modifiable in the UI and vice versa.  If this is not possible, it should be obvious to the user whether the config file or the UI is being used.
The use case is an installation where multiple people may need to manage this, some people may prefer UI and other people may prefer the config file, or a script may be modifying the config file while most users favor looking at the UI.  At a minimum, if the UI cannot be used to set or view current configurations, it should be marked accordingly.
In the absolute minimum, the documentation should explain the relationship between the config file and the UI.

@StackScribe this ticket is just related to Sonarcloud which we use for code quality measures. It's not actually part of our software, and only maintainers (or even only admins, not sure) have access to the configuration UI at all.
I would say, we can leave a comment in the config file that that file is the single source of truth. WDYT?

For codecov, it's the same. It's yet another code quality tool (in this case, test coverage) where only maintainers have access and no user interaction will ever happen.

Ah, so users can't use these tools to check code quality and coverage?  In that case, ignore my remarks.

User will see the results of the checks inside PR comments like here or here.
But the configuration of the tools is only accessible to maintainers/admins of the tools. except for the config files which are in our repo.


Bump Go to 1.17.10 address CVEs

Describe the bug:
Usage of Cert-Manager is alerting when scanned due to vulnerabilities in the version of GoLang being used. Therefore update to 1.17.9+ (1.17.10 latest at time of writing) to address:

CVE-2022-28327
CVE-2022-24675

Expected behaviour:

Steps to reproduce the bug:
See CVEs
Anything else we need to know?:
No
Environment details::
N/A
/kind bug

Thanks for checking - we had checked the CVEs in question and it does not appear that we should be affected, see the discussion https://groups.google.com/d/msgid/cert-manager-security/CAK8C6GjZZkL7CW3eu%2Bxfx7j-O%3DnaUyd4dvvf5K-yg0otdmzZ8w%40mail.gmail.com?utm_medium=email&utm_source=footer

@irbekrm thanks. I can't unfortunately access that. Would it be possible to get a bump in version to stop scanning tools reporting it?

I can't unfortunately access that

I'll just copy @jakexks 's reply here:
CVE-2022-28327 describes how an internal function in Go's elliptic curve cryptography library can be forced to crash with a non-standard input. However, the disclosure explicitly points out "Indirect uses through crypto/ecdsa and crypto/tls are unaffected. amd64, arm64, ppc64le, and s390x are unaffected." cert-manager does not call this internal function directly, and even if we did, no popular platforms are vulnerable.

CVE-2022-24675 describes how more than 5MB of PEM-encoded input data can cause a program to crash. cert-manager consumes PEM data from Kubernetes secrets, which are limited to 1MB in size.

Would it be possible to get a bump in version to stop scanning tools reporting it?

Agree that the current state is generally suboptimal as folks get spammed about CVEs. Our release process is manual at the moment, so we tend to only release patches if there is an actual need for it (bug or vulnerability). Hopefully this will improve in the future


[FEATURE] Allow Multiple Formats / Versions

Is your feature request related to a problem? Please describe.
When you have two versions of the same book (eg a PDF and an epub version) it currently just lists them next to each other. For example when on desktop I can use PDF but on my phone I'd like to use epub so I don't have to zoom into the PDF etc.
Describe the solution you'd like
Ideally it would merge them into the same item and allow you to pick which one to read when clicking read. For me it would be nice if it could somehow automatically do this based on the folder it's in. For example:
Series/
  Harry Potter/
    Harry Potter and the Sorcerer's Stone/
      Harry Potter and the Sorcerer's Stone.epub
      Harry Potter and the Sorcerer's Stone.pdf
    Harry Potter and the Chamber of Secrets/
      Harry Potter and the Chamber of Secrets.epub
      Harry Potter and the Chamber of Secrets.pdf
    Harry Potter and the Prisoner of Azkaban.epub

It should recognize the two formats and combine them into one book for Sorcerer's Stone and Chamber but not Prisoner for example, but I'm not sure if this is possible with the way the structure is already set up.
Describe alternatives you've considered
Perhaps just a .stump hidden file that marks the items in the folder as mergable or something if the folder structure above won't work.

Is there any metadata you'd want to be able to associate with the relations, as well? For example, add a notes field or something that provides extra details on the relationship. I could see this as being useful for collections of research papers, etc.

My use case would only be as duplicates (or potentially "editions") of the same exact book. so i know there are comic book variants with different covers, or books that have different editions / editing etc.
For metadata, I think that's a whole other beast and probably a different feature request. But my ideal would be allowing users to rename, pick the series, pick the number in the series regardless of where in the file / folder structure it is.

I've been thinking about this recently and wanted to dump an idea I had here for when I am able to try and support this down the road. Basically, the idea would be to completely overhaul the representation of media in the DB so that media itself is more of a grouping than a concrete entity. So a single media entry might refer to 1+ books. Having thought this through, this kind of restructure would be ideal if audio support is ever added down the road (https://github.com/stumpapp/stump/issues/177), as well.
An example schema might look something like:
model Series {
  id String @id @default(uuid())

  name String

  // ... other stuff

  media Media[] // <-- Same as today
}

model Media {
  id String @id @default(uuid())

  name String // derived from ?? aggregate of book names? or just first book name? or ???

  series    Series? @relation(fields: [series_id], references: [id], onDelete: Cascade)
  series_id String?

  books      Book[] // <-- diverging from what exists today
  audiobooks AudioBook[] // <-- diverging from what exists today

  @@map("media")
}

model Book { // <-- diverging from what exists today
  id String @id @default(uuid())

  name String // derived from filename
  size Int // in bytes

  // ... other stuff

  media    Media  @relation(fields: [media_id], references: [id], onDelete: Cascade)
  media_id String

  metadata BookMetadata?

  // ... other stuff

  @@map("books")
}

model AudioBook { // <-- diverging from what exists today
  id String @id @default(uuid())

  media    Media  @relation(fields: [media_id], references: [id], onDelete: Cascade)
  media_id String

  @@map("audiobooks")
}

model BookMetadata { // <-- diverging from what exists today
  id String @id @default(cuid())

  // ... other stuff

  book    Book?   @relation(fields: [book_id], references: [id], onDelete: Cascade)
  book_id String? @unique
}

The biggest unknown for me would then be resolving metadata between instances of books. How would reconciling multiple books and their own corresponding metadata work? Merge? Some sort of priority? Etc. Regardless, just thought dumping for the future


Fixing the issue when connecting to the FTP using the port 21 over SSL && validating the if the File pattern is empty (Agent configuration)

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

@mjimdev please be sure to click the CLA badge to sign the contributor's license agreement.


ViaVersion

I use viaversion and your plugin maybe does not support it. I need Viaversion, what can i do?

Do you still have issues with eZProtector and ViaVersion? Let me know.


Imported library includes unstable androidx deps

Hello,
I use viewbinding helper in my project and it is really awesome. In build.gradle I just added implementation"com.github.FunkyMuse.KAHelpers:viewbinding:2.1.19". After some exploration I found out that my module is using the viewbinding module's libraries (eg. fragment, activity, lifecycle deps)
Is there a way how to enforce gradle to use the versions from my module gradle? I use stable versions of androidx in my app and don't want to mix with un-stable. Ofcourse there is a way - just  to copy files somewhere to my project but I am curious about posibilities of gradle.
Thanks

fragment  = "1.3.0-rc01"
activity = "1.2.0-rc01"
Rc is stable, what you mean by unstable?
Also the module has them as implementation not as api hence they're not included into your code and you can use your own stable ones but the module relies on them since it needs their lifecycle awareness
You can disable transitive dependencies by setting
transitive = false

fragment  = "1.3.0-rc01"
activity = "1.2.0-rc01"
Rc is stable, what you mean by unstable?
Also the module has them as implementation not as api hence they're not included into your code and you can use your own stable ones but the module relies on them since it needs their lifecycle awareness
You can disable transitive dependencies by setting
transitive = false

By unstable I mean that it is not fully stable, maybe unstable is just a wrong expression for it. I don`t want to have Rc libs in production code... Rc is a prospective stable release (according to  docs).
Thanks a lot transitive = false works very well.

By unstable I mean that it is not fully stable, maybe unstable is just a wrong expression for it. I don`t want to have Rc libs in production code... Rc is a prospective stable release (according to  docs).
Thanks a lot transitive = false works very well.


Debug eLabNext account issue

It looks like the sign in pages that are used as part of the OAuth2 workflow were not properly updated when we rolled out the new homepage redesign last January.
The doorkeeper managed views cannot make use of partials from other directories so we will need to copy over the functionality from the current sign in page. We should also tweak the CSS classes a bit as it seems to have lost margins and button formatting.

Closing this in favor of #651


Crawler doesn't find  dynamic routes, possibly only default

Version
v2.13.1
Steps to reproduce

Create 2.13.1 nuxt app
Add a _.vue template
Add a <nuxt-link to="/somewhere" tag="div">Somewhere</nuxt-link>
Run nuxt build && nuxt export

What is expected ?
For all nuxt-link tag types to generate routes.
Failing that, to add caveat to documentation.
What is actually happening?
As far as I can see, only the default a tags get crawled.

This bug report is available on Nuxt community (#c10854)

I would not consider that as a bug and suggest writing semantic HTML instead (e.g. when an element redirects to another page, it should be an anchor tag, also known as <a>).

Seems more consistent if you are going to extend router-link and it allows non anchor tags for routing, at the very least document it, if it tripped me up a week into release, who else might be pulling their hair out? My use is a private dashboard for mobile. Appreciate fast response and note about screen readers though @manniL.


Fix information disclosure vulnerability

Private ban reasons were echoed to IRC

Codecov Report

Merging #654 (5e68295) into master (375286b) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##             master    #654      +/-   ##
===========================================
- Coverage      5.07%   5.06%   -0.01%
- Complexity     2348    2349       +1
===========================================
  Files           172     172
  Lines         11636   11641       +5
===========================================
  Hits            590     590
- Misses        11046   11051       +5

Impacted Files
Coverage Δ
Complexity Δ

includes/Helpers/IrcNotificationHelper.php
0.00% <0.00%> (ø)
36.00 <0.00> (+1.00)

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 375286b...5e68295. Read the comment docs.


Can i within a Slate to add a asset picker ?

Like this:

HI, you can use
SObjectPropertyEntryBox(allowed_class=Material, enable_content_picker=True,display_use_selected=True, display_browse=True)

Thanks for you reply, I have used SObjectPropertyEntryBox as my asset picker, It works !
But why i choosed asset , the left content is still display None?


Always generate "tagged" unions

I'm curious if you'd be open to considering this change, I'd be curious to see how much a lift it'd be to work on a PR.
The blocker I have in using this to generate typescript is that in Haskell, all unions are disjoint, e.g.
data D a = A Int | B Int | C a has no overlap between constructors A and B, even though the remainder of the types are the same.
If the generated typescript for this is
type D<T> = A<T> | B<T> | C<T>;

type A<T> = number;

type B<T> = number;

type C<T> = T

then there's no distinction between constructors A and B in the typescript code. The generally accepted pattern for this in typescript is to "tag" unions, essentially pairing each type of the union with a literal for it's constructor. So you'd have instead something like:
type D<T> = A<T> | B<T> | C<T>;

type A<T> = {tag: "A", value: number};

type B<T> = {tag: "B", value: number};

type C<T> = {tag: "C", value: T}

which produces a type that is actually equivalent to the Haskell type that generated it.
Thoughts?

Hello -- not sure I understand. This library doesn't get to decide what the JSON representation is for a given Haskell type. It has to match the output produced/parsed by the corresponding Aeson instances, for a given set of Aeson Options.
Of course, you can get the tagged style output by using the TaggedObject constructor for the SumEncoding option.


Add collaborators to this repo

Comment below to be added as a collaborator
We will all be using this repository today. Even though it's public right now, you will not be able to make changes until you're given the correct permissions. We've automated this process via the GitHub API. Once you comment, we will add you as a collaborator.
You'll start to receive a lot of emails. (❗) You can slow these down immediately by clicking the Unwatch button at the top of the page and selecting either the Participating and @mentions or Ignore option.

hello!

Hello from Bruce'

Hello from Pavan

Here goes my comment

Hello From Scott (US040970)

This is Mei (TE account)

Mei (Personal account)

another comment


panic when case statement returns null

Describe the bug
A clear and concise description of what the bug is.
I've boiled this down to a small test case which panics with this error:
thread 'main' panicked at 'NullArray data should not contain a null buffer, as no buffers are required'
To Reproduce
Steps to reproduce the behavior:
run this SQL from cli:
select case when b is null then null else b end from (select a,b from (values (1,null),(2,3)) as t (a,b)) a;
Expected behavior
A clear and concise description of what you expected to happen.
In Postgres, it returns "null" and 3, as expected.
Additional context
Add any other context about the problem here.
Also, this query returns wrong results, as compared to PG:
select case when b is null then null else b end from (select a,b from (values (1,1),(2,3)) as t (a,b)) a;
in PG, that returns 2 rows: 1 and 3. In Datafusion, it returns 2 nulls.

also happens with
select case when b is null then null else b end from (select a,b from (values (1,1),(2,null)) as t (a,b)) a;
but does not happen with
select case when b is null then null else 1 end from (select a,b from (values (1,null),(2,3)) as t (a,b)) a;


Add tap sample and remove spring-xd-samples

@mbogoevici Fixed the merging conflicts and force pushed the changes.

merged


The $value of the staking item is displayed incorrectly

Describe the bug
The $value of the staking item is displayed incorrectly

Version test: https://file.cdmteck.com/s/DB9JLAnjJczopcC/download?path=%2F&files=SubWalletMobile-build-209-968-merge-2023-08-18T03-56-04.ipa
Devices test: IP 11
Validation passed.


better preloads using generic types

like I said, it's up to preference, using this will make it more readable to some, while making it less readable to others

also no credit to me for teaching attribute knowledge :kittypout:


[Question] Clarification on the side of BatchSize, buffer.js

Hi Coussej,
I am wondering what is the meaning of this configuration on the side of Buffer.js

Does it mean only 1000 Tags are going to buff?
I received warnings that may memBuffer already exceed a maximum of 1000.
Is is something to do with the batchSize right?
Thank you,

Hi @henjoe,
That simply means the maximum batch size that will be written to influx. Let's say you have 2000 metrics per second, they will be written to influx in 2 batches of 1000 points. You can increase that if you have more.
It is not related to the amount of tags that are going to be buffered.
Regards,
Jeroen

Hi @coussej
Thanks for this! :)
Higly appreciated your work here.


Add plugin "FileZilla"

Hi,
This adds a FileZilla plugin.
Regards

Hi,
the failing tests is not about this plugin.
Is everything ok with this PR?
Thanks


What differences are there between image translation and style transfer？

I think style transfer is a sub-class of image translation. How about you？

I agree with you. Style transfer is a type of image translation.

I disagree, since strictly speaking, it's not a sub class.
Image to image translation can achieve style transfer, but they can do more than just that.
Perhaps most importantly, they can achieve domain translation, such as RGB to IR, edges to images, and many more uses.

Yes, image-to-image translation can achieve many tasks, and image style transfer is one of them.
I do not see the conflict among us.


Space character

Just noticed that tofi doesn't appear to allow space input. Why is that? My use case is alongside --require-match false.
Thanks for the resolutions to my other issues by the way! :slightly_smiling_face:

It's really just a holdover from me only using tofi-run, where a space is meaningless and currently causes there to be no matches (I actually allow spaces in tofi-drun).
I guess the correct thing to do here would be to split the input into "words" on spaces, and filter the results by each one. I think that's what dmenu does in any case.

Thanks for the resolutions to my other issues by the way! :slightly_smiling_face:

No problem, thanks for the suggestions!

Works a treat, thanks again!


object-store: support for client-side encryption on S3

On S3 when objects are client-side encrypted the encryption metadata is stored and transmitted through headers on GET and HEAD requests, which is required to decrypt objects on the client-side.
Currently the ObjectMeta does not support provider-specific metadata although it's already able to extract it from request headers.
Describe the solution you'd like
The minimal change would be to passthrough S3-specific client-side encryption metadata through the ObjectMeta, which could then by used by client.
Describe alternatives you've considered
The better solution would be to support content decryption within the library itself, however it would create dependencies on openssl or similar and add considerable amount of logic, which might limit the types of clients who would be able to use this library.
Additional context
I'm willing to author the change, but need guidance on the design.

I've filed https://github.com/apache/arrow-rs/issues/4754 to track designing how best to support custom user metadata.
FYI ring, which this crate already uses for request signing and TLS, also supports AES-GCM if you're looking to avoid an additional dependency on openssl

Has this been resolved by #5915  ? thanks!

Thanks @tustvold, much appreciated. My basic understanding is that we'll need x-amz-meta-x-amz-key, x-amz-meta-x-amz-iv and x-amz-meta-x-amz-matdesc which seems to be covered by #5915 (it adds support for x-amz-meta user-defined headers?) Does that seem like enough, or is further work on object-store needed?


Use GitLab's security API

GitLab vulnerabilities database is Gemnasium DB which seem to be updated at least once a week and is available as a Git repository at https://gitlab.com/gitlab-org/security-products/gemnasium-db
This dataset is made available under GitLab Security Alert Database Terms
We would need to talk to GitHub as the above license states:

(f) Attempt to access or search the Security Alert Database or Content or download Content from the Security Alert Database through the use of any engine, software, tool, agent, device or mechanism (including spiders, robots, crawlers, data mining tools or the like) other than the software and/or search agents provided by GitLab or other generally available third-party web browsers;

Maybe we can get GitLab to provide REST APIs so GitLab Ultimate/Gold customers can user ORT to query gemnasium-db

GitLab is building API for gemnasium-db advisories see https://gitlab.com/gitlab-org/gitlab/-/issues/262400

GitLab just open-sourced a time-delayed clone of their security vulnerability data feed https://gitlab.com/gitlab-org/advisories-community (see also related https://gitlab.com/gitlab-org/gitlab/-/issues/326795)

Even if not present at https://github.com/nexB/vulnerablecode/blob/main/SOURCES.rst, VulnerableCode seem to have support for this, so I believe we're fine closing this in favor of using our VulnerableCode integration.


Don't add empty Sec-WebSocket-Protocol header

The request MAY include a header field with the name
|Sec-WebSocket-Protocol|.  If present, this value indicates one
or more comma-separated subprotocol the client wishes to speak,
ordered by preference.
-- The WebSocket Protocol (https://tools.ietf.org/html/rfc6455)

Passing an empty / neutral array should be the same as passing nil here.
The WebSocket API (in Browsers) also seems to treat null and [] the same.
Preferably the initializer signature should be protocols: [String] = [],
but that would make this a breaking change.

Thanks @sirlantis for your contribution!


24 Aug 2023 - Emerging Technologies Meeting Agenda

Date
24 August 2023 - 10 am EST / 3pm BST
Untracked attendees

Fullname, Affiliation, (optional) GitHub username
...

Meeting notices

FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact<EMAIL_ADDRESS>with any questions.

FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

[x] Convene & roll call (5mins)
[x] Display FINOS Antitrust Policy summary slide
[x] Review Meeting Notices (see above)
[x] Welcome & Announcements

[x] Updates on Blog
[x] Notices about upcoming events/deadlines

[x] POC Program

[x] Overview of existing blockers for ransom

[x] Deep Dive

[x] TraderX & ChatGPT Technical Demo

[x] Any other Admin
[x] Call to action

[x] POC Program
[x] Primers
[x] Call for spotlights

[x] AOB
[x] Thanks & Close Out

Zoom Details

https://zoom.us/j/98538837792?pwd=ZHg3QVVnaCtOT0tEZSs5c0hrZTg1dz09
Meeting ID: 985 3883 7792
Passcode: 152455

Join by Phone

Find your local number: https://zoom.us/u/adl5rhui4P

Patrick Downing | Morgan Stanley

Tadhg Wilson | ZNGLY

Conor Cassidy | Zngly | @cassidyconor1909

Charlie Greener | Theria

John Davies | Independent

Richard - Mobica

Ricardo Sueiras / AWS

András Velvárt - Response

Nick Williams / Morgan Stanley

Joe Zang / FNMA

Alvin Shih / Morgan Stanley

Polina Levyant | GSR Markets

Marco / Gedox

Win Morgan | FINOS

Mike / ZNGLY

** Three drivers we are working on now at ZNGLY on the further integration and adoption of GenAI into the workflow of content publishing is 1. Entitlement.   2. Taxonomy    and     3. Readiness - delighted to chat through any time - check out our integrations here https://www.synthesia.io/integration/zngly

Meeting minutes:
00:00:35 - The meeting begins, Keith welcomes participants, and James enters the room.
00:00:48 - Patrick Downing mentions recording the meeting.
00:01:21 - Keith discusses the music and mentions Charlie's presence.
00:02:04 - James talks about building a music playlist for calls.
00:02:18 - Laughter and random sounds.
00:03:18 - James welcomes attendees and introduces the theme.
00:04:38 - Discussion about starting calls with music.
00:05:40 - Kendall provides legal and conduct reminders.
00:06:46 - Keith gives information about upcoming events.
00:08:11 - A fantasy-themed introduction to the meeting's agenda.
00:08:29 - Introduction to the agenda and the flexible nature of the meeting.
00:10:03 - Keith announces the upcoming showcase by Matt Bain.
00:10:30 - Keith announces the new schedule for SIG meetings.
00:11:45 - Keith introduces the deep dive segment by Matt Bain.
00:15:14 - Matt demonstrates AI-powered analysis of application models.
00:20:39 - Matt discusses potential use cases of AI language models.
00:22:05 - Keith presents administrative details, Github repo, mailing list.
00:22:21 - Keith invites participants to take action after the meeting.
00:23:20 - Keith concludes the presentation and opens the floor for discussion.
00:24:10 - James McLeod references a question in the chat about the stability of Chat GPT and its non-deterministic nature.
00:24:21 - James raises the question of whether Chat GPT is stable and discusses the variance in its quality when run multiple times.
00:24:34 - Keith talks about his experience using Chat GPT for code reviews and vulnerability testing, leveraging its non-deterministic nature to explore various perspectives.
00:24:46 - Keith continues discussing the potential applications of Chat GPT for penetration testing and addressing challenges related to determinism.
00:25:04 - Keith refers to a presentation by Matt using Chat GPT for architecture discussions and mentions the need to enhance open source tools like LLAMA to be more robust.
00:25:22 - Keith opens the floor for others to share their views on the topic of Chat GPT's determinism and stability.
00:25:38 - Keith acknowledges a correction from Ricardo about LLAMA not being open source.
00:25:59 - Ricardo Sueiras expresses interest in the topic of AI and its simultaneous appeal and frustration due to its non-reliable nature.
00:26:17 - Ricardo discusses the challenges of using AI, especially in regulated industries that require repeatability and consistency.
00:26:35 - Keith shares his perspective on ChatGPT, seeing it as an assistant that offers alternative viewpoints rather than a fully reliable tool.
00:26:55 - Keith emphasizes the potential use of ChatGPT as an assistant and points out its limitations for full-fledged production.
00:27:24 - James McLeod asks a question to Ricardo and Keith about the differences between LLAMA and ChatGPT, as well as the challenges of open source AI.
00:27:29 - James requests clarification on LLAMA and open source AI models and their differences from proprietary models.
00:27:48 - James reflects on the importance of understanding terminology for those new to the topic.
00:27:55 - Keith asks Ricardo to elaborate on LLAMA and open source AI models.
00:28:01 - Ricardo explains the challenges of defining open source AI, including data and infrastructure considerations, and mentions efforts to define open source AI standards.
00:28:15 - Ricardo discusses the complexities of open source AI models and the differences between open source and open innovation.
00:28:49 - Keith, Ricardo, and Alvin share insights on open source AI, the challenges of sourcing information, and the importance of trust and transparency.
00:29:59 - Ricardo poses a question about the group's comfort level with using proprietary AI models as a foundation for open source tools.
00:30:50 - Keith reflects on the potential challenges of using proprietary AI models as an abstraction layer for open source tools.
00:31:06 - Alvin discusses the idea of using AI models as a starting point and mentions a project called Supercharger that aims to generate code with nonzero temperature.
00:32:04 - Alvin and Keith share insights on AI models and their potential applications, along with the challenges of trust, sourcing, and innovation.
00:33:14 - James McLeod suggests introducing participants and their roles to provide context for the discussion.
00:33:27 - Alvin Shih introduces himself as a developer from Morgan Stanley, specializing in open source and machine learning research.
00:34:17 - Ricardo Sueiras introduces himself as a developer at AWS with expertise in open source and innovation, focusing on open source strategy and emerging technologies.
00:35:10 - Keith asks for further contributions from participants on the topic of open source AI and proprietary models.
00:36:11 - Ricardo discusses the challenges of vendor lock-in, trust, and standardization in the context of open source AI and proprietary models.
00:37:04 - James McLeod shares his perspective on the benefits of open source, the importance of transparency, and the challenges of building trust in AI models.
00:40:52 - Carly Richmond emphasizes the importance of sourcing information, references, and documentation in AI models, along with the challenges of determining accuracy and building trust.
00:42:23 - James McLeod introduces the topic, reflecting on the recent London user group meeting where concerns were raised about the transparency of AI-generated responses.
00:43:01 - Ricardo Sueiras builds on the concern of transparency and control in AI systems, especially in the context of financial services. He highlights the challenges of understanding and influencing AI-generated responses.
00:43:37 - Ricardo Sueiras discusses the difficulties architects face in knowing who has control over AI systems and how to ensure reliable responses, given the growing complexity of these tools.
00:44:18 - The conversation shifts to the Brain Trust, an amalgamation of financial services members focusing on open source AI. Michael Wilson shares the progress his team has made in integrating generative AI with platforms and discusses the importance of taxonomy and entitlement in handling large-scale AI content.
00:45:40 - Michael Wilson explains their work in API integration and publishing AI content, emphasizing the significance of proper entitlement and organizational taxonomy to manage the increasing volume of AI-generated content.
00:47:08 - Michael Wilson provides information about how interested parties can join the Brain Trust and engage with the community. Keith J. O'Donnell elaborates on the structure of the Brain Trust and its involvement in various financial services discussions.
00:49:26 - Keith J. O'Donnell encourages interested individuals to reach out for membership details and highlights the benefits of being part of the Brain Trust and broader Finos community.
00:49:31 - Keith J. O'Donnell acknowledges the progress and playfulness in the Zenith meetings and announces upcoming themes.
00:49:40 - Participants discuss their experiences with generative AI tools. Ricardo Sueiras shares his observations about the effectiveness of such tools, particularly in working with established technologies versus emerging ones. The limitations and challenges of using these tools, as well as the importance of developer experience, are discussed.
00:52:04 - Michael Wilson commends the progress made in integrating AI with platforms and acknowledges the fun and innovation that participants bring to the discussions.
00:53:00 - James McLeod invites participants to share updates about their work, experiences, and experiments with AI tools.
00:53:19 - Velvárt András presents a different perspective, suggesting that generative AI tools can be helpful for experienced developers to learn new technologies and overcome hurdles. Ricardo Sueiras and others express their views on the potential benefits and limitations of these tools in different learning scenarios.
01:00:01 - Ricardo discusses copyright concerns related to code generated by AI tools. He highlights the recent legal developments, such as the inability to copyright content created solely by AI.
01:00:58 - Keith wraps up the meeting, summarizing the discussions and encouraging participants to stay engaged through the website and related activities.

Shared links throughout discussions:

supercharger wraps the LLM so that it writes variations of code and unit tests, runs them in a container, and then has a "reflection" stage to pick the best one

https://github.com/catid/supercharger/

Falcon 40b might be untainted, but there is a concern that Falcon 40b Instruct is not.

https://huggingface.co/tiiuae/falcon-40b-instruct

"Baize is an open-source chat model trained with LoRA. It uses 100k dialogs generated by letting ChatGPT chat with itself."

https://github.com/project-baize/baize-chatbot

An LLM can still hallucinate if the quality of the vector search results are poor.  Context-obedient LLMs are one direction being explored.

https://www.reddit.com/r/LocalLLaMA/comments/1408ued/airoboros_gpt4_instructed_contextobedient/?rdt=65232

Ontology vs Tags:

https://gwern.net/doc/technology/2005-04-shirky-ontologyisoverratedcategorieslinksandtags.html

How embarrassing. I didn't record my own attendance!
Keith O'Donnell | Feynic Technology
(Don't beat me up, Rimma!)

I can't believe I missed this meeting! GREAT PPT BACKGROUND EVER (speaking as a D&D player)

I can't believe I missed this meeting! GREAT PPT BACKGROUND EVER (speaking as a D&D player)

Check out https://github.com/finos/zenith/blob/main/Governance/SIG meetings/2023-08-24/Zenith - Aug 24 2023.pdf for the (non animated version of the) slides.


High Level Example

add an example that is high level, i.e where a node in the graph encapsulates a call to a docker container, as in FMRI prep

Link to fmriprep: https://fmriprep.org/en/stable/

(Discussed on Oct 13, to be added to sprint 7 as needed)


Change fields in Question models

Added null=True to sub_subject, and book fields
to solve the "NOT NULL constraint" error when creating
a new question without sub-subject or book
fix #42

Good update.
After going over the model.py code again, it seems that there are no more such cases in the other models


GH-602 user resource deprecation

Discussion is here - #623

There are a bunch of tests, using artifactory_user without the password provided. We will have to replace them before the merge if it will be decided to proceed.

We won't deprecate the resource, based on the conversation with our users. I'll update the documentation instead in a separate PR.


End call crash  (v1.1.4)

Describe the bug
On version, 1.1.4 try to end the call with the calling room.disconnect(), the crash is happens
Create room in ViewModel
    val audioHandler = AudioSwitchHandler(app)
    val room = LiveKit.create(
        appContext = app,
        options = RoomOptions(adaptiveStream = true, dynacast = true),
        overrides = LiveKitOverrides(
            audioHandler = audioHandler
        )
    )

Start a call
Waiting until UI is loaded
End a call

 fun endCall(){
        viewModelScope.launch {

            val sessionId = getSessionCode() ?: return@launch
            val endSessionResponse = conferenceManager.stopLiveKitConference(sessionId)

            if (!endSessionResponse.success) return@launch

            disconnect()
        }
    }

       fun disconnect() {
        if (room.state != Room.State.DISCONNECTED) {
            room.disconnect()
        }
        state = CallState.IDLE
    }

When I call stopLiveKitConference our server deletes the room and sends me a response of server call, after that I call the room.disconnect() and a crash happens.
But when I call delay like 2000 before of room.dissconnect(), and all works normally without the crash.
Expected behavior
Call must end
Device Info:

Device: [Google Pixel 2]

OS: [Android 11]

LiveKit SDK version: [1.1.4]
kotlin.UninitializedPropertyAccessException: publisher has not been initialized yet.
at io.livekit.android.room.RTCEngine.getPublisher$livekit_android_sdk_release(RTCEngine.kt:98)
at io.livekit.android.room.participant.LocalParticipant.unpublishTrack(LocalParticipant.kt:413)
at io.livekit.android.room.participant.LocalParticipant.unpublishTrack$default(LocalParticipant.kt:402)
at io.livekit.android.room.participant.LocalParticipant.cleanup(LocalParticipant.kt:566)
at io.livekit.android.room.Room.cleanupRoom(Room.kt:446)
at io.livekit.android.room.Room.handleDisconnect(Room.kt:465)
at io.livekit.android.room.Room.disconnect(Room.kt:248)
at -------------LiveKitCallViewModel.disconnect(LiveKitCallViewModel.kt:321)

Looks like there's a race condition here with the RTCEngine processing a leave message while Room.disconnect() is called. This might take some time to fix.
In the meantime, I think reversing the order might be a workaround (disconnecting the room object before deleting the room from the server).

Hey, any news on that @davidliu ?

Hey @benoitletondor, no news at the moment, I'll take another look at fixing this soon though.

Is it fixed in latest version? @davidliu

have same bug, it happens when I try to execute room.disconnect immediately after I'v got Room.State.CONNECTED


Speed improvement for getAllSheetFormulas

Calling getCellFormula on a cell which isn't of type FORMULA throws an java.lang.IllegalStateException
Exceptions are expensive so this change means that instead of using try/catch the cell type is checked before calling getCellFormula so that is only called when appropriate

Nice one, John! Thanks.


[DisplayServer] Hide internal window creation/deletion methods and expose some missing methods.

Hides create_sub_window/delete_sub_window/window_attach_instance_id methods are intended to be used by Window class, and using them directly will result in unusable, hidden window without Viewport (or broken Window if native window deleted or reattached).
Exposes missing global_menu_get_item_count and window_is_maximize_allowed methods.

Marking as compat breaking since technically it removes part of the API, but I don't expect anyone to be affected by the change.

Thanks!


Running commands while the machine works on a recipe.

It would be cool if I could for example /set ~1 ~1 ~ dirt at 20 ticks after the recipe starts.
Idk how doable it is tho

i think implemented in MM now


How to GetTree for a commit hash ?

Hello, I am wondering how to get tree changes from two commits hashes ?
Currently I am just doing this:
func main() {
	repo, err := git.PlainOpen(".")
	if err != nil {
		log.Fatal("can't open from path: ", err)
	}

	oldTree, e := object.GetTree(repo.Storer, plumbing.NewHash("82381fd4160e109a64e0d37688eb67a600a37a24"))
	newTree, f := object.GetTree(repo.Storer, plumbing.NewHash("d70914c1c1c57bc07f0975760db125878cc675c7"))

	changes, g := oldTree.Diff(newTree)

	fmt.Println(changes.String(), e, f, g)

}

local git log output:
gta on  master [!?] via 🐹 v1.12.4
❯ git log
commit 2adaec054efb50ff678b50c7f55e08a5d32253b9 (HEAD -> master)
Author: Alexis<EMAIL_ADDRESS>Date:   Wed Oct 16 11:41:32 2019 +0200

    init 3

commit d70914c1c1c57bc07f0975760db125878cc675c7
Author: Alexis<EMAIL_ADDRESS>Date:   Wed Oct 16 11:38:08 2019 +0200

    init 2

commit 82381fd4160e109a64e0d37688eb67a600a37a24
Author: Alexis<EMAIL_ADDRESS>Date:   Wed Oct 16 10:53:39 2019 +0200

    init

And the  output of the program is:
[] object not found object not found <nil>
So the two first errors are fill with that, I don't understand at all how to use GetTree.
Someone can help me ?

Attempt two:
Regarding the source code of GetTree it is using EncodeObject with plumbing.TreeObject, changing to CommitObject resolve to unsupported object typeerror.

Solved solution is:
	oldEncodeObject, err := repo.Storer.EncodedObject(plumbing.CommitObject, plumbing.NewHash("82381fd4160e109a64e0d37688eb67a600a37a24"))
	if err != nil {
		log.Fatal("can'tget old encode object: ", err)

	}

	newEncodeObject, err := repo.Storer.EncodedObject(plumbing.CommitObject, plumbing.NewHash("d70914c1c1c57bc07f0975760db125878cc675c7"))
	if err != nil {
		log.Fatal("can'tget new encode object: ", err)
	}

	old, _ := object.DecodeCommit(repo.Storer, oldEncodeObject)
	new, _ := object.DecodeCommit(repo.Storer, newEncodeObject)

	oldTree, _ := old.Tree()
	newTree, _ := new.Tree()

	changes, err := oldTree.Diff(newTree)
	if err != nil {
		log.Fatal(err)
	}


VMExtensionProvisioningError

Getting the following error when attempting to pass in storageAccountKey as a parameter or variable. Currently the only way around this is to store the Storage key in the json template, which is less than ideal.
"VM has reported a failure when processing extension 'CustomScript'. Error message: "Failed to download all specified files. Exiting. Error Message: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters. "." "

@seanmcdonnellblog Thank you for your post. Please let us know in case you have any specific request as the issue details do not clarify much. If you have a specific request about some documentation, please provide the link for the document so that we can help you better.

Hi AmangGarg, the issue is with the extension itself. When you attempt to use a parameter or variable for the storage key within the Custom Script Extension, it fails with the above message. However, if I add the key directly into the JSON script it works correctly?

Can you please help me with the link of document that you are following to encounter the above issue?

We will now close the issue . Should you have any query with specific document please open a new ticket providing the reference to the document and tag me on the same and we will help you further on the same.

I am running into this same issue where I cannot pass storageAccountKey as a parameter or variable but it works fine if I hardcode the value into the json.  Is there any resolution for this issue?


Error running Leo-III on SUMO.thf

I tried running Leo-III on the latest SUMO, using output from Sigma's THF translator (written by Christoph).  I'm getting
apease@apease-ThinkPad-L14-Gen-1:~/workspace/Leo-III/Leo-III-1.6$ bin/leo3 /home/apease/.sigmakee/KBs/SUMO.thf -t 60 -p
% [INFO] 	 Parsing problem /home/apease/.sigmakee/KBs/SUMO.thf ...
% OUT OF CHEESE ERROR +++ MELON MELON MELON +++ REDO FROM START
% SZS status SyntaxError for /home/apease/.sigmakee/KBs/SUMO.thf : Parse error in file '/home
/apease/.sigmakee/KBs/SUMO.thf' in line 1692:309. Unrecognized thf formula input 'APP'
But there's not string 'APP' in the file.  The context of line 1692 (1690-1694) is
thf(ax44,axiom,((subclass_THFTYPE_IiioI @ lAquaticMammal_THFTYPE_i @ lMammal_THFTYPE_i))).
thf(ax45,axiom,((! [PHRASE: $i]: ((instance_THFTYPE_IiioI @ PHRASE @ lPhrase_THFTYPE_i) => (? [PART1: $i,PART2: $i]: ((part_THFTYPE_IiioI @ PART1 @ PHRASE) & (part_THFTYPE_IiioI @ PART2 @ PHRASE) & (instance_THFTYPE_IiioI @ PART1 @ lWord_THFTYPE_i) & (instance_THFTYPE_IiioI @ PART2 @ lWord_THFTYPE_i) & (~ @ (PART1 = PART2)))))))).
%%% notTranslated: (documentation Motion EnglishLanguage "Any &%Process of movement.")
SUMO.thf.zip
I'm enclosing the full file and would be grateful for your help.

Hi Adam,
when you remove the "@" before "(PART1 = PART2)" it works; see below.
Best, C.
thf(ax44,axiom,((subclass_THFTYPE_IiioI @ lAquaticMammal_THFTYPE_i @
lMammal_THFTYPE_i))).
thf(ax45,axiom,((! [PHRASE: $i]: ((instance_THFTYPE_IiioI @ PHRASE @
lPhrase_THFTYPE_i) => (? [PART1: $i,PART2: $i]: ((part_THFTYPE_IiioI @
PART1 @ PHRASE) & (part_THFTYPE_IiioI @ PART2 @ PHRASE) &
(instance_THFTYPE_IiioI @ PART1 @ lWord_THFTYPE_i) &
(instance_THFTYPE_IiioI @ PART2 @ lWord_THFTYPE_i) & (~ (PART1 =
PART2)))))))).
On Mon, 30 May 2022 at 01:43, Adam Pease @.***> wrote:

I tried running Leo-III on the latest SUMO, using output from Sigma's THF
translator (written by Christoph). I'm getting
@.***:~/workspace/Leo-III/Leo-III-1.6$
bin/leo3 /home/apease/.sigmakee/KBs/SUMO.thf -t 60 -p
% [INFO] Parsing problem /home/apease/.sigmakee/KBs/SUMO.thf ...
% OUT OF CHEESE ERROR +++ MELON MELON MELON +++ REDO FROM START
% SZS status SyntaxError for /home/apease/.sigmakee/KBs/SUMO.thf : Parse
error in file '/home
/apease/.sigmakee/KBs/SUMO.thf' in line 1692:309. Unrecognized thf formula
input 'APP'
But there's not string 'APP' in the file. The context of line 1692
(1690-1694) is
thf(ax44,axiom,((subclass_THFTYPE_IiioI @ lAquaticMammal_THFTYPE_i @
lMammal_THFTYPE_i))).
thf(ax45,axiom,((! [PHRASE: $i]: ((instance_THFTYPE_IiioI @ PHRASE @
lPhrase_THFTYPE_i) => (? [PART1: $i,PART2: $i]: ((part_THFTYPE_IiioI @
PART1 @ PHRASE) & (part_THFTYPE_IiioI @ PART2 @ PHRASE) &
(instance_THFTYPE_IiioI @ PART1 @ lWord_THFTYPE_i) &
(instance_THFTYPE_IiioI @ PART2 @ lWord_THFTYPE_i) & (~ @ (PART1 =
PART2)))))))).
%%% notTranslated: (documentation Motion EnglishLanguage "Any &%Process of
movement.")
SUMO.thf.zip
https://github.com/leoprover/Leo-III/files/8794515/SUMO.thf.zip
I'm enclosing the full file and would be grateful for your help.
—
Reply to this email directly, view it on GitHub
https://github.com/leoprover/Leo-III/issues/71, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABGB4RL753232BXZVZDIXZDVMP6LTANCNFSM5XI36DQQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Alternatively, usage of "connectives as terms", as in negation applied to X, needs to be but in parentheses in THF (this was changed a few years ago, when I recall correctly), e.g., ...
(~) @ (PART1 = PART2)
... is valid THF and can be parsed by Leo-III.
As full formula:
thf(ax45,axiom,((! [PHRASE: $i]: ((instance_THFTYPE_IiioI @ PHRASE @ lPhrase_THFTYPE_i) => (?

Hope this helps!
Best, Alex

Many thanks!  I'll see if I can update the translation code