[Feature Request] Support Amazon Bedrock (including Claude and Stable Diffusion XL)

Please add support for Amazon Bedrock. This will allow direct access to Anthropic's models.
Amazon Bedrock provides access to the LLMs Amazon Titan, Stable Diffusion XL, Meta Llama 2 (coming soon), AI21 Labs Jurassic, Cohere Command.
Amazon Bedrock Documentation

@iostreams - not that easy. Bedrock is made more for command line tools and python SDKs. I wish it was as easy to use as most of the other APIs.

Hi @enricoros @iostreams  - I believe we can make this easier
I’m the maintainer of LiteLLM - we allow you to deploy an LLM proxy to call 100+ LLMs in 1 format - Bedrock, OpenAI, Anthropic etc https://github.com/BerriAI/litellm/tree/main/openai-proxy.
If this looks useful (we're used in production)- please let me know how we can help.
Usage
Bedrock request
curl http://<IP_ADDRESS>:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
     "model": "bedrock/anthropic.claude-instant-v1",
     "messages": [{"role": "user", "content": "Say this is a test!"}],
     "temperature": 0.7
   }'

gpt-3.5-turbo request
curl http://<IP_ADDRESS>:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
     "model": "gpt-3.5-turbo",
     "messages": [{"role": "user", "content": "Say this is a test!"}],
     "temperature": 0.7
   }'

claude-2 request
curl http://<IP_ADDRESS>:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
     "model": "claude-2",
     "messages": [{"role": "user", "content": "Say this is a test!"}],
     "temperature": 0.7
   }'

Thanks @ishaan-jaff, love it. If I understand correctly, we can use LiteLLM in proxy mode, and treat it like OpenAI.

localhost functionality: ✅
remote: one needs to specify the IP address of a LiteLLM proxy server ❓
context: big-AGI is deployed serverless and written in typescript, so the proxy operation is the best, and the proxy needs to be accessed via REST from the server (e.g. localhost, or some vercel server)

As such I could add a LiteLLM-Proxy vendor in Big-AGI:

UI settings:

switch (local / remote)
remote host (if remote is selected)

functionality:

models will be dynamically discovered by calling the /v1/models endpoint in the LiteLLM server
straight 'openai' protocol can be used for streaming and immediate generation

Is this correct?

if you're using the deployed proxy here's how you can make a request, with the deployed endpoint
curl https://litellm-7yjrj3ha2q-uc.a.run.app/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
     "model": "gpt-3.5-turbo",
     "messages": [{"role": "user", "content": "Say this is a test!"}],
     "temperature": 0.7
   }'

yes - you understood it correctly. I followed up for Linkedin with more details

Added to the roadmap, and to @fredliubojin visibility. I believe he has made some progress already.

Any progress here @enricoros ?
Just the LiteLLM connection would be very helpfull for use with Amazon Bedrock (Claude V2, Cohere etc.).


New new attribute for library.properties

The latest Arduino 1.8.19 needs a new attribute line in the library.properties
paragraph
Example
paragraph=Arduino MODBUS Driver for the Renogy Rover 20A/40A Charge Controller

Added paragraph line (5bdab9f)


Add correct entries to '.gitignore'

Addresses #422.

Not sure why this is failing. Might be that adding popper to the .gitignore file has some weird interaction with the tests.

Turns out you need (the -x)[https://git-scm.com/docs/git-clean/2.3.3] flag for git clean to also remove ignored files.

thanks a lot!


custom rules first steps

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind user-interface

/kind content

/kind translation

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area blog

/area documentation

/area videos

What this PR does / why we need it:
Which issue(s) this PR fixes:

This document completes the PR #1075
Special notes for your reviewer:
/cc @incertum, tagging you here since for a review, please :-)

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: vjjmiras
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content/OWNERS [vjjmiras]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM

eel free to take or leave any bit of advice -- some of my word choice suggestions come down to my trying to be brief.

Thanks a lot, Nate. Great suggestions.

LGTM label has been added.  Git tree hash: 87e7587b0eaed9dcfee37b65955c5d6a3665c336

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leogr, vjjmiras
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content/OWNERS [leogr,vjjmiras]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


DOC: <Issue related to /v0.2/docs/integrations/vectorstores/google_cloud_sql_pg/> SyntaxError: 'await' outside function

URL
https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_cloud_sql_pg/
Checklist

[X] I added a very descriptive title to this issue.
[X] I included a link to the documentation page I am referring to (if applicable).

Issue with current documentation:
The code examples generate this error:
 File "main.py", line 18
    engine = await PostgresEngine.afrom_instance(project_id=config.google_project_id, region=config.region, instance=config.cloud_sql_connection_name, database=config.db_name)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: 'await' outside function

Idea or request for content:
No response

Run it from a notebook environment which has an event loop in it if you're trying to follow the documentation.
If you're running from python or ipython, wrap the code in an async function and execute it in an event loop. I suggest looking into resources on how to work with async code in python.
I'll close the issue since the documentation is OK.


Add ReplacePushConstants pass for WebGPU.

WebGPU does not (today) support push constants, so we plan on emulating them using storage buffer bindings. This is the compiler side of that work - it replaces hal.interface.constant.load ops with hal.interface.binding.subspan ops. The actual HAL pipeline layouts are unchanged (so they will still include push_constants = 1).
This should fix errors like error: unknown SPIR-V storage class: 9SPIR-V pointer type with ID 6 has invalid storage class 9.
Here's a diff of some generated .spvasm files for unidirectional_lstm.mlir:

