Resemble and cross-origin data

I was wondering if its possible to use Resemble with remote images? Basically I am trying to do the following but I am getting a SecurityError.
Uncaught SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data.
Is there anyway of getting around this?
var img1 = 'http://www.google.com/think/images/google-trends_tools_sm.jpg';
var img2 = 'http://informationng.com/wp-content/uploads/2014/02/google.jpg';
resemble(img1).compareTo(img2).onComplete(function(data){
console.log(data);
});
Is it possible to do something like the following?
var img1 = Image()
img1.src = 'http://www.google.com/think/images/google-trends_tools_sm.jpg';
var img2 = Image();
img2.src = 'http://informationng.com/wp-content/uploads/2014/02/google.jpg';
resemble(img1).compareTo(img2).onComplete(function(data){
console.log(data);
});
I'm not sure why its okay to load a remote image like this  but its not okay to load it using Javascript.

I am having the same issue as ccoffey. I tried using links from online files, local files, dropbox files and even the People.jpg files in this repository. None of them worked :(
My lines are the same as above:
function CompareLinks(){
var strin1 = 'https://dl.dropboxusercontent.com/u/14676645/LinkInfo/linkL6a1{0}.png';
var strin2 = 'https://dl.dropboxusercontent.com/u/14676645/LinkInfo/linkL6a1{1}.png';
var obj = resemble(strin1).compareTo(strin2).onComplete(function(data){
console.log(data);
});
var str = JSON.stringify(obj, null, 4);
console.log(str);
alert(str);
}
and the html file:

What am I missing?
Thank you.

This was the original fix: #70


Edit pass: grpc batch 3

@shirhatti, @mairaw - Please review the copy edit to these articles and let me know if you have any feedback. This is for Azure DevOps work request 1646344.
Contributes to #15889

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

Fixed merge conflict.

@shirhatti Can you help close out this edit pass? Many thanks!

@ShawnJackson I suggest you go ahead and change back the wording from "by using" to "with" as requested, fix the merge conflicts, and I'll merge this.

@tdykstra - Done! Thank you.

@ShawnJackson Thanks!
@shirhatti thanks for your review -- your comment was addressed.  If you have additional requests for changes, we'll address them in a new PR.


MNT: Re-rendered with conda-smithy 1.6.0

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

I guess this is good now @ocefpaf? Once this is merged I'll need to rebase the new version PR and see what happens? (sorry, I'm still a bit new to conda-forge!)

I guess this is good now @ocefpaf?

Yep. I restarted the CIs a few minutes ago to pick the latest pyspharm.

Once this is merged I'll need to rebase the new version PR and see what happens? (sorry, I'm still a bit new to conda-forge!)

That is correct. You could also have re-rendered in #6 to save you some trouble.

I wanted to better understand each step, so decided to go separate.


Fixed version number in ImagerPlugin.php

Thanks, not sure how I managed to forget that. ;)

Thanks for merging. :)
I just wondered why the update hint in Craft’s panel remained after the update.

Yes, that would happen if the version number of the releases.json file is newer than in the plugin. Much to think about. :)


Feature Request: Flatten Nested Schema

Having to flatten nested schemas can be cumbersome.  A function to flatten the structure with various options would be handy.
Some configurations to include could be:

Include Parent Struct Names as prefix in column name
Stop after N amount of levels
Break each level into individual dataframes and create primary and foreign key relationships between the dataframes

I've included below a working example of an existing flatten function I've used previously.
import pyspark.sql.functions as F

def flatten_dataframe(df):

    has_nested_data = True

    while has_nested_data:

        array_cols = [c[0] for c in df.dtypes if c[1][:5]=="array"]

        for c in array_cols:
            df = df.withColumn(c, F.explode_outer(c))

        df = child_struct(df)

        array_cols = [c[0] for c in df.dtypes if c[1][:5]=="array"]

        if len(array_cols) == 0:
            has_nested_data = False

    return df

def child_struct(nested_df):
    # Creating python list to store dataframe metadata
    list_schema = [((), nested_df)]
    # Creating empty python list for final flattern columns
    flat_columns = []

    while len(list_schema) > 0:
        # Removing latest or recently added item (dataframe schema) and returning into df variable
        parents, df = list_schema.pop()
        flat_cols = [
            F.col(".".join(parents + (c[0],))).alias("_".join(parents + (c[0],)))
            for c in df.dtypes
            if c[1][:6] != "struct"
        ]

        struct_cols = [c[0] for c in df.dtypes if c[1][:6] == "struct"]

        flat_columns.extend(flat_cols)
        # Reading  nested columns and appending into stack list
        for i in struct_cols:
            projected_df = df.select(i + ".*")
            list_schema.append((parents + (i,), projected_df))
    return nested_df.select(flat_columns)

sample = """{
  "name":"MSFT","location":"Redmond", "satellites": ["Bay Area", "Shanghai"],
  "goods": {
    "trade":true, "customers":["government", "distributer", "retail"],
    "orders":[
        {"orderId":1,"orderTotal":123.34,"shipped":{"orderItems":[{"itemName":"Laptop","itemQty":20},{"itemName":"Charger","itemQty":2}]}},
        {"orderId":2,"orderTotal":323.34,"shipped":{"orderItems":[{"itemName":"Mice","itemQty":2},{"itemName":"Keyboard","itemQty":1}]}}
    ]}}
{"name":"Company1","location":"Seattle", "satellites": ["New York"],
  "goods":{"trade":false, "customers":["store1", "store2"],
  "orders":[
      {"orderId":4,"orderTotal":123.34,"shipped":{"orderItems":[{"itemName":"Laptop","itemQty":20},{"itemName":"Charger","itemQty":3}]}},
      {"orderId":5,"orderTotal":343.24,"shipped":{"orderItems":[{"itemName":"Chair","itemQty":4},{"itemName":"Lamp","itemQty":2}]}}
    ]}}
{"name": "Company2", "location": "Bellevue",
  "goods": {"trade": true, "customers":["Bank"], "orders": [{"orderId": 4, "orderTotal": 123.34}]}}
{"name": "Company3", "location": "Kirkland"}"""

df = spark.read.json(sc.parallelize([sample]))
flatten_df = flatten_dataframe(df)

I didn't see there was a Quinn library that would be more appropriate.


A11y_SQLAzureDataStudio_Notebook_Create new notebook_ScreenReader: The change in button is not announced.

Check out Accessibility Insights! - Identify accessibility bugs before check-in and make bug fixing faster and easier.”
GitHubTags:#A11y_SQLAzureDataStudioBenchmark;#A11yMAS;#A11ySev2;#A11yTCS;#SQL Azure Data Studio;#Benchmark;#DesktopApp;#Win32;#NVDA;#JAWS;#MAS1.31;#MAS4.2.12;
Environment Details:
Application Name: Azure Data Studio
Version: 1.16.0-insider
OS: Windows_NT x64 10.0.18363
Additional Details:
MAS References:MAS1.3.1, MAS4.2.12
Screen reader: JAWS, NVDA2019.2
Repro Steps:

Launch Azure Data Studio.
Click File then New Notebook.
Launch screen reader as NVDA
Use tab and navigate to the buttons "Trusted cell"

Actual
On navigating to the button "Trusted cell" using tab press enter it changes to "Not trusted" but there is no announcement of the same.
Similar for "Collapse cell" button
Similar issue with jaws
Expected:
The change in name of the button should be announced.
User Impact:
Screen reader users will not know the current value of the button.
Attachment link for Reference :
A11y_SQLAzureDataStudio_Notebook_Create new notebook_ScreenReader9366.zip

dupe of #9406

above issue is not repro, so closing the bug.
GitHub Tag:#Closed;

GitHubTags:#SQLADS-Win32-Feb2020;


0 14 1 postgres description hash

some more changes required for postgres compatibility and for enabling description hash

I will close this pull request shortly, as I am continuing the work of this branch https://github.com/trbouma/cashu/tree/15_0_test


Make use of sidecar inject label across repos

Please provide a description of this PR:
To help us figure out who should review this PR, please put an X in all the areas that this PR affects.

[ ] Ambient
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Please check any characteristics that apply to this pull request.

[x] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
89a47966ad53f3be4119dce27ae6813d7d530ce9
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@hzxuzhonghu: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
89a47966ad53f3be4119dce27ae6813d7d530ce9
link
true
/test release-notes

gencheck_istio
89a47966ad53f3be4119dce27ae6813d7d530ce9
link
true
/test gencheck

lint_istio
baf65fd0ddb708246f84c8151f53adc48b4f114e
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@hzxuzhonghu: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio
89a47966ad53f3be4119dce27ae6813d7d530ce9
link
true
/test gencheck

lint_istio
baf65fd0ddb708246f84c8151f53adc48b4f114e
link
true
/test lint

release-notes_istio
baf65fd0ddb708246f84c8151f53adc48b4f114e
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@hzxuzhonghu: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
baf65fd0ddb708246f84c8151f53adc48b4f114e
link
true
/test lint

release-notes_istio
baf65fd0ddb708246f84c8151f53adc48b4f114e
link
true
/test release-notes

gencheck_istio
baf65fd0ddb708246f84c8151f53adc48b4f114e
link
true
/test gencheck

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

The label selector in the k8s webhook is definitely not EqualFold so there
may be some inconsistencies between different areas.
On Mon, Sep 26, 2022, 6:58 PM Zhonghu Xu @.***> wrote:

@.**** commented on this pull request.
In pkg/config/analysis/analyzers/util/in_mesh.go
https://github.com/istio/istio/pull/41163#discussion_r980656500:

func getPodSidecarInjectionStatus(annos map[string]string) (enabled bool, ok bool) {

v, ok := annos[annotation.SidecarInject.Name]
return v == "true", ok

v, ok := annos[label.SidecarInject.Name]
return strings.EqualFold(v, "true"), ok

I am not sure, actually in some other places we compare with EqualFold.
Can you confirm?
—
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/41163#discussion_r980656500, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXKPQTDEO63Q4DDSOC3WAJICVANCNFSM6AAAAAAQVTEORQ
.
You are receiving this because your review was requested.Message ID:
@.***>

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
b2efe7abee8e9192276ba8420e65d5a28045630b
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio/wg-user-experience-maintainers

/retest

kindly ping @istio/wg-user-experience-maintainers


QueryableOffsetPagingProvider.cs CanHandle -> NotImplementedException

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
The documentation for 12.9.0 shows MongoDb has several AddMongoDbXYZ methods to register things like filtering, sorting, pagination, etc but I'm not able to find the equivalent for Entity Framework. When trying to use OffsetPagingProvider you get a NotImplemenetException which can be found here in CanHandle while the MongoDb version appears to have a proper implementation.
Steps to reproduce
builder.Services
    .AddGraphQLServer()
    .RegisterDbContext<ApplicationDbContext>()
    .AddFiltering()
    .AddSorting()
    .AddProjections()
    .AddQueryableOffsetPagingProvider() //NotImplemented
    .SetPagingOptions(new HotChocolate.Types.Pagination.PagingOptions { MaxPageSize = 100 })
    .AddQueryType<Query>();

Relevant log output
fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1]
      An unhandled exception has occurred while executing the request.
      System.NotImplementedException: The method or operation is not implemented.
         at HotChocolate.Types.Pagination.QueryableOffsetPagingProvider.CanHandle(IExtendedType source)
         at HotChocolate.Types.OffsetPagingObjectFieldDescriptorExtensions.<>c__DisplayClass7_0.<ResolvePagingProvider>b__0(PagingProviderEntry entry)
         at HotChocolate.Types.OffsetPagingObjectFieldDescriptorExtensions.ResolvePagingProvider(IServiceProvider services, IExtendedType source, String providerName)
         at HotChocolate.Types.OffsetPagingObjectFieldDescriptorExtensions.<>c__DisplayClass1_0.<UseOffsetPaging>b__0(IServiceProvider services, IExtendedType source, String name)
         at HotChocolate.Types.Pagination.PagingHelper.ApplyConfiguration(ITypeCompletionContext context, ObjectFieldDefinition definition, Type entityType, String name, GetPagingProvider resolvePagingProvider, PagingOptions options, FieldMiddlewareDefinition placeholder)
         at HotChocolate.Types.Pagination.PagingHelper.<>c__DisplayClass0_0.<UsePaging>b__1(ITypeCompletionContext c, ObjectFieldDefinition d)
         at HotChocolate.Types.Descriptors.Definitions.CompleteConfiguration`1.<>c__DisplayClass0_0.<.ctor>b__0(ITypeCompletionContext c, IDefinition d)
         at HotChocolate.Types.TypeSystemObjectBase`1.ExecuteConfigurations(ITypeCompletionContext context, TDefinition definition, ApplyConfigurationOn on)
         at HotChocolate.Types.TypeSystemObjectBase`1.CompleteType(ITypeCompletionContext context)
         at HotChocolate.Configuration.TypeInitializer.<CompleteTypes>g__CompleteType|27_0(RegisteredType registeredType)
         at HotChocolate.Configuration.TypeInitializer.ProcessTypes(TypeDependencyKind kind, Func`2 action)
         at HotChocolate.Configuration.TypeInitializer.CompleteTypes()
         at HotChocolate.Configuration.TypeInitializer.Initialize()
         at HotChocolate.SchemaBuilder.Setup.InitializeTypes(SchemaBuilder builder, IDescriptorContext context, IReadOnlyList`1 types, LazySchema lazySchema)
         at HotChocolate.SchemaBuilder.Setup.Create(SchemaBuilder builder, LazySchema lazySchema, IDescriptorContext context)
         at HotChocolate.SchemaBuilder.Create(IDescriptorContext context)
         at HotChocolate.SchemaBuilder.HotChocolate.ISchemaBuilder.Create(IDescriptorContext context)
         at HotChocolate.Execution.RequestExecutorResolver.CreateSchemaAsync(NameString schemaName, RequestExecutorSetup options, RequestExecutorOptions executorOptions, IServiceProvider serviceProvider, TypeModuleChangeMonitor typeModuleChangeMonitor, CancellationToken cancellationToken)
         at HotChocolate.Execution.RequestExecutorResolver.CreateSchemaServicesAsync(NameString schemaName, RequestExecutorSetup options, CancellationToken cancellationToken)
         at HotChocolate.Execution.RequestExecutorResolver.GetRequestExecutorNoLockAsync(NameString schemaName, CancellationToken cancellationToken)
         at HotChocolate.Execution.RequestExecutorResolver.GetRequestExecutorAsync(NameString schemaName, CancellationToken cancellationToken)
         at HotChocolate.Execution.RequestExecutorProxy.GetRequestExecutorAsync(CancellationToken cancellationToken)
         at HotChocolate.AspNetCore.HttpPostMiddlewareBase.HandleRequestAsync(HttpContext context, AllowedContentType contentType)
         at HotChocolate.AspNetCore.HttpPostMiddlewareBase.InvokeAsync(HttpContext context)
         at Microsoft.AspNetCore.Builder.EndpointRouteBuilderExtensions.<>c__DisplayClass13_0.<<UseCancellation>b__1>d.MoveNext()
      --- End of stack trace from previous location ---
         at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
         at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

Additional Context?
The documentation doesn't appear to be fully complete like MongoDb, how can we achieve the old paging, fitlering, sorting and projection with EFC in v11?
    public class Query
    {
        [UseOffsetPaging]
        [UseProjection]
        [UseFiltering]
        [UseSorting]
        public IExecutable<User> GetUser(ApplicationDbContext dbContext) => dbContext.Users.AsExecutable();
    }

Product
Hot Chocolate
Version
12.9.0

EF works out of the box as it operates on IQueryable, so you do not have to register anything. Still weird that this code is in there. @michaelstaib  do you remember if there is a reason for it?

I see that QueryableOffsetPagingProvider is still throwing a NotImplementedException while I could make offset-paging work by inheriting from that provider and implement the CanHandle like this:
public sealed class MyOffsetProvider : QueryableOffsetPagingProvider
{
    public override bool CanHandle(IExtendedType source)
        => source.Type.IsAssignableTo(typeof(IExecutable));
}

is there a reason for this NotImplementedException?
If not, and above source type check is OK, I can transform it into a PR 😎

ping 😇


Alignment issue with flex-layout + datetime-local input

Bug, feature request, or proposal:
Bug (Not sure if it belongs to Material or Flex Layout)
What is the expected behavior?
Elements to be aligned
What is the current behavior?
Inputs aren't aligned when using flex-layout and datetime-local
What are the steps to reproduce?
Providing a StackBlitz/Plunker (or similar) is the best way to get the team to see your issue.
Demo: https://stackblitz.com/edit/angular-material2-issue-abcj1u

Add two inputs in a flex container
One of the inputs must be of type datetime-local

What is the use-case or motivation for changing an existing behavior?

Elements should be aligned

Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 4.4.3
Material Beta 12
Flex Layout Beta 9

#8111

@mmalerba I just noticed that it is missing the "has pr" label for this issue.


Make this sansio?

Call a method on the parser and it returns a request object
The transport does the request and receives the response
Call Receive on the parser and it returns a parsed pydantic model
Higher level layers will have to be made out of these

Released in v0.0.8


Changing the index syntax

In Futhark, array indexing binds tighter than application.  f x [i] means f (x [i]), not (f x) [i].  I justified this by arrays much more central to Futhark than they are in other functional languages.  But as always, when introducing syntactical irregularities, problems appear.  The primary problem is that array literals are annoying to use, because they must usually be parenthesized:
map (!) ([true, false])

(Although in the particular case of SOACs, I can fix it with a grammar hack.)
However, if we change this, we might require quite a lot of lookahead to determine whether something is an application or an indexing.  The expression f[x,y,z] would conventionally be an application of the function f, but if we add just a single strategic colon - f[x,y,z:] - it is now a slicing of the array f.
Man, syntax is hard.

I suggest sticking to universal principles that are consistent with and
reinforce visual perception:

infix operators with the same argument domains (i.e. potential
ambiguity) should be associative; visually symmetric (on a vertical) infix
operators (such as '+', '*', '=', but not '%') should be (semantically)
commutative;
wide infix operators bind less than not so wide ones; amongst equally
wide ones, higher operators bind less.

Beyond that compromises may have to be made for convention/backward
compatibility with mathematical notation (but not so much PL notation as
that is both younger and more volatile, so not as ingrained to start with),
where this does not hold.  Using '-' for subtraction; juxtaposition for
function application; '++' for concatenation.  Although, it seems breaches
of the above conventions do manifest themselves as common problems in
practice (what is x- y+ z?).  Maybe it's time to try
Juxtaposition is tricky: it can be thought of as a zero-width infix
operator or a zero-width prefix operator or postfix operator.  General
principles suggest that it shouldn't be the latter two (what's the symmetry
breaking rule?), so it is a visual infix operator, arguably a visually
symmetric one; though, by convention, it is typically not.
In general, it appears that using general principles anchored in visual
perception with few well-reasoned, and by themselves well-reasoned
systematic, exceptions are a guideline for concrete syntax design -- and
its conveyance to users (programmers).
Fritz
On Wed, Nov 23, 2016 at 10:20 AM, Troels Henriksen<EMAIL_ADDRESS>
wrote:

In Futhark, array indexing binds tighter than application. f x [i] means f
(x [i]), not (f x) [i]. I justified this by arrays much more central to
Futhark than they are in other functional languages. But as always, when
introducing syntactical irregularities, problems appear. The primary
problem is that array literals are annoying to use, because they must
usually be parenthesized:
map (!) ([true, false])
(Although in the particular case of SOACs, I can fix it with a grammar
hack.)
However, if we change this, we might require quite a lot of lookahead to
determine whether something is an application or an indexing. The
expression f[x,y,z] would conventionally be an application of the
function f, but if we add just a single strategic colon - f[x,y,z:] - it
is now a slicing of the array f.
Man, syntax is hard.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/HIPERFIT/futhark/issues/255, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAo8j6HxiG4wrcilCQ5UWvmxX1LuwbbLks5rBAV7gaJpZM4K6W7b
.

I have come up with a solution that feels elegant.  My proposal is to treat a[i] as an indexing operation exactly when there is no space between the variable name and the open bracket.  This can be easily implemented by treating a[ as a single lexeme.  The primary downside is that it will no longer be possible to index the results of arbitrary expressions, i.e. (f x)[i] will always be treated as the application of f x to the constant array [i].  I feel this is a reasonable restriction, as indexing of non-variables is rarely done in practice.  There is one frequent idiom where it occurs, which is (shape a)[i], but this we can work around in the short term by binding the shape to a variable, and in the long term by making the idiom unnecessary.  (Even now, it is usually better to write it using shape annotations.)

This reads like a quite terrible solution.  It seems that the absence or
presence of a particular number of whitespace characters determines the
semantics of a construct (*)
Not exactly knowing what the problem is, how about reasoning something like
this as an example of retaining orthogonal syntactic reflection of a
compositional semantics:
An array can be thought of as a subtype of the/some function type with an
implicit embedding of arrays into functions; enumerations [e1,...,en]
construct arrays (I suppose this is the intended usage in the latter part
of the message); juxtaposition is function application; and mapping a
function (or maybe even any other typefunctor) is implicit.  Semantically,
then, a [e1,...,en] maps a, as a function, over the array [e1,...,en],
resulting in a corresponding array; a [e1] maps over a singleton array; and
a e1 or a(e1) for application to single elements.  Adding implicit natural
isomorphisms between singleton arrays and their element types (as well as
for any other 'freely generated' type, which is just about always
semantically safe -- their implicit application does not change their
semantics in any context), the notations a [e1] and a(e1) would be
interchangeable.  If arrays are to be kept separate from functions (to
simplify implementation of parametric polymorphic functions), then the
interface to arrays could stipulate that such can only be applied to
arrays, thus disallowing a(e) and a e as notations for application;
together with the implicit single-element array-to-element isomorphism a[e]
could be treates an element, not only an array of such elements.
Fritz
(*) Extrapolating from numerous wide-spread 'features' (ranging from
lexical subtleties, overloading and other parsing subtleties to
'practically useful' -- but then really absolutely not -- 'features' such
as null-terminated arrays and null pointers of any type), I am afraid
Futhark could contribute to additional teaching (not on solving problems,
but on lexical issues) and endless blog posts, messages, beginner errors,
etc, on the subtleties of arrays, array notation, work-arounds, syntax
extensions by preprocessors, numerous forks on Github, etc., which may be
entertaining for those writing and reading and living off of them, but
neither productive for those typing to solve real problems nor society at
large.
On Thu, Dec 1, 2016 at 5:10 PM, Troels Henriksen<EMAIL_ADDRESS>wrote:

I have come up with a solution that feels elegant. My proposal is to treat
a[i] as an indexing operation exactly when there is no space between the
variable name and the open bracket. This can be easily implemented by
treating a[ as a single lexeme. The primary downside is that it will no
longer be possible to index the results of arbitrary expressions, i.e. (f
x)[i] will always be treated as the application of f x to the constant
array [i]. I feel this is a reasonable restriction, as indexing of
non-variables is rarely done in practice. There is one frequent idiom where
it occurs, which is (shape a)[i], but this we can work around in the
short term by binding the shape to a variable, and in the long term by
making the idiom unnecessary. (Even now, it is usually better to write it
using shape annotations.)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/HIPERFIT/futhark/issues/255#issuecomment-264232747,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAo8j_vMVSluRpoAK7xCT-3tdG-zErd5ks5rDv-MgaJpZM4K6W7b
.

So I guess the consequence of Fritz' analysis would be to parse 'f a [e]'
as 'f a ([e])' and one would need to write 'f (a[e])' if the other
interpretation was intended.

That's fine.  Under my proposal, you would need to write f a[e] if you want f (a[e]).
To step back a bit, the context of the problem is as follows: If Futhark ever becomes used to some degree, it will certainly not be as anyone's primary language.  It is far too restricted (by design and intent) for that.  Instead, it will be a small language used for solving performance-critical problems within larger systems.  This creates the need for both good interoperability (purely an engineering issue), as well as a language design that does not feel too unfamiliar.  There is a tension here, because Futhark is a pure functional language (not familiar to most), and solving that tension with small syntactical concessions to the mainstream is what I'm trying to do.  In particular, I want to keep the application-by-juxtaposition notation from the lambda calculus, as I find it eases equational reasoning.
The concrete problem is then that I want to support C/Algol-style array indexing, as it is by far the most common form in wide use.
Fritz's proposal of treating arrays like functions is good, and I have considered it myself.  The problem is exactly that it requires an isomorphism between singleton arrays and scalars to work well.  This cannot be done statically - in the indexing a is, is the index vector is singleton or not? - and is much too expensive to do dynamically.  If we were building a JIT compiler, it might be viable, but alas.  Hence, I like having a syntactic (and type-wise) distinction for array indexing that strips away a dimension, possibly all of them.
One advantage of treating a [x] as separate from a[x](and arrays distinct from functions) is that there is *no case* where both would be type correct.  Hence, the type checker could easily check if the alternative would be type correct, and make the type error contain a helpful hint that perhaps that is what is intended.  No blog posts necessary!  Also, I'm not sure I have ever seen anyone writea [x]for indexing the arraya` in C-like language, and offhand I'm not even sure it's syntactically valid, so this issue likely will not arise much in practice.  I acknowledge that this is a lexer hack, but every other solution has worse consequences or is vastly more complicated to implement.

That is correct. (*) Function applications would often require using
parentheses. That is rather common in mainstream mathematics, Schönfinkel
and Curry notwithstanding.
Fritz
(*) Using juxtaposition for function application ("apply") is problematic
from a usability point of view.
Function application is nonassociative and so f g h means (f g) h, but
not f (g h); the required care in placing parentheses has led to $ being
introduced, with its spin-off questions
http://stackoverflow.com/questions/940382/haskell-difference-between-dot-and-dollar-sign
on how it relates to . and juxtaposition.  Symmetry considerations suggest
that the (invisible) apply-operator is infix, implicitly placed between its
arguments, and general considerations about infix operators suggest that
such should be semantically associative to ensure that interpreting e op f
op g as either (e op f) op g or as e op (f op g) makes no (semantic)
difference, so e1 op e2 op e3 op e4 op ... op en can be thought of as the
sequence they look like.  Function application in Schönfinkel notation (=
juxtaposition) does not satisfy that. There is an assocative
interpretation of juxtaposition, however, by letting juxtaposition denote
functional composition, so e f g denotes the composition (in conventional
order) of functions e, f and g.  Application would then require an
(implicit or explicit -- it is a natural isomorphism, so safe, but implicit
is problematic) isomorphism in/out between type T and 1 -> T.  So f e x
with implicit in/out, where x is not a function type (here's the problem),
then really denotes
out (f compose e compose (in x)).
Making the in/out isomorphism explicit, a suggestive notation could be
postfix-">" for in and prefix-"<" for out.  Denoting composition by
juxtaposition (note: now it is associative), this gives  for what is
written as (f . g) x in Haskell, < g x> for f (g (x)) and < x> for
f g x.  Note the nonassociativity of function application is now made
visually explicit.  The fact of in/out being a natural isomorphism
motivates the use of a matching pair of symbols <, > in the concrete
syntax:  The in/out isomorphism becomes  < > = id and > < = id in concrete
syntax.  This emphasizes the semantic equality between (f . g)(x) and
f(g(x)):  It becomes
< f g x > = < f >< g x >.
  The > and < should be
thought out more, though, and using juxtaposition for functional
composition shouldn't be the standard notation for composition, I believe,
but rather an abbreviation for, say, ";" (composition in diagrammatic
order) or "." (composition in conventional order).
On Sat, Dec 3, 2016 at 11:21 AM, Martin Elsman<EMAIL_ADDRESS>wrote:

So I guess the consequence of Fritz' analysis would be to parse 'f a [e]'
as 'f a ([e])' and one would need to write 'f (a[e])' if the other
interpretation was intended.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/HIPERFIT/futhark/issues/255#issuecomment-264630666,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAo8jx4kmyB_IWN7JIjjmjIP3bHYj6Jdks5rEUK_gaJpZM4K6W7b
.

I don't really buy that application by juxtaposition is a usability problem.  I find it unambiguously better than traditional application-by-parens syntax when it comes do distinguishing between multiple arguments and tuple arguments, and I don't really experience anyone being confused when they learn it (and I've taught SML and Haskell many times).  Maybe there is room for something even better, but I don't really see Futhark as a language syntax playground.  I just want something simple and fairly established so I can go crazy on compiler design instead.
I will likely go with the lexer hack.  There is one other radical way to do this, which I am very unlikely to do due to its alienness, but is in principle probably the best way to do it.  The idea is to treat arrays as polymorphic functions, with indexing being function application.  You can say x i to retrieve the element at index i.  However, the i does not have to be an integer - it can be an array of integers, in which case you get back an array of values.  That is, x [i,j] returns an array containing the elements at position i and j of x.  This nicely encapsulates slicing, e.g. if x has size n, we can take the lower half of elements by saying x (iota (n/2)).  With some syntax sugar for iotas, we can phrase this as x (0:n), which is close to the x[0:n] that we presently support.  It would require some more compiler magic to ensure that these iotas are never manifested, which is why I prefer specialised syntax with guaranteed behaviour.


Support regex in players whitelist

Use case: I'd been using sptlrx to get the lyrics for ncspot, a TUI Spotify player, and for a few versions it's not advertised as "ncspot" on MPRIS, but instead as ncspot.instancexxxxx, where xxxxx is a random number like 23409.
For this reason, it would be really useful to be able to write a regex such as
mpris:
  players: [ncspot.instance.*, tauon, spotify]

instead of removing the whitelist altogether (which would mean that things like Chrome tabs get recognised as lyrics).
Thanks for making this project btw, it's awesome!

This will definitely be added, how nice that Go has a built-in function for such matching :)
Thank you for staying here from the very beginning, I really appreciate it.

By the way, I've given it a little more thought and the initial issue can be solved more systematically (and with less user intervention) by checking both for the player's  and .instanceXXXXX, for players which allow multiple instances to be running at the same time as specificed in the MPRIS spec.
This is how it also was implemented in the rescrobbled project.
I can make another PR if you want, and I think that with hindsight there is no other reason for matching regexes (which was a workaround for this problem in the first place).

This is a good find. I agree that this solution is much better. If you have some spare time, I would appreciate it if you could make a PR. The last release is still quite "hot", so we could release v1.2.1 without waiting another six months :)


flutter doctor crashes: Agreeing to the Xcode/iOS license requires admin privileges

Steps to Reproduce

Follow installation steps on MacOS install
I successfully get the Flutter SDK
flutter doctor command works and produces meaningful help messages
Install Xcode
flutter doctor crashes

$ flutter doctor
Agreeing to the Xcode/iOS license requires admin privileges, please run “sudo xcodebuild -license” and then retry this command.
Doctor summary (to see all details, run flutter doctor -v):
Oops; flutter has exited unexpectedly.
Sending crash report to Google.
Error executing simctl: 69
Agreeing to the Xcode/iOS license requires admin privileges, please run “sudo xcodebuild -license” and then retry this command.
Failed to send crash report. Server responded with HTTP status code 400

Expectation 👶
The error message is meaningful and actionable ("run sudo xcodebuild -license"), but it still crashed the application. As flutter doctor already provides meaningful hints for achieving proper setup, I'd expect the error message ("sudo xcodebuild -license") to show up normally in the results
After I accepted the licence, flutter doctor runs successfully and provides messages for the missing steps for completing the installation
[✓] Flutter (Channel stable, v1.2.1, on Mac OS X 10.14.3 18D109, locale en-GB)
[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    ✗ Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[!] iOS toolchain - develop for iOS devices (Xcode 10.1)
/***** EXPECTED THE ERROR TO SHOW UP HERE *****/
    ✗ Xcode/iOS license is not accepted. Accepting requires admin privileges. To accept licence:
        sudo xcodebuild -license

Logs
Crash report
Flutter crash report; please file at https://github.com/flutter/flutter/issues.
command
flutter doctor
exception
VersionCheckError: VersionCheckError: Command exited with code 69: git log -n 1 --pretty=format:%ad --date=iso
Standard error:
Agreeing to the Xcode/iOS license requires admin privileges, please run “sudo xcodebuild -license” and then retry this command.
#0      _runSync (package:flutter_tools/src/version.dart:506:5)
#1      FlutterVersion._latestGitCommitDate (package:flutter_tools/src/version.dart:130:12)
#2      FlutterVersion.frameworkCommitDate (package:flutter_tools/src/version.dart:121:37)
#3      FlutterVersion.frameworkDate (package:flutter_tools/src/version.dart:83:31)
#4      FlutterValidator.validate (package:flutter_tools/src/doctor.dart:452:127)
<asynchronous suspension>
#5      Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:116:52)
#6      Doctor.diagnose (package:flutter_tools/src/doctor.dart:189:41)
<asynchronous suspension>
#7      DoctorCommand.runCommand (package:flutter_tools/src/commands/doctor.dart:48:39)
<asynchronous suspension>
#8      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:545:18)
#9      _asyncThenWrapperHelper.<anonymous closure> (dart:async/runtime/libasync_patch.dart:77:64)
#10     _rootRunUnary (dart:async/zone.dart:1132:38)
#11     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#12     _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
#13     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
#14     Future._propagateToListeners (dart:async/future_impl.dart:668:32)
#15     Future._complete (dart:async/future_impl.dart:473:7)
#16     _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#17     _AsyncAwaitCompleter.complete.<anonymous closure> (dart:async/runtime/libasync_patch.dart:33:20)
#18     _rootRun (dart:async/zone.dart:1124:13)
#19     _CustomZone.run (dart:async/zone.dart:1021:19)
#20     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:947:23)
#21     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#22     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#23     _runPendingImmediateCallback (dart:isolate/runtime/libisolate_patch.dart:115:13)
#24     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:172:5)

flutter doctor
encountered exception: VersionCheckError: Command exited with code 69: git log -n 1 --pretty=format:%ad --date=iso
Standard error:

Agreeing to the Xcode/iOS license requires admin privileges, please run “sudo xcodebuild -license” and then retry this command.

#0      _runSync (package:flutter_tools/src/version.dart:506:5)
#1      FlutterVersion._latestGitCommitDate (package:flutter_tools/src/version.dart:130:12)
#2      FlutterVersion.frameworkCommitDate (package:flutter_tools/src/version.dart:121:37)
#3      FlutterVersion.frameworkDate (package:flutter_tools/src/version.dart:83:31)
#4      FlutterValidator.validate (package:flutter_tools/src/doctor.dart:452:127)
<asynchronous suspension>
#5      Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:116:52)
#6      Doctor.diagnose (package:flutter_tools/src/doctor.dart:189:41)
<asynchronous suspension>
#7      _doctorText.<anonymous closure> (package:flutter_tools/runner.dart:188:26)
#8      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:142:29)
<asynchronous suspension>
#9      _rootRun (dart:async/zone.dart:1124:13)
#10     _CustomZone.run (dart:async/zone.dart:1021:19)
#11     _runZoned (dart:async/zone.dart:1516:10)
#12     runZoned (dart:async/zone.dart:1463:12)
#13     AppContext.run (package:flutter_tools/src/base/context.dart:141:18)
<asynchronous suspension>
#14     _doctorText (package:flutter_tools/runner.dart:187:19)
<asynchronous suspension>
#15     _createLocalCrashReport (package:flutter_tools/runner.dart:165:32)
<asynchronous suspension>
#16     _handleToolError (package:flutter_tools/runner.dart:120:33)
<asynchronous suspension>
#17     run.<anonymous closure> (package:flutter_tools/runner.dart:64:20)
<asynchronous suspension>
#18     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:142:29)
<asynchronous suspension>
#19     _rootRun (dart:async/zone.dart:1124:13)
#20     _CustomZone.run (dart:async/zone.dart:1021:19)
#21     _runZoned (dart:async/zone.dart:1516:10)
#22     runZoned (dart:async/zone.dart:1463:12)
#23     AppContext.run (package:flutter_tools/src/base/context.dart:141:18)
<asynchronous suspension>
#24     runInContext (package:flutter_tools/src/context_runner.dart:48:24)
<asynchronous suspension>
#25     run (package:flutter_tools/runner.dart:51:10)
#26     main (package:flutter_tools/executable.dart:52:9)
<asynchronous suspension>
#27     main (file:///Users/vince/development/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3)
#28     _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:298:32)
#29     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)

Same issue, works fine running from android studio. But does not work through terminal.
Mine terminal just hangs after any flutter command.
log shows the same issue


Feat: allow empty arrays to passed to inArray and notInArray

close #1295

When passed an empty array inArray now returns false and notInArray now return true instead of throwing.
Added tests to all dialects.

Please see this comment for a compelling argument for this change.

@Angelelz  or @philippdormann  is it possible for one of you to make these changes go to one of the next releases please 🙏  ?


Clean-up old/unused files and scripts

Cleaning up some (AFAIK) unused files in the repo.
All of those files were not touched for years, empty, or unused wheel build scripts (which are not used, since we have shapely-wheels). So I think all of them can be removed, but of course would be good if someone with more history in the project can check this.

Coverage remained the same at 85.362% when pulling 8b9b7d33c5e6170aa4e8cfcf1ac2df0b4308854e on jorisvandenbossche:clean-old-files into 1f6044126ea98167ac89361b4cc3a26a94e28ccb on Toblerity:main.

Good find, thanks! Will clean up those references.


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-2.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2572

Questions ?
Please refer to the Backport tool documentation


Reusing opaque rust type across bridges in same file

I am following https://github.com/dtolnay/cxx/issues/942 to reuse an opaque rust type across cxx bridges by manually implementing ExternType. I found that if the two cxx bridges are in the same file it fails.
  error[cxxbridge]: the name `Process` is defined multiple times
     ┌─ src/main.rs:34:9
     │
  34 │         type Process = crate::handle::Process;
     │         ^^^^^^^^^^^^ the name `Process` is defined multiple times

However, if i move one of the modules containing a bridge to another file it works.
Here is an example of the issue, and the same bridges working when separated to different files.

We have a solution internally and a RFC and a PR open here (https://github.com/dtolnay/cxx/issues/1187) since months.
Unfortunately, there is absolutely no feedback by the crate owner on the PRs and RFCs here (we have a lot of advanced functionality already used in our project, but I can't get it upstreamed w/o owner's review).


added ssh_host option

Support for playing nicely with SSH transport's ssh_gateway option. If
set, kitchen ssh will attempt to connect to the SSH daemon running on the
specified host. This allows for running tests against remote docker engines
without the need to open additional ports on the remote host. Usually you will
want to set this to localhost when used in conjunction with SSH
transport's ssh_gateway option.

As mentioned over on the other ticket, I don't think this is the right approach. Now that docker exec exists, it's much easier to just totally gut all usage of SSH in favor of a custom transport that uses docker exec. This will also make it easier to support systemd and sudo and like 900 other major problems with this plugin :) That said, this code exists now, and my better solution is vaporware sooooo >_<

Current coverage is 33.92% (diff: 50.00%)

Merging #235 into master will increase coverage by 0.29%

@@             master       #235   diff @@
==========================================
  Files             2          2
  Lines           226        227     +1
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits             76         77     +1
  Misses          150        150
  Partials          0          0

Powered by Codecov. Last update 668a028...91f490f

Yeah, I can see how docker exec would be a clean interface than SSH remote. That make total sense and would make this a non-issue.

If you want to port over the transport changes needed for this into a local plugin I think it would probably make sense to merge as an interim solution, that's a lot more reversible than adding the core stuff to Kitchen itself.

I'm not sure what you mean by a local plugin. Do you mean a separate project that layers the SSH gateway transport onto the core SSH transport?

Yep, subclass the existing SSH transport class and add the gateway behavior there instead.

I dunno. Seems like a lot of work to add a config option to the existing gateway support. Are there plans to remove the gateway support from the SSH transport?

Not that I know of, but as you noted it doesn't work super well and was intended for a different use case from docker.

I can see why it's a bad idea for the docker driver to expose the specifics of the transport it's using, so this pull request isn't great. Sadly, it doesn't look like there is much opportunity to subclass the SSH transport to take advantage of any existing functionality. A plugin would need to duplicate much of the existing ssh transport functionality. But, doesn't it make sense to flesh out the existing SSH gateway support in the core rather than creating a second implementation in a plugin? I've amended the pull request on test-kitchen, https://github.com/test-kitchen/test-kitchen/pull/1138/files, so that this pull request is unnecessary.


Help Needed: Light Client Root Hash

We decided to parse the LightClientRootHash in BlockHeader::zcash_deserialize(), which means that we need:

[x] the list of network upgrades: currently in zebra-consensus, can be moved
[ ] the Network (Mainnet or Testnet)

the sync and verifier services know the network, but zebra-chain and BlockHeader::zcash_deserialize() does not

[ ] the BlockHeight

the BlockHeight is in the first coinbase transaction, which is parsed after the BlockHeader

See #768 for a previous attempt at this change, and the associated discussion.

Blocked by data dependency problems, which need design changes or refactoring.

@teor2345 pointed out that we need not just the block height but also the network in order to interpret the field, because the block height at which the interpretation changes depends on the network, and this doesn't fit with the ZcashDeserialize trait.  So I guess we cannot fully parse the field upfront.  The next best option seems like a variant of @str4d's suggestion on Discord to have a method that takes a Network and returns the enum representation (I don't think it's necessary to pass the block height, since the block height is included in the block already).  Since the block height is optional I guess it will have to return an option of an enum.

The next best option seems like a variant of @str4d's suggestion on Discord to have a method that takes a Network and returns the enum representation (I don't think it's necessary to pass the block height, since the block height is included in the block already). Since the block height is optional I guess it will have to return an option of an enum.

I implemented this design as block.light_client_root_hash(network).


feat: pass additional arguments to scripts

resolves #7

Good idea about the 3rd argument. I'll take a look at the Windows tests too. Thanks for the heads up!

I followed your suggestion about the 3rd argument. It's looking much better now.
As for the Windows tests - it seems like there's a difference between how childProcess.spawn is treated on Windows:
// Windows
spawn('yarn', ['run', 'test']) // => "\"yarn ^\"run^\" ^\"test^\"\""

// Unix
spawn('yarn', ['run', 'test']) // => ['yarn', 'run', 'test']

I think we just need to spy on higher abstraction (cross-spawn instead of child_process).

I think we just need to spy on higher abstraction (cross-spawn instead of child_process).

Sounds good to me. When those tests were first written I wanted it to cover more of the overall use and verify that we were doing the right thing all the way down to the process getting spawned. But #6 added a pretty clever way of having better functional tests for this package, so I don't think it's as important that we test the spawn part in what should be unit tests anymore.
So maybe we could break the functions up a bit more:

Smaller pure function that just processes the args (basically what run is now but without calling out to cross-spawn). test.js primarily deals with this function.
More side-effecty function that deals with the npm_execpath environment variable, calling cross-spawn, etc that is covered by the tests added in #6. Maybe even expand on these and add some arguments?

What do you think?
Either way I think a lot of this could be a different PR, so maybe just do what's easy/simple to get the Windows stuff passing here?

Yes, I like the suggestions. I'm gonna work on these in the upcoming days.
I'm having some issues with spying on the import spawn from 'cross-spawn' as the sinon requires an object and a property to spy on. Is there an equivalent of jest.mock('module') in sinon? I'm not familiar with sinon that much.

As far as I know there really isn't a great way to handle stubbing out default exports. The stub needs to be in place before the first call to require('cross-spawn'), which is surprisingly difficult to set up given that there shouldn't be any code above an import statement in a module.
cross-spawn does export the same spawn function as a named property instead of just the default: https://github.com/moxystudio/node-cross-spawn/blob/879eb84a99fe7845557aa484d591e3cd08254ed3/index.js#L35, so the following should work:
// cli.js
const crossSpawn = require('cross-spawn');

function run() {
  return crossSpawn.spawn(...)
}

// test.js
import crossSpawn from 'cross-spawn';

test.before('stub spawn', () => {
	sinon.stub(crossSpawn, 'spawn').callsFake((name, args) => args.slice(-2));
});

But it also might be simpler to just structure the functions that are being tested in a way that they don't rely on cross-spawn at all.

But it also might be simpler to just structure the functions that are being tested in a way that they don't rely on cross-spawn at all.

Yep, this was way simpler to accomplish. Tests should be passing now for all operating systems (tested on my Windows machine).

This was published in version 2.1.0. Thanks @KubaJastrz!

Thanks for helpful responses and great package!


Document CreateProxy

See https://github.com/aspnet/EntityFrameworkCore/issues/12389

Would have saved me several wasted hours :)

Stumbled upon CreateProxy after burning days looking for a good pattern to generate lazy-loader navigations on new entities. It's exactly what I needed.
Would be great to document this so others can benefit as well.


feat: Issue get/delete/edit/list for labels

plus some other minor changes

It seems like the CI is failing on creating a new issue, any idea why ?

any plan to get this in ?

I'd love to see that merged!
How about createLabel? (https://developer.github.com/v3/issues/labels/#create-a-label)

👍 for this


docs: added content for operations in AsyncAPI Document

Fix: https://github.com/asyncapi/website/issues/1512
Content:

Meaning of operations
Steps for adding operations
Types of operations

Work: GSoD 2023 Issue

Gorgeous first draft, @BhaswatiRoy! ✨✨✨ Both the written work and diagrams are off to a great start! Thank you for putting amazing effort into this PR. 😊
Let's have Lukasz review for technical accuracy first before I give an editorial review round.
➡ That said, please add an introduction paragraph to this document page for the reader. We shouldn't start with bullet points and info before providing context on what is the purpose of this document and what the reader will learn.

thanks for the feedback, I have added a small introduction, do let me know if I need to elaborate on that too

Just adding my observations here:
Why isn't this updating the document added in the netlify preview build? Or am I missing something?
I'm assuming this is the link

I think it would be good for @BhaswatiRoy to do it in this PR so she can learn how creating a sub-section works 😄.
We discussed this in our GSoD group calls, but this might be the first time she has to implement it; I would like her to learn how to do that successfully for this PR as practice ✌🏽
(P.S. Also think I need to create my own PR for adding this section to the docs and we can merge that instead? was actually going to talk to you about this in our 1:1 this week @derberg 😬)

hey, can you make proper changes to make it possible to see the document in the UI?
looking at this PR and #1767 I assume you want to have AsyncAPI Document subsection under Concepts, something like we have with Getting Started under Tutorials. So you need to add _section.md and index.md -> please have a look at https://github.com/asyncapi/website/tree/next-major-spec/pages/docs/tutorials/getting-started
@alequetzalli not sure if you want it to be done here in this PR or will someone do it in a separate PR that we merge first.

Hi, after going through what Lukasz said, I can see that only event-driven-architecture section is given under getting-started, though there are other sections in the website too, so I am a bit unsure as to how can I proceed?
Should I make an asyncapi-document section and add _section.md & index.md and also add operations there along with the 2?


Introduce dynamic hubble flow logs exporters based on config file

[x] All code is covered by unit and/or runtime tests where feasible.
[x] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[x] All commits are signed off. See the section Developer’s Certificate of Origin
[x] Provide a title or release-note blurb suitable for the release notes.

Introduce dynamic hubble flowlog exporters configuration guided by config file.
Changes in the config file are reflected without a need to restart cilium-agent, so it allows to dynamically specify flowlog requests. Each request contains the output file path, field mask, include filters (to allow flows), exclude filters (to deny flows) and end time at which flowlog will automatically stop collecting flows. The low-level implementation reuses a current hubble exporter. The config file will be populated from configmap (but allows customization if needed).
The config file is in YAML format, sample config file.
flowlogs:
- name: "test001"
  filePath: "/var/log/network/flow-log/pa/test001.log"
  fieldMask: []
  includeFilters: []
  excludeFilters: []
  end: "2023-10-09T23:59:59-07:00"
- name: "test002"
  filePath: "/var/log/network/flow-log/pa/test002.log"
  fieldMask: ["source.namespace", "source.pod_name", "destination.namespace", "destination.pod_name", "verdict"]
  includeFilters:
  - source_pod: ["default/"]
    event_type:
    - type: 1
  - destination_pod: ["frontend/nginx-975996d4c-7hhgt"]
  excludeFilters: []
  end: "2023-10-09T23:59:59-07:00"

This is a follow up from discussion in https://github.com/cilium/cilium/pull/28220 cc: @chancez @AwesomePatrol @nathanperkins
Fixes: #25508
TODO list:

[ ] replace periodic file reads with inotify As this PR is already quite big I will do it in a separate PR
[x] add metrics (gauge with active flowlogs, cumulative counters with number of config changes applied)
[x] modify helm charts to cover new dynamic flowlog feature (deploy empty config as CM and mount to cilium-agent)
[x] docs

Add dynamic flowlog exporters configured by yaml file (configmap) without a need of agent restart.

I'll take a deeper look a bit later this week but so far the general approach looks good.
One thought: can get some metrics? A few useful metrics:

a hash of the config and expose that as a gauge. It would help identify when nodes all have the most up to date configuration.
a counter for number of configuration reload failures. If the new config is invalid, it would be ideal to have a metric that can be used to detect this case.

One thought: can get some metrics? A few useful metrics:

a hash of the config and expose that as a gauge. It would help identify when nodes all have the most up to date configuration.
a counter for number of configuration reload failures. If the new config is invalid, it would be ideal to have a metric that can be used to detect this case.

Done. As flowlog already has a "name" identifying it I use it instead of calculating hash in metrics.

For reference, I'm suggesting something similar to prometheus/alertmanager#751.
Basically, with a gauge containing the hash of the config YAML, you can do a count by() on the metric, and get the number of instances using each config. This tells you if for example, some agents are using the new config, and some are still using the old config. In a perfect world, everything is using the new config, but with delays in reload (we are using a timer), configmap updates (they're not immediate), invalid configs, and bugs, this can tell you whether or not everything is actually using the configuration you expect.

@chancez Added

@chancez The helm support added for both static and dynamic exporters. Please take a look.

/test

The test failure seems unrelated. I don't have access rights to trigger /test so I will rebase PR to re-trigger them.

/test

/test

/test

/ci-ipsec-upgrade

For some reason, travis didn't run. Travis is only running arm64 unit tests so it's safe to assume that this PR can be merged. Thank you for the contribution.


adding past fires

Aim of the Pull Request :
Adding the historic fires on both 'alerts' and 'risks' map.
More detailed info:
Adding made :
Adding a new dataset "historic_fires.csv" in 'data' folder
Adding a new callback in 'Callbacks related to the "Niveau de Risque" page' in main.py
Adding a new callback in 'Callbacks related to the "Alertes et Infrastructures" dashboard' in main.py
Adding two functions in utils.py : get_old_fire_positions* and build_historic_markers functions
*in this first function, we also customised the markers of the historic fires to improve the visualization on the map
Adding some imports in utils.py
Adding a new button* in the homepage.py:
*the new button allows to visualize or not the historic fires on the map
Changing made:
Editing the build_risks_map() function by adding the build_historic_markers in risks.py
Editing the build_alerts_map() function by adding the build_historic_markers in alerts.py

Note 1 : No density filter
Thanks for reviewing

Great PR, thanks a lot @abdi-adel and @pechouc !
Overall it seems just fine, the only important features that I would discuss here is the past fires marker design. Even if singular, those 'dead trees' icons may not be appropriate for a professional use.
Waiting for other reviewers inputs on this ?

Even if singular, those 'dead trees' icons may not be appropriate for a professional use.

For sure and actually, we have not spent much time (or any time?) looking for the most appropriate icon.
But thinking about it, I feel like there are not many possibilities, considering that the alert sign already contains a fire representation. If we keep the alert marker this way, I guess we could come back to a traditional geographical pointer...
Or maybe, we could move the alert sign to something in this vein, which would allow to use a fire sign for historic markers?

Edits done

Adding .png files of marker icons to the assets folder
Changing marker icons based on these new files
Adding a static legend to both "Alertes" and "Niveaux de Risque" maps

How it renders locally

Additional screenshot
Because we cannot see well the legend in production mode, here is an indication of how the legend looks:


Completed jobs in Sidekiq::Status::Web

I'm moving from resque to sidekiq, and noticed that with sidekiq-status I can't see the information for completed jobs as I could with resque-status.
So the jobs appear only on the 'Statuses' list when they are being processed, but disappear once they complete, no matter the expiration.
Is this normal behavior or am I doing something wrong?

Yup, it's a feature, at least so far. I can see you started implementing showing completed jobs in your branch?

Yep, have a first implementation but needs a bit more work.
Would you be open to merge it once it's done?

Absolutely. That'd be fabulous. I don' use Sidekiq currently, so I can't point the right direction for new features, all I can do is answer people's questions about how it works, and that's it. And most of the time that's not required, cause the codebase is tiny and ( hopefully ) quite readable. Sharing a feature that is important enough for you to implement is very likely what other users need. Also, it's just a cool thing to do :)

I think this is related to the job not hanging around until expiration...
Sidekiq::Status::status( job_id )

starts returning nil as soon as the job is completed, so I am not able to see that the job has been completed by polling status.

@utgarda I drilled down this issue and observed following
In Sidekiq::Status::Web module
  queue = Sidekiq::Workers.new

Above API, only return jobs which are in progress i.e. with status :working
I also looked into @marcboquet's code on his feature branch but I'm not liking his hack to show up completed jobs on statuses tab.
I started working on this feature at branch (not committed any code yet).

For this I am thinking of storing some additional info with status for a job instead of using above API.


Incorrect bgp_settings value on azurerm_virtual_network_gateway.connectivity resource

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Versions

terraform: `v1.1.5
azure provider: v3.7.0
module: v2.0.2
Description
Describe the bug
This code:
https://github.com/Azure/terraform-azurerm-caf-enterprise-scale/blob/246cf7de44369b2a40a1b07fafdd8b8b792e7c35/resources.connectivity.tf#L211-L219
does not seem to match what you can give as input:
https://github.com/Azure/terraform-azurerm-caf-enterprise-scale/blob/246cf7de44369b2a40a1b07fafdd8b8b792e7c35/variables.tf#L263-L266
Steps to Reproduce

n/a
Screenshots

Additional context

Appears to be a copy/paste error.
Thank you @davidkarlsen for bringing this to our attention in #259.

From the documentation:

We need to remove the unsupported attributes from the resource.

This is also incorrect as for_each cannot evaluate against a null value:
https://github.com/Azure/terraform-azurerm-caf-enterprise-scale/blob/246cf7de44369b2a40a1b07fafdd8b8b792e7c35/resources.connectivity.tf#L212


Segmap on streaming LIDAR point cloud topics.

Currently, I am trying to build a map by the input from an ros node publishing LIDAR point cloud topics.
I followed some issues regarding this.
https://github.com/ethz-asl/segmap/issues/81
https://github.com/ethz-asl/segmap/issues/69
I changed "use_odometry_information" to false
"assembled_cloud_sub_topic" to /ns1/velodyne_points, in my case
"sensor_frame" to left_velodyne
"use_odom_factors" to false.
After operating the launch file, I got the following error.

After analyzing the code, I found out that the topic message related to the odom_frame is necessary because of the tf_listener_.waitForTransform function in LaserSlamWorker::scanCallback function.
So I tried to publish the static transform by adding the following code in a launch file.

but still I encountered the same error.
The following figure shows the rqt_graph when doing so.

Have you tried Segmap for the streaming LIDAR topics?

I slightly modified a code to force to consider LIDAR input only.

It works but the estimated trajectory seems weird.

It looks like a trajectory from a drone.
and it seems that most of the point cloud or segments are eliminated...
I guess I should control some parameters on input filters.

haha yes that looks wrong indeed! Keep in mind that the core of this library is the segment based localization functionality. The ICP based LiDAR odometry is only offered as a reference / starting point for the demonstration. Also, in general I would suggest to supplement the LiDAR with an IMU whenever possible.
In order to get better LiDAR-only odometry results, you should definitely make sure that the laser_slam backend runs in real-time (and can process every scan). If that isn't the case it will indeed have a hard time to converge to a good solution. For this you can experiment with the different laser_slam parameters: I.E. https://github.com/ethz-asl/segmap/blob/master/segmapper/launch/kitti/kitti_loop_closure.yaml#L106
and also importantly the input filters: https://github.com/ethz-asl/segmap/blob/master/segmapper/launch/kitti/input_filters_outdoor.yaml
and ICP configurations: https://github.com/ethz-asl/segmap/blob/master/segmapper/launch/kitti/icp_dynamic_outdoor.yaml
Hope that helps!

Also, first try visualizing the local map point cloud /segmapper/local_map It will not help to look at the segments until this local map isn't clean.

I looked into the topics from 2011_10_03_drive_27.bag file via rqt_bag.
and I visualized the x,y,z values from a translation in tf topic (I think it is from IMU sensor since the child_frame_id indicates imu)

I guess the tf_listener in LaserSlamWorker might subscribe this tf topic from the .bag file.
what do those values mean?
I thought that the value from an imu sensor means relative transformations between consecutive time stamps but it looks the poses in world frame.
Which one is right? or does it suggest other meaning?

This curve likely shows the position of the approximate tf transform integrated from instantaneous IMU values. How exactly it is generated depends on the IMU sensor driver.

I tested Segmap on KAIST Urban Dataset using Lidar data only.

It works but not consistent, I guess..
due to the ignoring of the odometry (from IMU or GPU) data?

@rdube Thanks for your reply, and yes, I am planning on integrating the IMU measurements but first I guess I should generate the odometry information in the global coordinate from the relative IMU measurement.
and I hope to utilize a semantic information when detecting the loop closures. Currently, I'm attending CVPR 2018 in Salt Lake City and I am interested in "Semantic Visual Localization" paper which will be presented in the afternoon. Interestingly the paper is from ETH as well.

@JustWon yes this is an interesting work!

@rdube  #48 talks about changing SegMap's SLAM backend. Is that possible with the latest baseline? I was looking to replace ICP lidar odometry with LOAM's odometry. laser_slam_worker subscribes to the tf published in the kitti bag files, so will it suffice to subscribe to the tf published by LOAM? I'd appreciate any insight you may be able to provide.

@rdube #48 talks about changing SegMap's SLAM backend. Is that possible with the latest baseline? I was looking to replace ICP lidar odometry with LOAM's odometry. laser_slam_worker subscribes to the tf published in the kitti bag files; although it may sound ridiculous, will it suffice to subscribe to the tf published by LOAM? I'd appreciate any insight you may be able to provide.

I tested Segmap on KAIST Urban Dataset using Lidar data only.

It works but not consistent, I guess..
due to the ignoring of the odometry (from IMU or GPU) data?

@JustWon Could you tell me how did you use point cloud data only to get tf ? Thanks a lot.


Get better at debugging CoffeeScript/JavaScript

References:

https://developer.chrome.com/devtools/docs/javascript-debugging

To nebulous to be an issue.


Add iphone se support

This is an alternate implementation to https://github.com/fastlane/fastlane/pull/3980 which adds some more testing and pulls apart the filename grabbing so it's a bit more manageable for the different variations.

I like what's going on with the the transform strategy extraction 👍
If it's not too much work, I think it would be great for testability to allow the TemplateFinder to have it's base directory be provided at construction time (perhaps defaulting to  ENV['HOME']), so that the ENV['HOME'] doesn't need to be globally adjusted for the tests.

LGTM. Squash and merge! 🎃

:ship: it!

Great tests, great PR!! 👍

If I run frameit directly it is working fine, however if I run frameit through fastlane I get an error when trying to add the iPhone SE frames.
Here is a portion of the log when running fastlane run frameit --verbose:
INFO [2016-05-05 13:23:31.72]: Framing screenshots at path ./fastlane/
ERROR [2016-05-05 13:23:31.75]: undefined method `[]' for nil:NilClass
ERROR [2016-05-05 13:23:31.75]: Backtrace:
	/Users/felixdumit/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/frameit-2.6.1/lib/frameit/screenshot.rb:29:in `device_name'
	/Users/felixdumit/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/frameit-2.6.1/lib/frameit/screenshot.rb:54:in `mac?'
	/Users/felixdumit/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/frameit-2.6.1/lib/frameit/screenshot.rb:73:in `frame!'
	/Users/felixdumit/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/frameit-2.6.1/lib/frameit/runner.rb:29:in `block in run'

@felix-dumit I ran into this and needed to update fast lane to 1.87.1 which includes better bathing support for actions


chore: release oauth_tools 0.1.2

:robot: I have created a release beep boop
0.1.2 (2024-12-03)
Bug Fixes

pin dependencies (8e86560)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

oauth_tools-v0.1.2
:sunflower:


Optional types syntax (2 defs: w/ type and w/ inline definition)

Suggestion
🔍 Search Terms
type optional syntax variable definition
✅ Viability Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
I think it could be very useful to be able to declare optional types in TypeScript in a more clear and consise way. This proposal is two-fold— one syntax for defining a type and one syntax for inline typing on a variable.

For type usage, I propose a shorthand syntax TypeName ?= Type which would match for the specified type or undefined, where the ?= indicates that it is optional and can match either the specified type or undefined.
For inline variable usage, I propose a shorthand syntax let variableName ?: Type which would type the variable as the specified type or undefined, where the ?: indicates that the variable is optional and can either be of the specified type or undefined.

This syntax would provide a more concise and readable way to create optional variables, as opposed to using the | undefined syntax which can be somewhat unwieldy, especially when creating a handful of variables you want toi be optional within a framework.
This would make it easier to clearly communicate the intended use of a variable to other developers reading your code.
📃 Motivating Example
You could use the optional type syntax to create an optional type and then use it like this:
type Name ?= string;

let myName: Name;

// myName is now optional and can either be a string or undefined

You could use the optional inline variable syntax to create an optional type on the variable like this:
let myName?: string;

// myName is now optional and can either be a string or undefined

…but what if someone uses both?
It's plausible that in some cases, a user may use the optional inline syntax using a type that already uses the optional type syntax, or create unions or intersections using some optional and other non-optional types.
For union types, that could look something like this:
type Name ?= string;
type Age = number;

// assume `personalDetail` can be a name or age
let personalDetail: Name | Age;

// myName is now optional and can either be a string or undefined

In these cases, I think it woulkd make the most the most sense just to let any types declared with the an optional declaration be shorthand for their same usage as Type | undefined, so in the above example, the type for personalDetail would evaluate to string | undefined | number.
For intersection types, the type would usually evaluate to never, the same that it would if union-ing with undefined, like in this example:
type Name ?= string;
type Age = number;

// assume `personalDetail` can be a name or age
let personalDetail: Name & Age;

// myName is now of type `never` as `string | undefined` does not intersect with `number`.

💻 Use Cases
Working within Svelte, for example, it's not uncommon to see TypeScript used like this when defining props:
<script lang="ts">
  export let prop1: string | undefined = undefined;
  export let prop2: number | undefined = undefined;
  export let prop3: string[] | undefined = undefined;
  export let prop4: { prop: number } | undefined = undefined;
  export let prop5: string | null | undefined = undefined;
</script>

With this proposal implemented, this block could be rewritten to the following:
<script lang="ts">
  export let prop1 ?: string;
  export let prop2 ?: number;
  export let prop3 ?: string[];
  export let prop4 ?: { prop: number };
  export let prop5 ?: string | null;
</script>

The space here would be optional, as always, so this would produce the same result:
<script lang="ts">
  export let prop1?: string;
  export let prop2?: number;
  export let prop3?: string[];
  export let prop4?: { prop: number };
  export let prop5?: string | null;
</script>

Partially a duplicate of #41901.

Appreciate the write-up, but I do think that we've discussed these before. The only thing I could see us doing to revisit binding name optionality is for the global scope (think Node's .d.ts files, or lib.*.d.ts).

@MartinJohns @DanielRosenwasser I haven't come across any tickets—still—that this ticket duplicates.
Looking at two seemingly related tickets—

#35577 proposed adding a ? after a type to indicate | undefined like this: let a: string?
#7426 proposed adding ? before the : in function args and interface/object type properties, both of which are now supported, with the difference that this issue proposed ? being synonymous with | null | undefined where I AFAICT, the ? is the currently supported context only means | undefined

This proposal I'm submitting here does not overlap with either of those, as this relates to top-level variables or types in a given scope, though not necessarily global.
There is no way to achieve this currently without explicitly writing | undefined = undefined. The longwinded redundancy here could use some bikeshedding, at the very least.
<script lang="ts">
  export let prop1: string | undefined = undefined;
  export let prop2: number | undefined = undefined;
  export let prop3: string[] | undefined = undefined;
  export let prop4: { prop: number } | undefined = undefined;
  export let prop5: string | null | undefined = undefined;
</script>

🤮


Missing dependencies on the README

In order to run eval.py you need some extra dependencies which are not listed on the README.md file:

torchvision
scikit-image
scipy==1.2.3 (newer scipy versions fail when trying to do from scipy.misc import imsave)
opencv-python

@skerit Thank you!


Task: Migrate asset events to local circle

See #4
Description
As an app user I would like to be able to edit or delete already existing events in the app using the edit event feature
Acceptance criteria

Assets events should be copied into the app data base only once
Copied events should only be shown once on the app listing
Copied events should be editable
Copied events should be deleteable

Closed as now this events have been migrated to a remote circle


Adds exp_step

Adds exp_step to help with progressive_view. exp_step is reset in every experiment

Yes, feel free to merge!


missing "react-native" in package.json

"react-native" is specified in .babelrc, but not included in package.json. Using this library without editing it will cause babel to complain.

@gregolai can you explain why? babel should not be trying to compile the code of this library - it's compiled upon publish. babel-preset-react-native is correctly specified in this package's dev deps.


recurrent neural networks -- how soon

Hey guys,
I was wondering if you could be so kind as sharing with me when the release supporting recurrent nns will be made available.
Best Regards and many thanks for your effort spent on building this lib...
Andre

I have the same question.

Hi,
I would like to piggy back off of this question. In the documentation, it says that you can add LSTM layers through customizing layers. Are there any tips or references on how to do this?
Thanks!


ConvTranspose (auto_pad)

~Assigned to Luka Tsabadze~

Support (and testing) has been added for ConvTranspose autopadding. The remaining unsupported component is asymmetric padding; however asymmetric padding may be more pervasive than just ConvTranspose, so someone else should create an issue for it.

Closing turbine camp issue.


Split readme.md into several parts.

Hi @stefanjudis!
As discussed in the #107 #101, I've tried to split the readme.md into several. Feel free to add any comments and suggestions.

@havenchyk Hmm for some reason I was thinking we're splitting into platforms... Let me think about this approach. :)

Hey @stefanjudis, what do you think?

No problem, could you please provide some rxample of this separation? I'm not sure I understand the idea.

No problem, could you please provide some rxample of this separation? I'm not sure I understand the idea.

@stefanjudis ping

Readme ( general information )
  |-- creating windows installer ( including troubleshooting for windows )
  |-- creating mac dmg ( including troubleshooting for mac )
  |-- "how we use it so far"

Does this make sense?

LGTM, I'll provide changes accordingly with this plan.

@havenchyk any news here?
No pressure - but I can do it myself too. :)

@stefanjudis haven't chance to take a look so far. If you can, please do it :+1:


onQueryTextSubmit not working correctly

The thing is when I return false then the data is refreshed and all the data is shown without the search filter.
And when I return False then the keyboard does not closes itself.
Please help me in this....

If i got it right, the problem is that the searchView will first clear the textView used to input the query. After that it will once again trigger the method to update the search results and because of that it will perform a search without a query (refreshing the data).
You can fix that by checking if the query is suddenly "".


Make buckets and global_rate_limit private

Checklist

[x] I have run nox and all the pipelines have passed.
[x] I have made unittests according to the code I have added/modified/deleted.

This just duplicates a change already present in #629

This just duplicates a change already present in #629

:+1: Will close and wait for that one to be merged


update bulk-import version

updates bulk import plugins version
updates topology plugin version
updates rbac plugin version
Also fixes https://issues.redhat.com/browse/RHIDP-3799

/test e2e-tests

/hold
@subhashkhileri If you want to test this and validate the fixes, please feel free to do so. Otherwise, please remove the hold label.

Verified Toplogy on cluster

@its-mitesh-kumar  updated the topology plugin version to include the VM status icon changes

Tested RBAC plugin and it is working fine.
https://github.com/user-attachments/assets/1ff92fdc-d3a3-44fb-9814-b1ebf6691afa
https://github.com/user-attachments/assets/38d12c6b-85a7-465d-990f-0dac73160787

/unhold

/test e2e-tests

/lgtm

Tested the reported bulk import UI issues


Master measure color: different behavior between native and extension with single color

1: Create a scatterplot and have the first measure a measure with a set measure color in master measure.
2: Choose single color
Notice in the PP that there is a property library color.
3: Choose measure
Nothing happens and the measure color is not applied
If the same thing is done in the native object then the property is not seen

In web/assets/client/utils/color-support.js in sense-client there is a check against data.visualization to see if this properties should be supported or not. The current list of visualizations which do not support this properties is 'scatterplot' and 'map'.
So this will be fixed automatically when we have a new scatter plot as a native scatter plot.


Enhanced the UI/UX part of the cart pop-up

Before =>
After enhancing =>

@amitroy-thedev
The Cart looks really good,
There are some conflicts, The site has changed a lot can you kindly fork the project again and make the PR?

Okay sure


Use with angulajs a error

When use with AngularJs, make this error
TypeError: Cannot read property 'childNodes' of undefined
    at compositeLinkFn (<anonymous>:6998:36)
    at nodeLinkFn (<anonymous>:7622:24)
    at compositeLinkFn (<anonymous>:6995:13)
    at compositeLinkFn (<anonymous>:6998:13)
    at compositeLinkFn (<anonymous>:6998:13)
    at compositeLinkFn (<anonymous>:6998:13)
    at publicLinkFn (<anonymous>:6874:30)
    at <anonymous>:1493:27
    at Scope.$eval (<anonymous>:14127:28)
    at Scope.$apply (<anonymous>:14225:23)

I seemed to get something similar when using no-switch directive.  When I changed the code to use ng-if, the problem seemed to go away.


Can timy output be made stored in a dictionary?

@ramonsaraiva
I would like to know if Timy output could be stored in a dictionary rather than printing on to the console or logging to a log file?
Also, Can Timy be used in production code without any compromise in performance?

@ramonsaraiva  Can you please comment on this.

Hello @jcopps - if you want to, you can submit a PR implementing this functionality, I don't mind having a third option for storing the messages. I'm pretty sure you could be able to accomplish this by writing a custom log handlers. https://docs.python.org/3/library/logging.handlers.html#
To the production code question, I don't think the package would hurt your performance, because all it does is time.perf_counter or time.process_time calls, besides the log ones.

@ramonsaraiva  I will try to give a PR by this weekend.
Since this has got decorators support, will this work fine on a multi threaded application if I store the time stats in an isolated store?

I'm not sure. It will depend on how you will use this store.. You'll need to give me an example so I can understand the scope.


Add support for customer-managed-deployment-agent

Proposed changes

Add a static page with the latest-version for the Pulumi Customer Managed Deployment Agent, which will provide a source of truth for other tooling
Add a new GHA workflow to update the latest-version page based on a repository dispatch from the pulumi/customer-managed-deployment-agent repo
Update the sync-and-test-bucket.sh script to create the new static page

Unreleased product version (optional)

Related issues (optional)
Part of https://github.com/pulumi/pulumi-service/issues/17303

Confirmed the new static page works on the preview:
http://www-production-pulumi-docs-origin-pr-10462-5062260f.s3-website.us-west-2.amazonaws.com/customer-managed-deployment-agent/latest-version


Clean structure

Hi @pgarcia-dev
This PR contains some improvements to clean some of the code:

Better integration of fuzzylogic library
avoid memory leaks by moving the fuzzy engine to the configuration phase instead of every step
Remove launchers, maps, urdfs,... It is unnecessary if you are working in rolling and you have navigation2 cloned in your workspace. You can use the standard launcher and change in nav2_bringup the parameters

I hope it helps.

Thanks @fmrico. I am aware the code is very (very) dirty and inefficient. I didn't have time to clean it yet. Thanks for your comments. I will accomplish the changes ASAP

Just verify it and merge ;)


