Replace clients host and scheme properties to cater to S3-Compatible backends

What?
This Pull Request is massive, but it does a single thing: replace the existing AWSClient.host and AWSClient.scheme properties with a single endpoint property both on the AWSClient, and the AWSConfig.
This Pull Request adds an option to AWSConfig:
const awsConfig = new AWSConfig({
    region: __ENV.AWS_REGION,
    accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
    secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
    sessionToken: __ENV.AWS_SESSION_TOKEN,
    endpoint: 'https://fra1.digitaloceanspaces.com'
})

In the ☝🏻 example, every request will now be sent to https://fra1.digitaloceanspaces.com instead of https://amazonaws.com.
Why?
This is an attempt to replicate the constructs in the node AWS SDK, as discussed in #57, and expose an endpoint property. Using this property, users can now indicate to the client classes instances via the AWSConfig.endpoint property or by setting it directly on the client the actual URL endpoint it should use to talk to AWS.
The reason for that is to cater to AWS-compatible services and stacks, such as in #21 #57 #50, and allow for a nicer integration of the SDK with services such as DigitalOcean spaces and Cloudflare R2 offer S3-compatible APIs or with Localstack, for instance.
This feature does not mean that we officially support alternative S3-compatible APIs, but it should offer the possibility to whoever needs to use it to do so at their own risk.

Hi @Schachte, and @w0rd-driven 👋🏻
Just a heads-up that I believe this PR should help address your recent issues interoperating with Cloudflare R2 and Digital Ocean spaces.
Could you take it out for a spin, and let me know how it goes? 🙏🏻
Thank you! 🙇🏻

Awesome work! I'll review this guy today. One callout without actually having dug too deep yet, was this comment:
https://github.com/grafana/k6-jslib-aws/issues/50#issuecomment-1590816808

endpoint definitely shouldn't have the scheme in it.

I can browse to see if that is problematic as the example above prefixes with https. I know the default scheme is assumed https, but wasn't sure if there were weird cases where it would end up like https://https:// etc.


Add typings

This seems to be the only library I can find that will allow me to get a request ID from the request object, which I need for pino-http (https://github.com/pinojs/pino-http/issues/63). So I'd love TypeScript support.

Typings were added recently, but I forgot to include them into the npm artifact. Thanks for reaching out and creating this issue.
I've just published the new release (1.1.1) which includes typings.


Proposals should be separeted in 'voted' and 'not voted' to ease the voting process.

The current ordering is alphabetical and doesn't care about voted or non voted by the user. IMO, it would be better to show non voted proposals first or in a separate section.
Maybe a new screen showing only unvoted talks would be more helpful. Thoughts?

Hi @hmln, the vote page needs a lots of improvements in his UI, we are about to add a new feature for not reloading the page in each vote we made. So we are working on this and of course we can rethink the way that the proposals are showed!
If we just order the proposals by the not voted first and by name, we will make a huge improvement on it, do you can take this?

@luanfonceca , sure.

Nice!
We have a chat on gitter.im, if you want come to talk.
o/


Match doesn't repair invalid provisioning profiles

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
If my provisioning profiles gets invalid, when running match it should detect it and then re-generate the provisioning. Instead it's telling me everything is okay.
Complete output when running fastlane, including the stack trace and command used
[11:46:13]: Verifying that the certificate and profile are still valid on the Dev Portal...
[11:46:23]: Installing certificate...
[11:46:25]: Installing provisioning profile...

+---------------------+---------------------------------------------------------------------+---------------------------------------------------------+
|                                                           Installed Provisioning Profile                                                            |
+---------------------+---------------------------------------------------------------------+---------------------------------------------------------+
| Parameter           | Environment Variable                                                | Value                                                   |
+---------------------+---------------------------------------------------------------------+---------------------------------------------------------+
| App Identifier      |                                                                     | app_identifier                   |
| Type                |                                                                     | development                                             |
| Profile UUID        | sigh_app_identifier_development              | xxxxxxxx-e6da-4bc9-9fc9-9446b7e4216e                    |
| Profile Name        | sigh_app_identifier_development_profile-name | match Development app_identifier |
| Development Team ID | sigh_ app_identifier_development_team-id      | xxxxxxxx                                              |
+---------------------+---------------------------------------------------------------------+---------------------------------------------------------+

[11:46:27]: All required keys, certificates and provisioning profiles are installed 🙌

If I regenerate myself the provisioning profile or delete it. Then I now have an error:
[11:46:34]: Verifying that the certificate and profile are still valid on the Dev Portal...
[11:46:43]: Installing certificate...
[11:46:45]: Installing provisioning profile...
[11:46:46]: Provisioning profile 'xxxxxxxx-e6da-4bc9-9fc9-9446b7e4216e' is not available on the Developer Portal
[11:46:46]: for the user<EMAIL_ADDRESS>[11:46:46]: Make sure to use the same user and team every time you run 'match' for this
[11:46:46]: Git repository. This might be caused by deleting the provisioning profile on the Dev Portal

Then the solution is only to nuke everything and start over. But all projects aren't using only match. That means invalid certificates for everyone and start over for every single new projects. It's just not possible...
Configuration Files
Please copy the complete content of your Fastfile and any other configuration files you use below:
Fastfile:
fastlane_version "1.90.0"

default_platform :ios

platform :ios do

  desc "Download and setup if needed all certificates"
  lane :certificates do
    match(type: "development", app_identifier: "app_identifier-debug")
    match(type: "adhoc", app_identifier: "app_identifier-adhoc")
    match(type: "appstore", app_identifier: "app_identifier")
  end
end

Environment
fastlane version (run fastlane -v):
fastlane 1.105.2
Do you use bundler to execute fastlane (i.e. bundle exec fastlane)?
nope
Do you use a Ruby environment manager (e.g. chruby, rbenv, rvm)?
nope
What Xcode version do you use (e.g. 7.3, 8.0)
8.0

Yes I already took a look and Xcode 8 automatic code signing is of course disabled.
The workaround for this is to actually delete the provisioning profile on the shared git repo. That way, it's being regenerated.

+1 same problem for me
When i add a new device than match fails to repair the provision. It creates a duplicated provisioning

@Antoine4011 @lucabartoletti Has this behavior changed? It seems inline with the expectations here: https://github.com/fastlane/fastlane/tree/master/match#run

My understanding is that is suggested to nuke before using match for the first time
My problem is that every time I add a device and than i run match I get duplicated provisionings. The old are invalid the new one are valid.
My expectation in this case is that match should repair the existing provisioning adding the new devices

@lucabartoletti Is this reproducible on a blank project? Can provide exact steps? I want to send this out to the core team 👍

My problem is that every time I add a device and than i run match I get duplicated provisionings. The old are invalid the new one are valid.

This happens for us as well and it's been consistent since we started using match (switched from sigh). Every time I want to add a device we have to nuke all the existing profiles and certificates because calling match (from fastlane) results in a new profile being added rather than just adding the device to the existing profiles.
Here are excerpts from our Fastfile:
  lane :provision do |options|
    register_devices(devices:{options[:name] => options[:udid]}, username: "<redacted>")
    nuke
    initialize_match

    slack(
      message: "New device has been provisioned. Run `fastlane bootstrap` at your leisure."
    )
  end

  lane :nuke do
    sh 'export MATCH_USERNAME=<Redacted> && cd .. && match nuke distribution && match nuke development'
  end

  lane :initialize_match do
    bootstrap_certificates(:development, readonly: false, force_for_new_devices: true)
    bootstrap_certificates(:adhoc, readonly: false, force_for_new_devices: true)
    bootstrap_certificates(:appstore, readonly: false, force_for_new_devices: true)
  end

  lane :bootstrap do
    bootstrap_certificates(:development, readonly: true, force_for_new_devices: true)
    bootstrap_certificates(:adhoc, readonly: true, force_for_new_devices: true)
    bootstrap_certificates(:appstore, readonly: true, force_for_new_devices: true)
  end

def bootstrap_certificates(type, readonly: true, force_for_new_devices: false)
<EMAIL_ADDRESS>type: type.to_s, readonly: readonly, force_for_new_devices: force_for_new_devices, team_id: "L27UJU3HDT", app_identifier: [<redacted>]
end

We have five app identifiers with three configurations (DEBUG/development, AdHoc/nightly, Release/AppStore). Maybe I don't fully understand the match options, but I'd expect/prefer that a new device should be added to existing profiles. Otherwise if a new profile is generated it has a new name (with a numeric suffix) and this is useless since Xcode 8 (and the code signing guide) expects the profile names to match.
Are we just not quite using the right options to have match add new devices to existing profiles and  regenerate them?

Hey everyone, we just pushed a new release of match, that should automatically repair provisioning profile. Let us know if that works 👍

Thanks, I'll test it soon


Is there any way I can OrderBy a SmartEnum name?

Hi,
So I'm using both this library in addition to Steve's SmartEnum. I have a SmartEnum Status class in my .Net CORE 3.1 project:
public class BookingStatus : SmartEnum<BookingStatus>
   {
       public string ShortName { get; }
       public bool IsConfirmed { get; }
       public StatusUpdateType UpdateUpdateType { get; }

       public static readonly BookingStatus Submitted = new BookingStatus("Booking request submitted", "Submitted", 0, false);
       public static readonly BookingStatus Confirmed = new BookingStatus("Booking confirmed", "Confirmed", 1, true);
       public static readonly BookingStatus Cancelled = new BookingStatus("Booking cancelled", "Cancelled", 2, false);
       public static readonly BookingStatus ConfirmedDateChanged = new BookingStatus("Confirmed date amended", "Confirmed date amended", 3, true, StatusUpdateType.LogOnly);

       private BookingStatus(string name, string shortName, int value, bool isConfirmed) : base(name, value)
       {
           ShortName = shortName;
           IsConfirmed = isConfirmed;
           UpdateUpdateType = StatusUpdateType.LogAndUpdate;
       }
   }

I also have a Specification class which I want to OrderBy the BookingStatus.ShortName property. EF doesn't like this in 3.1 due to the error "Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly".
I could do this client side using LINQ, but I am using the Skip() and Take() feature of this library for pagination, so I cannot order client side as the results set is incorrect
Is there any way around this or force my query to use client side evaluation or another solution possibly?
Thanks.

Hi @RandomUser99,
I haven't used SmartEnum extensively and I don't know if it has support for EF persistence, @ardalis will answer you on that.
As for the specifications, whatever you define within a spec, everything will be sent to the ORM, and the translation is done on the ORM. So, you have to be careful while building the specs, and be aware what can be translated to an actual query and what not. The last version of EF Core 5, is quite powerful and will translate quite complex stuff. But, still there are limitations.
Lately, based on my own experience, I've been thinking to incorporate the capability for InMemory operation in specifications. As a matter of fact, the specifications will just hold the information what to be executed after data is retrieved from persistence.
The usage might something like this
public class CompanySpec : Specification<Company>
{
    public CompanySpec(int countryId)
    {
	Query.Where(x => x.CountryId == countryId)
             .Include(x => x.Stores);

        Query.InMemory.Where(x => x.Name.Length > 10);
    }
}

But, in this case the Repository also should be a bit "smarter", and should know what to after the data is retrieved. As an example, the ListAsync method will have the following implementation
public async Task<List<T>> ListAsync(ISpecification<T> specification)
{
    return await ApplySpecification(specification).ToListAsync().ApplyInMemoryConditions(specification);
}

We might refine this idea, but if there is an interest for this, we might think of implementing it.

Hi @fiseni,
SmartEnum persistence using EF works fine and I have been using them together for a while with no issues.
The capability for InMemory operations sounds good as it gives this library more versatility when you do hit a wall with something that needs to be done client side like I have found here.
For now, I have resolved my issue by writing my some T-SQL and using dapper to do the leg work.
Appreciate your response.

I gave a second thought to this, and did some internal tests.
For InMemory manipulations, probably we shouldn't complicate and construct complex builders. Specification can simply hold predicate Func<List<T>, List<T>>. We will pass the result of the query, manipulate the list as we wish, and just return a list as a final result.
The usage would be as following
public class CompanySpec : Specification<Company>
{
    public CompanySpec(int countryId)
    {
        Query.Where(x => x.CountryId == countryId)
             .Include(x => x.Stores);

        Query.InMemory(x =>
        {
            // Here you are not constrained to the specification builder.
            // You can use everything that .NET offers in order to manipulate List
        });
    }
}

And, the way you will actually materialize and make use of this is as following
public async Task<List<T>> ListAsync(ISpecification<T> specification)
{
    var queryResult = await ApplySpecification(specification).ToListAsync();
    return specification.InMemoryAction(queryResult);
}

I think this will offer complete new usage for specifications. No longer will be used primarily for querying data, but it can be used for holding business rules and acomplish various business manipulations.
@ardalis any thoughts on this? Would you like this as a part of the package?

Sure, let's include it. Maybe you and I can do a stream just going through some of these newer features and usage scenarios some time soon and link to the recording on the README.

Sure, we can do that!

Hey @RandomUser99,
I'm closing this issue. We added support for InMemory feature. It doesn't solve your problem completely, but it offers the capability of client-side ordering. In order to be correctly translated, I do think we have to provide better support in SmartEnum project (my guess, not quite sure).


[draft] Added --no-strict-types-declaration option to Formatter

This include PR #2140 since the code changes are related. Need rebase when #2140 merged.

@TomasVotruba it rebased latest master.

All checks have passed 🎉 Ready for review . Test running for https://github.com/rectorphp/rector/pull/4138

Thank you :+1:


Improve retry extension UX

Summary
Currently the retry extension has a basic/poor UX, we should onboard it to the new terminal reporter.
Background and Motivation
Inside each test run, we are using the new terminal reporter UX but we are not having a same quality ux for the retry levels.
Proposed Feature
Move from:
MSTest v3.6.3 (UTC 11/11/2024) [win-x64 - .NET 8.0.11]
Test Parallelization enabled for C:\src\mixed-mode\ProjectMixedMode\ProjectWithMTP\bin\Debug\net8.0\ProjectWithMTP.dll (Workers: 16, Scope: MethodLevel)
passed MTPTestMethod1 (3ms)
failed MTPTestMethod2 (2s 062ms)
  Assert.Fail failed.
    at ProjectWithMTP.MTPTest1.MTPTestMethod2() in ProjectWithMTP\MTPTest1.cs:17
    at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
    at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)