(raw files here: https://gist.github.com/ScottTodd/713a464e8a1c8af6ebd2a66db9348370)

Ill look in detail, but dont you also need to update the hal.executable.variant to reflect the new sets?

My understanding is that the pipeline layouts will still mention push constants as before, then the WebGPU HAL will understand that the push constants are actually using buffer bindings (at least - that's how @benvanik has it implemented in the HAL right now AFAICT). I'm not sure if it would be better to fully remove the concept of push constants instead.

Correct - the runtime still sees push constants as a way to build the argument buffers and doesn't know about the hidden runtime buffer. Incidentally this is how we'd add support for printf and such in dispatches as well (runtime inserts a binding to append string contents into but from the vmfb perspective it's not there).


Duplicate models_used_ field.

Inside of datatypes.hpp, the Output class has a std::vector<VersionedModelId> models_used_ field. The Response class includes an Output output_ field, but it also includes a std::vector<VersionedModelId> models_used_ field! I'm guessing the repeated models_used_ was an accident?

Fixed by the change to JSON outputs in #134


Support for domains

I think a good addition to this would be to add support for domains.
I'm currently dong
if (!IPAddress.TryParse(serverAddr, out IPAddress ipAddress))
{
    ipAddress = Dns.GetHostEntry(serverAddr).AddressList[0];
}
client = new TcpClient(ipAddress.ToString(), serverPort, false, null, null)

but might make sense to move that logic into the library maybe?
Thanks

Hi @OpNop - is the use case on this to automatically determine the server address on which to listen?

no, this is on the client side, im my example, the app has a default server address of chat.domain.com but accepts a user provided server from the command line. But I could see it just being useful to use a domain in the client and is also supported by the normal TcpClient supports hostname normally
public TcpClient (string hostname, int port);
https://docs.microsoft.com/en-us/dotnet/api/system.net.sockets.tcpclient.-ctor?view=netframework-4.8#System_Net_Sockets_TcpClient__ctor_System_String_System_Int32_
but in your code you are forcing an IP address at https://github.com/jchristn/SimpleTcp/blob/master/SimpleTcp/TcpClient.cs#L160
Hope that makes sense :)

Hi @OpNop thanks for the clarification, this is an excellent suggestion and I'll move it into the library right now!

Integrated!  Thanks again for the suggestion, @OpNop !
NuGet: https://www.nuget.org/packages/SuperSimpleTcp/2.0.2
Commit: https://github.com/jchristn/SimpleTcp/commit/54826eff6a249926cd7503a0248b7d407e4ea4ad


Allow to create migrations without ENV["NAME"]

Now can type directly rake db:create_migration create_users

Implemented in this commit: https://github.com/sinatra-activerecord/sinatra-activerecord/commit/9e5478ff05cccbf07f331655a43a734d26aaa3a3


Hello World Tutorial for APEX Mocks

I am working on a project in which we need to test an APEX REST Service in such a way that no actual data is created in Salesforce during the testcases execution. I am new to APEX Development.
Searching on the web took me to fflib-apex-mocks library which seems to serve the purpose of avoiding the usage of actual test data inserted in the database for testcases execution. I have installed fflib-apex-mocks and fflib-apex-common in my sandbox environment.
So far, I am not able to find out a step-by-step guide as what I need to do if I want to test my existing Salesforce Objects at a unit level and how can I test my APEX Rest Service? From looking at the fflib-apex-common-samplecode it seems that I need to define classes for my Salesforce objects, I am not sure if I am getting this right.
At a higher-level, below are my questions at a higher-level:

I have a Student__c Object already defined in Salesforce, it has some triggers for insert and update which has checks for various fields and I want these triggers to fire when I try an insert or update for the mock object. I want to develop testcases for that, what do I need to do? How do I start?
I have an APEX Rest Service which gets a collection of Teacher__c objects converted to JSON based on the id of a Student__c object provided to it as a query parameter. I have previously developed testcases for APEX Rest Service but that didn't involved actual objects usage but my current scenario is different as it involves usage of actual objects.

Can someone please help me out in getting started?

So ApexMocks and Apex Enterprise Patterns have some defined points where mocks can be injected to allow you to test your class code in isolation without needing to setup things dependent classes require. I cover this in my Dreamfroce 2015 talk, recorded here. There is also a two part blog series, here and here.
In your case I'd expect you to have the following...

An Apex Domain class (for your trigger code)
An Apex Service class (for your Teacher query service code, caller agnostic)
An Apex Rest class (defines your REST API and delegates to your Apex Service class code).

Traditional Apex Tests are Integration Tests
You will need at least one integration unit test for your trigger and your REST API entry points. These test the full stack, needed for at least for the one line Trigger coverage if nothing else. Basically these are your traditional apex test that inserts some objects, asserts the domain / trigger code did its thing. And also one that inserts some records, calls the Apex REST class method (emulating the URL parameters) and asserts it returns the correct records.
Ok, but lets get writing some more true Unit Tests
So what we want to do is write some more varied and more finely targeted unit test methods. In your case the following and mocking accordingly...

Unit tests for the Apex Domain class code only (mocking any class it calls, such as a Selector)
Unit tests for the Apex Service class code only (mocking any class it calls perhaps a Selector call to query Students)
Unit tests for the Apex Rest class code only (mocking the Service call)

Enabling Dependency Injection
The blogs above show how to generate the mock classes for Selectors, Domain and Service classes and how to use them in your code (via the Application factory class) to facilitate runtime mocking. The blogs also show how to inject mock versions of each according to what test from above your writing.
For example when unit testing your Apex Rest class code, you would want to mock the Service layer calls. This example while its a controller class test (imagine its your rest apex class) shows how this works.
Other thoughts...
The blog links above should give a good start in terms of how to setup your classes and interfaces. I do think though you raise a good point and something i'd like to keep this issue open to represent the need for a more step by step list for sure.

Thanks, @afawcett for your input. I posted similar question on StackExchange which was answered by @frup42 previously.
Initially, my code didn't had any layers but now I have added a Service Layer which is responsible for executing DML, however, I am facing problem while Mocking it.
As a sample, I have provided a snippet below to explain the scenario.
// Service class
global with sharing class TeacherService {
  global static Teacher[] getAllTeachers() {
    Teacher[] teachers = [Select Id, Name From Teacher];
    return teachers;
  }
}

// Testing code
fflib_ApexMocks mocks = new fflib_ApexMocks();
fflib_ISObjectUnitOfWork uowMock = new fflib_SObjectMocks.SObjectUnitOfWork(mocks);
TeacherService serviceMock = new Mocks.TeacherService(mocks);

// Below is the error on line 3 of the testing code above.
// Invalid type: Mocks.TeacherService

Can you please have a look and suggest if I am doing something wrong? I have tried to follow fflib-apex-common-samplecode to the best of my understanding.
Looking forward to hear from you on this soon.

Excellent, i've up-voted both question and answer! :+1:
Your service is missing the Apex interface and the implementation of it that allows ApexMocks to do its thing. The missing class is created by the Apex Mocks Generator. If you take a look at Part 1 of the blog i referenced above there is an example of how to setup, register and utilise your service code from your Apex REST class method, to make this work. Have a good read through both part 1 and 2.
If your testing your Apex Rest Class code, the only thing you need to mock is the Service. You don't need to mock the Unit Of Work, as that is not a dependency of your Apex Rest Class code. However once you get to writing your test code for the Service itself you will want to mock the Unit of Work (assuming your using the Unit Of Work, your example above is just a query).
You will need....

ITeacherService.cls (defines your service methods)
TeacherService.cls (has service methods that instiantiate an implementation of ITeacherService)
TeacherServiceImpl.cls (implements the interface, your service code actually goes here)
TeacherResource.cls (calls your TeacherService methods)
Application.cls (with the Service Factory defined in it)

Again the blogs I've referenced above show how to setup the above classes. And critically run the Apex Mocks Generator tool, to generate the Mocks.TeacherService mock class. Its also worth noting that typically you would extract your SOQL code into a Selector, but lets leave that for now, once you have this up and running you'll see how to do it for Selector and Domain layers.

ITeachersService.cls
public interface ITeachersService
{
    Teacher__c[] getAllTeachers();
}

TeachersService.cls
global with sharing class TeachersService
{
    global static Teacher__c[] getAllTeachers()
    {
        return service().getAllTeachers();
    }

    private static ITeachersService service()
    {
        return (ITeachersService) Application.Service.newInstance(ITeachersService.class);
    }
}

TeachersServiceImpl.cls
public class TeachersServiceImpl
    implements ITeachersService
{
    public Teacher__c[] getAllTeachers() {
        Teacher__c[] teachers = [Select Id, Name From Teacher__c];
        return teachers;
    }
}

Application.cls*
public class Application
{
    // Configure and create the ServiceFactory for this Application
    public static final fflib_Application.ServiceFactory Service =
        new fflib_Application.ServiceFactory(
            new Map<Type, Type> {
                    ITeachersService.class => TeachersServiceImpl.class });
}

TeachersResource.cls
@RestResource(urlMapping='/Teachers/*')
global class TeachersResource
{
    @HttpGet
    global static Teacher__c[] getAllTeachers()
    {
        return TeachersService.getAllTeachers();
    }
}

TeachersResoruceTest.cls
@IsTest
private class TeachersResourceTest
{
    private void callingRestMethodCallServiceWhenInvoked()
    {
        fflib_ApexMocks mocks = new fflib_ApexMocks();

       // Given
       mocks.startStubbing();
       Mocks.TeachersService mockService = new Mocks.TeachersService(mocks);
       mocks.when(mockService.getAllTeachers()).thenReturn(
            new List<Teacher__c> { new Teacher__c( Name = 'Fred')}); // Mock service response
       mocks.stopStubbing();

       // When
       List<Teacher__c> teachers = TeachersResource.getAllTeachers(); // (HTTP GET on /Teachers)

       // Then
       (IOpportunitiesService) mocks.verify(mockService, 1)).getAllTeachers(); // Service called?
       System.assertEquals('Fred', teachers[0].Name);  // Mocked Service response returned?
    }
}

Some Notes:

The above has not been tested in an org, just typed in here
I don't typically recommend exposing SObject's from Apex API's, DTO's make a better contract as its clear what fields are populated from the DTO (Apex Class) definition, its just a preference though in this case.
The above example makes it look likely you could use the TeachersService as your REST service, this is due to the simple example used, in reality the method signatures may not match.
Unless your also providing an API to Apex developers you don't need your Service to be global
You should not do an unfiltered SOQL query
You would typically do your SOQL query from a Selector class

Thanks for your input and directions, @afawcett. It has been certainly very helpful. The file extension I have is apxc and not cls, but, I am not sure if that can cause a problem.
Also, please provide your input on the following:

Is it necessary to have Application.apxc? Can't I directly instantiate fflib_Application.ServiceFactory in the TeachersService.service() method? It might not be a best practice, however, I am asking for the sake of my learning. In my opinion, below code can be used:

TeachersService.apxc
global with sharing class TeachersService
{
    global static Teacher__c[] getAllTeachers() {
        return service().getAllTeachers();
    }

    private static ITeachersService service() {
        fflib_Application.ServiceFactory Service = new fflib_Application.ServiceFactory(
            new Map<Type, Type> {
                ITeachersService.class => TeachersServiceImpl.class
            }
        );
        return (ITeachersService) Service.newInstance(TeachersServiceImpl.class);
    }
}

The issue I am facing is that the both the actual and mock methods gets called from my REST service. Below is my Mocks class, the test class is the same as you mentioned in your reply. I am not sure what I am doing wrong.

Mocks.apxc
@isTest
public class Mocks {
    public class TeachersService {
        private fflib_ApexMocks mocks;

        public TeachersService(fflib_ApexMocks mocks) {
            this.mocks = mocks;
        }

        public Teacher__c[] getAllTeachers() {
            return (Teacher__c[]) mocks.mockNonVoidMethod(this, 'getAllTeachers', new List<Type>(), new List<Object>());
        }
    }
}

Looking forward to your input.

You need to have the ServiceFactory held at request scope, e.g. in a static some place, it does not need to be in Application class, this is just a naming convention. Basically it needs to be static, because you will have no way to register your Mock instance before invoking the code you want to test.
I'm not 100% sure what you mean by both the actual and mock methods gets called from my REST service tbh. Looking at this code above it should always use the none mock route as you have not provided anyway to register the mock implementation, though i've not seen your test code so cannot comment entirely on this. Can you share that?

Thanks for the reply, @afawcett. Please find below the code.
ITeachersService.cls
public interface ITeachersService {
    Teacher__c[] getAllTeachers();
}

TeachersServiceImpl.cls
public class TeachersServiceImpl implements ITeachersService {
    public Teacher__c[] getAllTeachers() {
        Teacher__c[] teachers = [Select Id, Name From Teacher__c];
        return teachers;
    }
}

TeachersService.cls
global with sharing class TeachersService {
    global static Teacher__c[] getAllTeachers() {
        return service().getAllTeachers();
    }

    private static ITeachersService service() {
        fflib_Application.ServiceFactory Service = new fflib_Application.ServiceFactory(
                new Map<Type, Type>{
                        ITeachersService.class => TeachersServiceImpl.class
                }
        );
        return (ITeachersService) Service.newInstance(TeachersServiceImpl.class);
    }
}

TeachersResource.cls
@RestResource(URLMapping='/Teachers')
public with sharing class TeachersResource {
    @HttpGet
    global static Teacher[] getTeachers() {
        return TeachersService.getAllTeachers();

    }
}

TeachersResourceTest.cls
@IsTest
private class TeachersResourceTest {
    private void callingRestMethodCallServiceWhenInvoked() {
        fflib_ApexMocks mocks = new fflib_ApexMocks();

        // Given
        mocks.startStubbing();
        Mocks.TeachersService mockService = new Mocks.TeachersService(mocks);
        mocks.when(mockService.getAllTeachers()).thenReturn(
                new List<Teacher__c>{
                        new Teacher__c(Name = 'Fred')
                }
        );
        mocks.stopStubbing();

        // When
        List<Teacher__c> teachers = TeachersResource.getAllTeachers();

        // Then
        ((ITeachersService) mocks.verify(mockService, 1)).getAllTeachers();
        System.assertEquals('Fred', teachers[0].Name);
    }

    private class MockTeachersService implements TeachersService.ITeachersService {
        private fflib_ApexMocks mocks;

        public MockTeachersService(fflib_ApexMocks mocks) {
            this.mocks = mocks;
        }
    }
}

The APEX Mocks generator inserted the private class MockTeachersService implements TeachersService.ITeachersService piece in TeachersResourceTest.cls. I am not sure if the class is correct because its named as MockTeachersService but it should be named as TeachersService as thats what is used in TeachersResourceTest. Also MockTeachersService doesn't have a getAllTeachers method, so, I added it manually.
By both actual and mock methods I mean is that when I execute the testcase, the getAllTeachers method in MockTeachersService and TeachersService gets called. I checked that with putting some System.debug statements.
Kindly suggest what changes do I need to do.

Ah sorry, my bad, the key thing is missing, setting the mock instance!
Application.Service.setMock(ITeachersService.class, mockService);

public class Application
{
// Configure and create the ServiceFactory for this Application
public static final fflib_Application.ServiceFactory Service =
new fflib_Application.ServiceFactory(
new Map<Type, Type> {
ITeachersService.class => TeachersServiceImpl.class
});
}
public interface ITeachersService
{
Teacher__c[] getAllTeachers();
}
global with sharing class TeachersService
{
global static Teacher__c[] getAllTeachers()
{
return service().getAllTeachers();
}
private static ITeachersService service()
{
    return (ITeachersService) Application.Service.newInstance(ITeachersService.class);
}

}
public class TeachersServiceImpl
implements ITeachersService
{
public Teacher__c[] getAllTeachers() {
Teacher__c[] teachers = [Select Id, Name From Teacher__c];
return teachers;
}
}
@RestResource(urlMapping='/Teachers/*')
global class TeachersResource
{
@HttpGet
global static Teacher__c[] getAllTeachers()
{
return TeachersService.getAllTeachers();
}
}
@IsTest
private class TeachersResourceTest {
@istest
private static void callingRestMethodCallServiceWhenInvoked() {
fflib_ApexMocks mocks = new fflib_ApexMocks();
    // Given
    mocks.startStubbing();
    Mocks.TeachersService mockService = new Mocks.TeachersService(mocks);
    Application.Service.setMock(ITeachersService.class, mockService);
    mocks.when(mockService.getAllTeachers()).thenReturn(
        new List<Teacher__c>{
            new Teacher__c(Name = 'Fred')
                }
    );
    mocks.stopStubbing();

    // When
    List<Teacher__c> teachers = TeachersResource.getAllTeachers();

    // Then
    ((ITeachersService) mocks.verify(mockService, 1)).getAllTeachers();
    System.assertEquals('Fred', teachers[0].Name);
}

}
@isTest
public class Mocks {
public class TeachersService {
private fflib_ApexMocks mocks;
    public TeachersService(fflib_ApexMocks mocks) {
        this.mocks = mocks;
    }

    public Teacher__c[] getAllTeachers() {
        return (Teacher__c[]) mocks.mockNonVoidMethod(this, 'getAllTeachers', new List<Type>(), new List<Object>());
    }
}

}
When I ran TeachersResourceTest, I got this error: System.TypeException: Invalid conversion from runtime type Mocks.TeachersService to ITeachersService. Can you please advise?


global keyboard capture? (possible feature bounty)

I've longed for an easy way to easily capture global keyboard hotkeys for apps like screen capture (think ShareX) etc... looking to start a bounty for this (not sure how, but definitely need this lol)

Started a bounty for this, something I need not want lol. I may add more if there's some interest.
https://app.bountysource.com/issues/115076839-global-keyboard-capture-possible-feature-bounty

I have not tried it out myself, but have you checked out the global_shortcuts package? It seems to be doing exactly what you're asking for.

I have not tried it out myself, but have you checked out the global_shortcuts package? It seems to be doing exactly what you're asking for.

Looks like it's only for macos atm

Looks like it's only for macos atm

Well, so is macos_window_utils (hence the name).

I just noticed. Well, Guess I'm going to have to do somethibg with this bounty lol thanks for that repo link

If you are fine with a solution that works on Windows as well, there is a tool called keyviz which visualizes your keystrokes in real-time. Perhaps you could check out how it does that. That said, I am not aware of any solution that works on Linux as well.

I just found a new library actually https://pub.dev/packages/keyboard_event does exactly what I want :) I appreciate it, gonna try donating over that way. Gl w/ your project!

I just checked and this is exactly the library that keyviz uses, so yeah. I hope that one works out for you. :)


