Cosmos IQueryable throws "LINQ query please set allowSynchronousQueryExecution true or use GetItemQueryIterator to execute asynchronously"

Is there an existing issue for this?

[X] I have searched the existing issues

Product
Hot Chocolate
Describe the bug
When returning a Cosmos Linq Queryable, HotChocolate throws because it appears to be attempting to access the IQueryable synchronously (rather than async)
[UseFiltering]
public IQueryable<MyModel> GetPartner() =>
    MyContainer.GetItemLinqQueryable<MyModel>();

Steps to reproduce

Connect your program to a cosmos database
Return a queryable ala MyContainer.GetItemLinqQueryable()
Exception happens when accessing that node

Relevant log output
GraphQL service exception for 'POST /graphql/UnknownOperation - 662a00b5500da5b6c5c6a01ee7142acd': To execute LINQ query please set allowSynchronousQueryExecution true or use GetItemQueryIterator to execute asynchronously
      System.NotSupportedException: To execute LINQ query please set allowSynchronousQueryExecution true or use GetItemQueryIterator to execute asynchronously
         at Microsoft.Azure.Cosmos.Linq.CosmosLinqQuery`1.GetEnumerator()+MoveNext()
         at HotChocolate.Execution.Processing.Tasks.ResolverTask.<>c__DisplayClass50_0.<ExecuteResolverPipelineAsync>b__0()
         at System.Threading.Tasks.Task`1.InnerInvoke()
         at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
      --- End of stack trace from previous location ---
         at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
         at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
      --- End of stack trace from previous location ---
         at HotChocolate.Execution.Processing.Tasks.ResolverTask.ExecuteResolverPipelineAsync(CancellationToken cancellationToken)
         at HotChocolate.Execution.Processing.Tasks.ResolverTask.TryExecuteAsync(CancellationToken cancellationToken)

Additional Context?
HC should try to load data from the IQuerayble asynchronously rather than synchronously
Version
13.0.5
Blockers to having a nice repository for searching/paging/filtering for Cosmos and HotChocolate

[ ] This issue
[ ] https://github.com/Azure/azure-cosmos-dotnet-v3/issues/3697
[ ] https://github.com/Azure/azure-cosmos-dotnet-v3/pull/3724
[ ] https://github.com/Azure/azure-cosmos-dotnet-v3/pull/3725

It seems like this is the code to blame:

Workaround:
using System.Collections;
using Microsoft.Azure.Cosmos.Linq;

namespace C2C.Exchange.GraphQLx;

public class GraphQueryable<T> : IExecutable<T>
{
    public GraphQueryable(IQueryable<T> source)
    {
        SourceQuery = source;
    }

    public IQueryable<T> SourceQuery { get; }
    public object Source => SourceQuery;

    public async ValueTask<object?> FirstOrDefaultAsync(CancellationToken cancellationToken)
    {
        using var iter = SourceQuery.ToFeedIterator();

        if (iter.HasMoreResults)
        {
            var result = await iter.ReadNextAsync(cancellationToken);

            return result.FirstOrDefault();
        }

        return default;
    }

    public string Print()
    {
        return SourceQuery.ToString() ?? string.Empty;
    }

    public async ValueTask<object?> SingleOrDefaultAsync(CancellationToken cancellationToken)
    {
        using var iter = SourceQuery.ToFeedIterator();

        if (iter.HasMoreResults)
        {
            var result = await iter.ReadNextAsync(cancellationToken);

            return result.SingleOrDefault();
        }

        return default;
    }

    public async ValueTask<IList> ToListAsync(CancellationToken cancellationToken)
    {
        using var iter = SourceQuery.ToFeedIterator();

        var list = new List<T>();

        while (iter.HasMoreResults)
        {
            var result = await iter.ReadNextAsync(cancellationToken);

            list.AddRange(result);
        }

        return list;
    }
}

    [UseSorting]
    [Authorize(Policy = AuthorizationPolicies.SystemReadPartners)]
    public static GraphQueryable<MyModel> GetPartners()
    {
        var query = MyContainer.GetItemLinqQueryable<MyModel>();

        return new (query);
    }

We check, if the queryable also implements IAsyncEnumerable than we will use the async variant. In the case of EFCore, they are implementing IAsyncEnumerable.

Does Cosmos implement IAsyncEnumerable?

Just double checked ... in the case of EFCore you can do the following, and that is what we do:
            if (source is IAsyncEnumerable<TSource> asyncEnumerable)
            {
                return asyncEnumerable;
            }

this is done in a middleware... the resolver task is kind of the last line of defense and there we will execute it in a task if no other way was found in the pipeline.
Looking at the docs the have this weird way with the iterator to fetch it. Strange that they do not implement IAsyncEnumerable.

What can be done are several things.... either a middleware specific for cosmos of a paging provider for cosmos.

Yeah, I think cosmos ought to implement Iasyncenumerable.. but you guys do have a ravendb provider, surely cosmos is more popular than that in 2023… right? 😅

Yeah, I think cosmos ought to implement Iasyncenumerable.. but you guys do have a ravendb provider, surely cosmos is more popular than that in 2023… right?

Not sure about that ... the raven community was very active and lots of people wanted support for that. We had also lots of requests for EfCore and MongoDB ... I would say you are the first to ask for cosmos :D

Just checked ... 6 issues including this ... and 5 where asking question for cosmos with EFCore ... so not a lot of demand. Demand as from questions on slack is:

Postgres
MongoDB
RavenDB

But if you want to do the work for the driver we will help you with that. The work for the MartenDB diver was also done by one of our community members. Interested to help on cosmos?

@michaelstaib I am interested in contributing it. I'm still struggling to figure out the best way to accomplish it with minimal use of attributes that have to be tacked on

We have a standard template for this. I can post you later a pr that shows how such a driver is implemented.

@michaelstaib any update on getting me that template?

I'm hitting this issue as well. What can i do to work around it?

I'm new to this library and also very much invested in CosmosDB. Can anyone tell me if this is a bad approach to fixing the OPs error
    [UseFiltering]
    public async Task<IQueryable<CoreDetaineeEntity>?> GetUsers([FromServices] Container<Users> users, IResolverContext resolverContext)
    {
        var query = container
            .GetItemLinqQueryable<Users>()
            .Filter(resolverContext)
            .ToFeedIterator();
        var list = new List<Users>();
        while (query.HasMoreResults)
        {
            var response = await query.ReadNextAsync();
            foreach (var item in response)
            {
                list.Add(item);
            }
        }
        return list.AsQueryable();
    }

It does work without the allowSynchronousQueryExecution set to true.

@onionhammer I'm also available if you need anything. I'd love to see cosmos officially supported. In the mean-time, is there any issues with my workaround to this? I've been using it for a few days and its worked fairly well.

We have a standard template for this. I can post you later a pr that shows how such a driver is implemented.

Any update on this?

Per nuget:

RavenDB Client: Per day average 3.3K
Marten: Per day average 2.1K
Cosmos: Per day average 40.2K

I'm also interested in a Cosmos DB provider - please don't let this get closed by the stale bot.

Same
On Sun, 24 Mar 2024 at 11:30, David Paul McQuiggin @.***>
wrote:

I'm also interested in a Cosmos DB provider - please don't let this get
closed by the stale bot.
—
Reply to this email directly, view it on GitHub
https://github.com/ChilliCream/graphql-platform/issues/5958#issuecomment-2016763842,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABLPDEODX3XX2X5KCI5IVTYZ2TKVAVCNFSM6AAAAAAVZQ55BSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJWG43DGOBUGI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Hi @onionhammer
I am also interested in this. did you guys anywhere in the end? I can help out with getting the PR completed - if you need a hand.
tvm

Unfortunately not, discussed it a few times with @michaelstaib , he seemed to think it was relatively easy but I can't remember any simple samples coming out of it

var list = new List();
while (query.HasMoreResults)
{
var response = await query.ReadNextAsync();
foreach (var item in response)
{
list.Add(item);
}
}
return list;

Thanks for the reply @onionhammer.
The original code you quoted, which part of is it in HC?
Are you still using Cosmos SDK with HC or did you change to use EF Core for example - if i may ask? I do wonder whether it's better to use EF core with HC if one had the choice.
thanks

@suneths I am still using cosmos SDK with hotchocolate, but I have written a significant amount of ugly glue code in my app to make paging/filtering/sorting work

@suneths I am still using cosmos SDK with hotchocolate, but I have written a significant amount of ugly glue code in my app to make paging/filtering/sorting work

Thanks @onionhammer.
asking the obvious, but would this code disappear with EF core in place?
I guess there maybe other considerations, but do you have a choice to switch to EF core? - you don't want to because of architectural or other design reasons.
Many thanks.

EF core provider is also non-complete so you'll find things not working occasionally.

Sadly so is the Cosmos SDK

EF core provider is also non-complete so you'll find things not working occasionally.

Sadly so is the Cosmos SDK

My team hasn't hit any walls with it as of yet. That can change at anytime, however.

Thanks @Arcalise08 @onionhammer for the replies. let's see whether @michaelstaib decides to add some love to Cosmos sdk in v14 :)

I will say, though, We ultimately decided to use REST instead of GraphQL. Though using my above solution did work, It came with some serious downsides. For one we couldn't control how the query was executed, so again, Cross-partition queries were difficult to stop.
If there is to be any support for the Cosmos.Sdk, Finding ways to avoid cross-partition queries should be a top priority. Partitioning should not just be some abstracted away concept. Its a huge deal to consumers of Cosmos.

I will say, though, We ultimately decided to use REST instead of GraphQL. Though using my above solution did work, It came with some serious downsides. For one we couldn't control how the query was executed, so again, Cross-partition queries were difficult to stop.
If there is to be any support for the Cosmos.Sdk, Finding ways to avoid cross-partition queries should be a top priority. Partitioning should not just be some abstracted away concept. Its a huge deal to consumers of Cosmos.

interesting. thanks for that. but isn't this down to the partition key and the type of queries though? i guess with REST you can control the type of querying a bit more?

Its been almost a year since I did the initial testing, So my memory is a bit fuzzy on what the actual issues were.
We liked graphql because of its ability to query pretty much anything on any field of a class. So our workflow got really easy, No, longer needed to support large filter classes for REST.  In REST we would have a repository which, would have every query we could execute like so

GetActiveUsers
GetUsersWhichMiddleNameStartsWithB

These repos enforce the partition rules as well. So if, for instance, If Users were partitioned by a Facility, we would require that facilityId in the repo before running the query.
GraphQL, at least from what I remember, Simply gave us an IQueryable we would give to cosmos directly. Altering it caused problems. Which means clients could execute cross partition queries unchallenged. And again, This problem is only on that special "Query off any field" method of querying.