Test run summary: Failed! - ProjectWithMTP\bin\Debug\net8.0\ProjectWithMTP.dll (net8.0|x64)
  total: 2
  failed: 1
  succeeded: 1
  skipped: 0
  duration: 2s 201ms

=====================
Tests suite failed, total failed tests: 1, exit code: 2, attempt: 1/3
=====================

Test Parallelization enabled for C:\src\mixed-mode\ProjectMixedMode\ProjectWithMTP\bin\Debug\net8.0\ProjectWithMTP.dll (Workers: 16, Scope: MethodLevel)
failed MTPTestMethod2 (2s 042ms)
  Assert.Fail failed.
    at ProjectWithMTP.MTPTest1.MTPTestMethod2() in ProjectWithMTP\MTPTest1.cs:17
    at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
    at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)

Test run summary: Failed! - ProjectWithMTP\bin\Debug\net8.0\ProjectWithMTP.dll (net8.0|x64)
  total: 1
  failed: 1
  succeeded: 0
  skipped: 0
  duration: 2s 216ms

=====================
Tests suite failed, total failed tests: 1, exit code: 2, attempt: 2/3
=====================

Test Parallelization enabled for C:\src\mixed-mode\ProjectMixedMode\ProjectWithMTP\bin\Debug\net8.0\ProjectWithMTP.dll (Workers: 16, Scope: MethodLevel)
passed MTPTestMethod2 (2s 018ms)

Test run summary: Passed! - ProjectWithMTP\bin\Debug\net8.0\ProjectWithMTP.dll (net8.0|x64)
  total: 1
  failed: 0
  succeeded: 1
  skipped: 0
  duration: 2s 175ms

=====================
Tests suite completed successfully in 3 attempts
=====================

to something that feels more integrated to the new suite.
Suggestion 1:
MSTest v3.6.3 (UTC 11/11/2024) [win-x64 - .NET 8.0.11]
Test Parallelization enabled for C:\src\mixed-mode\ProjectMixedMode\ProjectWithMTP\bin\Debug\net8.0\ProjectWithMTP.dll (Workers: 16, Scope: MethodLevel)
passed MTPTestMethod1 (3ms)
failed MTPTestMethod2 (2s 062ms) - attempt 1
  Assert.Fail failed.
    at ProjectWithMTP.MTPTest1.MTPTestMethod2() in ProjectWithMTP\MTPTest1.cs:17
    at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
    at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
failed MTPTestMethod2 (2s 042ms) - attempt 2
  Assert.Fail failed.
    at ProjectWithMTP.MTPTest1.MTPTestMethod2() in ProjectWithMTP\MTPTest1.cs:17
    at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
    at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
passed MTPTestMethod2 (2s 026ms) - attempt 3

Test run summary: Failed! - ProjectWithMTP\bin\Debug\net8.0\ProjectWithMTP.dll (net8.0|x64)
  total: 2
  failed: 2
  succeeded: 2
  skipped: 0
  retried: 2
  duration: 6s 216ms

Suggestion 2:
MSTest v3.6.3 (UTC 11/11/2024) [win-x64 - .NET 8.0.11]
Test Parallelization enabled for C:\src\mixed-mode\ProjectMixedMode\ProjectWithMTP\bin\Debug\net8.0\ProjectWithMTP.dll (Workers: 16, Scope: MethodLevel)
passed MTPTestMethod1 (3ms)
failed MTPTestMethod2 (2s 062ms)
  Assert.Fail failed.
    at ProjectWithMTP.MTPTest1.MTPTestMethod2() in ProjectWithMTP\MTPTest1.cs:17
    at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
    at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)

Test run summary: Failed! - ProjectWithMTP\bin\Debug\net8.0\ProjectWithMTP.dll (net8.0|x64)
  total: 2
  failed: 1
  succeeded: 1
  skipped: 0
  duration: 2s 201ms

Starting attempt 2/3
Test Parallelization enabled for C:\src\mixed-mode\ProjectMixedMode\ProjectWithMTP\bin\Debug\net8.0\ProjectWithMTP.dll (Workers: 16, Scope: MethodLevel)
failed MTPTestMethod2 (2s 042ms)
  Assert.Fail failed.
    at ProjectWithMTP.MTPTest1.MTPTestMethod2() in ProjectWithMTP\MTPTest1.cs:17
    at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
    at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)

Test run summary: Failed! - ProjectWithMTP\bin\Debug\net8.0\ProjectWithMTP.dll (net8.0|x64)
  total: 1
  failed: 1
  succeeded: 0
  skipped: 0
  duration: 2s 216ms

Starting attempt 3/3
Test Parallelization enabled for C:\src\mixed-mode\ProjectMixedMode\ProjectWithMTP\bin\Debug\net8.0\ProjectWithMTP.dll (Workers: 16, Scope: MethodLevel)
passed MTPTestMethod2 (2s 018ms)

Test run summary: Passed! - ProjectWithMTP\bin\Debug\net8.0\ProjectWithMTP.dll (net8.0|x64)
  total: 1
  failed: 0
  succeeded: 1
  skipped: 0
  duration: 2s 175ms

At the moment, trx is producing different trx files. We are waiting from some input from AzDO team so we could define how to have them supporting our retry.
Maybe we can benefit from the work you will be doing in defining the schema + metadatas


Overwork documentation

update Python requirements
fix style warnings
fix links
update navigation

coverage: 99.647%. remained the same
when pulling d1e2fb3d7344e5a053ac294feb20b1090c7bd5c4 on documentation-updates
into ee32bfc1c263900d5c31cf8a8c5429048719e42a on develop.


[TEP 0075, 0076]: Structured object / arrays in Results and Params