Disable autofocus on first field in error

Is your feature request related to a problem? Please describe.
Hi there,
I've noticed that currently, when a field is left empty, it automatically gains focus.
However, I'd like to disable this behavior. The reason being, I've integrated Adyen inputs into another form alongside other inputs.
Describe the solution you'd like
Instead, I'd prefer if the page would scroll to the first empty input before the Adyen input.

Hello
Sorry for the delay.
I'm using "@adyen/adyen-web": "^5.64.0" and try to use a simple credit card payment method.
I added a picture. There is some others error on top and normally the scroll should go to the top errors. But because the adyen error filed gained focus, the scroll stop to the adyen form.

Hope I have been clear
Best regrads

Would a solution where the error fields above get validated first.
If no validation / redirect logic is necessary for those fields, then check Adyen component?


move driver/integrationtest to inner mod

我觉得可能还需要加点example， 不然变更太大了

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 97.05882% with 1 line in your changes missing coverage. Please review.

Project coverage is 87.89%. Comparing base (5558701) to head (7890f53).

Files
Patch %
Lines

dcron.go
50.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #103      +/-   ##
===========================================
- Coverage    88.14%   87.89%   -0.26%
===========================================
  Files           17       15       -2
  Lines         1097     1107      +10
===========================================
+ Hits           967      973       +6
- Misses          99      101       +2
- Partials        31       33       +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add Estonian 🇪🇪

Hello 👋
I'd gladly take on the responsibility of translating React.js to Estonian. Although, I don't have translation experience, I'm a native Estonian speaker and use English professionally as my day-to-day language :-)
I've previously contributed to both the React core repo and documentation.
If there are any other fellow Estonians willing to help me out, that'd be awesome!

Hi @raunofreiberg! Thanks for contributing. We'll leave this PR open in case other people want to join in.

Hi folks, sorry for no response.
We've been working on new React docs, and so translations of the old site were deprioritized.
In the meantime, it looks like our GitHub permissions sync may have broke.
Now that we've rolled out the new site and reset the repositories for new translations, I'm going to close all old pull requests including this one so that we can start from a clean slate. If you'd like to still make the same change, please open a new PR.
Thanks, and sorry for the churn.


[Feature]: Is any ways to only open a single mini app?

Is your feature request related to a problem? Please describe.
When I open mini app from link, click 3 times link,  it will open 3 same mini apps, is there any ways to just open 1 mini app?
As you can see, there has 4 Wallet apps are opened, but I just need one, maybe I need redirect frequently between connected website and Wallet app, there will open many duplicate Wallet apps, it is not a good user experience

Describe the solution you'd like
No matter how many times I open mini app, if there have a mini app is opened, just reuse the opened mini app, NOT open new same mini app
Describe alternatives you've considered
No response
Additional context
No response

Can't be handled on the SDK side. Sounds more like a suggestion to Telegram


fix: false delted field for deleted resources

What this PR does / why we need it:
fix: false deleted field for deleted resources

Does this PR need to be backport to the previous release branch?:

release/3.8
release/3.7
release/3.6

/cc @zhaoxiangchun @zexi

/lgtm


Adding XDG Base Directory Specification support

Currently the Click utils has get_app_dir which returns the app directory for the platform that is being called. In the unix systems when not forcing posix this returns the app directory under $XDG_CONFIG_HOME or defaults to ~/.config. As part of the XDG spec there is also stated locations for an apps data, state and cache. The user can configure these locations by environment variables but also have know default locations.

$XDG_DATA_HOME : $HOME/.local/share
$XDG_STATE_HOME : $HOME/.local/state
$XDG_CACHE_HOME : $HOME/.cache

What I would like to see introduced is four functions to return these locations or the location defaults.

def get_config_dir(): returns $XDG_CONFIG_HOME/
def get_cache_dir(): returns $XDG_CACHE_HOME/
def get_data_dir(): returns $XDG_DATA_HOME/
def get_state_dir(): returns $XDG_STATE_HOME/

The get_config_dir would be returning the same data as get_app_dir but is clear to its propose.
I have being looking at the Mac and Windows spec. For Mac every thing seems to be placed into the ~/Library/Application Support , but also has Caches which be like  $XDG_CACHE_HOME. While on windows it seems to mostly want to use %APPDATA% or %LOCALAPPDATA% which Click currently supports. But there is also %ProgramData% which I believe would be similar to the  $XDG_DATA_HOME.

This problem is solvable outside of Click as a developer could access these variables and set their defaults. I do not see this as a great developer experiences as get_app_dir uses _posixify on some systems which could lead the user to create mismatching directory names in different locations. Which would be misguiding to end users.
Resource Links

XDG Base Directory Specification
Default Known Folders in Windows
MacOS File System Programming Guide

I would also like the opportunity to contribute this change.

The platformdirs library already solves all of this, Click doesn't need to also.

That is the fast change / closing of an issue. Thanks for sharing the link.


Office365 IP Address and URL query

Hi,
Thanks for providing all this information. I can clearly see that a lot of effort has been invested in putting this together and keeping it accurate.
Forgive me if I’ve missed/overlooked what I was looking for, however I think the Office365 URL and IP Address document would benefit from a statement clarifying how to interpret the document when both FQDNs/wildcard domain names and IP addresses are listed in a single endpoint set, e.g. Exchange Online ID 1.
When this happens, does this require that both conditions need to be true, for traffic to be allowed by the edge firewall? E.g. one firewall rule that requires both the IP address and URL to match in the same connection for traffic to be allowed.
Or alternatively, does it mean that either the IP Address or URL needs to match to be allowed through the perimeter firewall (e.g. two rules).
The context is allowing workstations to communicate directly with Office365 over the internet through a firewall, not using a proxy.
Please can you clarify in response to this post and consider including a statement in the documentation.
Many Thanks in advance :-)
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 66bd8666-3566-a901-b25b-eb6baba6264a
Version Independent ID: e9f6310f-2207-8c81-d31a-3d5a80beb26b
Content: Office 365 URLs and IP address ranges - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/urls-and-ip-address-ranges.md
Service: o365-administration
GitHub Login: @JoeDavies-MSFT
Microsoft Alias: josephd

@JoeDavies-MSFT  Please add your comment and help us in resolving this issue. Thanks.

@JoeDavies-MSFT  Please add your comment and help us in resolving this issue. Thanks.

Looping in @pandrew1 for possible clarification on this question and recommendation with respect to any doc updates.

The answer to the customers question would depend on their network perimeter configuration. They have to allow the network traffic from their users to Microsoft. They say their configuration is just a firewall and no proxy server. If their firewall is configured with FQDNs then they can just use the FQDNs we publish and they don't need to use the IP Addresses. If they have a firewall which requires IP Addresses then they can use those as well