Bluetooth: Audio: Fix dead code issue in VCS

The common API functions in VCS had dead code in specific
configurations, causing coverity issues. Fixed by this
commit.
Signed-off-by: Emil Gydesen<EMAIL_ADDRESS>Fixes #35131
Fixes #35129
Fixes #35128
Fixes #35125
Fixes #35124
Fixes #35123
Fixes #35122
Fixes #35121
Fixes #35120
Fixes #35132

Woah, 10 for 1. What a deal.

Woah, 10 for 1. What a deal.

That's the way it is when code is basically copy-pasted :D I briefly considered a commit for each, but with such a small change I think it made sense to group them :)

@Thalley Are you sure you aren't just trading one coverity warning for another now?
If the issue is that coverity sees that the return cannot be reached due to the ifdefs, wouldn't it just now say instead that the assign to -ENOTSUP would be always overwritten?
I'm thinking it might have been better to just close these is invalid/intentional.
Maybe using IS_ENABLED instead of ifdef would have improved it.

@Thalley Are you sure you aren't just trading one coverity warning for another now?
If the issue is that coverity sees that the return cannot be reached due to the ifdefs, wouldn't it just now say instead that the assign to -ENOTSUP would be always overwritten?
I'm thinking it might have been better to just close these is invalid/intentional.
Maybe using IS_ENABLED instead of ifdef would have improved it.