Feature request
The issue will track the implementation for TEP-0075 Propose object (dicitonary) param and result types and TEP-0076 Propose array results and indexing
The two docs are in the process of review to get to Implementable states (https://github.com/tektoncd/community/pull/661)
Use case
Will have a more detailed use case summary, but please refer to the use cases mentioned in TEP-0075 Propose object (dicitonary) param and result types and TEP-0076 Propose array results and indexing
To summarize, we want to change the params to be supporting the following:
Params will affect the following:

Pipeline.params
Pipeline.TaskRef.params
PipelineRun.params
PipelineRun.PipelineSpec.params
PipelineRun.PipelineSpec.tasks.params
PipelineRun.PipelineSpec.taskSpec.params
Task.params
TaskRun.spec.params
TaskRun.TaskSpec,params

We also want to change the results to be supporting objects and arrays in Pipeline Results and Task Results.
Results will affect the following:

PipelineRun.Spec.PipelineSpec.Results
PipelineRun.Spec.PipelineSpec.PipelineSpec.TaskSpec.Results
Pipeline.Spec.Results
TaskRun.Spec.TaskSpec.Results
Task.Spec.Results

Below an example to specify a object param in Tasks and using its key1 and image1 value, and also specify a object in Task results and use script to write the results:
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: task-with-parameters
spec:
  params:
  - name: objectVal1
     description: "description1"
     type: object
     properties:
        key1:
          type: string
        image1:
          type: string
  - name: objectVal2
     description: "description2"
     type: object
     properties:
        key1:
          type: string
        image1:
          type: string
  steps:
  - name: step1
     image: $(objectVal1.image1)
     script: |
     echo $(objectVal1.key1)
  - name: step2
     image: $(objectVal2.image1)
     script: |
     echo $(objectVal2.key1)
  - name: step3
     image: bash:latest
     script: |
          #!/usr/bin/env bash
          echo -n "{"key1": "$(params.objectVal1.key1)", "image1": "$(params.objectVal1.image1)"}" | tee $(results.resultObject1.path)
  results:
  - name: resultObject1
    description: "description3"
     type: object
     properties:
        key1:
          type: string
        image1:
          type: string

Below an example to specify a object param in TaskRuns:
apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
  name: taskrun1
spec:
  params:
  - name: objectVal1
     value:
        key1: value1
        image1: bash:latest
  - name: objectVal2
     value:
        key1: value2
        image1: bash:latest
  taskRef:
    name: task-with-parameters

Below an example to specify a object param in PipelineRun and use it as a whole in tasks:
apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
  name: pipelinerun-object-param
spec:
  pipelineSpec:
    params:
      - name: pipelineObjectVal1
        description: "description1"
        type: object
        default:
            key1: "val1"
            image1: "bash:latest"
    tasks:
      - name: task-1
        taskRef:
          name: task-with-parameters
        params:
          - name: objectVal1
             value: $(params.pipelineObjectVal1[*])
          - name: objectVal2
             value: $(params.pipelineObjectVal1[*])
      - name: task-2
        taskRef:
          name: task-with-parameters
        params:
          - name: objectVal1
             value: $(tasks.task-1.params.resultObject1[*])
          - name: objectVal2
             value: $(tasks.task-1.params.resultObject1[*])
  params:
    - name: pipelineObjectVal1
       value:
          key1: "val1"
          image1: "bash:latest"

Below an example to specify a object param in a Task inPipelineRun and use it as a whole in:
apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
  name: pipelinerun-object-param
spec:
  pipelineSpec:
    params:
      - name: pipelineObjectVal1
        description: "description1"
        type: object
        default:
            key1: val1
            image1: bash:latest
    tasks:
      - name: task-1
        taskRef:
          name: task-with-parameters
        params:
          - name: objectVal1
             value: $(params.pipelineObjectVal1[*])
          - name: objectVal2
             value: $(params.pipelineObjectVal1[*])
    results:
    - name: pipelineResult1
       description: "result description 1"
       value: $(tasks.task-1.results.resultObject1[*])
    - name: pipelineResult2
       description: "result description 2"
       value:
          key2: $(tasks.task-1.results.resultObject1.key1)
  params:
    - name: pipelineObjectVal1
      value:
         key1: val2
         image1: bash:latest

General Implementation Requirements

First Stage: implement features in v1beta1 apiversion and hide them under alpha feature flag,

Task Breakdowns

Area 1

Object in Params

Task, TaskRun webhook validations on object params
Task, TaskRun webhook mutations on object params
Pipeline, PipelineRun webhook validations on object params
Object vs object properties validations
TaskRun & PipelineRun reconciler substitutions on object params: individual keys and as a whole
Param value type corrections
TaskRun against Task spec & PipelineRun against Pipeline spec reconciler validations on object params using object vs object properties validations
E2E Tests for object params

Area 2

Array types

Support array type of results spec in Task and Pipeline
Support array type of results for emitting in file and consuming from file
Task webhook validations on array results
Pipeline webhook validations on array results
Param and Result array indexing substitutions
E2E Tests for results in TaskRuns and PipelineRuns on array params
Example yamls for results in TaskRuns and PipelineRuns on array s

Object type of Results

Task and Pipeline webhook validations on object results
Results emissions and consuming from files on object results
TaskRun & PipelineRun reconciler substitutions on object results: individual keys and as a whole
TaskRun against Task spec & PipelineRun against Pipeline spec reconciler validations on object results using object vs object properties validations

E2E Tests for results in TaskRuns and PipelineRuns on objects
Example yamls for results in TaskRuns and PipelineRuns on objects

Future Work

Matrix support objects and params
Example yamls for object params in TaskRuns and PipelineRuns
Nested objects
Support more ways of object param & results of substitutions (#5056)
Refactoring params and results into separate directories (#5001 )
CRD for objects
Nested arrays of objects
Validate array param out of bound (pkg/reconciler/pipelinerun/resources/apply.go)
Invalidate usage of object / array as a whole in format results.result1 and params.param1 (#5078)

/assign @Yongxuanzhang

/ assign @Yongxuanzhang

/assign @Yongxuanzhang

/assign

Hi @ywluogg ,
I just realized that we might need to disallow the parameters whose name contains dot(.). Reasons are mentioned in #4797 , which is related to TEP-0075.
Do you have any thoughts on this?
Thanks!

Hi @ywluogg , I just realized that we might need to disallow the parameters whose name contains dot(.). Reasons are mentioned in #4797 , which is related to TEP-0075.
Do you have any thoughts on this? Thanks!

Thanks Chuang for the updates!

It may be worth discussing the support for custom tasks when we finish these two teps

It may be worth discussing the support for custom tasks when we finish these two teps

+1 I will organize a list of extended items for the two TEPs

PRs that need to be added to milestone: #5139 #5132 #5088

All the features listed not in "Future Work" section are finished

params:
    - name: IMAGE_URL
       value: gcr.io/foo/bar
    - name: IMAGE_DIGEST
       value: sha256:05f95b26ed10668b7183c1e2da98610e91372fa9f510046d4ce5812addad86b7
...
results:
   - name: MAVEN_PKG_URL
       value: us-west4-maven.pkg.dev/test-project/test-repo/com/google/guava/guava/31.0/guava-31.0.jar
    - name: MAVEN_PKG_DIGEST
       value: sha256:05f95b26ed10668b7183c1e2da98610e91372fa9f510046d4ce5812addad86b8

params:
    - name: image_object
       value:
           uri: gcr.io/foo/bar
           digest: sha256:05f95b26ed10668b7183c1e2da98610e91372fa9f510046d4ce5812addad86b7
...
results:
   - name: maven_pkg
       value:
           uri: us-west4-maven.pkg.dev/test-project/test-repo/com/google/guava/guava/31.0/guava-31.0.jar
           digest: sha256:05f95b26ed10668b7183c1e2da98610e91372fa9f510046d4ce5812addad86b8


Fail to compile when upgrading from 0.3.2 to 0.3.3?

Describe the bug
App says it failed to compile after reflex version was upgraded.
To Reproduce
Steps to reproduce the behavior:
In the pyproject.toml update reflex to use the github 0.3.3 tag:
[tool.poetry.dependencies]
python = "^3.10"
reflex = { git = "https://github.com/reflex-dev/reflex", tag = "v0.3.3" }

update the poetry env:
poetry update
then, run the app:
reflex run
Expected behavior
Compile the pages that were being compiled by the previous version.
Screenshots

Specifics (please complete the following information):

Python Version: 3.10
Reflex Version: 0.3.3
OS: MacOS
Browser (Optional):

Additional context
N/A

Need to first rerun reflex init, then reflex run.
I'm not sure why it didn't throw an error suggesting that on the command line though.

Thanks @masenf for quick replying.
It really didn't display any warning or error messages.
Just ran the commands you sent me and worked as expected. Thanks.


Profile Updates

This is not available as a standalone API/endpoint at this time, will be closing for now.


Save on exit - drag drop multipled sessions

Hi I am new to Superputty but notice the following:

1) If a the layout was changed supperputty does not ask to save the layout when
exiting.

2) if a folder is added without sessions and you exit the folder is not saved
even if you save the session.

3) When movings session between folders(ie drag and drop) you can only move
them one at a time,  It would be ideal if you can select more than one session
and move it to the new folder.

Let me know if there is anyway I can help with testing or developing some of
these features.

John

What steps will reproduce the problem?
1.
2.
3.

What is the expected output? What do you see instead?

What version of the product are you using? On what operating system?

Please provide any additional information below.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 16 Sep 2012 at 3:59

+1 this is really a nasty bug.

Is there any workaround for this? How can I force SuperPutty to save the sessions tree? Even if I add a new dummy entry after the structure has been changed and I restart - then the previous entries are in the old place and only the dummy entry is in the new place:

move a folder with subfolders and sessions around (e.g. the Folder "Foo" from "PuTTY Sessions/Imported" to "PuTTY Sessions")
create a new dummy session "dummy" in "PuTTY Sessions/Foo"
exit SuperPutty
restart SuperPutty
Expected result: the session layout is restored as it has been before exiting SuperPutty
Actual result: There is now a Session "PuTTY Sessions/Foo/dummy" while the rest of the "Foo" folder is still under "PuTTY Sessions/Imported/Foo" so there are now two "Foo" folders.

I manually went through all my Sessions (~100) in the folder I want to move and edited the settings by setting "SPSL Script" to "a". Then I exited SuperPutty and restarted. Still the changed structure is not changed. However the wrong "SPSL Script" has been saved and I have to remove them all.


mco choria request_cert fails when puppet master runs on webrick / rack

When running puppet from Rack or WEBrick, requesting a certificate for a new user fails:
% mco choria request_cert
Encountered a critical error: Failed to fetch CA from puppet:8140: 400: Bad Request

This is due to the environment parameter (required while it is not used) not being set (same problem here).
Also, the HTTP header Content-Type does not make sense here, while the Accept HTTP header is required:
% mco choria request_cert
Encountered a critical error: Failed to fetch CA from puppet:8140: 406: Not Acceptable

awesome, thank you


Test fairing in an on-prem infrastructure

I will do some tests for on-prem cluster. Thanks.

I would like to know how this test goes. I can only find guides that need GCP to work.

@KikiCS I tested fairing on prem cluster, and added some features and fix bugs for on-prem cluster. For the guide, we are planing for this, and will have doucment for the Fairing APIs.

Thank you @jinchihe !

closing

@KikiCS I tested fairing on prem cluster, and added some features and fix bugs for on-prem cluster. For the guide, we are planing for this, and will have doucment for the Fairing APIs.

@jinchihe While using fairing on on-prem cluster, I was not sure of the fairing backend used and the related build_context_source. Was able to find only context source methods only for clouds but not for on-prem.  Would be good if I know the backend and context source you used while testing on prem.

@PoornimaDevii You can use the KubernetesBackend, or see the example https://github.com/kubeflow/fairing/tree/master/examples/mnist

@PoornimaDevii You can use the KubernetesBackend, or see the example https://github.com/kubeflow/fairing/tree/master/examples/mnist

@jinchihe Thanks !


War NaN in FP16 mode in vae example

Related to #6168.
This PR fixes the vae example to warn possible NaN in FP16 mode.

Jenkins, test this please

Jenkins, test this please

Jenkins CI test (for commit 229ae41e5c90f5f96acd7d446d0a6e5e5e67fa11, target branch master) failed with status FAILURE.

Jenkins CI test (for commit 229ae41e5c90f5f96acd7d446d0a6e5e5e67fa11, target branch master) failed with status FAILURE.


config.py used only by ./applications/db_development_tools

We probably forgot the tools in ./applications/db_development_tools to use the new Configurator class. They are they only one using simtools/config.py, which I think can be removed now.

Fixed in #404


Integration Test - Release - 2019/02/22 13:01:06

Auto create for integration test. AnotherAuthorUpdatedArticleFlow

@bharney-msft : Thanks for your contribution! The author, @v-caxian, has been notified to review your proposed change.


MemPostings: Use CockroachDB Swiss Map for label values/postings map

Test of CockroachDB Swiss Map instead of standard map in tsdb/index.MemPostings, for performance. Requested by @bboreham for prombench-ing, so we can see if there's any real difference.
Confer corresponding PR for dolthub implementation.

/prombench main

On these metrics, this one is substantially worse.  However I can't see the swiss.Map in a CPU profile so unclear what this is telling us.

/prombench restart

/prombench restart main

/prombench cancel

Closing since outlived its usefulness.


Consider Optimization to hold onto only essential elements in Parser

When using the element-by-element API in the Parser, we probably don't need to hold the whole dataset in p.dataset (as I alluded to a bit in #224 and elsewhere). We really only need to hold onto some subset of elements that we need to parse later elements (like PixelData). The rest, we return to the user and the user can decide what they wish to do with them (they may wish to write them out somewhere and then throw them away, for example).
This may help with some memory usage in some usecases for an end user, but because non-PixelData aren't usually super huge, it will be a small to medium size impact.

The basic implementation is pretty simple (put something quick up here that I need to cleanup, and add better benchmarks for later https://github.com/suyashkumar/dicom/compare/s/parser-optimize?expand=1), but in the default case where ParseFile or Parse is called (where we need to build and return the entire dataset anyway) we may end up using slightly more memory where we end up storying an additional copy of the metadata elements and the elements that are needed to read future elements. This set should be pretty small though. One option is to put this behavior behind an option in the Parser so that it can only be activated when a user is using Parser in element-by-element mode, but it may not be worth the complexity.


OpenStruct responses should contain nested OpenStructs

When you retrieve a payment method:
pm = Justifi::PaymentMethod.get(token: 'payment token')

the data itself comes back as an OpenStruct, but the data nested inside of it is a hash.

In other words, you can't write:
pm.data.card.brand
You have to access it like this:
pm.data.card[:brand]
This one is definitely a nitpick as it's easily programmed around. Long term, it feels like there should be consistency in how the data is being returned to make accessing it easier. E.g. I don't really care if it's all a Hash or an OpenStruct, but it probably shouldn't be both.

Thanks for letting us know @msencenb , good point. We're going to have to think about it bit here.

@pete2786 Yep, no problem. I'd absolutely put this one very low priority - figured I would note it while I ran into it for your future planning.


Fix lock file generation

Motivation
Properly take into account the target platform and Python version

Example: https://github.com/DataDog/integrations-core/pull/16933


[Function] Add compare_version function and ut

Proposed changes
Add compare_version function and ut. the function will return the compared result of two version.
Issue Number: close #xxx
Problem Summary:
Describe the overview of changes.
1.Add compare_version function and ut.
2.add md files for this compare_version function.
Checklist(Required)

Does it affect the original behavior: No
Has unit tests been added: Yes
Has document been added or modified: Yes
Does it need to update dependencies:No
Are there any changes that cannot be rolled back: No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Why not compare_version(ver1 , ver2) return 0 if equal, 1 if ver1 > ver2, -1 if ver1 < ver2 ？ In addition, there is still a lot of room for optimization in the implementation of the program

Why not compare_version(ver1 , ver2) return 0 if equal, 1 if ver1 > ver2, -1 if ver1 < ver2 ？ In addition, there is still a lot of room for optimization in the implementation of the program

We discussed this approach with the business, but they still prefer to use the current approach.

Why not compare_version(ver1 , ver2) return 0 if equal, 1 if ver1 > ver2, -1 if ver1 < ver2 ？ In addition, there is still a lot of room for optimization in the implementation of the program

We discussed this approach with the business, but they still prefer to use the current approach.

the customized versions have been provided to customer, so this pr could be closed.


Vintageous mode

So, it looks like this issue:
https://github.com/SublimeGit/SublimeGit/issues/120
now prevents me (a Vintageous user) from doing things like :10 to jump to a specific line in the git-status page if I want to stage/unstage a particular file. It looks like I need to use the cursor keys/pointer to get to that line, which is pretty slow. Is there any way we can make git-status disabling of Vintageous an optional thing?

Well this kinda leaves us stuck between a rock and a hard place. What would your suggested fix be, taking into account that from SublimeGit's side it's more a less an all-or-nothing decision to allow or disallow vintageous mode?

Would it be possible to go halfway and have a setting that allows Vintageous behaviors, but otherwise disables it?

That's my current thinking on it. Something like a git_disable_vintageous settings which defaults to true should do it trick. Then power users can just flip it.

Sounds great!

Just released 1.0.34 which introduces this setting. See the default settings file.

:beers:


AndroidSigning task fails on Windows agent version 2.101.1 with TypeError: Path must be a string (but succeeds on VSTS hosted agent 1.100.4)

Using VSTS hosted agent, the task runs OK.
When run on a Windows machine with agent version 2.101.1, task fails with:
2016-06-11T13:22:10.1819897Z ##[section]Starting: Signing and aligning APK file(s) **\App.Android\bin\Release\*.apk
2016-06-11T13:22:13.4475916Z ##[error]TypeError: Path must be a string. Received undefined
2016-06-11T13:22:13.4475916Z ##[error]Return code: 1
2016-06-11T13:22:13.4475916Z ##[section]Finishing: Signing and aligning APK file(s) **\App.Android\bin\Release\*.apk

Very interesting.  Task is likely doing something fragile.  New agent is stricter about boundaries with out of proc etc

We will fix

Turns out JAVA_HOME and ANDROID_HOME were not defined on the build server, but AndroidSigning requires them.
Thanks.

Thanks.  In the preview that's about to drop anyday (2.102.0) when you run as a service, I snapshot interesting env vars like those into a file and the service loads when it runs.  As long as they were defined in your interactive console when you configured, it would be good.
I also think there's a bug here.  If those aren't defined then the task should output a helpful message.  Can you log an issue in the vsts-tasks repo?

Looks like error messages have been improved in recent changes: https://github.com/Microsoft/vsts-tasks/pull/1741 (the version of AndroidSigning we are getting in production is 1.0.19).

Great.  Thanks for confirming.


feat: rollkit rebuild - helper command to use in between toml init and start

Will make a PR after #1680 is merged

I don't understand why merged commits are still showing up here.


@supports support :)

Have you been thinking over support @supports query?

Can you elaborate more on what you mean? You can write as many @supports queries in your CSS as you want; what sort of things are you thinking Tailwind could do?

Same as responsive or states variants.
support:flex (or some shorter version) generates:
@supports (display: flex) {
  display: flex;
}

This would be splendid.

https://tailwindcss.com/docs/plugins/#adding-variants (scroll down a bit)


Fixed broken Facebook link

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

@hmG3  Thanks!


Feature/walk request

First steps for the go for walk functionality:

Generates a series of semi-random points to route to via Walk service
If a Directions.get request has the intermediatePlaces param, the request is split into multiple OTP requests and then the features are joined before returning a result.

Due to the above changes, the navigation view text is broken, although the stepping is not.
Also, the 'off course' and 'resume route' (after diverting) functionality will always return you to your start point regardless of how far along your walk you were.

+1


sending 204 No Content should not require an empty object

when sending 204 the client still receives 200.
res.status(204).send();

results in a 200 code
but when you pass in an empty object it suddenly handles the result as 204
res.status(204).send({});

this seems completely against all logic, as an empty object is still an object, and not No Content.
or am I jumping the gun too quickly and forgetting something here?

What version of Express and Node.js are you using, by the way?

Also, can you provide a test case? This test seems to point to the correct handling of your snippet: https://github.com/strongloop/express/blob/12f92a50dc59887c30f4c6f23fdfbfc616dcbef5/test/res.send.js#L268-L284

I'm sorry to have bothered you, it is not an expressjs problem.
the issue lies with github.com/caolan/quip which is a response module
as soon as you plug it on the app app.use(quip)
res.status(204).send() becomes 200
before that it works as expected.
I will work out the exact issue and query the author of quip instead. thanks for the suggestions.
for futher reference, the testcase:

var express = require('express');
var quip = require('quip'); // the culprit

var app = express();

app.use(quip); // comment this line to see it work, leave it uncommented to see it behave like I described above.

app.get('/', function(req, res){
  res.send("try querying /no-content");
});

app.get('/no-content', function(req, res){
  res.status(204).send();
});

app.listen(3000);
console.log('Express started on port 3000');

Ah. I took a look into the code your posted and what's happening is once the request passes through quip, the .send and .status methods are no longer that of Express, but rather replaced by the quip implementations. So, res.status(204).send() in your example doesn't even invoke Express :)