Its been almost a year since I did the initial testing, So my memory is a bit fuzzy on what the actual issues were.
We liked graphql because of its ability to query pretty much anything on any field of a class. So our workflow got really easy, No, longer needed to support large filter classes for REST. In REST we would have a repository which, would have every query we could execute like so

GetActiveUsers
GetUsersWhichMiddleNameStartsWithB

These repos enforce the partition rules as well. So if, for instance, If Users were partitioned by a Facility, we would require that facilityId as an argument to those methods in the repo before running the query.
GraphQL, at least from what I remember, Simply gave us an IQueryable we would give to cosmos directly. Altering it caused problems. Which means clients could execute cross partition queries unchallenged. And again, This problem is only on that special "Query off any field" method of querying.

Got it. Thanks very much for the detail reply!

Sure thing. I will likely dig back into it within the next week or two and see what changes have been made to address the issues. I'm happy to post my findings in another issue with a more fitting name. Or here if you prefer.

Sure thing. I will likely dig back into it within the next week or two and see what changes have been made to address the issues. I'm happy to post my findings in another issue with a more fitting name. Or here if you prefer.

Thanks. I'd definitely be interested to see your findings.

This is fixed with HotChocolate 14 preview 117

https://github.com/ChilliCream/graphql-platform/pull/7152

This one is fixed in 14 ... we will soon publish docs for this.

Still seeing the same issue in 14 (Havent came across updated docs)
Also, this seems like it should be dead simple.. But I cant get it to work with the workaround...
    [UseFiltering]
    public async Task<IEnumerable<UserDetails>> GetDetainees([Service] UserContainer users, IResolverContext context)
    {

        var result = users.Container.GetItemLinqQueryable<UserEntity>(
                false,
                null,
                null,
                new CosmosLinqSerializerOptions { PropertyNamingPolicy = CosmosPropertyNamingPolicy.CamelCase }
            )
            .Filter(context);

        var query =  result.ToFeedIterator();
        var items = await query.ReadNextAsync();
        return items.Resource;
    }

My method returns a UserDetails, but my queryable is against UserEntity. So the filtering just is ignored entirely. Surely there's a way around this, as we don't want to expose all the sensitive user information to a client.


Added key backup for rekey endpoint

This commit adds the ability to backup sealing keys during a rekey
operation if there are PGP keys provided. This makes it easier to manage
automating the setup of Vault by not requiring to send the generated
sealing keys to the necessary parties at build time.

Thanks for the PR!

No problem, thanks for the great library!


name resolution with tries!

I had a (perhaps obvious) realization that some trie-like structure might be the magic bullet that makes name resolution not be a janky mess. After thinking a bit about it, I think the core thing that makes name resolution complicated is this question of "finding some prefix (reachable from some given place) that makes a given suffix a valid name". Basically, we're given some incomplete name, like b.c, plus a bunch of names, like a.b, a.b.c, a.b.e, a.b.f.g.b.c, and some context (like a.b.f.g), and we want to find the largest slice of this context we can prefix to the incomplete name that makes it a valid name in the entry.
This sounds an awful lot like a trie, I think! The declaring pass would construct the trie with the resolution pass using it for search. I think this is something that should be explored a bit, since the current name resolver is a fragile thing I'm afraid of touching.

Hmm, maybe I'm misjudging where the complexity lies. After all, concatenating a prefix with a name, looking it up in a hash table, popping an element from the name, and repeating the process isn't particularly hard or error prone.

Okay, attempt number 2 at identifying the tricky bit led me to believe the major difficulty is in actually constructing the output of the declaration pass itself. Like, conceptually, it's pretty easy - just build a tree/ie, but it seems like this gets kind of hairy in the details. IIRC the reason hir::Decls::{values, types} are Vecs and not HashMaps is because the name resolution pass depends upon declaration and resolution traversing the program in the same order. That isn't bad, per se, but it's not great. I think a (hopefully better) solution would be to do all of the name-interning logic during the resolution pass, and only care about building the name-tree structure during the declaration pass.


Overview card tooltips missing usage/request info

Fixed chart names in order to display the correct custom tooltips.
Fixes #1238
Overview usage chart

Historical charts

Codecov Report

Merging #1243 into master will not change coverage.
The diff coverage is 83.33%.

@@           Coverage Diff           @@
##           master    #1243   +/-   ##
=======================================
  Coverage   75.08%   75.08%
=======================================
  Files         231      231
  Lines        4536     4536
  Branches      884      884
=======================================
  Hits         3406     3406
  Misses        996      996
  Partials      134      134

Impacted Files
Coverage Δ

src/components/charts/costChart/costChart.tsx
7.5% <0%> (ø)
:arrow_up:

...charts/historicalCostChart/historicalCostChart.tsx
84.21% <100%> (ø)
:arrow_up:

src/components/charts/usageChart/usageChart.tsx
83.47% <100%> (ø)
:arrow_up:

...arts/historicalUsageChart/historicalUsageChart.tsx
84.25% <100%> (ø)
:arrow_up:

src/components/charts/trendChart/trendChart.tsx
83.16% <100%> (ø)
:arrow_up:

...arts/historicalTrendChart/historicalTrendChart.tsx
85.56% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Sik-Ho Tang | Brief Review -- RCNN: Recurrent Convolutional Neural Network for Object Recognition.

Sik-Ho Tang. Brief Review — RCNN: Recurrent Convolutional Neural Network for Object Recognition.

Overview
Recurrent Convolutional Neural Network for Object Recognition. RCNN, by Tsinghua University. 2015 CVPR, Over 1000 Citations.
Image Classification, CNN, RNN.
A Recurrent CNN (RCNN) is proposed for image classification, where the convolutional layer is recurrently used for multiple times.

Recurrent CNN (RCNN)

RCNN Overall Network Architecture.
Recurrent Convolutional Layer (RCL)

The key module of RCNN is the recurrent convolutional layer (RCL).

For a unit located at $(i, j)$ on the kth feature map in an RCL, its net input $z_{ijk}(t)$ at time step $t$ is given by:

The activity or state of this unit is a function of its net input:

where f is the rectified linear activation (ReLU) function:

and g is the local response normalization (LRN) function in AlexNet:

It is claimed that LRN is used for preventing the states from exploding. Maybe we can replace LRN with BN or LN, etc.
RCNN

RCNN Overall Network Architecture.
Left: An example with $T=3$. When $t=0$ only the feedforward input is present.
The final gradient of a shared weight is the sum of its gradients over all time steps.
Right: To save computation, layer 1 is the standard feed-forward convolutional layer without recurrent connections, followed by max pooling. On top of this, four RCLs are used with a max pooling layer in the middle. Both pooling operations have stride 2 and size 3.
The output of the fourth RCL follows a global max pooling, yielding a feature vector representing the image.
Finally a softmax layer is used to classify the feature vectors to $C$ categories whose output is given by:

The cross-entropy loss function is used for training.
If we unfold the recurrent connections for $T$ time steps, the model becomes a very deep feed-forward network with $4(T+1)+2$ parameterized layers, where $T+1$ is the depth of each RCL.

Results
CIFAR-10

Comparison with existing models on CIFAR-10.
Three models with different $K$’s were tested: RCNN-96, RCNN-128 and RCNN-160. The number of iterations was set to $3$.
All of them outperformed existing models such as Maxout and NIN, and the performance was steadily improved with more features maps.
CIFAR-100

Comparison with existing models on CIFAR-100.
Again RCNN-96 outperformed the state-of-the-art models with fewer parameters, and the performance kept improving by increasing $K$.
MNIST

Comparison with existing models on MNIST.
RCNN-64 outperformed other models using only 0.30 million parameters.
SVHN

Comparison with existing models on SVHN.
RCNN-128 had much fewer parameters than NIN (1.19 million versus 1.98 million), and increasing $K$ kept improving the accuracy.

Similar idea is used in PolyInception Modules as in PolyNet, and PolyNet got 2nd Runner Up in ILSVRC 2016 Image Classification.

Reference

[2015 CVPR] [RCNN] Recurrent Convolutional Neural Network for Object Recognition.


What is .sb file and how do i convert radar data to .sb format?

Hey Asishinuzuka,
a .sb File is a stored python object wich contains samples for the training/evaluation steps. It does also provide some helpfull functions, like removing Data without rainfall or less than a specific threshold.
To create a .sb File, you first need to convert your Radardata Binarys to images (PNGs), this can be done by using the converter DWDtoPngScript.py in Data/
after this you can create an .sb File by using an Data_converter object, wich can be found in simple_image_script.py (same directory)
To create the Object you have to set some Parameters like:

Path to all PNGs
max. number of samples you want to create
number of timesteps/images for input data
number of timesteps/images for output data (Label)

other parameters are optional and can be used to cut and scale the images.
after creating your Object you can store it as .sb File by calling the .save_object() method
a German introduction and code can be found at this jupyterNotebook

Thank you so much for such a detailed answer.


What's the main practical difference between 256 and 512 models?

There are two models available: gs://sf-ctrl/seqlen256_v1.ckpt/ or gs://sf-ctrl/seqlen512_v1.ckpt/
What is the fundamental difference between the two?

Only difference is the sequence length used during training. The 512 model uses double the number of tokens as the 256 one for computing the attention but half the batch size (to prevent OOM). Since we are operating at (almost) word level, 256 is plenty. You can always generate past this by sliding windows over.
Please reopen if this doesn't solve the question.


feat(image): add basic operation tasks

Because

the Image operator requires crop, resize, and concat function

This commit

implement the functions
refactor the code and adopt the latest concurrentExecutor

Ported to https://github.com/instill-ai/pipeline-backend/pull/684


IOError: [Errno -9999] Unanticipated host error

#!/usr/bin/env python3
Requires PyAudio and PySpeech.
import speech_recognition as sr
Record Audio
r = sr.Recognizer()
with sr.Microphone() as source:
print("Say something!")
audio = r.listen(source)
Speech recognition using Google Speech Recognition
try:
# for testing purposes, we're just using the default API key
# to use another API key, use r.recognize_google(audio, key="GOOGLE_SPEECH_RECOGNITION_API_KEY")
# instead of r.recognize_google(audio)
print("You said: " + r.recognize_google(audio))
except sr.UnknownValueError:
print("Google Speech Recognition could not understand audio")
except sr.RequestError as e:
print("Could not request results from Google Speech Recognition service; {0}".format(e))

Hi @Dinesh2903,
Please fully fill out the issue template - it contains important fields for diagnostic information. Feel free to re-open the issue once that's done!


DTVF: Leader Lines

Add support to (optionally, via meta-data) show labels and icons for sites with leader lines (example here).

This is possible via Mapbox styling. No changes within the framework should be needed.