@joerchan
Damn, I think you are right.
The bt_vcs_client calls can easily be guarded by a IS_ENABLED instead, but the server code blocks expects the vcs_inst struct to be declared, which it wouldn't be, so it requires a bit more to be able to use IS_ENABLED for the server.
We might need to just close these as invalid.

Ok, then I think closing the issue without any changes is the best, coverity does not have the overview of the feature defines, so it cannot see that the code is only dead under certain circumstances.

@joerchan I've tried another design that should work and not cause coverity issues.


unusedExports should be fixable with --fix

Oh man I do not want to manually fix all the unused exports in the code base I'm currently looking at. Seems like an easy job for --fix.

It seems potentially very destructive to remove unused exports, which might actually be used.

It seems potentially very destructive to remove unused exports, which might actually be used.

Unused exports are by definition... unused. If there's false positives from the AST then we have way bigger problems.
--fix'ing a line like:
export const foo = 'FOO';

to
const foo = 'FOO';

actually seems rather easy and safe.

In an app, sure - but eslint runs on libraries as often as on apps.

Only libraries without unit tests would suffer from this problem.

@bugeats on the contrary; unit tests would test the individual pieces of a library; there are often legacy entry points that are not tested, but not removed to avoid a breaking change.
Either way, an unsafe autofix is unsafe even if the reason it breaks is because someone is not following coding practices you like.