Looks like the bug in quip's .send() is that if you call .status() from quip, it stores the status in a private variable. Then if you call .send() without any data, it'll just call .end() and so the status will never get set, thus why you are seeing the status ignored (it's not specific to 204). Your use-case in quip worked until this commit: https://github.com/caolan/quip/commit/dcdaa16af696d1dbd9319f6f401fdc94bdb03038

thanks for the input. I have issued a PR on his repository. lets hope he accepts quick. otherwise i'm stuck on my fork :p

It's no problem, I'm happy to help :)

Is Express still using Quip here because this issue persists?


Enhance softlayer driver

To enhance the driver, I added two new parameters to address two issues here :

SOFTLAYER_DOCKER_ON_PRIVATE_IP, enforce docker daemon to run on the private ip if needed. Especially for some use cases in private cloud.

SOFTLAYER_NETWORK_MAX_SPEED, set up network speed and the default is set to 100 Mbps. The SoftLayer driver in the release version only provision VM with 10 Mbps by the default, which is not good in the most cases for users.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "master" git@github.com:wzymaster/machine.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "master" git@github.com:wzymaster/machine.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

I get the failure like below but don't understand why this error pops up :
drivers/softlayer/driver.go
drivers/softlayer/softlayer.go
make: *** [fmt] Error 1
mk/validate.mk:12: recipe for target 'fmt' failed
make: *** [build validate] Error 2

Anyone can help ?

It wants gofmt run on the code.  Please do that and re-push

@nathanleclaire  Can you tell me what you mean 'gofmt' run on the code ? how can I do it ?

something like gofmt -s -w **/*.go -- you can probably mount machine source into a container to do it if you don't have go locally, something like docker run -ti -w /machine -v $(pwd):/machine sh -c 'gofmt -s -w **/*.go'