Mapping CAPS to CTRL(LEFT) is unreliable

Microsoft PowerToys version
v0.63.0
Running as admin

[ ] Yes

Area(s) with issue?
Keyboard Manager
Steps to reproduce
In Keyboard Manager, map CAPS LOCK to CTRL (LEFT).
✔ Expected Behavior
I should be able to use shortcuts like CTRL-t to open a new tab in Edge or CTRL-f in Visual Studio to find.
❌ Actual Behavior
Sometimes the press of the CAPS key gets ignored, so you end up with just an f in your text editor if you're doing CTRL-f in Visual Studio.  And sometimes the CAPS key gets activated as caps lock so then you're stuck in one case.  I think the stateful nature of CAPS not being like other modifier keys is confusing Keyboard Manager.  Or the hardware is interfering.
Other Software
none

Thank you for your report.
Could you please:

provide the screenshot of Keyboard Manager?
Send the report from Report bug:

/needinfo

captured just now after hitting CAPS-d in Visual Studio (expecting CTRL-d but instead just a d got typed into my editor)

[PowerToysReport_2022-10-14-18-36-59.zip](https://github.com/microsoft/PowerToys/files/9790917/PowerToysReport_2022-10-14-18-36-59.zip)

can you verify if this is still an issue with v0.73.0 /needinfo


Sidebar tree and tab height messed up on Windows

Hello,
Is there any way to fix the misalignment between height of sidebar tree items and tab height?
I can't use it as it is now, it's the only thing I see... ha.

No. sidebar_control and layout_control form a 2-column layout. The latter containing edit_controls consisting of tabset_control and views.
Whatever you try, as soon as sidebar is scrolled by some amount, selections might look off as displayed in screenshot.


Debugging 32-bit Windows software on 64-bit Ghidra

So, I've had a bit of a dilemma. When I try to debug a 32-bit Windows binary with Ghidra on a 64-bit Windows OS, I get "SECURE: Not allowed to be loaded: C:\Windows\System32\dbghelp.dll" in the interpreter and breakpoints seem to be ignored, labeled as "INEFFECTIVE."
Doing some research, it's most likely a problematic difference with 64 bit and 32-bit. Unfortunately, Java 8 seems to be the last 32-bit runtime for Windows. Is there a way to fix this issue?

@ryanmkurtz No, I have not unfortunately.

@Schala Do you still need it triaged on our end?  It has been in limbo in the Waiting on Customer state because @d-millar was waiting for your response about your JDK.
Would you like to continue the dialog or shall we close the ticket?

Oh shhot! Sorry! Yes. I am using JDK 17 for this.

OK, well, still not clear that I understand what's going on, but here's my current understanding....
When you run javaw.exe on Windows, it automatically loads dbgcore.dll and dbghelp.dll, I believe, primarily for the purpose of symbol resolution.  By default, it will grab the versions in the WIndows/System32 directory.  Dbgeng and/or dbgmodel are loaded via JNA during the debugger start-up process.  Native.loadLibrary (used by the debugger), generally speaking, will respect the "jna.library.path" variable passed to java.  However, if the versions of dbgcore/help loaded by java directly are inconsistent with the versions of dbgeng/model, it appears the loads will fail and the debugger will hang.
You would think you could influence the load process for dbgcore/help with something like "-Djava.library.path" or just setting "Path", but these appear to have little affect.  I think the path is at least partially hardwired somewhere, so the only way to override the System32 versions of those libraries is to copy them into the bin directory that javaw.exe lives in.  If you do that, you can either copy the rest of the debugger dll's into jdk/bin or use "-Djna.library.path" to direct the JNA load to the correct versions.
It's a shame this is such a complicated mess, but seems to be unavoidable in its current state.

Will do, thank you! I'll get back to you once I try this out


csv reader is probably too agressive in trying to turn everything to floats.

should be some way to use the data type, or the default value if no type is present, to make a good guess as to whether its appropriate to try_float

Fixed here


refactor  mouse event handlers

Separated concerns of multiple mouse events: onMouseDown(for selection), onClick, onDragStart, onDrag, onDragStop in <NodeWrapper/>. Remove some duplicated "if condition" and "state management" code that may cause potential bugs (like this one: https://github.com/wbkd/react-flow/issues/1985).
Added some comments, I hope that's acceptable.
⚠ Breaking change: specifying a selector to be used as the drag handle will not prevent the whole node from being selected. For compatiblity reasons, you can use nodrag classname to explictly set some elements in the node nonselectable. But there're two problems here:

This classname api cannot handle dynamically added elements with nodrag classnames, I'd prefer a hook api.
If we use this classname api and somehow fix the problem in 1, the classname should still be noselect instead of nodrag. I don't think it's a good idea to not distinguish these two actions.

Stop mousedown propagation will break many things, I'll mark this PR as draft until I fix it.

Yay! I'll check!

Hey @Sec-ant Thanks for your work here but too many things changed in the meantime. Please feel free to open again!


Issues on Mac - Login flickering screen with issue in url 'error=login_required&error_description=Silent+authentication+was+denied.+The+user+must+first+sign+in+and+if...

Please follow the issue template below. Failure to do so will result in a delay in answering your question.

Library

[ ]<EMAIL_ADDRESS>
Framework
React v16.5
Description
Once user tries to login to the application screen is flickering for some time. This behavior started recently. In the URL i can see the issue as follows.
https://myexample.com/#/error=login_required&error_description=Silent+authentication+was+denied.+The+user+must+first+sign+in+and+if.
Security
Is this issue security related?
Regression
No
Configuration
Please provide your MSAL configuration options.
const config = {
      auth: {
        clientId: 'ClientID',
        redirectUri: redirectUri,
        postLogoutRedirectUri : redirectUri
      },
      cache: {
        cacheLocation: "localStorage",
        storeAuthStateInCookie: true
      },
      system: {
        logger: logger,
        tokenRenewalOffsetSeconds: 300
      }
    }

    this.loginRequest = {
      scopes: ["user.read"],
    }
    this.idTokenRequest = {
      scopes: [ClientID]
    }

this.app = new Msal.UserAgentApplication(config);

//login
this.app.loginRedirect(this.loginRequest);

Expected behavior
User should be able to login without redirect and screen flickering
Browsers
Chrome, Safari.

@AbhaysinghBhosale Can you clarify what you mean by "flickering"? Is your app going in a login loop (i.e. redirecting to the login page, back to your app, back to the login screen, etc).
Do you have third-party cookies disabled?

The issue is once page redirected back from microsoft.login website it land on dashboard, but this occurs multiple times without redirecting to Microsoft domain. Yes app is going in login loop and login  callback get called multiple times. But user just see flickering on screen instead redirecting to microsoft.login . In local storage i can see multiple login request, states,interaction inProgress.
Also app.login getting called twice some times.

@AbhaysinghBhosale I see. Can you confirm whether or not third-party cookies are disabled? It is a known issue that disabling third-party cookies (e.g. via Safari ITP) will cause a login loop.

@jasonnutter no there is not configuration for disabling third party cookies.

@AbhaysinghBhosale I'm referring to the third-party cookie options on the browser.
Safari: https://support.apple.com/guide/safari/manage-cookies-and-website-data-sfri11471/mac
Chrome: https://support.google.com/chrome/answer/95647?co=GENIE.Platform%3DDesktop&hl=en
The behavior you describe is the behavior we expect to see when third-party cookies are disabled in the browser. The error you mention would be the expected error when making an acquireTokenSilent call in this scenario.

No, i have not disabled third party cookies, also one of application user received this issue and dont know cookies were disabled or not.
But this issue is reported at the time of login and i call acquireTokenSilent method after 1 hr of login. So if its issue with acquireTokenSilent they it should occur while renewing token instead the time of login.

I have raised a similar bug to https://github.com/syncweek-react-aad/react-aad/issues/211 which I think it might be a msal issue.
My case is when I have Dev and QA env and user credentials that can log into one and not the other. So for example:

I log into Dev
Navigate to QA env now
Stuck in a redirect loop and I have error in the url. I think it is not checking that the first attempt failed and trying to authenticate again.

This is the error I get in the url
http://localhost:3000/login#error=interaction_required&error_description=AADSTS50105%3a+The+signed+in+user+%27%7bEmailHidden%7d%27+is+not+assigned+to+a+role+for+the+application

@AbhaysinghBhosale @zsid Can you both provide a Fiddler trace for the behavior you are seeing? Thanks!

@jasonnutter  - this is what i get in fiddler
HTTP/1.1 302 Found
Cache-Control: no-cache, no-store
Pragma: no-cache
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Expires: -1
Location: http://localhost:3000/login#error=interaction_required&error_description=AADSTS50105%3a+The+signed+in+user+%27%7bEmailHidden%7d%27+is+not+assigned+to+a+role+for+the+application+%27client_id%27(Dev).%0d%0aTrace+ID%3a+907851ba-1776-4656-84a5-d1a0ded73200%0d%0aCorrelation+ID%3a+6c248312-887b-4f85-857a-26ff84015351%0d%0aTimestamp%3a+2020-02-27+17%3a26%3a46Z&error_uri=https%3a%2f%2flogin.microsoftonline.com%2ferror%3fcode%3d50105&state=e583211c-3b4a-4dea-a17d-6dafefb10f0e
Vary: Accept-Encoding
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
x-ms-request-id: 907851ba-1776-4656-84a5-d1a0ded73200
x-ms-ests-server: 2.1.10104.13 - DUB2 ProdSlices
x-ms-clitelem: 1,50105,0,,
P3P: CP="DSP CUR OTPi IND OTRi ONL FIN"
Set-Cookie: buid=AQABAAEAAABeAFzDwllzTYGDLh_qYbH8jAIpI4seyTdPNdf9XqzCIutd_bzjPVyYW3o6JJQ-ioKEP9y4vy14BDx9GYOhdE4T-bIBNc8-9HDrVP1WtLCjIEzyAtEb8oyoLZPHp_uzJYcBhUd8WOqawFiiHqC58h3nucxyZlYbdo2BOGZQpgaD1qt6Zzu0NnGkMxk5u4BIHpogAA; expires=Sat, 28-Mar-2020 17:26:46 GMT; path=/; secure; HttpOnly; SameSite=None
Set-Cookie: fpc=AubIJxEQeW1KiXCt5-6XmnHBhmevAQAAAKjw6dUOAAAAE7C--A4AAADE8unVDgAAAA; expires=Sat, 28-Mar-2020 17:26:46 GMT; path=/; secure; HttpOnly; SameSite=None
Referrer-Policy: strict-origin-when-cross-origin
Set-Cookie: x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly
Set-Cookie: stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None
Date: Thu, 27 Feb 2020 17:26:46 GMT
Content-Length: 457

@zsid That particular error needs to be resolved an admin: https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/application-sign-in-problem-federated-sso-gallery#user-not-assigned-a-role
Have you gone through those steps?

@AbhaysinghBhosale I think I'm confused about what is going on. The error you mention (error=login_required&error_description=Silent+authentication+was+denied.+The+user+must+first+sign+in+and+if.) is one that would be sent when calling acquireTokenSilent, which you say is being done one hour after login?

Call loginRedirect
Wait one hour, call acquireTokenSilent
Receive the login_required error

Is that correct? If not, can you please explain step-by-step what is happening?
And note, that generally speaking, if you receive an error for login_required or interaction_required when calling acquireTokenSilent, you should then call acquireTokenPopup or acquireTokenRedirect, as the user will be unable to acquire a token until they have performed some interactive steps (e.g. login, provide consent).

No issue is that error occur on login itself and not on acquireTokenSilent as before calling this acquireTokenSilent i check token expiry time and if its near to expiry then only this method gets called.
following is the error case.

Call loginRedirect

User redirected back to website(screen flicker here) and user get logged in after 2-3 times flickering.

Now if i capture video and see while screen flicker it keep changing url 2 3 times which causing flickering. while screen flicker this login required error is there in url.
Does msal automatically call acquireTokenSilent?
One more issue
After login msal sending an cookie with each API call. that cookie is too long causing http 431. ref https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/1316.
This causing issue on prod and need to fixed as soon as possible.

@jasonnutter, this is a valid use case for us. Only few users within our organisation will have access to our application. We would like to show an error page to the rest of the users that they are not authorised to use the application.
How can we do this?

@AbhaysinghBhosale

First, you do not need to manually check the expiry time of the token, as acquireTokenSilent will handle that for you. So you should just call acquireTokenSilent right before you need a token, and let it figure out whether or not you need a new token (which it will acquire for you).
No, MSAL does not automatically call acquireTokenSilent. The symptoms you describe (and specifically the error message you mention) occur when a user gets logged in (with third-party cookies disabled) and then your app attempts to call acquireTokenSilent. MSAL returns the login_required error you mention, since those third-party cookies are what AAD needs in order for acquireTokenSilent to work properly. If you could share a Fiddler trace and/or the video of the flickering, that would be helpful (email is in my profile).
#1316: Yep, that is a known issue that we are planning to fix soon.

@zsid If you want to show an error page specifically for that scenario, you can inspect the error response (in handleRedirectCallback) and perform the desired business logic based on that response.

@jasonnutter Shouldn't the above case be handle at the Idp level? Instead of the login/select user screen, have a screen saying you don't have access to the app or you haven't been assigned to the app. Is there a way to set that up?

@andrantis Many errors are handed back to the application to handle, and I'm not familiar with a way to configure that behavior, unfortunately.

Closing. Let us know if this is still an issue.


Install fails with missing "logs" table

I'm trying to do a clean install and when I run composer install --no-dev I get an error about a missing "logs" table.
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover

In Connection.php line 664:

  SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation "logs" does not exist
  LINE 1: insert into "logs" ("type", "function", "line", "text", "upd...
                      ^ (SQL: insert into "logs" ("type", "function", "line",
   "text", "updated_at", "created_at") values (notice, App\Configs::hasImagic
  k, 171, hasImagick : false, 2019-04-28 05:54:48, 2019-04-28 05:54:48) retur
  ning "id")

The same error if I try php artisan migrate:
# php artisan migrate

In Connection.php line 664:

  SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation "logs" does not exist
  LINE 1: insert into "logs" ("type", "function", "line", "text", "upd...
                      ^ (SQL: insert into "logs" ("type", "function", "line", "text", "updated_at", "created_at") values (notice, App\Configs::hasIm
  agick, 171, hasImagick : false, 2019-04-28 05:57:31, 2019-04-28 05:57:31) returning "id")

That error is just not possible: because our CI with Travis is getting through it.
If you have an error when doing php artisan migrate it means that you are most likely missing dependencies in php. Something like php-pdo.
Can you double check you have all the required dependencies?
Another solution would be to install php-imagick but I guess this would still not solve the problem. :)

All the required dependencies were installed including php-pdo, after installing php-imagick it worked fine though.

I will double check the install because php-imagick should only be a dependency.


sort workflows by total_conditions_satisfied

coverage: 92.91% (+0.004%) from 92.906%
when pulling 6a7719f92ef36b368c09d3228ba86dddd2d19235 on antgonza:sort-workflows-by-total_conditions_satisfied
into 02dc7a044aeff6a8904fcd1b5e6023995b900031 on qiita-spots:dev.


Possible event handler leak

See https://github.com/pull-stream/stream-to-pull-stream/blob/3a06f5a0717930e62c7f6c300ceacd6dbfd80a5c/index.js#L35
Shouldn't that be removeListener instead of on? As it stands, it's just re-attaching the onClose handler a second time when it should be cleaning things up.

+1


Log-Cache consume all of the memory on vm during scaling out

Hi all,
last week we decided to scale the whole loggregator out from 2 to 3 AZ and faced an issue on a large landscape. On that landscape we had 50 log-caches in total, 25 in AZ1 and 25 in AZ2. After scale out there will be 20 log-caches in each AZ1,2,3, so 60 in total. Our bosh update parameter max-in-flight is set to 2.
Bosh deploy process:

Creating missing log-caches: everything works fine
Deleting the extra log-caches in Z1: other nodes which route the logs to the deleted vms start to increase the memory consumption from around 60% -> 100%.

Updating the first log-cache in Z1: the updated vm tried to connect to the nodes in Z3 and failed, the memory consumption from 0% -> 100%.

We ssh to the log-caches and figure out that the job log-cache ate all of the memory. Afterwards bosh agent cannot work and the instances became unresponsive agent state. We tried to iteratively execute bosh deploy with --fix flag to let bosh recreate those unresponsive vms and finally successfully updated all the log-caches nodes. Then all the log-caches work well and become calm down again.
During reproducing the memory exhausting, there are following findings:

All of the node ip addresses are hard coded in bpm.yml file during bosh templating. And health of nodes will only be checked once during starting of log-cache process by pinging the other nodes. The cluster will not kick the unhealthy instance out when it is afterwards down.
Log-cache will allocate a 10,000 capacity one-to-one diode as batch-buffer for each peered node. It will cause problem during update since the cached envelops will be cached in those diodes until they are successfully routed to the peered nodes and these diodes are not limited by the parameter MEMORY_LIMT_PERCENT.

As a short term solution, we would like to patch the log-cache release: add the bpm memory limit in bpm.yml to hard limit the memory consumption of log-cache job.

#90 <- I have created a PR for this issue.

Thanks for sharing. A few things on the general issue.

I suspect if we're leaking data, that the leaked data might be found in the grpc buffers rather than the diodes.

While we store data in these one-to-one diodes, they should be limited to 600,000 envelopes in total. Which, if we're talking about say, 5Kb envelopes on average, that's around 3GB per node. Are you using very small nodes for log-cache? Have you seen/instrumented log-cache to show this?

I think while it would be nice to support larger topology changes easier, and be more resilient against large scale vm outages, I would suggest against doing such a large topology change with that low of a max_in_flight. It seems likely to lead to the same problems you have experienced.

I'm concerned with the way that this is configured in the pr. Having it a static numerical limit I believe makes it difficult and problematic for operators to manage this configuration as it is not responsive to changes in vm size.

Hi @Benjamintf1, thanks for reviewing the topic.

Yes, grpc buffer could be also the part leaking data. The log-cache instance is vm with 60GB memory. But in the worst case the diode can consume 74 (nodes) * 3 GB/(per node) = 222 GB of memory, since log-cache will allocate one diode for each paired node.
Exactly, during normal update we set the max_in_flight to be only two instances. But this time we need to extend the log-cache to a new AZ, which will create a lot new instances in a new zone and cannot be avoidable. So we faced this issue for the first time.
I agree with you. The parameter limits.memory in bpm config only supports absolute value. I'm also thinking about the way defined for MEMORY_LIMT_PERCENT, which is configured in percentage. Do you think whether there is a way to template this value via calculation and analysing the deployed vm type?

I don't believe it's possible without changing bpm to support percentage memory limits in bpm.

I see your point about the variability of the log-cache diode sizes.
I'm still not inclined to merge the pr as is, it's still very prone to operator error and doesn't do anything effective without setting it manually on a deployment. If it was set to some sensible limit by default, I think it would still be of limited use but maybe acceptable. I think the real solution to the problem is updating log-cache to take account of diodes and grpc buffers in it's pruning algorithms/memory accountancy.

Hi @Benjamintf1 , yes you are right. We should focus on the real cause of this issue. We decide to close this issue and will patch the log-cache in the future.


fix(a11y): move aria-label from svg icon to button

Summary
Related Issues or PRs
Closes #2639
How To Test
I tested with yarn link to an application using playwright, AXE, and HTML_CodeSniffer. I am yet not familiar enough with these packages to set up an example repo, but I can confirm that these changes address our E2E testing issues.

Thanks for the PR!
This is conflicting with the last change to this component in https://github.com/trussworks/react-uswds/pull/2500
@sawyerh do you have thoughts on this change since you authored the last iteration?

@brandonlenz Hey stranger 😄  No issues from my side. I think my original solution was based on the USWDS example code which uses an alt on their img, but this solution seems like it should be fine too.

Some additional context - these changes will bring the NavCloseButton default behavior closer to parity with  ModalCloseButton:
https://github.com/trussworks/react-uswds/blob/59dffd138f745f38a222523360a4666c0c13b030/src/components/Modal/ModalCloseButton/ModalCloseButton.tsx#L14-L24
The aria-label being present on the svg within the button is probably not hugely different from applying it directly to the button, except that our a11y tests can't seem to drill down into the svg as content to satisfy the button requirements. See this error message when using the ExtendedNav default:
WCAG2AA.Principle4.Guideline4_1.4_1_2.H91.Button.Name

This button element does not have a name available to an accessibility API. Valid names are: title undefined, element content, aria-label undefined, aria-labelledby undefined.

EDIT: would it be acceptable to add an alt="Close" to the icon properties alongside the button's aria-label="Close"? That seems like it should let us satisfy both the svg-img-alt rule from https://accessibilityinsights.com as well as the Button.Name rule from our AXE/Playwright setup.

@seevee I think that sounds fine. @shkeating this one is pretty accessibility focused. Do you have any thoughts about the changes or suggestion?

@brandonlenz apologies for the churn on this, looks like we can't add an alt attribute to an svg.

@seevee no worries! Thanks for seeing it through

I think we'll need @shkeating to give it another approval anyways since she requested changes

all set! great work all!


[AKS] watchdog kubelet health url access issue

on Aks
http://ip:10255 can't access kubelet heathy state.
Proposal:
1 figureout an access method
2 remove this check on AKS cluster, as AKS should take the responsibility for maintain kubelet health.

For proposal 2: watchdog refactor as decouple k8s component check and pai service component check. And could config to decide check which part?

OK, Sure that's will be better


Gemmed Figurine is worth 3.5k

Gemmed Figurine is being considered as no value on /loot.
It is worth 3.5k
http://tibia.wikia.com/wiki/Gemmed_Figurine

Nevermind @Nezune, I think I got it

Fixed @fclaussen, delete your loot.db and restart NabBot.


Exponentially increasing compile times for large records.

Adding decco to one of my larger records causes compile times of 10+ seconds. You can try to reproduce it by building this modified test where I simply added a huge record.
[@decco]
type massiveRecord = {
  x1: int,
  x2: int,
  x4: int,
  x5: int,
  x6: int,
  x7: int,
  x8: int,
  x9: int,
  x10: int,
  x11: int,
  x12: int,
  x13: int,
  x14: int,
  x15: int,
  x16: int,
  x17: int,
  x18: int,
  x19: int,
  x20: int,
  x21: int,
  x22: int,
  x23: int,
  x24: int,
  x25: int,
};

Compiling this takes about 12s on my machine.
Each field I add seems to almost double the compile time.

Good catch! This should be fixed in #9


Support of ui.service.loadBalancerIP missing

If you want to use the plain MetalLB and specify the ui.service.type=LoadBalancer type,
you should also be able to specify an ui.service.type=LoadBalancerIP
Without this, the load balancer is using the first specified IP from the load balancer configuration (eg. <IP_ADDRESS> if the MetalLB range is <IP_ADDRESS>-<IP_ADDRESS>
The generated Service entry should look s like
.........cut......cut......cut..........
spec:
  type: LoadBalancer
  loadBalancerIP: <IP_ADDRESS>
  ports:
  - port: 80
.........cut......cut......cut..........

See your example in the docker-registry service.yaml template file.
I try to add it and do a pr....

Hi, thank you for using my project and submitting issues :smile:
Can you use the property ui.service.additionalSpec to achieve your goal ? (use the 0.4.2, I added a fix)
ui:
  service:
    type: LoadBalancer
    additionalSpec: |
      loadBalancerIP: <IP_ADDRESS>


Vendor Logo Update

Vendor Logo Update
Hello Team I wanted to update my Business Name and Logo in the Vendor site.
Name: Suns Limited IT Solutions, LLC.

will be taken care of per:
https://github.com/vergecurrency/vergecurrency.com/pull/343
It's really not a big deal, but in the future you might want to post under this issues page (for the website) instead:
https://github.com/vergecurrency/vergecurrency.com/issues
Either way -- we'll get ya fixed up !

Thank you alot Jeff! Have a great day team!!
https://sunslimited.com
On Sun, Apr 22, 2018 at 8:15 AM, Jeff S<EMAIL_ADDRESS>wrote:

Closed #733 https://github.com/vergecurrency/VERGE/issues/733.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/vergecurrency/VERGE/issues/733#event-1587848302, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ATKVJRVgrkn1hlPBJURCzur9iOKoPfB6ks5trIKGgaJpZM4Te2cM
.


[bug]: Error loading models

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
cuda
VRAM
12
What version did you experience this issue on?
3.4.0 post2
What happened?
I downloaded other models. I downloaded the Invoke from the HuggingFace repository. I threw them into auto-import, threw them into folders. The program does not accept models downloaded by yourself. Do I have to manually create folders and text files for each damn model? Where do your hands grow from?
Screenshots

Additional context
No response
Contact Details
No response

It's hard to tell exactly why the auto import is not working as expected - the easiest way to install IP adapters is to use the model manager, pasting the Repo ID in the "Add model section". You can find all the Repo IDs on the respective model pages at https://models.invoke.ai
For example:
IP-Adapter Image Encoder: InvokeAI/ip_adapter_sd_image_encoder
IP-Adapter: InvokeAI/ip_adapter_sd15

As for the ControlNets, Invoke only works with diffusers format SDXL ControlNets.


Can't start

code-server version: 1.31.1-100-linux-x64
OS Version: Ubuntu 18.04.2 LTS

Steps to Reproduce

Download latest release
Unzip and run

roman@dev:~/coder/code-server-1.31.1-100-linux-x64$ ./code-server
INFO  code-server v1.31.1-100
INFO  Additional documentation: http://github.com/codercom/code-server
INFO  Initializing {"data-dir":"/home/roman/.code-server","working-dir":"/home/roman/coder/code-server-1.31.1-100-linux-x64","log-dir":"/home/roman/.code-server/logs/20190308075038064"}
INFO  Starting webserver... {"host":"<IP_ADDRESS>","port":8443}
WARN  No certificate specified. This could be insecure.
WARN  Documentation on securing your setup: https://coder.com/docs
INFO
INFO  Password: 330ca79864d1401d6f86f4e2
INFO
INFO  Started (click the link below to open):
INFO  http://localhost:8443/
INFO
INFO  Starting shared process [1/5]...
internal/child_process.js:323
    throw errnoException(err, 'spawn');
    ^

Error: spawn ENOMEM
    at _errnoException (util.js:1024:11)
    at ChildProcess.spawn (internal/child_process.js:323:11)
    at Object.exports.spawn [as _spawn] (child_process.js:502:9)
    at t.async (/home/roman/coder/code-server-1.31.1-100-linux-x64/code-server:716:35021)
    at e.exports (/home/roman/coder/code-server-1.31.1-100-linux-x64/code-server:716:34522)
    at e (/home/roman/coder/code-server-1.31.1-100-linux-x64/code-server:716:33324)
    at Timeout.c [as _onTimeout] (/home/roman/coder/code-server-1.31.1-100-linux-x64/code-server:716:33617)
    at ontimeout (timers.js:475:11)
    at tryOnTimeout (timers.js:310:5)
    at Timer.listOnTimeout (timers.js:270:5)

Running into the same error here, freshly created droplet, neither docker or build from the releases-page work. :(

The machine is out of memory
See this link to see the error code.
You might want to try a droplet with more RAM

Thanks. That link helps.
After update my droplet, it works.


Adapt to Google Play Games

The records are kept in an online database, but Google Play Games has already an implementation for that (not implying that it's easier, but that is part of the Android environment)

Yes I know, could be a nice feature! right now the only thing we are storing is a max streak, max score and week score.


Remove metro/non-metro dropdown from compare table

This PR removes the metro/non-metro dropdown from the compare table in both the homepage and location page, including in modal view. Some considerations below:

All unused variables as a result of the deletion are currently commented out. Once @pnavarrc and @chasulin confirm the elements to be deleted, these variables can be removed.
Leaving the "More Info" button at the bottom of the compare table as is for now, as we may simply be replacing the content inside the pop-up.

 Remove the metro/non-metro dropdown from homepage and location pages compare charts (including in modal)


Wave_write object has not attributte '_file'

Im testing the Google Colab method but now im getting this error:

FYI: Is working properly the endpoints created in colab.

You're awesome. it fixed.


SyncBot: Metadata should do something clever with signing

When a metadata string is generated it ought to do something clever with hashes or signatures to prevent it accidentally getting recognised in a quoted text block.

Remembering that the various services mangle content in weird and interesting, so this can't be as simple as just signing the content block


checklist for 0.1.0 public announce

[ ] packit is included in Fedora (at least updates-testing)
[ ] all packit commands either work (= don't traceback badly), or are hidden
[x] Config file is properly documented #106
[x] Get PyPI repo (and rename the egg to packitos)
[ ] Is propose-update an okay name?
[ ] --help cleanup: some args don't have description, some things are unclear on out-of-date
[x] fix tests (assigned to @jpopelka) #100 #99

Feel free to add more

I am testing all commands to update --help
$ packit sg2dg
Traceback (most recent call last):
  File "/root/.local/bin/packit", line 11, in <module>
    load_entry_point('packitos==0.1.dev243+gd518ccf', 'console_scripts', 'packit')()
  File "/root/.local/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/root/.local/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/root/.local/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/root/.local/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/root/.local/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/root/.local/lib/python3.7/site-packages/click/decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/root/.local/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/root/.local/lib/python3.7/site-packages/packit/cli/sourcegit_to_dist_git.py", line 46, in sg2dg
    with Transformator(
NameError: name 'Transformator' is not defined

Same as above is with $ packit srpm
Watch commands failed because of missing values in config.
My question is which commands/options we want to hide in 0.1.0?
Otherwise see PR with some fixes #102

That traceback should be fixed in master now.
So... Hardcore opinion: if it doesn't work, or the command does weird stuff, or even is hard to use or understand, hide it.
I feel like that so far we have good coverage for propose-update (we tested it, we have docs, simple user interface), I personally have no idea what state are the other commands in. I'm going to play with them right now.

watch-pr - does not work, similar situation as watch-fed-ci

It's not the same case as watch-fed-ci, since it differs only a bit with the propose-update, but I agree that we can hide it for now. (It can have some minor problems. I have no time to test it properly.)

My point was: I opened the code, and realized that all the methods needed by the command are gone.
We should not worry about that now: our goal with 0.1.0 is releasing to rawhide, nothing else; we can easily fix the commands one by one over time

My point was: I opened the code, and realized that all the methods needed by the command are gone.

Oh, I've already correct that..;-) I probably forgot to add the changes to my last PR.
And yes, it's not important for now, I've just been confused that it's not there...

I still get the NameError: name 'Transformator' is not defined on latest master.
Do we want to get rid of the sg2dg and srpm commands or do we have something we can replace the Transformator with?
https://github.com/packit-service/packit/blob/master/packit/cli/sourcegit_to_dist_git.py#L46

Do we want to get rid of the sg2dg
Yes, for the release 0.1.0

and srpm commands or do we have something we can replace the Transformator with?

Yes, we changed the architecture so we need to get rid of the Transformator. Just look on other CLI commands.

So, can anyone take care of the second point from the list?

So, can anyone take care of the second point from the list?

I can do it if there is no other volunteer.


Initial shot at is31fl3731

merged into breakouts-dev - https://github.com/pimoroni/pimoroni-pico/blob/breakouts-dev/drivers/is31fl3731/is31fl3731.cpp


support endless recorder for timeline

Timeline use TimelineEventRingRecorder by default.
If we set trace-systrace, using TimelineEventSystraceRecorder.
If set endless-trace-buffer, we need support  using TimelineEventEndlessRecorder.
in file third_party/dart/runtime/vm/timeline.cc
static TimelineEventRecorder* CreateTimelineRecorder() {
  const bool use_endless_recorder =
      (FLAG_timeline_dir != NULL) || FLAG_timing || FLAG_complete_timeline;

  const bool use_startup_recorder = FLAG_startup_timeline;
  const bool use_systrace_recorder = FLAG_systrace_timeline;
  const char* flag = FLAG_timeline_recorder;

  if (use_systrace_recorder || (flag != NULL)) {
    if (use_systrace_recorder || (strcmp("systrace", flag) == 0)) {
#if defined(HOST_OS_LINUX) || defined(HOST_OS_ANDROID)
      return new TimelineEventSystraceRecorder();
#elif defined(HOST_OS_FUCHSIA)
      return new TimelineEventFuchsiaRecorder();
#else
      OS::PrintErr(
          "Warning: The systrace timeline recorder is equivalent to the"
          "ring recorder on this platform.");
      return new TimelineEventRingRecorder();
#endif
    }
  }

  if (use_endless_recorder || (flag != NULL)) {
    if (use_endless_recorder || (strcmp("endless", flag) == 0)) {
      return new TimelineEventEndlessRecorder();
    }
  }

  if (use_startup_recorder || (flag != NULL)) {
    if (use_startup_recorder || (strcmp("startup", flag) == 0)) {
      return new TimelineEventStartupRecorder();
    }
  }
  return new TimelineEventRingRecorder();
}

Is this flag in the engine yet? I'll mark this as "work in progress", but feel free to unmark and add reviewers when it is ready. Thanks!

Is this flag in the engine yet? I'll mark this as "work in progress", but feel free to unmark and add reviewers when it is ready. Thanks!

Yes, this flag is already in the engine, it works now.  how can I unmark "work in progress" ?
switches.cc

https://github.com/flutter/engine/pull/14568

@yjbanov I'm assuming that we'll need to update our devicelab tests to set this new flag where necessary?

@yjbanov I'm assuming that we'll need to update our devicelab tests to set this new flag where necessary?

I'd say very likely.

@googlebot I fixed it

My accout have sign CLA success. This third commit was created on GitHub.com and signed with another mail(qq email) accidentally, but this two email correspond to one github account. I don't know how to sign CLA for another email, what should I do?  or I resubmit a new PR?

relations to https://github.com/flutter/flutter/issues/47771

@yjbanov I'm assuming that we'll need to update our devicelab tests to set this new flag where necessary?

I'd say very likely.

yes. but this PRThis pr just exposes one more parameter, no matter the engine modifies the startup logic

@zanderso @cbracken @yjbanov could you review it?

@zanderso do you think this is safe to merge?

Yes. The flag is off by default, so I suspect no device lab tests need to be updated as part of this PR.


how to specify a desired zone or warehouse_

You need to specify the hours of the shift you want. My site doesn't have different "kinds" of shifts at the same time slot.  Hopefully you figure it out mate.


Update version for Firestore 1.8.3

Firestore 1.8.3 is ready to go. The changelog has already been updated. Is there anything else that needs updating?

Obsoleted by #4519.


Bump the version to 2.2 in the federation example

dupe of https://github.com/maistra/istio/pull/521/files


Add constants for common errors

Related Issues
https://github.com/descope/etc/issues/4959
Description

Add constants for some of the most common errors. More can be added as needed.
Updated README to show example usage

Must

[X] Tests
[X] Documentation (if applicable)

For constants?

For constants?

at least for this part https://github.com/descope/node-sdk/pull/309/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R96
to make sure it doesn't break


BearerTokenAuthenticationPolicy should support CAE token revocation challenges by default

This feature entails adding CAE support for all clients lacking a custom challenge handler i.e., everyone except Key Vault and Storage.
Adding support involves adding logic to your BearerTokenAuthenticationPolicy such that it does the following:

Detects when a CAE challenge is issued (401 response with a WWW-Authenticate header)
Parses the WWW-Authenticate header (format here)

validate that the error value is "insufficient_claims"
capture the claims value and decode it from base64 encoding to a string

Pass the string value of the un-encoded claims to the TokenCredential via the TokenRequestContext or equivalent for your language via the Claims property
Ensure that any local token caching is bypassed in the policy when the claims are populated from a CAE challenge
Authorize the original request with the new token and send it through the pipeline again
Return any response to the caller (don't try to handle a second challenge)

Example PR: https://github.com/Azure/azure-sdk-for-go/pull/23414

stretch: october release cycle, pending access to test resources this week

We have this related code in JS: https://github.com/Azure/azure-sdk-for-js/blob/51696d66aa7827167fe8c4714648d51664ab12e2/sdk/core/core-client/src/authorizeRequestOnClaimChallenge.ts#L60

Adding to the Identity github project as well since we want to discuss in office hours and ship in November release cycle


[Ludown] Support for composite entities in .lu file format and ludown CLI

Fixes #1009
Proposed Changes

Implemented support for composite entities in .lu file format and in the ludown tool per spec defined in #1009

Testing

Added new test to cover new/ changed code
Verified all existing tests pass
Updated existing tests where needed.

Pull Request Test Coverage Report for Build 2499

131 of 135 (97.04%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 66.889%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/Ludown/lib/parseFileContents.js
106
110
96.36%

Totals

Change from base Build 2491:
0.2%

Covered Lines:
4063

Relevant Lines:
5751

💛  - Coveralls


[iOS, web] Slow scrolling. Not real 120Hz

Details
Running web app in release mode on iOS is very slow. It seems there're no real 120fps. On Android everything is okay.
Canvas flag or any other improvements haven't any effect.

Target Platform: web
Target OS version/browser: iOS 16.2/Chrome 108.0.5359.112
Devices: iPhone 13 Pro Max
Code & Logs

Code

import 'package:flutter/material.dart';
class RegPage extends StatefulWidget {
  const RegPage({super.key});

  @override
  State createState() => _RegPage();
}

class _RegPage extends State<RegPage> with WidgetsBindingObserver {
  List items = List<ListItem>.generate(
    1000,
    (i) => i % 6 == 0
        ? HeadingItem('Heading $i')
        : MessageItem('Sender $i', i.toString()),
  );

  @override
  void initState() {
    super.initState();
  }

  @override
  void dispose() {
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: null,
      body: ListView.builder(
        primary: false,
        scrollDirection: Axis.vertical,
        shrinkWrap: true,
        itemExtent: 80,
        itemCount: items.length,
        itemBuilder: (context, index) {
          final item = items[index];

          return ListTile(
            title: item.buildTitle(context),
            subtitle: item.buildSubtitle(context),
          );
        },
      ),
    );
  }
}

abstract class ListItem {
  Widget buildTitle(BuildContext context);

  Widget buildSubtitle(BuildContext context);
}

class HeadingItem implements ListItem {
  final String heading;

  HeadingItem(this.heading);

  @override
  Widget buildTitle(BuildContext context) {
    return Text(
      heading,
      style: Theme.of(context).textTheme.headline5,
    );
  }

  @override
  Widget buildSubtitle(BuildContext context) => const SizedBox.shrink();
}

class MessageItem implements ListItem {
  final String sender;
  final String uri;

  MessageItem(this.sender, this.uri);

  @override
  Widget buildTitle(BuildContext context) => Text(sender);

  @override
  Widget buildSubtitle(BuildContext context) =>
      Image.network('https://picsum.photos/250?image=$uri');
}

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.10, on macOS 13.1 22C65 darwin-arm, locale ru-FR)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.74.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

• No issues found!

@nickolasdzemian I'm verifying on Safari, iPhone 7, iOS 15.7.2 but it seems to be fine with me.

Demo
https://user-images.githubusercontent.com/104349824/209783256-092b169e-3a73-4b97-aaa1-baf7f0542e5c.MP4

Can you share the tool/method that you are using to measure this on iOS web browser?

@nickolasdzemian I'm verifying on Safari, iPhone 7, iOS 15.7.2 but it seems to be fine with me.
Demo
Can you share the tool/method that you are using to measure this on iOS web browser?

The measurements are okey. Screen recorder doesn't capture such fps.
You can reproduce the issue and see the difference if you open any website and this sample together at real device with 120Hz support (iPhone 13 and above).
The problem persists with any scroll component.

Unfortunately, I don't have a such device. However, in order to the issue can be thoroughly investigated, please provide more information on how you measure "slow scrolling", and adding a video demonstration would also be helpful.

Unfortunately, I don't have a such device. However, in order to the issue can be thoroughly investigated, please provide more information on how you measure "slow scrolling", and adding a video demonstration would also be helpful.

For ex, we can use this lib to display fps. The same results with manually counting via plain JS injection.

See attachments below (android is 90, iOS is 60 (browser independent):
https://user-images.githubusercontent.com/62357694/209861383-0e9b8962-324f-4c52-9681-76cd16ee0a56.mp4
https://user-images.githubusercontent.com/62357694/209861387-64ea4954-4357-429e-9b7f-5b19f8cab947.MP4

@nickolasdzemian Thanks for providing the recorded video. Labeling this issue for further investigation from the team.

cc @yjbanov

@nickolasdzemian does your browser reach 120hz in other, non-flutter web sites?
For example this is a good test for fps: https://testufo.com
Flutter Web dos not have any FPS cap, so it'll send frames to your screen as fast as your browser is able to paint them.

@nickolasdzemian does your browser reach 120hz in other, non-flutter web sites?
For example this is a good test for fps: https://testufo.com
Flutter Web does not have any FPS cap, so it'll send frames to your screen as fast as your browser is able to paint them.

At test you mentioned above my browser shows 60-60. But I don't understand why non-flutter web sites have a smooth scrolling and a simple flutter app in web is so laggy even without images, only text list. I really see the difference.

I don't understand why non-flutter web sites have a smooth scrolling and a simple flutter app in web is so laggy

The technical reason for this is that "normal" websites use the native scrolling of the browser, but Flutter Web translates the user gestures (scroll/fling) into instructions to repaint the visible pixels of the screen. The browser does not actually scroll anything. (I'm sure there's many tricks the browser is doing to make the native scrolling feel "smoother" that Flutter cannot use!)
Some thing you can test is to try and change the "Platform Mechanics" of the web app to match something that feels more natural to you? The Flutter Gallery, has a selector that lets you test different behaviors:

See screenshot 📱

There's a very interesting section of the flutter.dev site that talks specifically about this, and how "difficult to describe verbally" it is :)

See: flutter.dev > Resources > Platform-specific behaviors and adaptations > Scrolling.

Once flutter able to compile to WASM the performance should be much faster (close to native application).
Here is the proposal: #41062 (it is no more in proposal state since Flutter team working on it, just check out this Twitter post from Flutter's Product Manager)
Technically it can compile to WASM since #117075 PR (currently only on master)
However we should wait for #114244 to enable flutter tools for WASM and there are multiple other issues like icon tree shaking.

FYI, https://github.com/flutter/engine/pull/38640 landed in Flutter's main branch a couple days ago. It might help with performance issues on iOS. Could you please give it a shot, @nickolasdzemian?

FYI, flutter/engine#38640 landed in Flutter's main branch a couple days ago. It might help with performance issues on iOS. Could you please give it a shot, @nickolasdzemian?

The same behavior. When I turning off 120Hz it runs much better, but at 60Hz I see junking animation.
In profiling and other everything is good.

As of iOS 18 beta 2, it seems 120fps is now possible.
https://www.reddit.com/r/iOSBeta/comments/1dnkxlx/ios_18_db2_safari_on_iphone_pro_13_now_supports/

Are you sure?
It's really good news. I hope someone tries Flutter Web on iOS 18 beta2

iOS 18 will be released in the fall. I wonder if this will work with Flutter out of the box or if Flutter will need to make changes. If anyone has a device on the beta, we would appreciate you trying out a Flutter web application following the steps listed by @toyoshin5 and reporting back!

AT LAST! This is great news, thanks for bringing it up!

From the Reddit comment:

You must turn off the “prefer page rendering updates near 60fps” feature flag.

If it's hidden behind a feature flag, then it's not generally available. Most users won't be flipping about://config stuff to get features; I hope this gets enabled by default at some point during the beta!

Also this only works on iPhone Pros, 13 Pro or newer.

@toyoshin5 This bit is also important! apparently only on iPhone Pros in iOS 18 dev beta 2+.

I wonder if this will work with Flutter out of the box or if Flutter will need to make changes.

@CoocooFroggy Flutter renders at the max FPS allowed by the browser as long as there are frames to render, no changes should be needed in Flutter to take advantage of this.

If anyone has a device on the beta, we would appreciate you trying out a Flutter web application following the steps listed by @toyoshin5 and reporting back!

I have a 15 Pro ready to go, but it's my personal device so I won't update until actual user betas start surfacing :)

@ditman I believe it only works on the pro model phones because those are the only iPhones with 120hz screens haha. So not a software limitation to my knowledge 🙃

@ditman I believe it only works on the pro model phones because those are the only iPhones with 120hz screens haha. So not a software limitation to my knowledge 🙃

@CoocooFroggy lol, makes sense! (that won't stop people from complaining on non-pro phones that flutter is "capped at 60fps" 😢)

i am using a iphone 15 pro with iOS 18.2 Beta 2 and i have turned of the.....“prefer page rendering updates near 60fps” feature flag.
but then also there is the same lagging in my device, it is working fine in any iphone without the pro version and even android


Connection auto Closed after about 5 seconds when inactive (NO INPUT)

When I start a new client and immediately type some basic commands, it works just fine. However, the client tells me "Connection Closed" after a while if no commands is put in the browser.
here is the log:
[2018/03/12 11:24:01:0047] NOTICE: wsi 0x60006f320: TIMEDOUT WAITING on 3 (did hdr 0, ah 0x6000606e0, wl 0, pfd events 1)
[2018/03/12 11:24:01:0052] NOTICE: lws_header_table_detach: wsi 0x60006f320: ah held 21s, ah.rxpos 0, ah.rxlen 0, mode/state 0 4,wsi->more_rx_waiting 0
[2018/03/12 11:24:01:0052] NOTICE: wsi 0x60006f110: TIMEDOUT WAITING on 3 (did hdr 0, ah 0x6000614e0, wl 0, pfd events 1)
[2018/03/12 11:24:01:0057] NOTICE: lws_header_table_detach: wsi 0x60006f110: ah held 21s, ah.rxpos 0, ah.rxlen 0, mode/state 0 4,wsi->more_rx_waiting 0
[2018/03/12 11:24:53:9333] WARN: unknown message type: 2
[2018/03/12 11:24:53:9358] NOTICE: sending SIGHUP (1) to process 1272
[2018/03/12 11:24:53:9443] NOTICE: process exited with code 1, pid: 1272
[2018/03/12 11:24:53:9448] NOTICE: WS closed from xx.xxx.xxx.xx(my ip addr ), clients: 0

Additional information:
ttyd version 1.4.0
OS: Windows

This may be caused by 26f8b17891b6f0d0dc5503d2760894e3ab1dc28c, ttyd 1.4.0 requires libwebsockets 2.1 to have ping-pong support. What's your libwebsockets version?

update your libwebsockets

mingw64/mingw-w64-x86_64-libwebsockets 2.1.0-2 [已安装] @tsl0922

@hanwckf
I update libwebsockets to version 2.1.0-2 and json-c to version 0.13_20171207-2, but it still doesn't work

Clear you browser cache and try again, ttyd 1.4.0 browser client won't send a message with type 2.

I have the same question
the web console log
ttyd:1 Websocket connection opened ttyd:1 Enabling reconnect: 10 seconds ttyd:1 Websocket connection closed with code: 1006 ttyd:1 Websocket connection opened ttyd:1 Enabling reconnect: 10 seconds


Revert "Best Time to buy and sell Stock"

Reverts AlgoGenesis/C#503

Please label me

Why my label for my pull request is not showing on leaderboard🥹
@pankaj-bind


Python version dependency in pyproject.toml breaks poetry for modified Python versions

Describe the bug
Trying to create a new interpreter on Debian with python3.9 generates invalid pyproject.toml
To Reproduce
Steps to reproduce the behavior:

Install python3.9 on Debian.
Try to generate a virtualenv based on that
Error:

ParseConstraintError

  Could not parse version constraint: ^3.9.1+

  at ~/.poetry/lib/poetry/_vendor/py3.6/poetry/core/semver/__init__.py:164 in parse_single_constraint
      160│         else:
      161│             return version
      162│
      163│     raise ParseConstraintError(
    → 164│         "Could not parse version constraint: {}".format(constraint)
      165│     )
      166│

This is because the version of the Debian Python is 3.9.1+ and that gets put in the deps:
[tool.poetry.dependencies]
python = "^3.9.1+"

Expected behavior
poetry init suggests ^3.9, that's probably a more sensible value.
Environments (please complete the following information):
Python 3.9 is only available on testing/sid, but it should still work.

@gcbirzan
Thank you for posting this problem.
I understand the problem.
I don't expect the version type.
I will fix it.

@gcbirzan
The latest version 1.0.7 has been published in the market.
The version only picks a major and minor version like 3.6.


Add contributing.md

Hello, @pyitphyoaung. Another pull request was merged. Thanks for your interest 👍
If you would like to contribute to some other issue stay tuned.


Create missing test cases for CI

Test org (https://github.com/abapGit-tests) is missing repos for the following object types supported by abapGit:

[ ] CMPT - Code Composer Template
[x] CUS2 - Customizing Attributes
[x] DIAL - Dialog Module
[x] DOCV - Documentation (Independent)
[x] ECSD - eCATT System Data Container (in ECATT)
[x] ECSP - eCATT Start Profile (in ECATT)
[x] ECTC - eCATT Test Configuration (in ECATT)
[x] ECTD - eCATT Test Data Container (in ECATT)
[x] ECVO - eCATT Validation Object (in ECATT)
[x] ENHS - Enhancement Spot
[x] ENSC - Composite Enhancement Spot
[x] G4BS - SAP Gateway OData V4 Backend Service (in  (in G4BA)
[x] IAMU - Language-Independent IAC Binary Data (in IARP_IASP_IATU_IAMU)
[x] IASP - Parameters of an IAC service (in IARP_IASP_IATU_IAMU)
[x] IATU - Language-Independent IAC Templates (in IARP_IASP_IATU_IAMU)
[x] IWMO - SAP Gateway Business Suite Enablement - Model (in IWSV_IWSG_IWMO_IWOM)
[x] IWOM - SAP Gateway: Model Metadata (in IWSV_IWSG_IWMO_IWOM)
[x] IWSG - SAP Gateway: Service Groups Metadata (in IWSV_IWSG_IWMO_IWOM)
[ ] JOBD - Technical Job Definition
[x] PRAG - Pragma in ABAP Source Code
[x] SAMC - ABAP Messaging Channels
[x] SAPC - ABAP Push Channels
[x] SFPI - Form Object: Interface (in SFPF)
[ ] SHI8 - SFW Switch Assignment in Hierarchy Tool
[x] STYL - SAPscript Style
[x] TOBJ - Definition of a Maintenance and Transport Object
[ ] UCSA - Unified Connectivity Service Assembly
[x] W3HT - Web Reporting/Internet Transaction Server HTML Templ.

Could you create a repo for STYL?

@g-back I've invited you to the organization

For ecatt objects
ECAT
ECSD
ECSP
ECTC
ECTD
ECTD
ECVO
we have https://github.com/abapGit-tests/ECATT.git I think that's sufficient?

SFPI is part of https://github.com/abapGit-tests/SFPF. Imho it's sufficient as I see no advantage in having a separate test repo.

Goes both ways: repos with several object type make debugging harder and runtime longer. But you also might expose dependency issues.
In general, each object type should have its own test (esp for new types) but don't worry creating ones for the cases you mentioned.

CMPT -> https://github.com/abapGit-tests/CMPT

I created the missing test cases. We now have full test coverage for all object types supported by abapGit. 🥳
FYI, UCSA can only be created in special systems so I had to fool my sap system (UCONFILLCUST-ALLOW_CREATION = 'X').


possible to use HNSW early?

hey all, just curious I am not sure at what stage the development for django integration of pgvector but is there a version that I can pip install to use the hnsw index early?

Hi @hyusetiawan, just released 0.2.2, which adds an HnswIndex class.


Unit tests for RLP

Added unit tests for the RLP helper used in the Ethereum Account Abstraction feature.
Time spent on this PR: 2 days
Pull request type

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[x] Other (please describe): unit tests

What is the current behavior?
The tests found out that the bytes_to_felt function was incorrect. (endian)
What is the new behavior?
bytes_to_felt returns the correct results and rlp decoding and decoding are tested

I also used the RLP namespace using the old function name:

Just a heads up, I also used the RLP namespace using the old function name. That would need a small change to have the tests passing:
https://github.com/sayajin-labs/kakarot/blob/fe03ff003c0f04b96a02572899ca6c8a8e613e0a/src/kakarot/instructions/system_operations.cairo#L585

Yes I changed it


AWS S3 SDK: Error when calling GetPreSignedURL for certain regions

Describe the bug
Hello!
I am using the S3 SDK to for non-Amazon endpoints specifically Wasabi. When generating presigned URL for certain regions, it fails with the message:
The maximum expiry period for a presigned url using AWS4 signing is 604800 seconds
The regions that fails are:
https://s3.us-east-2.wasabisys.com
https://s3.us-central-1.wasabisys.com
But it works okay for:
https://s3.us-west-1.wasabisys.com
https://s3.us-east-1.wasabisys.com
The below xUnit test should work as is with no changes.
Thank you kindly!
Expected Behavior
Expect the presigned URL to be generated correctly.
Current Behavior
Message:
    System.ArgumentException : The maximum expiry period for a presigned url using AWS4 signing is 604800 seconds

  Stack Trace:
    AmazonS3Client.Marshall(IClientConfig config, GetPreSignedUrlRequest getPreSignedUrlRequest, String accessKey, String token, SignatureVersion signatureVersion)
    AmazonS3Client.GetPreSignedURLInternal(GetPreSignedUrlRequest request, Boolean useSigV2Fallback)
    AmazonS3Client.GetPreSignedURL(GetPreSignedUrlRequest request)
    S3VolumeOperationShould.PresignedShould(String serviceURL) line 267

Reproduction Steps
        [Theory]
        [InlineData("https://s3.us-west-1.wasabisys.com")] // pass
        [InlineData("https://s3.us-east-1.wasabisys.com")] // pass
        [InlineData("https://s3.us-east-2.wasabisys.com")] // error
        [InlineData("https://s3.us-central-1.wasabisys.com")] // error
        public void PresignedShould(string serviceURL)
        {
            var client = new AmazonS3Client(
                "Settings.AuthKeyId",
                "Settings.AuthKey",
                new AmazonS3Config { ServiceURL = serviceURL });

            client.GetPreSignedURL(new GetPreSignedUrlRequest
            {
                BucketName = "bucket",
                Expires = DateTime.UtcNow.AddDays(10),
                Verb = HttpVerb.GET
            });
        }

Possible Solution
No response
Additional Information/Context
No response
AWS .NET SDK and/or Package version used
<IP_ADDRESS>,
3.7.108.
Targeted .NET Platform
.NET 6
Operating System and version
Windows & Ubuntu

@jerome-zenfolio Good morning. Thanks for reporting the issue. With new version of AWS SDK, the region and endpoint resolution has changed. Also, we do not support usage of AWS SDKs with 3rd party services, although it might work in certain scenarios (which is good).
To troubleshoot your scenario, you may develop a console application, turn on verbose logging using below code and investigate any useful information from logs:
Amazon.AWSConfigs.LoggingConfig.LogResponses = Amazon.ResponseLoggingOption.Always;
Amazon.AWSConfigs.LoggingConfig.LogTo = Amazon.LoggingOptions.SystemDiagnostics;
Amazon.AWSConfigs.AddTraceListener("Amazon", new System.Diagnostics.ConsoleTraceListener());

Thanks,
Ashish

Indeed it is good thing: we've used many 3rd party S3 vendors using this SDK without any issues and thank you for maintaining such a versatile SDK!
As requested, I have added the above logging and attaching the output below for one of the failed cases:
    Resolved DefaultConfigurationMode for RegionEndpoint [] to [Legacy]
    Resolved DefaultConfigurationMode for RegionEndpoint [] to [Legacy].
    Resolved DefaultConfigurationMode for RegionEndpoint [] to [Legacy].
    Resolved DefaultConfigurationMode for RegionEndpoint [] to [Legacy].
    Unable to find exact matched region in endpoint s3.us-central-1.wasabisys.com
    us-central-1 fuzzy region found in endpoint s3.us-central-1.wasabisys.com

Looking at the SDK implementation, it looks like for certain regions, it automatically downgrades to signature v2 and generates the URL successfully.

Thanks @ashishdhingra, for the response! As you can tell from the unit tests that I have given earlier, the automatic downgrade did not happen and hence the ticket is created. Also, since the presigned request is not sent to the server, I am not quite certain how Wasabi support can help me here.
Here is the boto3 SDK that correctly generates the presigned URL without any error for the very same endpoint that failed in .NET SDK:
import boto3
import datetime

def main():
    expiration_duration = 2592000

    s3_client = boto3.client(
		's3',
		aws_access_key_id='Settings.AuthKeyId',
		aws_secret_access_key='Settings.AuthKey',
		endpoint_url='https://s3.us-east-2.wasabisys.com')

    expiration_time = datetime.datetime.now() + datetime.timedelta(seconds=expiration_duration)

    presigned_url = s3_client.generate_presigned_url(
        'get_object',
        Params={
            'Bucket': 'bucket',
            'Key': 'key'
        },
        ExpiresIn=expiration_duration
    )

    print("Presigned URL:", presigned_url)

if __name__ == "__main__":
    main()

.NET SDK on the other hand, fails for the same endpoint.
Thanks,
Jerome

@jerome-zenfolio Per MaxAWS4PreSignedUrlExpiry constant, 7 days (604800 seconds) is the maximum expiration for SigV4 presigned URL(s). If the s3SignatureVersionOverride for your endpoint is somehow resolved to 2, then it would use signature version 2 (refer links in https://github.com/aws/aws-sdk-net/issues/3003#issuecomment-1648249519).
As mentioned earlier, we cannot troubleshoot issues with SDK when used with non-AWS services. I'm unsure how the endpoint rules for wasabi service are resolved and could not comment on how it works with Boto3.
Thanks,
Ashish

Hi Ashish,
The SDKs we use for the S3 standard come from AWS.  We primarily use the .NET SDK, but this is clearly shown to have a bug.  The Boto3 SDK (for Python) is an AWS product with information about it at https://aws.amazon.com/sdk-for-python/.
We opened a case with Wasabi last week and they referred us to AWS since Boto3 works.  We are not asking you to troubleshoot Wasabi's ecosystem, rather fix a bug in the .NET SDK that has inconsistencies between it's "sister SDK" for Python (Boto3).
Since generating a pre-signed URL does not actually contact any server, this has to be a bug in the SDK.  @jerome-zenfolio already demonstrated how it does not fall-back to SigV2 when appropriate.
Thanks,
Chris

Hi Ashish,
The SDKs we use for the S3 standard come from AWS. We primarily use the .NET SDK, but this is clearly shown to have a bug. The Boto3 SDK (for Python) is an AWS product with information about it at https://aws.amazon.com/sdk-for-python/.
We opened a case with Wasabi last week and they referred us to AWS since Boto3 works. We are not asking you to troubleshoot Wasabi's ecosystem, rather fix a bug in the .NET SDK that has inconsistencies between it's "sister SDK" for Python (Boto3).
Since generating a pre-signed URL does not actually contact any server, this has to be a bug in the SDK. @jerome-zenfolio already demonstrated how it does not fall-back to SigV2 when appropriate.
Thanks, Chris

@chris-zenfolio I will discuss this with the team and post any update here. However, since the SDK works perfectly fine with the AWS system and recent Endpoints 2.0 implementation changes the way endpoints are resolved, cannot commit if this issue would be prioritized by the team.
Thanks,
Ashish

@jerome-zenfolio Boto working for us-east-2 and us-central-1 is by accident not design. I would bet if you went across the 12 AWS SDKs you would get a collection of behavior for specifying a non-AWS endpoint and then using an expiration greater then the SigV4 max. In fact most of the newer SDKs only support SigV4 with no SigV2 fallback.
The .NET SDK, which is assuming an AWS endpoint, looks at the service URL to determine the AWS region the request is being sent to. The parse logic for the host name is assuming the service url is <service>.<region>.<host-suffix> Which the Wasabi host name follow so for https://s3.us-east-2.wasabisys.com/ the .NET SDK determine the request is being sent to the us-east-2 AWS region which is a SigV4 only S3 region. For https://s3.us-central-1.wasabisys.com/ there is no AWS region called us-central-1 so the SDK is assuming you are attempting to use a new region and all new regions are SigV4 only regions so it defaults to that.
SigV4 has the restriction that signature can not last any longer then 7 days so in your case when the SDK determines it needs to use SigV4 for the signature it fails since you are using 10 days. Can you use 7 instead of 10 days for your expiration?
The SDK's logic for determine regions and signing is very complicated with a lot of built up legacy decisions with how AWS regions have changed over the years and how SDKs are supposed to resolve endpoints and signing regions. I'm very leery of adding more complications to the code for a scenario that shouldn't be valid since it violates SigV4 requirements.

Thanks for the replies, @normj and @ashishdhingra .
For the signature validity duration, we actually need 60 days.  Our use case is to provide customers with a pre-signed URL that is valid for 60 days so they can download the zip file of their photos without us having an open bucket.  We have found that 7 days is far too short.  Thus, SigV4 is not feasible for us to use for this purpose.

I have no idea if this will work for Wasabi but worth a try. When you construct the the AmazonS3Config object try always setting the AuthenticationRegion to us-east-1 even when the ServiceUrl is to some other region. That should trick the SDK into using SigV2 with which doesn't include the region as part of the signing. Not sure what Wasabi will do in this case but you can see if it unblocks you.
var client = new AmazonS3Client(
    "Settings.AuthKeyId",
    "Settings.AuthKey",
    new AmazonS3Config { ServiceURL = serviceURL, AuthenticationRegion = "us-east-1" });

Keep in mind this unsupported behavior but maybe it will unblock you.

@normj, thank you for the detailed explanation and for the workaround. I was able to generate presigned url with expiration longer than 7 days using the AuthenticationRegion override. We understand this is unsupported and the behavior can change over time but seems like a good workaround for the immediate needs. Thanks!

@chris-zenfolio There is actually a push to end support for SigV2 which is why new SDKs don't have support for SigV2. I'm not announcing the end of SigV2 support but if/when we do a V4 of the SDK it would likely not have SigV2 support anymore. I think what this mean is products that are emulating S3 really need emulate SigV4 otherwise many SDKs won't work.
So I'm leery for changing this code for this use case. It is more complicated then you suggest above because there are many S3 endpoints across the world that don't have an amazonaws.com suffix and then you throw in things like VPC endpoints which creates custom service endpoints.
 I want to protect some complicated code from getting even more complicated.

Closing this issue since no action needs to be taken from your side based on last comment.


fix: update scripts/localhost.sh

--ws-port was removed in v0.9.43 (https://github.com/paritytech/polkadot/releases/tag/v0.9.43)

Oh, I see already done in https://github.com/opentensor/subtensor/commit/64c4d3ef89449ea7d40b16c4c5d20f053e647ee4


Average the performance of same programs on different computers

Would it be possible from your past data collection, to make an average of performance of the same programs on different computers?

Hi @igouy all the data can be downloaded from the log CI build artifact, in json format .
e.g. https://github.com/hanabi1224/Programming-Language-Benchmarks/actions/runs/7734656415

Maybe in a few months I'll take a look and ask you some more questions ;-)