eslint unfortunately doesn't allow for per-rule settings for fix: https://github.com/eslint/eslint/issues/7549
While this fixer would be great when run once (i.e. when you first enable it), it would be extremely annoying to trigger on save during development. This is why none of the "unused" rules have fixers - it's not clear whether the fix is to remove the unused thing or to use the thing that's unused.


Accessible accordion

The Claim details Accordion will now support keyboard navigation.
Another major change in the way it works is that default all accordions will be closed except if the user is using a "Messages" link which will instead open just the messages panel for them when the page is loaded

I seem to have a flicker on this PR with the rspec. I'm not sure how changing the view/js would affect the rspecs that are failing.

The accordion.js needs to be broken up and refactored with better management of scopes. Code Climate isn't happy.

Well spotted @Demwunz, we dont actually need that and I forgot to take that out during the refactor.

@Demwunz if you happy with it could you merge it?


Auto select modules with URL param

This adds some JavaScript code to the download page which automatically selects the modules based on the URL parameter, to allow sharing or storing a link with a custom list of preselected modules.
If I want to add or remove a module from prebid, I can skip the step of selecting all current modules, which can be quite tedious with many modules.
Additionally, the download page URL is being changed to the selected modules.
Example link: https://docs.prebid.org/download.html?modules=appnexusBidAdapter%2CconnectadBidAdapter%2CconsentManagement%2Ccurrency%2Cid5IdSystem%2CixBidAdapter%2CmedianetBidAdapter%2CpriceFloors%2CrubiconBidAdapter%2CsharedIdSystem%2CstroeerCoreBidAdapter%2CteadsBidAdapter%2CtripleliftBidAdapter%2CuserId&version=7.34.0