@nathanleclaire I am using container to build machine but I get nothing to push after successful running the cmd line provided by you like :
Leos-MacBook-Pro-2:machine leowu$ docker run -ti -w /machine -v $(pwd):/machine golang:alpine sh -c 'gofmt -s -w **/*.go'
Unable to find image 'golang:alpine' locally
alpine: Pulling from library/golang
e110a4a17941: Already exists
ac58758e6ad5: Pull complete
de90fc0e5164: Pull complete
e8f38fc389bc: Pull complete
087a26f98166: Pull complete
25994cc11974: Pull complete
Digest: sha256:8b9e1e4a137e7663c1dc52a33c41699661ea4da9aca6ab0771b1fcec16a87535
Status: Downloaded newer image for golang:alpine
Leos-MacBook-Pro-2:machine leowu$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean

shell glob might not be matching.  try
$ docker run -ti -w /machine -v $(pwd):/machine golang:alpine sh -c 'gofmt -s -w drivers/softlayer/*.go'

etc.

@nathanleclaire  sorry, I just fix the problem with gofmt but get a new error :
mk/validate.mk:15: recipe for target 'vet' failed
make: *** [vet] Error 1
make: *** [build validate] Error 2

Please advise it.

Look in the Travis CI output.
drivers/softlayer/driver.go:375: unreachable code

Since this section of the code always exits, you can't reach the rest.  Something is off in that function, for sure.

@nathanleclaire  what's next after all checks have passed ?

LGTM

Thanks for the contribution @wzymaster

@nathanleclaire  just a quick question, this change will go into 0.9.0 release of Docker Machine ?

Yes


Upgrade to mongo driver 4.x and java 8

Driver breaking changes :

JSON class was removed, use BasicDBObject instead
ObjectId.createFromLegacyFormat method was removed use new ObjectId() instead
no longer java 1.5 compatible hence the upgrade to java 8
$maxScan operator no longer supported
BsonCodec does not implement the decode method
UUID are no longer serialized using $uuid operator
null countOption no longer supported

Also upgrade

de.flapdoodle.embed.mongo 2.2.0 -> 3.0.0
de.undercouch.bson4jackson 2.9.2 -> 2.12.0

Hi, as Jongo users at Malt we wanted to be able to upgrade to mongo diver 4.x.
There’s no rush so we thought it would be nice to have it in the official repository, hence this pull request :)
Looking forward to read your reviews.

Hello,
First of all thank you very much for taking the time to do this pull request.
At first glance it seems ok to me. I will do a review and possibly put some comments if needed.

Hello,
Do you know when the release will be available ?
Have a nice day

Hi Benoît,
Long time no see :-)
Can we help you in any way to decide on this PR? Not that we want to rush you, we know perfectly well what it costs to maintain OSS, and even more when one doesn't actively develop on it anymore.
I've just thought it owuld be a good idea to ask, just in case :-)
Edit: funnily enough, the previous comment appeared while I was typing mine. We didn't consult each other (and don't even know each other), promise!

No worry about delays we all have our jobs and lives :)
The time we took to make this pull request is nothing compared to the time you took to build the lib itself and maintain it.
Plus it was a pleasure to work on such a nice code base ! Tests were really helpful during this upgrade.

Hello,
Maybe i'm wrong but I think that upgrade is not complete.
There are for example a declaration of DB and DBCollection in the class /src/main/java/org/jongo/Jongo.java
DB and DBCollection are not longer available for the last mongo version (ie mongodb-driver-sync).
It's possible to use mongodb-driver-legacy which include these classe, but it's a legacy.
source : https://mongodb.github.io/mongo-java-driver/4.2/driver/getting-started/installation/
Have a nice day

@Dayde Hello, i've deployed a snapshot version, are you able to check if this snapshot works with your codebase ?
  <dependency>
    <groupId>org.jongo</groupId>
    <artifactId>jongo</artifactId>
    <version>1.5.0-SNAPSHOT</version>
  </dependency>

@Daemorinumi This PR allows Jongo to be able to still rely on legacy API (ie.DBCollection) using mongodb-driver-legacy.
This legacy driver contains also the "new" API (ie. MongoCollection). You can have a look at #381 which tries to deal with MongoCollection

Hello @bguerout,
Thank you

Hi, it took a bit longer than planned but here we are :) the upgrade is under test and we spotted some regressions.
Here are some fixes #385

Thanks @Dayde for the contribution and thanks @bguerout for the review.
On our side we tested this 1.5.0-SNAPSHOT as dependency for our codebase that heavily relies on Jongo.
We didn't detect any issues, everything works fine!
@bguerout Do you plan to release it as a stable version soon or do you want to also include in this 1.5.0 the work you started in #381?
We're very happy to see Jongo evolve! Thanks a lot! 😃

Thanks for testing @jmesny !
We did some testing too and found that the upgrade fixed some weird behaviour of the parser like accepting trailing curly braces.
Maybe something to advertise in the changelog for the release.
Following test passes with latest version but not in 1.4 as no exception is thrown.
@Test(expected = IllegalArgumentException.class)
public void shouldNotAllowTrailingCurlyBraces() throws Exception {
    Query query = factory.createQuery("{id:'123'}}");
    assertThat(query.toDBObject()).isEqualTo(QueryBuilder.start("id").is("123").get());
}

Hello,
Thanks for your feedbacks.
I will release 1.5.0 tomorrow.
@jmesny #381 will not be included

Hi,
Jongo 1.5.0 has been released.
I will update the website http://jongo.org/
Thanks again for the great work.


Small updates to orientation specification

Some further updates to https://github.com/opengeospatial/geoparquet/pull/74

Conflicts have appeared

Looks good, merging in.


Created a starting point for working on the Player Controller by adding a Player prefab.

Added new experimental scene for working on Player prefab and updated tile spawning to spawn that prefab in game.

Copied image assets for the player from the Library to the Sprites directory.
Create a new scene where the player prefab can be tested/developed.
Updated the TilePainter.cs class to spawn the player prefab in game.

This is related to #10.


Cleanup of BatchedInferencePipeline

This PR aims to further refine BatchedInferencePipeline class to include more transcription options and other improvements
Summary:

Supported new options for batched transcriptions:

language_detection_threshold
language_detection_segments
temperature
hotwords
fixed initial prompt

moved generate_segment_batched function from WhisperModel to BatchedInferencePipeline
removed get_language_and_tokenizer function to be more inline with original implementation and make the pipeline class stateless
clarified documentation about what arguments do not have an effect in batched transcription

@MahmoudAshraf97 i check git+https://github.com/MahmoudAshraf97/faster-whisper.git@add_hotwords_batched and get error:

".../faster_whisper/transcribe.py", in line 487, in transcribe
if not self.model.is_multilingual and language != "en":
AttributeError: 'WhisperModel' object has no attribute 'is_multilingual'

@MahmoudAshraf97 i got another error after update:
"...faster_whisper/transcribe.py", line 545, in transcribe
all_language_probs=all_language_probs,
UnboundLocalError: local variable 'all_language_probs' referenced before assignment

@MahmoudAshraf97 i got another error after update:
"...faster_whisper/transcribe.py", line 545, in transcribe
all_language_probs=all_language_probs,
UnboundLocalError: local variable 'all_language_probs' referenced before assignment

Should be fixed


RFE: Allow changing Rancher Server URL

Issue:
Currently, this is not supported as published in the docs:
https://rancher.com/docs/rancher/v2.x/en/admin-settings/

After you set the Rancher Server URL, we do not support updating it. Set the URL with extreme care.

RFE:
Add support for updating the Rancher Server URL
Rancher version:
v2.2.x

This is covered in https://github.com/rancher/rancher/issues/14731, either should be merged/close.

Close in favor of https://github.com/rancher/rancher/issues/14731


K8SPXC-172 Fix running tests on macOS

Test name
Status

init-deploy
passed

big-data
passed

storage
passed

recreate
failed

scaling
passed

restore-to-encrypted-cluster
failed

self-healing
passed

demand-backup
passed

scaling-proxysql
passed

limits
passed

monitoring
passed

upgrade
passed

self-healing-advanced
passed

monitoring-2-0
passed

upgrade-consistency
passed

security-context
passed

affinity
passed

operator-self-healing
passed

scheduled-backup
passed

one-pod
passed

auto-tuning
passed

demand-backup-encrypted-with-tls
failed

proxysql-sidecar-res-limits
passed


Converted network does not have a correspondence with the basemap

Hi,
First of all, thanks for this great script!
I was using this to convert an .osm file (exported directly from OSM web site) to VISSIM, for an intersection in Lisbon, Portugal.
I noticed that the resulted vissim network falls about -1km (X) and 4km (Y) aside where it was supposed to be located.
I wonder why is that...
Here is an example, of where it "lands"

and where it was supposed to be:

I was looking at your code with @gmatosferreira and wonder if it comes from the conversion of CRS. So we tried to use a python library (from pyproj import Transformer)  to deal directly with CRS transform, but the results were exactly the same, doesn't change anything.
We further investigated if this was a basemap error, but the misplace is exactly the same using photo Bing, OSM tiles, of PTV tiles.
Also, we tried to convert from an example closer to the 0,0 CRS, to check how the error would behave.
And so, from an intersection in São Tomé, near the Equator (about 0.3 lat), it still is misplaced, but this time with only about 0.8 km (X) and 0.04 km (Y)

Do you have any clue of what is happening here, and how to overcome that?
Sys info:
I am using VISSIM 2024 and Python 3.12.
Here are the OSM files used in both cases
osm_files.zip
Thanks in advance

Would it have anything to do with this?
https://alastaira.wordpress.com/2011/01/23/the-google-maps-bing-maps-spherical-mercator-projection/

Just an update, maybe that can help to understand the problem:
I created a polygon with the footprint of the building in QGIS, using the OSM basemap. Exported in .shp using CRS 4326.
Imported this file directly in VISSIM, and i wend directly to the right place.
But... The coordinates of the lower left point of this polygon showing in QGIS are not the same as in VISSIM.
In QGIS:

In VISSIM:

Where these coordinates are in VISSIM (near my misplaced network converted with this py script):


Stamp git commit hash on other results

Pipeline should output some kind of text summary including this
What about DEGs (not reports)? Do we need to mark the data itself somehow?


fix usage of log_abs_det_jacobian with torch=1.8

The dependence on torch 1.8 makes sense because the current sbi version, which we want to use, depends on it.
With this change we get rid of the helper function get_log_abs_det_jacobian that was distinguishing between the behavior before and after torch 1.8 and was doing the summation explicitly.
Details:

with the dependence on torch>=1.8 the output of log_prob and log_abs_det_jacobian changes: when the input has several parameter dimensions the output will keep those dimensions and we would have to sum over them by hand to get the joint log_prob over parameter dimensions.
this can be prevented by "reinterpreting" them as batch dimensions.
for transforms this works via the IndependentTransform as a wrapper

See also #15

we could add the fixed dependency on sbi in this branch as well, once the new sbi version is released.

Great, cheers!


fix(r2_bucket): add validation for location

Closes #3131