@pandrew1 Thank you very much for the contribution and sharing this explanation. @ShadowSamauri Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


CommandBarFlyout changes for drop shadows

This PR makes a number of changes to CommandBarFlyout for drop shadows, mostly around this control's animations. The gist is that we'll need to hide the shadow during animations, and this control has a bunch of them 😄.

Set/Unset shadows during entrance/closing animations for both the primary commands and the overflow.
Manage the flyout presenter's corner radius manually when the overflow is open/closed because the shadow on the presenter requires a corner radius alongside it to render with rounded corners.
Hook into the overflow open/close storyboards to hide the shadows when overflow opening/closing occurs and re-apply them once the storyboard finishes. Weirdly enough, I tried to use the Opened/Closed event instead to re-apply the shadow, thinking that the storyboard would be completed by then, but it doesn't seem to work that way, as it would re-apply the shadow and would be at the pre-storyboard size.


API Management Service Deleted Services Resource

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of “no breaking changes
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[x] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[ ] Updating API(s) in preview over 1 year

Please follow the link to find more details on PR review process.

/azp run automation - sdk

@promoisha , can you fix the CI check failures?

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

@raych1 could you merge it? SDK Net failure is a known issue and should not block the check in. Thanks!


[readme] Community Slack invitation link is broken

Describe the solution you'd like
Dear contributors, I would like to join Kafkajs Slack community but the link is broken. So please help update it. Thank you!

Dear @Nevon @tulios , may you guys help me on this?

Same here, could I get an invite to slack?


marathon traefik.backend=foo seems broken

If i add this to labels in a marathon .json job
traefik.backend=k4b4-mantl-worker-001.example.com
level=error msg="Error loading new configuration, aborted Undefined backend: backendk4b4-mantl-worker-001.example.com"
either the error message is formatted wrong, or the value is concatenated badly.
If it is just badly formatted error, how do I make k4b4-mantl-worker-001.example.com defined when k4b4-mantl-worker-001.node.consul is the default value?

traefik.backend cannot ne used to change the backend url ;)
It seems more logical to change your DNS settings here, to match your needs.
Can I close this one?

Yes.
However, i would suggest changing the docs to be more clear.  foo suggests it can be any old thing.  If i understand right, it should be 1 or 2 if there are multiple backends.
https://docs.traefik.io/toml/
traefik.backend=foo: assign the application to foo backend
If you explain how to submit PRs for docs I can contribute.
However, i don't see these docs at
https://github.com/containous/traefik/tree/master/docs

That would be great! You can find contributing docs here: https://github.com/containous/traefik/blob/master/.github/CONTRIBUTING.md :)


Add "Reveal in vsCode" to browser devTools

This is not really in scope for VS Code, though @codepo8 may be able to direct it to the right channel.

There is a "open in VS Code" workflow already in devtools, doesn't that do what you want? Simply open a localhost address in edge and open Devtools to trigger it.


[SPARK-39027][SQL] Output SQL statements in error messages in upper case and w/o double quotes

What changes were proposed in this pull request?
In the PR, I propose to output any SQL statement in error messages in upper case, and apply new implementation of QueryErrorsBase.toSQLStmt() to all exceptions in Query.*Errors w/ error classes. Also this PR modifies all affected tests, see the list in the section "How was this patch tested?".
Why are the changes needed?
To improve user experience with Spark SQL by highlighting SQL statements in error massage and make them more visible to users. Also this PR makes SQL statements in error messages consistent to the docs where such elements are showed in upper case w/ any quotes.
Does this PR introduce any user-facing change?
Yes. The changes might influence on error messages:
Before:
The operation "DESC PARTITION" is not allowed

After:
The operation DESC PARTITION is not allowed

How was this patch tested?
By running affected test suites:
$ build/sbt "sql/testOnly *QueryExecutionErrorsSuite"
$ build/sbt "sql/testOnly *QueryParsingErrorsSuite"
$ build/sbt "sql/testOnly *QueryCompilationErrorsSuite"
$ build/sbt "test:testOnly *QueryCompilationErrorsDSv2Suite"
$ build/sbt "test:testOnly *ExtractPythonUDFFromJoinConditionSuite"
$ build/sbt "testOnly *PlanParserSuite"
$ build/sbt "sql/testOnly *SQLQueryTestSuite -- -z transform.sql"
$ build/sbt "sql/testOnly *SQLQueryTestSuite -- -z join-lateral.sql"
$ build/sbt "sql/testOnly *SQLQueryTestSuite -- -z describe.sql"
$ build/sbt "testOnly *DDLParserSuite"

cc @srielau

All GAs passed: https://github.com/MaxGekk/spark/runs/6189050094. Merging to master.
Thank you, @HyukjinKwon @cloud-fan for review.


Add ability to undo/redo draw actions

I wasn't going to bother with this, but Lui went and did it!

This was not working on Android, but I just fixed that. It's ready for Sarah now!

This went in, but I forgot to close the issue.


Binary files aren't served correctly

Trying to serve a binary file not only generates incorrect output but can easily make a mess of the terminal connected to stderr.

I know this comment was written a long time ago, but i've changed this to support binary files as well.


[Feature] Support join derivability mv rewrite

Support join derivability mv rewrite

add rewrite from left/right semi join query to inner join mv
add rewrite from inner/anti join query to outer join mv
add rewrite from right/left outer join/inner join query to full outer join mv

Fixes #issue
What type of PR is this:

[ ] BugFix
[x] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.1
[x] 3.0
[x] 2.5
[ ] 2.4