Looks like a good and useful idea. How many bidders before URL length becomes an issue?

Probably around 70 if we go by the limit of 2000 characters.

In Chrome, it seems to be around 425+ modules with, 8040+ characters when it starts to get too long.

I really like the idea. However I cannot see it work on the preview url:
https://deploy-preview-4542--prebid-docs-preview.netlify.app/download.html?modules=appnexusBidAdapter%2CconnectadBidAdapter%2CconsentManagement%2Ccurrency%2Cid5IdSystem%2CixBidAdapter%2CmedianetBidAdapter%2CpriceFloors%2CrubiconBidAdapter%2CsharedIdSystem%2CstroeerCoreBidAdapter%2CteadsBidAdapter%2CtripleliftBidAdapter%2CuserId&version=7.34.0
The version works, but adapters are not selected.
On the implementation itself a few notes
using a single query param and base64 encode a json object can be simpler. There's a single decoding & encoding step. The URL looks a little more tidy.

The version works, but adapters are not selected.

I only tested it locally, it's fixed now. (Looks like there are some modules with wrong module codes).

using a single query param and base64 encode a json object can be simpler. There's a single decoding & encoding step. The URL looks a little more tidy.

The initial idea was to keep it readable and to be able to modify it without code.

I guess it doesn't work if there are duplicate ids hey? @Sir-Will do you mind doing a quick scan of the input ids to catch anymore duplicates before we merge this?