acceptance tests all passing
TF_ACC=1 go test ./internal/framework/service/r2_bucket -v -run "^TestAccCloudflareR2Bucket_" -count 1 -timeout 120m -parallel 1
=== RUN   TestAccCloudflareR2Bucket_Basic
=== PAUSE TestAccCloudflareR2Bucket_Basic
=== RUN   TestAccCloudflareR2Bucket_Minimum
=== PAUSE TestAccCloudflareR2Bucket_Minimum
=== RUN   TestAccCloudflareR2Bucket_InvalidLocation
=== PAUSE TestAccCloudflareR2Bucket_InvalidLocation
=== CONT  TestAccCloudflareR2Bucket_Basic
--- PASS: TestAccCloudflareR2Bucket_Basic (6.51s)
=== CONT  TestAccCloudflareR2Bucket_InvalidLocation
--- PASS: TestAccCloudflareR2Bucket_InvalidLocation (0.17s)
=== CONT  TestAccCloudflareR2Bucket_Minimum
--- PASS: TestAccCloudflareR2Bucket_Minimum (4.70s)
PASS
ok  	github.com/cloudflare/terraform-provider-cloudflare/internal/framework/service/r2_bucket	12.408s


Extract Ansi/console layer and release it as a reusable artifact

Hi everyone,
The layer built on top of Ansi class to provide a curses like feature is great and I think it can benefit the java community as a whole so it would be awesome if it can be extracted in a more granular artifact (almost no dependency except jansi) and released on one of the main maven repo.
Romain

Thanks for the suggestion @rmannibucau - I don't think we're interested in doing this right now. Our console is pretty deeply tied to Gradle.


Add Python SDK to Samples/Quickstarts

In addition to pure PyArrow.
E.g. https://www.kaggle.com/code/spiceluke/spice-xyz-ethereum-blocks

https://github.com/spicehq/samples/pull/3


Make failed

Hello,
When I cloned this project and run make, the script failed to find downloaded controller-gen tool. See log below:
$ make
go: creating new go.mod: module tmp
Downloading<EMAIL_ADDRESS>go: added github.com/fatih/color v1.7.0
go: added github.com/gobuffalo/flect v0.2.0
go: added github.com/gogo/protobuf v1.3.1
go: added github.com/google/gofuzz v1.1.0
go: added github.com/inconshreveable/mousetrap v1.0.0
go: added github.com/json-iterator/go v1.1.8
go: added github.com/mattn/go-colorable v0.1.2
go: added github.com/mattn/go-isatty v0.0.8
go: added github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
go: added github.com/modern-go/reflect2 v1.0.1
go: added github.com/spf13/cobra v1.0.0
go: added github.com/spf13/pflag v1.0.5
go: added golang.org/x/mod v0.2.0
go: added golang.org/x/net v0.0.0-20200226121028-0de0cce0169b
go: added golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7
go: added golang.org/x/text v0.3.2
go: added golang.org/x/tools v0.0.0-20200616195046-dc31b401abb5
go: added golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
go: added gopkg.in/inf.v0 v0.9.1
go: added gopkg.in/yaml.v2 v2.2.8
go: added gopkg.in/yaml.v3 v3.0.0-20190905181640-827449938966
go: added k8s.io/api v0.18.2
go: added k8s.io/apiextensions-apiserver v0.18.2
go: added k8s.io/apimachinery v0.18.2
go: added k8s.io/klog v1.0.0
go: added k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89
go: added sigs.k8s.io/controller-tools v0.4.1
go: added sigs.k8s.io/structured-merge-diff/v3 v3.0.0
go: added sigs.k8s.io/yaml v1.2.0
/Users/xx/projects/credential-rotator-operator/bin/controller-gen object:headerFile="hack/boilerplate.go.txt" paths="./..."
bash: /Users/xx/projects/credential-rotator-operator/bin/controller-gen: No such file or directory
make: *** [generate] Error 127

I am new to Go, and using go version go1.19.1 darwin/amd64. In the end I had to manually download from https://github.com/kubernetes-sigs/controller-tools/tree/master/cmd/controller-gen and place in bin directory, then make can successfully finish running.

I think I have figured it out. I downgraded to go1.16.5 as tested with this project, controller-gen is installed properly and no further issues. Apparently latest go1.19.1 as the time I am writing no longer works.


WithdrawHook contract

To test:

Add ETH_RPC_URL in .env
Run make test-hook  or make test-hook-50 to test with 50 different recipient and feeReceiver addresses.

What different scenarios should we account for when building out the gas framework? Currently thinking SwapHalfForEth and SwapAllForEth.

What different scenarios should we account for when building out the gas framework? Currently thinking SwapHalfForEth and SwapAllForEth.

Yep I think that works! Reminder to make sure they're concrete tests and not fuzz tests. Are you planning on adding those in this PR too? (If so that's fine)

This is looking great @garyghayrat! 🚀
I'm going to do a final full pass later today, @apbendi let us know if you plan to do another review before merging

Do you have steps to reproduce or an exact error message / stack trace? Offhand I'm not exactly sure

Do you have steps to reproduce or an exact error message / stack trace? Offhand I'm not exactly sure

Moved the sponsorFee relevant conversation to PR wide comment here: https://github.com/ScopeLift/umbra-protocol/pull/341#discussion_r901881355


Poseidon hash implementation

Resolves #43

Several things separate this PR from being merged into master:

[ ] Frontend implementation. In particular this means merging poseidon_functions::permute function contents with architecture-defined compressor structure poseidon_compressor along with sponge_constructions usage.
[ ] Fully constexpr constants generation (depends on https://github.com/NilFoundation/crypto3-algebra/issues/5 and https://github.com/NilFoundation/crypto3-multiprecision/issues/36)
[ ] Elimination of bool strength template parameter in favor of specifying two separate poseidon modifications or introducing additional template parameter std::size_t Rounds or std::size_t PartRounds (instead of bool strength), which would allow to calculate actual rounds amount.


Adding the language switcher to all pages adds one for user accounts

I've just noticed another bug when fiddling with WC but it's not (really) related to it: when editing customers account from WooCommerce → Customers → clicking on one will open the user-edit.php?user_id=xxx, which is actually the user edit page from WP. When the "Add language switcher to all pages/posts" option from Zu Translate is enabled, there'll be a switcher on that user edit page that just does nothing (which is expected I guess, as it's a WP settings page).
The only thing related to WC is that if you edit your own admin account as a customer, it'll send you to the profile page but with the user-edit one (i.e. it'll be user-edit.php?user_id=1) instead of profile.php; on the profile.php page, the language switcher does not appear.
When disabling Zu Translate, qTranslate-XT doesn't add a language switcher to the user-edit page (nor profile.php). I'm not sure if it's a matter of excluding a specific cpt (I'm not sure which one is used: adding user_id to the list of exclusions doesn't work) or if the "Add language switcher" option should exclude a list of pages (as it'll display also on various settings pages and I'm not sure it's intended).

From where users are appear in the store? How can I add someone to testing?

I'd say: don't bother with the WC part. The issue is mostly related to WP (the only specific stuff from WC is that it'll let you edit the admin account through the user-edit.php page instead of the profile.php page), that's why I opened a different report.
When enabling the language switcher on all post/pages, it's displayed on some settings page, like options-general.php and user-edit.php. But it isn't displayed on other settings pages, like options-writing.php and such. I'm not sure which is the expected case:

should the language switcher appear on settings pages?
or shouldn't it, in which case, regarding users, it does not appear on profile.php but appears on user-edit.php, which leads to some confusion as user-edit.php?user_id=1 and profile.php edit the same content but one page shows the language switcher and the other doesn't.

IMO, it shouldn't appear on settings pages, as their content is not really supposed to be translatable.

option Add "Language Switcher" to post/pages list is responsible for adding the language switcher on pages that have edit.php in its URL. Therefore, the switchers on all other pages (profile.php, options-general.php etc) is the job qTranslate-XT.

should the language switcher appear on settings pages?

Yes, but only if there are fields for translation. On the options-writing.php page there are simply no such fields.

it shouldn't appear on settings pages, as their content is not really supposed to be translatable.

On the options-general.php  page there are 2 fields for translation.

Ok, I messed up my tests, the language switcher on options-general.php is indeed added by qTranslate-XT.
But the switcher added on user-edit.php is from Zu Translate and I'm not sure it's a good idea to add it there, as there are credential fields.

Try version 1.3.5


Removed RCF detector per issue #370

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@cf03e27). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #383   +/-   ##
=========================================
  Coverage          ?   52.64%
  Complexity        ?      292
=========================================
  Files             ?       97
  Lines             ?     1607
  Branches          ?       97
=========================================
  Hits              ?      846
  Misses            ?      717
  Partials          ?       44

Continue to review full report at Codecov.

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


[Code Style Change] - Changed Vulkan code to match TVM conventions.

Code Style Change - Changed Vulkan code to match TVM conventions.

Thanks for the suggestion, I don't see a need to apply this change. If @Lunderberg likes this patch we can reopen.

I don't have a strong opinion either way.  I don't have any issues with updating to the convention of using the trailing underscore for private members and no trailing underscores for public members, but it also isn't a very consistently followed convention at the moment.

Running a quick check with clang-tidy, it looks like there's a few hundred similar member variables that don't follow the convention of using an underscore iff the variable is private.  From that, I don't think it's worth manually changing the names, unless we want to run clang-tidy on everything and add it as a CI step.

@Lunderberg wouldn't it be great if we worked towards being able to do that? :smile_cat: Personally I think we should encourage patches like this which improve our coding standards and follow the guidelines we set out for ourselves.
Having said that, the correct approach under the Google C++ Guidelines is all data should be _ suffixed and getters added iirc?

@Lunderberg wouldn't it be great if we worked towards being able to do that? :smile_cat: Personally I think we should encourage patches like this which improve our coding standards and follow the guidelines we set out for ourselves.

@Mousius Definitely agreed, and I'd like for it to be possible, either with a CI step or a standard pre-commit hook to format any modified files.  I haven't had the bandwidth lately, but in case anybody reading this does, the options I used to search were as follows:

Disable all clang-tidy passes except readability-identifier-naming with -checks=-*,readability-identifier-naming
Set the option for PrivateMemberCase and PublicMemberCase to lower_case
Set the option for PrivateMemberSuffix to _
Set the option for PublicMemberSuffix to an empty string.

Having said that, the correct approach under the Google C++ Guidelines is all data should be _ suffixed and getters added iirc?

It does, yes.  The reasoning is that private member variables with getters/setters can be replaced, while maintaining the same external behavior, but there is no way to replace public member variables without breaking at least some previously-allowed behavior.  Essentially, structs to represent data, and classes to represent behavior, with no mixing allowed between them.  I like doing so overall, but it would be a very dramatic shift from the existing public member variables.


Discussion: Ability to move from object to object

So if the title doesn't make sense let me explain. I would like the ability to go from a parent object to a child object. For instance Team -> Service -> Escalation Policy -> Escalation Rules -> Schedules.
So first off I am only opening this for discussion since I think it would be pretty spiffy to do this since they link together. So let me know your thoughts if this is worth pursuing.