[FE PR Coverage Check]
:heart_eyes: pass : 310 / 335 (92.54%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/ColumnRewriter.java
9
11
81.82%
[79, 89]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/MvUtils.java
18
20
90.00%
[887, 903]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/MaterializedViewRewriter.java
246
266
92.48%
[200, 218, 246, 264, 279, 292, 301, 310, 315, 325, 339, 344, 353, 386, 394, 401, 1124, 1178, 1240, 2020]

:large_blue_circle:
com/starrocks/sql/optimizer/Utils.java
17
18
94.44%
[458]

:large_blue_circle:
com/starrocks/sql/optimizer/rewrite/JoinPredicatePushdown.java
6
6
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/MvRewriteContext.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/mv/JoinDeriveContext.java
9
9
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/base/ColumnRefFactory.java
1
1
100.00%
[]

[FE PR Coverage Check]
:heart_eyes: pass : 309 / 333 (92.79%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/ColumnRewriter.java
9
11
81.82%
[79, 89]

:large_blue_circle:
com/starrocks/sql/optimizer/operator/scalar/ScalarOperator.java
18
21
85.71%
[216, 232, 245]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/MaterializedViewRewriter.java
247
266
92.86%
[220, 248, 266, 281, 294, 303, 312, 317, 327, 341, 346, 355, 388, 396, 403, 1123, 1177, 1243, 2023]

:large_blue_circle:
com/starrocks/sql/optimizer/rewrite/JoinPredicatePushdown.java
6
6
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/Utils.java
13
13
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/MvUtils.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/MvRewriteContext.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/mv/JoinDeriveContext.java
9
9
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/base/ColumnRefFactory.java
1
1
100.00%
[]

[FE PR Coverage Check]
:heart_eyes: pass : 310 / 335 (92.54%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/ColumnRewriter.java
9
11
81.82%
[79, 89]

:large_blue_circle:
com/starrocks/sql/optimizer/operator/scalar/ScalarOperator.java
18
21
85.71%
[216, 232, 245]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/MaterializedViewRewriter.java
247
267
92.51%
[225, 253, 271, 286, 299, 308, 317, 322, 332, 346, 351, 360, 393, 401, 408, 1148, 1202, 1268, 2057, 2059]

:large_blue_circle:
com/starrocks/sql/optimizer/rewrite/JoinPredicatePushdown.java
6
6
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/Utils.java
13
13
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/MvUtils.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/MvRewriteContext.java
5
5
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/mv/JoinDeriveContext.java
9
9
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/base/ColumnRefFactory.java
1
1
100.00%
[]


Canvaskit files are reloaded after every run

Each time the user re-compiles their code, the app makes unnecessary requests to fetch canvaskit.js and canvaskit.wasm:

Latest master also reloads the fonts and icons:

This might be because we are replacing the HTML (https://github.com/dart-lang/dart-pad/pull/1838)

Hi @johnpryan can you expand on this? I'm not seeing canvaskit anywhere in our codebase:
dart-pad$ git grep -i canvaskit
dart-pad$

Oops you assigned to yourself, likely nevermind!


Removing use of global grunt and adding npm build script

This is a minor modernization of the project. You shouldn't require
users to have global versions of packages installed. Using npm scripts
means the grunt command will be available when the npm script is run.
Note the indentation of package.json has changed to two spaces. This is
because of the use of the automatic command npm install --save-dev grunt. Note any automatic npm command will change the spacing to 2
spaces, so I think it's best to keep it this way.
Additionally this adds missing grunt plugins to the packages, which
presumably you had installed along with your global grunt.

Closing in favour of #136 .


Cannot resolve module 'ng-embed'

I've loaded the module via npm install --save ng-embed But when I wan to require
var ngEmbed         = require('ng-embed');

I get this error.

> ERROR in ./resources/assets/js/app.js
> Module not found: Error: Cannot resolve module 'ng-embed'

require() is working with other packages. Can't find out why its happening!

currently there is no UMD support for ng-embed so it won't work this way.

ic.. I managed to make it working with solid path. It can load pdf.. but my final goal is to fetch pdf from amazons3 and show there.. my amazon bucket is private but with proper auth, I can get the url, but the I frame not showing the file.
I used following code to make the url whitelisted to the iframe
    $sceDelegateProvider.resourceUrlWhitelist([
    // Allow same origin resource loads.
    'self',
    // Allow loading from our assets domain.  Notice the difference between * and **.
    'https://s3*.amazonaws.com/**'
]);

but still, the Iframe is just a white page.. Any idea whats going on or I am missing something?
BTW.. thanks for the nice project :)

may be due to cross domain policy. I will be rewriting this library in v4. Will make sure these are fixed . Maybe ill then you can use embed.js by creating a directive.

Thanks again.. I'll try that.. cross domain policy issue was fixed by codes in previous comment.. it was like my application was forcing to download the content.. not to show inline.. solved the issue.. Nothing to do with your package. ng-embed is awesome :+1:


Add methods to create various matrix types.

r? @pcwalton

@pcwalton Updated to address those comments.


Mastodon link in bio?

Hi,
would be cool to have a mastodon link in the bio section.
:smile: :+1: thanks for developing this theme, I love it!

You can add it yourself by making a custom /layouts/partials/social.html file.
I did it here for email and phone options: https://github.com/grinsted/src.glaciology.net/blob/master/layouts/partials/social.html
see also this PR: #102

Nice, thanks!


1.1.5 update for previous linux .deb installs

Hello, Thanks for the new wallet update.
I have previously installed the .deb package (1.1.4) and have noticed that for this update there is only the linux headless package with Emberd. I was under the assumption that Emberd is the non-gui CLI and that Ember-qt is compiled with Emberd baked in. I did do a system-wide search for Emberd but to no avail.
How do we update the previous Ember-qt install with the Emberd file in the headless download?

We had some problems getting the build ready for release so we have shipped what we have and will supplement the release when we have a .deb for you. On the other hand I would not suggest moving to the headless version unless you are familiar with RPC commands and the CLI interface. We're working hard at the moment to bring it to you. :)

excellent thanks :)

It's looking like it may not be done in time. Sorry folks! You may need to use an alternate windows host or a free AWS EC2 instance.

we don't need the qt stuff, can we have some help setting up the headless wallet ? there must be a way to have the deamon running and be staking in the console. but I found no document whatsoever.

Will leave this issue open for anyone who wants to write a guide for <IP_ADDRESS> linux headless to track writing


Allow external methods to be included in evaluation

Instead of having to write a python compatible port of their methods, other authors should be able to export the evaluation datasets in a simple-to-use format (most likely .csv), run their method in any program on it, and return their results (ITE predictions) in csv format so that they can be included in the evaluation and scoring.

[ ] Implement dataset export with multiple replications, without counterfactuals and true ITEs, similar to the ACIC challenges

[ ] Implement result import from csv

[ ] Ensure smooth evaluation workflow even with a combination of native methods and external methods.

Resolved for now on branch evaluation, by using callables. See cde5c4b


Table-1 of article

Hi,
How can I reproduce the result of table-1 of article with this code?

Thanks for your interest. The scripts in experiments/scripts/training provide the parameters for training the models in Table 1. These scripts will also evaluate on ImageNet-C after training. The models can then be tested on ImageNet-Cbar using test_imagenet_cbar.sh and test_cifar_cbar.sh in experiments/scripts. To run these you will need to configure hydra and submitit for your own computing resources by putting a configuration file in experiments/conf/hydra/launcher and pointing the related environment variable in the scripts at this configuration.


xgboost: 1.7.2 -> 1.7.3

Description of changes
Updating xgboost to latest version. Patch release.

Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[X] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@Mindavi, @jonringer for merging. Thank you!

Result of nixpkgs-review pr 209837 run on x86_64-linux 1

2 packages marked as broken and skipped:

python310Packages.optuna
python39Packages.optuna

5 packages built:

haskellPackages.xgboost-haskell
python310Packages.xgboost
python39Packages.xgboost
xgboost
xgboostWithCuda


[Event Request] Codeunit 90 Purch.-Post - OnBeforeCalcVATBaseAmountOnDivideAmount

Please add a new publisher event to the function DivideAmount as follows:
LOCAL DivideAmount(PurchHeader : Record "Purchase Header";VAR PurchLine : Record "Purchase Line";QtyType : 'General,Invoicing,Shipping';PurchLineQty : Decimal;VAR TempVATAmountLine : TEMPORARY Record "VAT Amount Line";VAR TempVATAmountLineRemainder : TEMPORARY Record "VAT Amount Line")
.
.
      Amount :=
        ROUND("Amount Including VAT",Currency."Amount Rounding Precision") -
        ROUND(TempVATAmountLineRemainder."VAT Amount",Currency."Amount Rounding Precision");
//>> Start New Publisher Call
      OnBeforeCalcVATBaseAmountOnDivideAmount(PurchLine, PurchHeader, TempVATAmountLine, TempVATAmountLineRemainder, Currency, IsHandled);
      IF NOT IsHandled THEN
//<< End New Publisher Call
        "VAT Base Amount" :=
          ROUND(
            Amount * (1 - PurchHeader."VAT Base Discount %" / 100),Currency."Amount Rounding Precision");
      TempVATAmountLineRemainder."Amount Including VAT" :=
        TempVATAmountLineRemainder."Amount Including VAT" - "Amount Including VAT";
      TempVATAmountLineRemainder."VAT Amount" :=
        TempVATAmountLineRemainder."VAT Amount" - "Amount Including VAT" + Amount;
    END ELSE
      IF "VAT Calculation Type" = "VAT Calculation Type"::"Full VAT" THEN BEGIN
        IF "Line Discount %" <> 100 THEN
          "Amount Including VAT" := CalcLineAmount
        ELSE
          "Amount Including VAT" := 0;
        Amount := 0;
        "VAT Base Amount" := 0;
      END ELSE BEGIN
        Amount := CalcLineAmount;
//>> Start New Publisher Call
        OnBeforeCalcVATBaseAmountOnDivideAmount(PurchLine, PurchHeader, TempVATAmountLine, TempVATAmountLineRemainder, Currency, IsHandled);
        IF NOT IsHandled THEN
//<< End New Publisher Call
          "VAT Base Amount" :=
            ROUND(
              Amount * (1 - PurchHeader."VAT Base Discount %" / 100),Currency."Amount Rounding Precision");
        IF TempVATAmountLine."VAT Base" = 0 THEN
          TempVATAmountLineRemainder."VAT Amount" := 0
        ELSE
          TempVATAmountLineRemainder."VAT Amount" +=
            TempVATAmountLine."VAT Amount" * CalcLineAmount / TempVATAmountLine.CalcLineAmount;
.
.

New Publisher Event:
LOCAL [IntegrationEvent] OnBeforeCalcVATBaseAmountOnDivideAmount(VAR PurchaseLine : Record "Purchase Line";PurchaseHeader : Record "Purchase Header";TempVATAmountLine : TEMPORARY Record "VAT Amount Line";TempVATAmountLineRemainder : TEMPORARY Record "VAT Amount Line";Currency : Record Currency;VAR IsHandled : Boolean)

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


[SwitchMtpDatabase.h] Removing local_server->sendObjectAdded calls wh…

…ile browsing through with a MTP client. This solved the bug that the server got stuck while browsing through a directory.
[main.cpp] Changing stop key to B.

What platforms did u test?

On the Switch side, I use the Atmosphere CFW (latest). If you want to test yourself, I put the nro file attached.
On the computer side, I'm on macOS Catalina, latest version, and I use OpenMTP to browse.
mtp-server-nx.nro.zip

(Quick reminder that people shouldn't run untrusted bins)
Give me a reminder in 24h and I will check it out, wont have time today.

cc @ckurtz22

I can check it out on Ubuntu/Windows 10 tonight if I remember. It seems to me like this might just be a fix for certain MTP clients that was not occurring on Ubuntu/Windows.
(side note regarding the Windows 10 issue, I still have not been able to reproduce on like 4 or 5 different Windows 10 machines. I'll try to double check if I ever tried the release binary tonight as well)

Wtf

Sorry I only have my mac available now. I can't test it on windows/ubuntu for the moment.

Still crashes on Windows for me.

Fixed the win crash, will close this  when i push.


Dev6

Edits for Steps 1-5.

To answer both of your questions: my convertToJson() method was implimented in a prior step and I didn't remove it because if I need to sort comments based on other fields I may not be able to use Gson to Json for other data types. To Tong -- I will investigate on using strnigBuffer or stringBuilder as I haven't used those methods yet.


feature request: pin tabs

Feature request: add support to pin tabs,
to keep them near the top of the tabs list, for quick access.
These tabs should be highlighted.

I think a search prefix to search only pinned tabs would be excellent!


Fixing vagrant website web address link

Without the www in the front of vagrantup.com the vagrant website doesn't load.

Nice one!


sendDcsBiosMessage sends only boolean values.

Hi. I'm trying to send a filtered value (from potentiometer) to DCS BIOS. But when it comes to sendDcsBiosMessage, it only returns boolean value.(sendDcsBiosMessage is defined to return only bool in Dcsbios.h).
Is this correct? If I'm incorrect, is there any way to send integer value to DCS BIOS?

When I use default DcsBios::Potentiometer icpHudBrtKnb("ICP_HUD_BRT_KNB", PIN); , this only gets an input directly from PIN. But since Pot has some jittering issues by default, so I'm trying to filter input befor sending to DCS BIOS.
I had to do some extensive googling, and I found this but not working with DCS BIOS Forked version.
https://www.youtube.com/watch?v=dvbB1JNyI54
(DcsBios::PotentiometerEWMA Did not work although PotentiometerEWMA exists in Potentiometer.h.

Is this still an issue for you?
Filtering is already included in the standard potentiometer class, just using standard filtering parameters set by Ian. See here for explanation of how it works: https://forum.dcs.world/topic/162698-dcs-bios-potentiometer-stutter/?do=findComment&comment=3244436
PotentiometerEWMA does work. See the post for what you can do to change the parameters and the result. So if you want to reduce jittering more, you could increase hysteresis to e.g. 256 or more by changing a class like so:
DcsBios::PotentiometerEWMA<5, 256, 5> icpHudBrtKnb("ICP_HUD_BRT_KNB", PIN);
You'll lose some precision but for a volume or brightness knob it doesn't matter.
You could also build a lowpass filter to solve it in hardware. Add a capacitor between ground and analogue input.
https://forum.arduino.cc/t/potentiometer-jitter/437767

Seems this issue is dead, and I agree that using existing library solutions is superior to manual intervention.


Display brightness control

Currently only dpsctl allows to set brightness level (-B ), can't decide which knob combination would be best to attach this feature;)
Value is stored in past. Quite blithely, as I "stole" another 32bits due to "Friday the 13th of April" bug, but it might be good idea to merge past_tft_inversion and past_tft_brightness into one display-config record.

Cool, thanks! I guess there is no "natural" knob combination like SET+dial to set function. We could leave as is until the preferences function gets implemented.


Fix naming convention

Fixes #10

@marcos-venicius I guess I'll not be able to do stuff with C#. Sorry!

no problem @Soumya-Kushwaha!
you can contribute with another stuff with you fell confortable.
I will close the pull request cause the changes are not complete.
But, you can contribute to any other thing if you want.
thanks


docs(make): update the output of make help to be consistent

Fixes #68
The new output is:
setup-dev             Initialise simulation tree with git hooks
devtools-deps         Install devtools dependencies
devtools              Install devtools
test-devtools         Run all the unit tests for the devtools
reset                 Clean up files left over by simulator
validate-reqs         Verify all requirements are met
run                   Run the simulator - the build stage of the container runs all the cli tests
docker-build-nocache  Builds the launch container without the Docker cache
docker-build          Builds the launch container
docker-test           Run the tests
dep                   Install dependencies for other targets
build                 Run golang build for the CLI program
is-in-launch          checks you are running in the launch container
test                  run all tests except goss tests
test-acceptance       Run tcl acceptance tests for the CLI program
test-smoke            Run expect smoke test to check happy path works end-to-end
test-unit             Run golang unit tests for the CLI program
test-cleanup          cleans up automated test artefacts if e.g. you ctrl-c abort a test run
test-coverage         Run golang unit tests with coverage and opens a browser with the results
docs                  Generate documentation
release               Docker container and binary release automation for simulator

LGTM


Support include directives on shaderc

Hello 👋 Thanks for great library!!
I was tweaking around notan_macro to see if it's possible to support #include.
Then I found shaderc can handle #include directives by passing an additional option.
So, this PR adds an option passed to shaderc to include shader files in following format:

Relative includes #include "foo/bar.glsl"

This tries to read "foo/bar.glsl" relative to the input shader file.

Standard includes #include <foo/bar.glsl>

This tries to read "foo/bar.glsl" under the root directory (CARGO_MANIFEST_DIR or .)

Also I added examples/shaders/draw_shader_include.glsl, an example file to test #include.
You can run it by cargo run --example draw_shader_include --features shaderc.
NOTE: include directive only works on include_fragment_shader! / include_vertex_shader!  macros, not on fragment_shader! / vertex_shader! because it's difficult to determine the directory to search for the include files.

This is great, thank you so much!

This is failing because shaderc is disabled on the build system by default, mainly because docs were not building for crates, so I need to check how to enable it only for the build system. Another option is avoid the compilation of the example if shaderc is not enabled. I'll take a look today.

@fand is it ok to you if we remove the example? Only the example.
I wasn't able to find a way to exclude the example from the cargo test command, it seems that cargo itself have some issues open related to this. The only options I can see is to enable shaderc on the ci machine, however I am not a big fan of this solution, because it will try to compile it on each build, and is a big dependency. So I am more inclined to just remove the example, because is a niche feature.
What do you think?

Thanks for review!

So I am more inclined to just remove the example, because is a niche feature.

Yeah I totally agree 👍  I'll remove the example

it seems that cargo itself have some issues open related to this

Just curious, could you give me the link of the issue if you have?

This is the issue I found: https://github.com/rust-lang/cargo/issues/7233 they are trying to avoid the compilation using a config flag (I did it with not(feature=shaderc)), however this doesn't work. Using cargo test --workspace --exclude my_example does not work either. That's why I thought about to remove the example.
Sorry for the inconveniences and thank you so much for the PR!


GPII-4342: Update to universal container that fixes mouse settings.

This pull updates universal to fix the issues with mouse settings reported by Amarja.  There is no data migration needed.
See GPII-4342 for more details.

Performance test results below.  The first pass is slower than the threshold, but this is not because of any change.  Rather, the first set of results after an instance spins up are always slower, as portions of the validation process are slower before a required schema is cached.  The remaining five passes are all consistently good, and are actually faster than the times reported in performance tests for the previous pull.
Pass 1 (uncached):

Name
# requests
50%
66%
75%
80%
90%
95%
98%
99%
100%

carla
223
43
49
54
57
73
91
110
130
200

nvda
193
47
51
55
59
68
110
270
300
390

omar
188
46
51
53
56
68
80
97
300
400

vladimir
204
42
46
48
51
65
83
110
300
2700

wayne
190
44
47
50
52
86
210
400
410
2700

Total
998
44
48
52
55
69
95
210
300
2700

Pass 2 (cached):

Name
# requests
50%
66%
75%
80%
90%
95%
98%
99%
100%

carla
226
43
48
50
53
65
79
110
120
140

nvda
190
45
49
53
55
63
80
120
130
140

omar
216
45
48
52
55
67
85
110
120
130

vladimir
195
45
49
53
55
69
99
120
140
140

wayne
178
46
51
58
63
81
110
130
160
160

Total
1005
45
49
53
56
67
90
120
130
160

Pass 3 (cached):

Name
# requests
50%
66%
75%
80%
90%
95%
98%
99%
100%

carla
184
43
49
52
54
63
80
120
130
140

nvda
207
45
49
54
56
74
99
110
120
180

omar
211
43
48
54
58
72
100
110
130
150

vladimir
192
42
47
51
53
71
100
120
130
130

wayne
211
42
47
51
55
68
81
94
100
190

Total
1005
43
48
52
56
69
93
110
130
190

Pass 4 (cached):

Name
# requests
50%
66%
75%
80%
90%
95%
98%
99%
100%

carla
209
45
48
54
58
72
88
93
120
130

nvda
190
46
48
55
57
70
78
100
120
160

omar
213
42
47
49
52
63
84
100
110
120

vladimir
196
45
48
53
55
66
89
120
130
140

wayne
195
42
46
50
52
61
81
120
120
160

Total
1003
44
47
52
55
66
84
100
120
160

Pass 5 (cached):

Name
# requests
50%
66%
75%
80%
90%
95%
98%
99%
100%

carla
193
42
47
49
51
58
75
110
130
170

nvda
190
45
49
52
57
69
85
97
160
200

omar
217
42
47
51
53
65
90
100
120
150

vladimir
209
42
46
49
52
62
67
97
100
110

wayne
187
42
45
48
51
65
79
98
120
230

Total
996
43
47
50
53
63
78
100
120
230

Pass 6 (cached):

Name
# requests
50%
66%
75%
80%
90%
95%
98%
99%
100%

carla
199
43
46
49
51
57
71
87
110
140

nvda
188
43
47
49
52
58
65
84
99
110

omar
216
41
46
48
52
64
83
110
120
200

vladimir
205
43
48
52
54
65
79
98
110
150

wayne
209
41
45
47
50
58
69
82
98
110

Total
1017
42
46
49
52
61
74
98
110
200

This has been reviewed and I have tested it with a full client and my dev cloud at well.  We should discuss any remaining steps in tonight's meeting.

LGTM


New version: PrestonN.FreeTube version 0.21.2

Pull request has been created with komac v2.2.1 :rocket:
Microsoft Reviewers: Open in CodeFlow

https://github.com/microsoft/winget-pkgs/issues/142854


feat: backport new exceptions on 1.x branch

@antonioturdo isn't it strange that cs-fixer is only broken in php73?

Yes, it is!


Add smooth fade up animation while scrolling

Hi @anuragverma108 , I wanted to add a fading animation while scrolling on the website to make it more beautiful and attractive. Please assign me this issue with the Hacktoberfest label.

Thanks for creating the issue in WildGuard! The issue has been assigned to you.
Before you start working on your PR, please make sure to:

⭐ Star the repository if you haven't already.
Pull the latest changes to avoid any merge conflicts.
Attach before & after screenshots in your PR for clarity.
Include the issue number in your PR description for better tracking.

Don't forget to follow @anuragverma108 – Project Admin & @rahulkhandait-sde - Project Collaborator  – for more updates!
We're excited to see your contribution as part of Hacktoberfest 2024! 🎉
Happy open-source contributing!


When storing non-8bi data, the reading does not match the actual data

The following code is an example of storing 16bit data,

Before the i=5 write operation: r_fifo->w = 30, r_fifo-r = 40, lwrb_get_free(&r_fifo)=9; after the write operation, r_fifo->w = 39, which is no longer a multiple of 2, then The buffer is full.
When i=6, the write data starts to be written from 39, the data transmission is misplaced, and the reading is not as expected.
  lwrb_t r_fifo;
   int16_t buf[25] = {0};
   lwrb_init(&r_fifo, buf, 25*2);

   int16_t abuf[25];
   int16_t cbuf[25];
   int i=0;
   for(;i<24;i++)
     abuf[i] = i+1;

   for(i=0;i<100;i++)
   {
     lwrb_write(&r_fifo,abuf,8*2);
     lwrb_read(&r_fifo,cbuf,4*2);
   }

Test and modify lwrb_write, add the code between /****/, which can store int16_t data. When the buffer is full, reading data is normal.
Do you see if the type of stored data needs to be added to the library.

size_t lwrb_write(lwrb_t* buff, const void* data, size_t btw) {

/*
*
*
*/
     /* Calculate maximum number of bytes available to write */
     free = lwrb_get_free(buff);

  /**************************************************** *****/
     if(free < btw)
     {
       if(free - sizeof(int16_t)+1<=0)
       {
         btw = 0;
       }
       else
       {
         btw = free - sizeof(int16_t)+1;
       }
     }
// btw = BUF_MIN(free, btw);
     /**************************************************** *****/

     if (btw == 0) {
         return 0;
     }

     /*
      *
      *
      */

}

2.By the way, how to use the lwrb_get_linear_block_read_address() function correctly, is it similar to the processing of lwrb_read(), read to the end, the data is not read, and then read from the head. Is there any good way to deal with it?

Buffer does now know which type of data you try to write. It only knows the pointer and length. And function will return you number of bytes written so you can compare what has been written versus what you wanted to write.
The use of lwrb_get_linear_block_read_address will give you a pointer to the &buff[read] that you can use to directly read by memcpy, or any other method. use lwrb_get_linear_block_read_length prior to that, to get number of bytes you can actually read.
Here some examples: https://docs.majerle.eu/projects/lwrb/en/latest/user-manual/hw-dma-usage.html

Thanks for your answer.
I didn't understand lwrb_get_linear_block_read_length correctly before, and now it's no problem to use DMA.
The data type problem, I didn’t make it clear before, I write multiple int16_t data at a time, the above problem occurs, your answer gives me ideas, make a judgment before writing the data if (lwrb_get_free(&rb) >= sizeof(uint16_t)*number_of_save ), so that there is no error in storing the number.


sync with S3

Overview
Currently taskcat simply pushes all local files to a bucket on each run, regardless of whether files have changed, it also leaves files in s3 that are no longer in the local project.
This changes behavior to upload only changed files, and delete files not present locally. Speeds up upload when only small changes have been made.
adds --upload-only switch that syncs s3 and then exits.
Testing/Steps taken to ensure quality
launched a quickstart
Notes
Uses undocumented behavior for checksums of multipart uploads, see https://github.com/aws/aws-cli/issues/2585#issue-226758933
No longer fetching template and parameters from s3, but fetching locally instead.
enforces template path to templates/ and parameters to ci/, not sure if there are any existing quick starts that don't follow this pattern.
No unit tests yet 😞
Could use a global override option for bucket name, this way a user can use a single bucket for all their taskcat work.
Testing Instructions
tested against the openshift quick start.

@agamzn thanks for the review, I've addressed the comments, can you please give another pass

While all checks have passed and I approve, I think one more approval is a good idea. This is a pretty significant change to the codebase.

@avattathil @vsnyc @sshvans could one of you please give this pr a once over

@avattathil 's commentary has been migrated to #154 for tracking.

@vsnyc totally agree on this. Seeing as the pr has already been merged, I'll address getting the methods more succinct in a future pr


Mention redux-saga

This PR is documentation changes only. It changes two small things:

It removes the words "for most common needs" because fetch replaces XMLHttpRequest in its entirety. It is a common misunderstanding that fetch only replaces some high level aspects of XHR. But actually fetch is more low level than XMLHttpRequest and XHR can be defined entirely in terms of fetch—while the reverse is not true. For more info see: https://jakearchibald.com/2015/thats-so-fetch/
Mention @yelouafi's redux-saga because it is definitely worth doing in the section about alternative side effect middleware.

XMLHttpRequest and XHR can be defined entirely in terms of fetch

That's not true because fetch can't be canceled while XHR can

@chicoxyzzy :+1: although they think about adding it: https://github.com/whatwg/fetch/issues/27

Mentioning redux-saga is worthwhile, but the new text has some typos, and the description of redux-saga isn't accurate.  Returning side effect descriptions from reducers is what redux-loop does.

That's not true because fetch can't be canceled while XHR can

You are indeed correct. It turns out I was the one with a misunderstanding. Thank you.

Mentioning redux-saga is worthwhile, but the new text has some typos, and the description of redux-saga isn't accurate. Returning side effect descriptions from reducers is what redux-loop does.

Yes. I've modified the text.

I'm not sure

that preserves actions as plain object

really describes the benefits of redux-saga :wink:

It certainly dosen't—only a small part of its advantages. I wrote it because it is one aspect that should be readily understandable to people who have only read up to "Async Actions" in the Redux documentation. Explaining more about redux-saga, I think, would end requiring many more words. But ideas are welcome :smile:

I'm not sure

that preserves actions as plain object

really describes the benefits of redux-saga 😉

It describes redux-saga compared to other middlewares in this list. Having actions as plain objects is important for reproducability which Redux architecture provides.

Personally, I've described sagas as "stateful background threads for Javascript".  You could also say that they enable "advanced asynchronous flow control" or something.

I'm going to fix this after merging to be less descriptive, since these are are a set of small sentences anyways. Just "You can use the redux-saga middleware to handle more complex asynchronous actions."


StatefulSets Peer Discovery

Bug Description
I have a RabbitMQ cluster running in Kubernetes. It works as expected without the Istio injection enabled.
Unfortunately, the cluster crashes when the istio-injection is enabled. This is caused by the peer discovery failure during the startup process. I got the following error in the pod logs:
2022-06-23 12:39:59.907 [error] <0.249.0> CRASH REPORT Process <0.249.0> with 0 neighbours exited with reason: no match of right hand value {error,eacces} in rabbit_peer_discovery_k8s:make_request/0 line 110 in application_master:init/4 line 138

Please bear in mind that:

Istio version: 1.14.0
Deployment via Istio operator
Tested with both mTLS enabled/disabled

I created a service entry per pod, and expose all ports that are needed - telling istio that they are inside the service mesh, example of a ServiceEntry In rabbitMQ - this looks like this:
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  labels:
    app: rabbitmq-ha
    chart: rabbitmq-ha-1.12.1
    heritage: Tiller
    release: rabbitmq
  name: rabbitmq
  namespace: rabbitns
spec:
  hosts:
  - rabbitmq-0.rabbitmq-discovery.rabbitns.svc.cluster.local
  - rabbitmq-1.rabbitmq-discovery.rabbitns.svc.cluster.local
  location: MESH_INTERNAL
  ports:
  - name: http
    number: 15672
    protocol: TCP
  - name: amqp
    number: 5672
    protocol: TCP
  - name: epmd
    number: 4369
    protocol: TCP
  - name: amqps
    number: 5671
    protocol: TCP
  - name: exporter
    number: 9419
    protocol: TCP
  - name: inter-node
    number: 25672
    protocol: TCP
  resolution: NONE

Version
$ istioctl version
client version: 1.14.0
control plane version: 1.14.0
data plane version: 1.14.0 (3 proxies)
$ kubectl version --short
Client Version: v1.21.5
Server Version: v1.22.4

Additional Information
Analysis Report:
Error [IST0106] (ServiceEntry rabbitmq-istio-test/rabbitmq) Schema validation error: multiple hosts provided with non-HTTP, non-TLS ports

Is there some easy way to reproduce this? Could even be "helm install rabbitmq then do xyz". As-is its a bit hard to make forward progress since we just have an opaque rabbitmq log


measure.py: handle 0.0 measurements

As mentioned in my pull request, I'm having some difficulty measuring near 0W use with my Kasa KP115 plug. Sometimes it will just measure 0.0 even though there is a small power draw.
What concerns me in particular, is when SAMPLE_COUNT is set > 1, you may not even notice that 0.0 readings are included in the average, which artificially lowers it below the real usage.
Having the script just warn to the console, and discard / retry these samples would be helpful, plus improve accuracy.

Good suggestion. Implemented with #697
Now it will just discard the 0 readings from the CSV. When it gets 50 of them the measurement session will abort.

Awesome, thanks!


windows phone

Does it actually works with windows phones?
I can see test example with windows phone support, but still don't understand clear picture

polite ping)

Nevermind, I check sources it's getting better. But I don't remember this changes 5 days ago


Assignment 1 [Bhavesh Chavan]

Introduction

Hi, my name is Bhavesh Chavan and I am a first year PhD candidate in chemical engineering and come from India. I did my masters from University of Twente. I currently reside inside the university.
Describe your research in 2-3 sentences to someone that is not from your field (please avoid abbreviations)

My research focuses on using atomic layer deposition in water electrolyzers. I am mainly focusing on the development of electrocatalysts and other electrolyzer componenets using atomic layer deposition.
My research entails the following aspects:

Research Aspect
Answer

Use/collect personal data (health data, interviews, surveys)
No

Use/collect experimental data (lab experiments, measurements with instruments)
Yes

Collaborate with industry
Yes

Write/develop software as the main output of the project
No

Use code (as in programming) for data analysis
No

Work with large data (images, simulation models)
Yes

Other:
N/A

Reflections on the importance of RDM videos

The most important aspect of Science is that it should be reproducible and transparent. RDM helps in creating openness among the researchers and creates continuation of the work within the same group, university or even in various corners of the world.
What would you like to learn during this course?

I aim to create my PhD data to be safe, easily accessible to not just me but also for the future use.
Checklist assignments

[x] Assignment 1: creating a GitHub issue (the overview issue) (before 30 April, 10:00)
[x] Respond to the GitHub issue #125
[x] Assignment 2: Data Flow Map 1 (share a link in this issue before 7 May 13:00). Link: https://tud365.sharepoint.com/:p:/r/sites/MyPhD637/Gedeelde documenten/General/My GS/RDM 101 AS/Assignment 2 Bhavesh Chavan.pptx?d=w09f2970781b44d198ecce084e7200004&csf=1&web=1&e=PAuFja
[ ] Provide feedback to at least one Assignment 2 from another participant
[ ] Respond to the GitHub discussion #126
[ ] Respond to the GitHub discussion #127
[ ] Assignment 3: Data Flow Map 2 (share a link in this issue before 21 May 13:00). Link:
[ ] Provide feedback to at least one Assignment 3 from another participant
[ ] Assignment 4: Data Management Plan (before 29 May 13:00)
[ ] Respond to the GitHub discussion #128 if you have any questions (optional)
[ ] Assignment 5: Data Flow Map 3: submit your slide (before 30 May, 17:00)

Hi @BhaveshSChavan! I don't see a link or comment with your  Assignment 2. Could you please still share this as soon as possible? Thank you!

Hey Bhavesh,
It is a nice and extended overview of all the data you think your are going to collect. One notion: I don't completely understand where the 'personal data' red flag is coming from. You are not working with the interview/questionaire data, are you?

Very detailed map. Does your department project folder mean "Staff Group Data" or "Project Data"? And I see your data are considered as confidential data, have you thought about any special ways to keep them confidential?

Hi @BhaveshSChavan! Thanks for sharing Assignment 2! It looks very clear, well done!

I agree with @demiteach that it is not clear what type of personal data you are processing: Do you mean the names in the articles and your own thoughts regarding your experiments? I do see your point there as researchers name's are indeed personally identifiable, but we don't really consider this personal research data because it is not the same as them participating in your research project and this information is already public. Regarding thoughts on your experiments - this is normally more about the decisions and choices you faced, which may not necessarily lead back to you. Could you please elaborate or update this in your Assignment 3? If you are working with personal data, then @linghangdelft is right that you need to consider more where you store this type of data. The Staff group data/department storage is not a good storage location if other people have access to your folders/directories there! For confidential data it depends what you have agreed upon with the collaborators - if they are not putting additional restrictions on access to data by the rest of the research group it is fine.
I really like your structured back up procedure in that you have standard dates to do the back up! What happens if the 1st of the 15th falls in a weekend?
Very clear indication of the experimental data!

Hi Bhavesh, nice overview, it's very clear. Do you know how you are going to store your lab journal data? Will you copy it onto your computer? Or have you considered an electronic lab journal? My group will start working with this in September, might be useful for you as well? Saves a lot of time of copying information :)

Hi @BhaveshSChavan ! I don't see a link or comment with your Assignment 3. Could you please still share this as soon as possible? Thank you!

Hey Bhavesh,
It is a nice and extended overview of all the data you think your are going to collect. One notion: I don't completely understand where the 'personal data' red flag is coming from. You are not working with the interview/questionaire data, are you?

It is because the personal data would also include novel ideas for experimentation. As per my supervisor, this novel data should be strictly confidential unless consortium agrees on making it public. For example, having limitations on delivering data in posters and presentations in conferences.

Hi Bhavesh, nice overview, it's very clear. Do you know how you are going to store your lab journal data? Will you copy it onto your computer? Or have you considered an electronic lab journal? My group will start working with this in September, might be useful for you as well? Saves a lot of time of copying information :)

As of now, I try to put less data on hard copy lab journal but I am shifting to electronic version for example having lab journal documents using an iPad stored in teams folder as per the dates.

Very detailed map. Does your department project folder mean "Staff Group Data" or "Project Data"? And I see your data are considered as confidential data, have you thought about any special ways to keep them confidential?

I still need to decide with my supervisor, to what extend it should confidential to even my research group members.

Hi @BhaveshSChavan! Thanks for sharing Assignment 2! It looks very clear, well done!

I agree with @demiteach that it is not clear what type of personal data you are processing: Do you mean the names in the articles and your own thoughts regarding your experiments? I do see your point there as researchers name's are indeed personally identifiable, but we don't really consider this personal research data because it is not the same as them participating in your research project and this information is already public. Regarding thoughts on your experiments - this is normally more about the decisions and choices you faced, which may not necessarily lead back to you. Could you please elaborate or update this in your Assignment 3? If you are working with personal data, then @linghangdelft is right that you need to consider more where you store this type of data. The Staff group data/department storage is not a good storage location if other people have access to your folders/directories there! For confidential data it depends what you have agreed upon with the collaborators - if they are not putting additional restrictions on access to data by the rest of the research group it is fine.
I really like your structured back up procedure in that you have standard dates to do the back up! What happens if the 1st of the 15th falls in a weekend?
Very clear indication of the experimental data!

Hi Esther, thank you for your comments.
The personal data will involve novel ideas, decisions, and reasoning.
About the department storage, it is still yet to be decided on the level of confidentiality with the supervisor.
About your comment on 1st or 15th on weekend, the solution would be do it next Monday after the weekend.

Thanks for elaborating @BhaveshSChavan! Novel ideas, decisions and reasoning are not considered to be personal data, as they do not lead to the identification of a person. I'm not sure what to rename your flag, as I would personally not consider this a flag but a key part of the research process? What do you think?
Don't forget to still share assignment 3!

Thanks for sharing assignment 3 @BhaveshSChavan! It looks very clear and comprehensive, well done!
I therefore only have a question: what do you mean that 4TU.ResearchData will also provide a DOI for patent information? Will you share the patent application on 4TU.ResearchData once completed? I'm not sure if that is possible for patent information!

Hi @BhaveshSChavan: don't forget to submit Assignment 4! The deadline was earlier today!

Thanks for sharing assignment 3 @BhaveshSChavan! It looks very clear and comprehensive, well done!
I therefore only have a question: what do you mean that 4TU.ResearchData will also provide a DOI for patent information? Will you share the patent application on 4TU.ResearchData once completed? I'm not sure if that is possible for patent information!

Hi Esther,
Do you have any suggestion?

Can you perhaps elaborate a bit on what you would like a suggestion on? On how to share patent information or what you should use 4TU.ResearchData for? Let me know!


namespaces

Hi,
is it possible to use authority in app with some namespaces? For example - i have 3 namespaces:
/posts
/admin/posts
/moderator/posts
and i'd like to separate authorisers for different namespaces? How to do it?

@nathanl how can I pass my custom parameters with authorize_actions_for?
I tried to do like this authorize_actions_for TicketType, context: "admin" but it doesn't work. In my
class TicketTypeAuthorizer < ApplicationAuthorizer
  def self.readable_by?(user, *opts)

I dont't get anything into opts.
I'm new to Rails. Could you please explain what am I doing wrong?

Hey @Seybo!
First off, correct me if I'm wrong, but your question isn't directly related to this issue about namespaces, right? You should feel free to create new issues, or better still ask general questions in the stackoverflow.com authority-gem tag.
To answer your question, though, the controller-level authorize_actions_for doesn't take custom options. This is because it takes its own options like :except and friends to control how it behaves per-action.
However, you can pass custom options toauthorize_action_for, which does take custom options. You can invoke it yourself in each action, or set it up inside your own custom before_action.
I've prepared a sample application for you mimicking your setup and demonstrating these alternatives here.
Additionally, I'll open a new issue and put together a PR that lets you pass custom options to authorize_actions_for via an :opts parameter, so that this will be possible in future versions of authority.
I hope this clears things up for you a little. Welcome to Rails!

@Seybo I have a working branch of authority that does this now, see what I did to the example to get it to work.

thanks a lot @christhekeele

your question isn't directly related to this issue about namespaces, right?
Yeah, that't right. I didn't know what better to do. Answer here (it's still about passing params) or start a new issue. I have already worked it out the same way you suggested, using toauthorize_action_for and before_action.

About your working branch, how do you recommend to use it? Should I just use your gem 'authority', github: 'christhekeele/authority', branch: 'custom-opts-in-authorize_actions_for'? And if so could you suggest me what is the best way to describe this special situation in my code for the future developers? Just put a comment about this above this gem line with brief description about the change and it's purpose?

Overriding a gem source to use a branch like this is fairly common practice. I'd say as long as the branch name is descriptive, it speaks for itself.
If it's meant to be a temporary fix, you could always leave a comment documenting when the time to remove in favor of the canonical version is. In this instance I'd link to PR #114, or mention a target version of authority where you anticipate the patch being released.
In this case I'm hoping to have the new version out sometime today, so it might not even merit that. :)
If it's a longer or even permanent thing, your own fork of a gem that's no longer maintained, a cryptically named branch, or just the master branch of someone else's fork, I'd go into more detail as to why you need that particular override.

This is now available straight from master: gem 'authority', github: 'nathanl/authority'.
It's targeted for a 3.2.1 release within the week.
Note that we settled on :args instead of :opts since you can pass any number of extra arguments in the array, not just an options hash. Make sure you wrap that hash in an array before handing it off to :args, otherwise it won't behave as intended. :)

3.2.1 is out, bundle update authority should get you where you want to go.

That is just great, @christhekeele. I'm on vacation now, so gonna try it in a week or so. Thanks a lot!


There is no working sample for asp.net core

There is only asp.net framework version of JavascriptSPA. I have tried to create a corresponding sample for asp.net core 3.0, but it does not work. However, there is no explanation why the same code does not run in asp.net core 3.0.

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

ID: 4c6d2219-cb28-5527-1079-6e3195cad282
Version Independent ID: 70c2aad0-6883-51a9-fed7-01be62302483
Content: JavaScript single-page app tutorial - Microsoft identity platform
Content Source: articles/active-directory/develop/tutorial-v2-javascript-spa.md
Service: active-directory
Sub-service: develop
GitHub Login: @navyasric
Microsoft Alias: nacanuma

@binhnguyen1984 Thanks for your feedback! We will investigate and update as appropriate.

hey @binhnguyen1984  thanks for letting us know about this, we'll take your feedback into consideration and consider adding another doc accordingly, adding more members to look into this to determine if this is needed,
cc: @navyasric

With the same code, I tried it in asp.net core and IE 11 and noticed that both loginPopup and loginRedirect do not work. I got Http error 404 Page not found and IE did not redirect to the original page. On the address bar, I saw: https://localhost:44379/#id_token=some_id_token&client_info=some_info&session_state=446c00d2-1d78-4127-a0a7-f4b688b3afef

hey @binhnguyen1984 asp .net core and asp .net framework are not the same things, I suggest taking a look at this SO post here for more information : https://stackoverflow.com/questions/37684508/difference-between-asp-net-core-net-core-and-asp-net-core-net-framework
ASP .net framework code and asp .net core code are not meant to be interchangeable.

I know they are not the same. But there should be a sample that works for asp.net core, or at least some instructions on how to adapt the current sample to asp.net core. I got stuck on this issue for weeks and really need a working sample very soon.

Would it be possible to provide us a sample of JavascriptSPA that works with asp.net core 3.0, please?

@binhnguyen1984 Please take a look at this sample of asp.net core Web API:
https://github.com/Azure-Samples/active-directory-dotnet-native-aspnetcore-v2/tree/master/2. Web API now calls Microsoft Graph
cc: @hamiltonha In case you have any other sample of SPA calling asp.net core API.

@navyasric I have looked into that. The TodoListClient is a asp.net framework 4.7.1 project, not asp.net core.

@binhnguyen1984 My understanding is that you want a asp.net core web API sample which is provided in link above. Isn't your client app a JavaScript SPA? You will need to piece together the JS SPA client and asp.net core API.
Please let us know if we misunderstood your scenario and explain your scenario requirements.
CC: @jmprieur for help with asp.net Core samples.

@navyasric Yes, my client app is a JavaScript SPA which is also an asp.net core app. However, the JavaScriptSPA sample is an asp.net framework 4.5.2 app and I could not use it. This question has been around for quite a while and in the mean time I have already found an answer. But still, it would be much more helpful if there is a complete sample that covers asp.net core as it will soon become standard.

@binhnguyen1984 Thank you for the explanation and feedback. Adding @hamiltonha and @jmprieur to take account of the feedback on this sample for future updates.

@jmprieur This one I have tried before. The client is an asp.net framework app. Changing it to asp.net core with exactly the same code does not work for me.

@binhnguyen1984, what does not work for you. Do you have repro steps?

In project Desktop-App-calls-Web-API, the TodoListClient is asp.net framework 4.7.1 WPF application. This works fine. But if I change it to asp.net core 3.0 WPF application, it does not work. The accounts I got is always an empty list.

@binhnguyen1984 : did you have a look at this tutorial: https://github.com/Azure-Samples/ms-identity-dotnet-desktop-tutorial
(this is work in progress)

#reassign:jmprieur

The desktop tutorial is available.
#please-close


Enable the new model serialization for quota

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.