Sure, here is the list:
{
    "gamoshiBidAdapter": [
        "9 Media Online",
        "Gambid",
        "Gamoshi"
    ],
    "adtelligentBidAdapter": [
        "9Dots Media",
        "Adtelligent",
        "Bidsxchange",
        "JANet",
        "Orangeclickmedia",
        "Select Media Display",
        "Streamkey",
        "VidCrunch LLC"
    ],
    "medianetBidAdapter": [
        "AAX",
        "Media.net"
    ],
    "appnexusBidAdapter": [
        "Adasta Media",
        "AppNexus",
        "Beintoo",
        "Defy Media",
        "DistrictM",
        "Gourmet Ads",
        "Matomy",
        "One Fifty Two Media",
        "Page Science",
        "Project Agora"
    ],
    "adkernelBidAdapter": [
        "Adbite",
        "AdKernel",
        "Adliveconnect",
        "adOmega",
        "adsolut",
        "Audience Media",
        "BCM",
        "Bidbuddy",
        "CatapultX",
        "Converge-Digital",
        "Denakop",
        "DisplayioAds",
        "EngageADX",
        "eRGADX",
        "felixads",
        "Head Bidding",
        "HouseOfPubs",
        "Motionspots",
        "RtbAnalytica",
        "RtbDemand.com",
        "Sonic Twist Media",
        "Türk Telekom",
        "Unibots",
        "WaardeX"
    ],
    "admixerBidAdapter": [
        "AdBlender",
        "AdMixer",
        "AdmixerADX",
        "AdsYield",
        "FutureAds",
        "Go2Net",
        "SMN"
    ],
    "gridBidAdapter": [
        "Adlivetech",
        "TheMediaGrid",
        "Playwire",
        "TrustX"
    ],
    "admaticBidAdapter": [
        "AdMatic",
        "Pixad"
    ],
    "aniviewBidAdapter": [
        "ANIVIEW",
        "Avantis Video",
        "diDNA Video",
        "OpenWeb Video",
        "ottadvisors Video",
        "PGAM MEDIA",
        "SelectMedia Video",
        "VidCrunch"
    ],
    "aolBidAdapter": [
        "AOL",
        "ONE by AOL Display",
        "ONE by AOL Mobile"
    ],
    "apacdexBidAdapter": [
        "Apacdex",
        "Quantumdex",
        "Valueimpression"
    ],
    "appierBidAdapter": [
        "Appier",
        "AppierBR",
        "AppierExt",
        "AppierGM"
    ],
    "nobidBidAdapter": [
        "Duration Media",
        "Nobid"
    ],
    "limelightDigitalBidAdapter": [
        "iion",
        "Limelight Digital"
    ],
    "ixBidAdapter": [
        "Index Exchange (Prebid.js)",
        "Roundel"
    ],
    "consentManagementGpp": [
        "Consent Management - GPP",
        "33Across"
    ],
    "currency": [
        "Currency",
        "ID Import Library"
    ]
}