I guess this already sort of works but with include being used most of that data can be preloaded in 1 request rather than multiple sub requests to fetch that information

Just wanted to give a quick update that I want to look into this more but I'm out on PTO right now so it'll be about a week or two. Thanks for kicking off the discussion though.


xp and/or currency for user activity

!bank and !profile are implemented, yet they don't really do anything.
Provide ways of gaining experience and currency to reward activity

Has this issue been addressed in anyway? I don't want to get another bot just for economy nor can find a good one anyways.. just being able to add in new currency in anyway would be all I need lol as i'm wanting to be the only one who can add or give currency to people in my discord chat as a way to keep track of certain things.

the beginnings are there, although there hasn't been any progress in this area for a while. Currency exists but its global rather than per guild, which has to be changed. After the issue is fixed where it sometimes gets stuck I'd like to continue working on the currency/rank system

Hey Kaaz. Is this repo still active? I can build this functionality for you 😄

Not as active as it once was, but still alive 😛


Remove upload data option in commercial version

When launching gene from e.g. Nebula, or MyGene2, the data is automatically linked and the user should not be able to upload data. Apparently, the option being available has confused some Nebula users.

Add a flag (see #661) to allow the upload data to be turned on/off for different instances
If turned off, hide the option ()

I still see the upload icon in the Nebula version

Hi Al.  Thanks for all of your testing!
Did you try on https://dev.gene.iobio.io?  I don't see the upload icon when I test there.

  I see it in Advanced mode.  Damn, you are good @AlistairNWard

Good old Gabor phrases! Is it a complement or an insult?! Who knows.
Yeah, I tested all the Nebula stuff on dev for both versions!

Okay, you can give it another try @AlistairNWard

Yep, all gone


Must be reducible node exception when performing Join

Doing following join:
ScheduledPayouts.Join(Assets, p => p.Good.Id, a => a.Good.Id, (p, a) => new Tuple<Asset, ScheduledPayout>(a, p));
throws following exception:
   w System.Linq.Expressions.Expression.ReduceAndCheck()
   w System.Linq.Expressions.Expression.ReduceExtensions()
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteExtensionExpression(Expression expr, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteExpression(Expression node, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteMemberExpression(Expression expr, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteExpression(Expression node, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.Rewrite[T](Expression`1 lambda)
   w System.Linq.Expressions.Expression`1.Accept(StackSpiller spiller)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteLambdaExpression(Expression expr, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteExpression(Expression node, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.ChildRewriter.Add(Expression node)
   w System.Linq.Expressions.Compiler.StackSpiller.ChildRewriter.AddArguments(IArgumentProvider expressions)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteMethodCallExpression(Expression expr, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteExpression(Expression node, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.ChildRewriter.Add(Expression node)
   w System.Linq.Expressions.Compiler.StackSpiller.ChildRewriter.AddArguments(IArgumentProvider expressions)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteMethodCallExpression(Expression expr, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteExpression(Expression node, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.ChildRewriter.Add(Expression node)
   w System.Linq.Expressions.Compiler.StackSpiller.ChildRewriter.AddArguments(IArgumentProvider expressions)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteMethodCallExpression(Expression expr, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteExpression(Expression node, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.ChildRewriter.Add(Expression node)
   w System.Linq.Expressions.Compiler.StackSpiller.ChildRewriter.AddArguments(IArgumentProvider expressions)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteMethodCallExpression(Expression expr, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteExpression(Expression node, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.Rewrite[T](Expression`1 lambda)
   w System.Linq.Expressions.Expression`1.Accept(StackSpiller spiller)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteLambdaExpression(Expression expr, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteExpression(Expression node, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.ChildRewriter.Add(Expression node)
   w System.Linq.Expressions.Compiler.StackSpiller.ChildRewriter.AddArguments(IArgumentProvider expressions)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteMethodCallExpression(Expression expr, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.RewriteExpression(Expression node, Stack stack)
   w System.Linq.Expressions.Compiler.StackSpiller.Rewrite[T](Expression`1 lambda)
   w System.Linq.Expressions.Expression`1.Accept(StackSpiller spiller)
   w System.Linq.Expressions.Compiler.LambdaCompiler.Compile(LambdaExpression lambda, DebugInfoGenerator debugInfoGenerator)
   w System.Linq.Expressions.Expression`1.Compile()
   w Microsoft.Data.Entity.Query.EntityQueryModelVisitor.CreateExecutorLambda[TResults]()
   w Microsoft.Data.Entity.Query.EntityQueryModelVisitor.CreateQueryExecutor[TResult](QueryModel queryModel)
   w Microsoft.Data.Entity.Storage.RelationalDatabase.CompileQuery[TResult](QueryModel queryModel)
--- Koniec śladu stosu z poprzedniej lokalizacji, w której wystąpił wyjątek ---
   w System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   w Microsoft.Data.Entity.Query.CompiledQueryCache.CompileQuery(IDatabase database, MethodInfo compileMethodInfo, Type resultItemType, QueryModel queryModel)
   w Microsoft.Data.Entity.Query.CompiledQueryCache.<>c__7`1.<Execute>b__7_0(Expression q, IDatabase ds)
   w Microsoft.Data.Entity.Query.CompiledQueryCache.GetOrAdd(Expression query, QueryContext queryContext, IDatabase database, Boolean isAsync, Func`3 compiler)
   w Microsoft.Data.Entity.Query.CompiledQueryCache.Execute[TResult](Expression query, IDatabase database, QueryContext queryContext)
   w Microsoft.Data.Entity.Query.EntityQueryProvider.Execute[TResult](Expression expression)
   w Remotion.Linq.QueryableBase`1.GetEnumerator()
   w System.Linq.SystemCore_EnumerableDebugView`1.get_Items()

the model is:
  [Table("assets")]
  public class Asset {
    public int Id { get; set; }
    [StringLength(16)]
    public string Name { get; set; }
    public decimal Amount { get; set; }
    public decimal ObtainPrice { get; set; }
    public MarketGood Good { get; set; }
  }
  [Table("market_goods")]
  public class MarketGood {
    public int Id { get; set; }
    [StringLength(16)]
    public string Name { get; set; }
    [StringLength(32)]
    public string LongName { get; set; }
  }

  [Table("scheduled_payouts")]
  public class ScheduledPayout {
    public int Id { get; set; }
    public MarketGood Good { get; set; }
    public decimal ValuePerUnit { get; set; }
    public DateTime ValidityDate { get; set; }
    public DateTime PayoutDate { get; set; }
  }

and debug string for the failed expression:
.Call System.Linq.Queryable.Join(
    .Constant<Microsoft.Data.Entity.Query.EntityQueryable`1[Portfolio.Models.ScheduledPayout]>(Microsoft.Data.Entity.Query.EntityQueryable`1[Portfolio.Models.ScheduledPayout]),
    .Constant<Microsoft.Data.Entity.Query.EntityQueryable`1[Portfolio.Models.Asset]>(Microsoft.Data.Entity.Query.EntityQueryable`1[Portfolio.Models.Asset]),
    '(.Lambda #Lambda1<System.Func`2[Portfolio.Models.ScheduledPayout,System.Int32]>),
    '(.Lambda #Lambda2<System.Func`2[Portfolio.Models.Asset,System.Int32]>),
    '(.Lambda #Lambda3<System.Func`3[Portfolio.Models.ScheduledPayout,Portfolio.Models.Asset,System.Tuple`2[Portfolio.Models.Asset,Portfolio.Models.ScheduledPayout]]>))

.Lambda #Lambda1<System.Func`2[Portfolio.Models.ScheduledPayout,System.Int32]>(Portfolio.Models.ScheduledPayout $p) {
    ($p.Good).Id
}

.Lambda #Lambda2<System.Func`2[Portfolio.Models.Asset,System.Int32]>(Portfolio.Models.Asset $a) {
    ($a.Good).Id
}

.Lambda #Lambda3<System.Func`3[Portfolio.Models.ScheduledPayout,Portfolio.Models.Asset,System.Tuple`2[Portfolio.Models.Asset,Portfolio.Models.ScheduledPayout]]>(
    Portfolio.Models.ScheduledPayout $p,
    Portfolio.Models.Asset $a) {
    .New System.Tuple`2[Portfolio.Models.Asset,Portfolio.Models.ScheduledPayout](
        $a,
        $p)
}

Note that materializing the collections and doing the join then works fine:
return ScheduledPayouts.Include(p => p.Good).ToList().Join(Assets.Include(a => a.Good).ToList(), p => p.Good.Id, a => a.Good.Id, (p, a) => new Tuple<Asset, ScheduledPayout>(a, p));
this is with beta7, in beta6 I had different kind of exception (something about Single not allowing multiple elements in collection).

I'm new to EF and LINQ, and I am receiving the same error, though I don't know if for the same reason.  Also using beta7.
Here is the query I would like to perform that throws the "Must be reducible node exception":
var day = context.Days.OrderByDescending(d => d.Created).FirstOrDefault();
                var meals = context.Meals
                    .Where(m => m.DayId == day.Created)
                    .OrderBy(m => m.MealNumber).Include(m => m.MealEntries)
                    .Select(m => new MealViewModel
                    {
                        Id = m.Id,
                        MealNumber = m.MealNumber,
                        MealEntries = m.MealEntries.Select(me => new mealEntryViewModel
                        {
                            FoodId = me.Id,
                            Calories = me.Calories
                        })
                    });

Here is the modification that fixes the exception:
.OrderBy(m => m.MealNumber).Include(m => m.MealEntries).ToList()

You can see the only difference is the addition of "ToList()".  Please let me know if I'm doing anything wrong or inefficient.  Thanks.

Exact same issue, my simple join query like so do not work:
from a in _db.A join b in _db.B on ...
but if I add .ToList() after _db.A and _db.B then it works :(

@kskalski the problem is because of the way we translate navigation properties in the key selectors. The problem will also reproduce for a simpler query:
consider a simpler version of the query:
from p in ctx.Payouts
join a in ctx.Assets on p.Good.Id equals a.Id
select p

What we do is expand the nav prop p.Good into a join like so:
from p in ctx.Payouts
join g from ctx.Goods on p.Id equals g.Id
join a in ctx.Assets on g.Id equals a.Id
select p

this works great, however if the nav prop is in the inner selector:
from p in ctx.Payouts
join a in ctx.Assets on p.Id equals a.Good.Id
select p

this logic fails due to chicken and egg problem:
from p in ctx.Payouts
join g in ctx.Good on a.Id equals g.Id // invalid, because g was not declared yet
join a in ctx.Assets on g.Id equals a.Id

We need to do a different expansion pattern for the case like yours. In the meantime, you could mitigate this by using foreign keys rather than nav props, like so:
ScheduledPayouts.Join(Assets, p => p.GoodId, a => a.GoodId, (p, a) => new Tuple<Asset, ScheduledPayout>(a, p));

(you would need to add the foreign keys to the model first).
@Sharpiro @AlexTo adding ToList() to a query makes it so that it no longer uses Entity Framework, but Linq to Objects instead, and may cause inefficiencies in your queries, e.g.
ctx.Customers.ToList().Where(c => c.Id = 10)

will query the database for all the customers and perform the filter on the client. @Sharpiro in your case this is not that impactful, because you add ToList() before the projection, filter, sorting and include is done using EF. I investigate your case as well, probably the root cause is similar even though the query is little different.
@AlexTo  can you share the query that fails for your, I'm mostly interested in the part that comes after  "on" (key selectors). Also could you post the model that you used?

Thanks for analysis.
Right, I thought that using foreign key property would work around the problem, since I would not involve MarketGood table at all.
However this query also shows the inefficiency of the current translation method. Note that I never actually requested Good to be materialized / included in the result set, so in theory your suggestion for modifying query to use GoodId instead of Good.Id is not just a way to avoid this bug, but also a way to optimize DB access such that MarketGood table is not joined at all. It would be nice if the framework made this kind of optimization on its own.
On the other hand I'm not sure what is the standardized or expected semantics when using navigational properties for filtering or joins, do they imply materialization of intermediate objects or not. I can imagine somebody doing 'from p in ctx.Assets where p.Good.Id == 3 select p' would expect returned p to have non-null p.Good and if the navigation property doesn't actually translate to foreign key in the source table, e.g. 'from p in ctx.Assets where p.Good.Name == "x" select p' then DB access need to do the join anyway. So maybe for the sake of consistency it's better to always do it and materialize intermediate objects.

Here is the complete query that works, to make it failed, just remove all ToList()
return (from f in _db.Fields.Include(f => f.Node).ToList()
                    join e in _db.Edges.Include(e => e.A).Include(e => e.B).ToList() on f.Node.Id equals e.A.Id
                    join n in _db.Nodes.ToList() on e.B.Id equals n.Id
                    where f.Key == FieldKey.UserId.ToString() && f.Value == userId
                    && e.Type == EdgeType.HasProfilePicture.ToString()
                    select e.B).FirstOrDefault();

And my model
public class Field : Common
    {
        [Required]
        public string Key { get; set; }

        [Required]
        public string Value { get; set; }

        [Required]
        public string Type { get; set; }

        [Required]
        public Node Node { get; set; }
}

public class Node : Common
    {
        private ICollection<Field> _fields;
        private ICollection<Edge> _outgoingEdges;
        private ICollection<Edge> _incomingEdges;

        [Required]
        public string Type { get; set; }

        public virtual ICollection<Field> Fields
        {
            get { return _fields ?? (_fields = new List<Field>()); }
            set { _fields = value; }
        }

        public virtual ICollection<Edge> OutgoingEdges
        {
            get { return _outgoingEdges ?? (_outgoingEdges = new List<Edge>()); }
            set { _outgoingEdges = value; }
        }

        public virtual ICollection<Edge> IncomingEdges
        {
            get { return _incomingEdges ?? (_incomingEdges = new List<Edge>()); }
            set { _incomingEdges = value; }
        }
}

public class Edge : Common
    {
        [Required]
        public Node A { get; set; }

        [Required]
        public Node B { get; set; }

        [Required]
        public string Type { get; set; }
}

And I have this configuration in OnModelCreating
builder.Entity<Node>()
                .Collection(n => n.OutgoingEdges)
                .InverseReference(e => e.A);

            builder.Entity<Node>()
                .Collection(n => n.IncomingEdges)
                .InverseReference(e => e.B);

Thank you

I am currently working on a fix that will detect this case and translate to FK, if possible. Problem is that this can only be done for a subset of scenarios (no composite keys, no chaining of nav props, you need to use PK as a key selector, as opposed to e.g. "name", and navigation needs to point in the right direction).
For other cases we will try to do a more involved and much less optimal translation, probably involving CROSS APPLY.
When it comes to materialization, we only materialize stuff that is specified in the select clause, intermediate results will not get materialized. In the example you provided, p will not load in the "Good" nav prop, unless you explicitly ask for it (using Include). We always want to materialize as little as possible to minimize the amount of data sent over the wire.

Fixed in c2b01796fbea1aba41c2f7e46f4a55b8b0a44550

@AlexTo the fix is now in, I double checked the sample you provided and the bug is not happening on it anymore (and I verified it was happening on the bits prior to the fix)

Thank you, so if I understand correctly, this fix will be included in RC1, but not in the beta8 recently released right?

@AlexTo yes, the fix didn't make it to beta8, so you need to wait till the next release or try our nightly builds


#2539 Support to show calculated column in table charts

Description
테이블 차트 연산 열 표시 기능을 추가 했습니다.
Related Issue :
#2539
How Has This Been Tested?
내장된 sales 데이터소스로 테스트 하였습니다.
Need additional checks?
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.

Additional Context

run build
deploy to 1


Implement Prometheus metrics for LocalQueue

What type of PR is this?

/kind feature
/kind api-change
What this PR does / why we need it:
Implementation of LQ metrics KEP
this replaces PR #3609
Which issue(s) this PR fixes:

Fixes #1833
Special notes for your reviewer:
I'm uncertain if I've updated all the metrics in the right places. I still need to write tests, but I figured I'd open the PR as I have it now in case anything is egregiously off.
Does this PR introduce a user-facing change?

Addition of configuration that allows users to get prometheus metrics about LQ info, including the LQ status and the status of pending workloads

metrics added:
local_queue_pending_workloads
local_queue_quota_reserved_workloads_total
local_queue_quota_reserved_wait_time_seconds
local_queue_admitted_workloads_total
local_queue_admission_wait_time_seconds
local_queue_admission_checks_wait_time_seconds
local_queue_evicted_workloads_total
local_queue_reserving_active_workloads
local_queue_admitted_active_workloads
local_queue_status
local_queue_resource_reservation
local_queue_resource_usage

Currently I've implemented this with just a boolean feature gate. I was having trouble figuring out how to pass namespace selector details down to the scheduler, cache, and queue and then also act on those selector values. I didn't want to introduce client calls to them since I figured making network request would pretty severely hurt performance in those packages.

@KPostOffice in the release note, please list all the metrics and their shortened description / purpose.

/ok-to-test

/retitle Implement Prometheus metrics for LocalQueue

@KPostOffice I think this PR still lacks integration tests, given this is early Alpha I would be willing to go ahead based on manual testing, but would like to fill in the gap as soon as possible (possibly yet before the release). WDYT? cc @tenzen-y

I've added some integration tests to the PR, I've also changed the LQ status metric. It now is a direct reflection of the CRs active status. @mimowo Let me know if this is better than updating the status directly in the cache. It changes the values to True, False, Unknown. The only drawback with this is some lag to the internal status as well as losing the Terminating status but it avoids looping over all LQs every time the CQ's status is updated

. @mimowo Let me know if this is better than updating the status directly in the cache. It changes the values to True, False, Unknown. The only drawback with this is some lag to the internal status as well as losing the Terminating status but it avoids looping over all LQs every time the CQ's status is updated

I see, we can still experiment and collect feedback as the feature is alpha, so we can adjust later. For now, I prefer the option without iterating over the LQs in cache

I thought a little bit more about the knob and metrics cardinality:

we have the enable/disable knob for CQs, so I think this makes sense for LQs too: https://github.com/kubernetes-sigs/kueue/blob/e5e340da00732ccf61df4b3bbf944783c35e66a8/apis/config/v1beta1/configuration_types.go#L148 (by analogy)
the cardinality of namespace is ok based on the k8s metrics, https://kubernetes.io/docs/reference/instrumentation/metrics/
too much cardinality at some points become a problem surely (too much memory, big outputs from the endpoint), so we need to be cautious
I was not aware of the knob for CQ when was leaving the comment https://github.com/kubernetes-sigs/kueue/pull/3673#discussion_r1861643242.

So, my proposal for 0.10 are:

keep as currently, just feature gate
add the knob just to enable / disable EnableLocalQueueMetrics

I think (2.) makes sense regardless if we do it for 0.10, so that we have a tool to control cardinality if it is a problem, and by analogy to the CQ knob - it does not make sense to the the knob for CQ and not for LQ.
We can try to go ahead with this PR, and you can follow up with the knob (2.) - it either gets to 0.10 or not. WDYT?
For Beta, we can consider additional API with selectors, but I would refrain from doing so, until we have feedback indicating we really need them.

We can try to go ahead with this PR as is (feature gate), and you can follow up with the knob (2.) - it either gets to 0.10 or not. WDYT?

This sounds good to me. I'll fix the comment you had and follow up this PR with the knob. Did you mean EnableLocalQueueMetrics or EnabledLocalQueueResourceMetrics?
I think cardinality would only be a concern for ResourceMetrics since that would be:
LocalQueues * Flavors * Resources
(or at least unique combinations of these)
All other metrics should be basically equal to # of LocalQueues

This sounds good to me. I'll fix the comment you had and follow up this PR with the knob.

Cool
/lgtm
/approve

/retest-required

/retest
The integration test failed due to https://github.com/kubernetes-sigs/kueue/issues/3633

/remove-kind api-change

/release-note-edit
Introduce alpha feature, behind the LocalQueueMetrics feature gate, which allows users to get the prometheus LocalQueues metrics:
local_queue_pending_workloads
local_queue_quota_reserved_workloads_total
local_queue_quota_reserved_wait_time_seconds
local_queue_admitted_workloads_total
local_queue_admission_wait_time_seconds
local_queue_admission_checks_wait_time_seconds
local_queue_evicted_workloads_total
local_queue_reserving_active_workloads
local_queue_admitted_active_workloads
local_queue_status
local_queue_resource_reservation
local_queue_resource_usage


Add type hints to questionnaire module

What is the context of this PR?
This PR is adding type hints to the questionnaire module (and altering the types in a few other places if affected by the changes to the questionnaire module) as part of the ongoing goal to type hint the code base
How to review
Check that mypy is correctly enforcing the hints, and that any type: ignores were correct to be ignored
To test myself I also temporarily used the typeguard library on the questionnaire module and ran through various surveys.
Checklist

[ ] Mypy is enforcing types in the questionnaire module
[ ] Types in the questionnaire module are using the new syntax

 Type hints: Add type hints to the Questionnaire module (2 SP)


Don't filter user from initial conversationUpdate message.

Hi @eanders-MS, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Eric Anderson). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


fix(AttachButton/AttachmentMenu): Add input

Left out input required for react-dropzone to work in Safari and Firefox. Consumers should only have to worry about adding this if they incorporate upload into a dropdown, which we give them full control over.

Preview: https://virtual-assistant-pr-virtual-assistant-170.surge.sh

Adding bug to track Firefox support here: https://github.com/patternfly/virtual-assistant/issues/174