Snippet to get the list:
const codeToNamesMap = {}
document.querySelectorAll('input[modulecode], input[analyticscode]').forEach(checkbox => {
    const code = checkbox.getAttribute('modulecode') || checkbox.getAttribute('analyticscode');
    if (!codeToNamesMap[code]) codeToNamesMap[code] = [];
    const name = checkbox.parentElement.querySelector('a').innerText;
    codeToNamesMap[code].push(name.trim());
});
Object.keys(codeToNamesMap)
    .filter( key => codeToNamesMap[key].length > 1 )
    .reduce( (res, key) => (res[key] = codeToNamesMap[key], res), {} );

Would it make sense to disable the download of the duplicate/alias ones?

Hi @muuki88 and @fowler446, any news about this PR?

Would it make sense to disable the download of the duplicate/alias ones?

Disclaimer: I have never used the download feature.
I would say yes. Is it possible to find the "primary" adapter. This should be the one to use.
The other option would be to select all aliased adapters. I wonder what is less confusing. If the primary adapter is selected or all alias adapters? :thinking:

When building from source the user needs to know the primary bidder, so I think it's not an issue doing the same here.
Should I create a new PR for the alias bidder removal, or add it to this one?

Thanks, I updated it. The only duplicate on is trustxBidAdapter now.
{
    "trustxBidAdapter": [
        "TrustX",
        "TrustX (standalone)"
    ]
}

Thanks for the feedback and accepting the PR.


[Help] DataTable inside tree, when node !hasChildren

Hi! Is it possible to insert a datatable into a node if there are no children? Have you any advise or solution? Thanks for your reply.

Hey, sorry for the delay, I've been busy lately.
I'm not sure I understand the question. Could you elaborate or add an example of the desired behavior?
Having conditional widgets should be straightforward:
TreeView(
  ...,
  nodeBuilder(BuildContext context, TreeEntry entry) {
    if (entry.node.isLeaf) {
      return DataTable(...);
    }
    return MyNodeWidget(...);
  }
)

Hi, sorry for late answer.  I tried many options and was able to do what I wanted. Thanks for your answer. Awesome package, Thx


Add date utils

Closed with https://github.com/Spotsie/react-lib/commit/8f204fa78d612d3045455b7ea72a328494604479