Fix None not being supported as Field values

Fixes #56
This brings serpy more in line with DRF when encountering None values. For more info, see #56
The behavior for serpy is now:

required=True
required=False

data = {'value': 1}
{'value': 1}
{'value': 1}

data = {'value': None}
{'value': None}
{'value': None}

data = {}
KeyError('value',)
{}

Coverage decreased (-3.2%) to 96.774% when pulling f64593452f2d53f44c5c3c404cfe99868212c702 on fix-none into 8954cdf723aad6b480262411397c406dc40916c6 on master.


website previews: make sure image pipeline works

Description
The Cloudflare CGI endpoint for image transformations doesn't work on pages.dev
Do you want us to assign this issue to you?
No

We could use the built-in image service when setting an env var


ServiceBus Track 2 Analysis

We need to analyze the work needed to be done for Service Bus Track 2. Track 1 is already released.
Assumptions:

Track 2 will be complete rewrite from scratch. We can look at Track 1 code base and analyze if this code or part of it can be used. Track1 library is found at https://github.com/Azure/azure-service-bus-java
In Scope: Only Queues and Topics
Java Script API contract to follow : May 2018 GA was released for javascript and ahead in maturity.  These API can be found here https://docs.microsoft.com/en-us/javascript/api/%40azure/service-bus/queueclient?view=azure-node-latest
We could look at this API and mimic in Java API. Ramya is contact person for this.

Ask:

Identify what work needs to be done in Service Bus track2.
Document and create issues for work items. This will give us idea how much work we need to do.
Analyze EvenHubs and identify common code base that could be used by ServiceBus. Create issue for common code that needs to be moved out of Eventhubs and into azure-core-amqp.
Look into Service Bus track1 issues/complaints/pain points and identify solutions for them.

Clarification Needed:

Is ServiceBus Relay  in Scope. @AlexGhiondea   please suggest ?  https://docs.microsoft.com/en-us/azure/service-bus-relay/
Since Track2 will have lot of changes in API from Track1 API. How can we measure migration cost for existing customer from Track1 to Track 2 API ?

What is the rationale for a complete rewrite? Can you share any direction or high level design documents so customers can understand where the library is headed and why?
I am worried that we'll end up with an undesirable rewrite situation similar to what happened to the storage library rewrite. See here for some frank discussion of the issues: https://github.com/Azure/azure-storage-java/issues/432. After listening to all the feedback the team working on that library shared an excellent direction document: https://github.com/Azure/azure-storage-java/blob/master/V12 Upgrade Story.md
It would be great to see something along those lines provided for transparency here.

Hi @jordanjennings, thanks for asking this question. To clarify, there is an effort underway within Microsoft to bring about a new generation of client libraries for Azure, for many of the top-tier programming languages. The discussion you linked to from Storage is relevant here - the V12 is the 'rewrite' we did for Storage, and is similar here for Service Bus. You can read more in our announcement for the first preview release.
What @hemanttanwar is saying here is that he is about to begin an equivalent process of review, design, and implementation to ensure a consistent, idiomatic, and productive developer experience for Service Bus, like we have been doing for the past few months. A high level design document you might find interesting is the Java API design guidelines document I wrote. This document is what guided the V12 Storage API, as well as all future Java client libraries (of which many are in development and / or preview release state now). Please feel free to email me directly with any questions or concerns.

Fixed in #4506


fix: Validation with validateEditContexts for GoToStepAsync in FluentWizard

🐛 Bug Report
When custom buttons are used for navigation in FluentWizard, GoToStepAsync(int step, bool validateEditContexts = false) should be used according to the documentation. If this code is used with validateEditContexts = true validation is not executed for the current step, but for the next step to be navigated to. As a result, it is no longer possible to navigate to a step with validation, but a step with validation is not validated.
💻 Repro or Code Sample
If current step index is 0 and step 1 has validation, navigating there can be done with
Wizard.GoToStepAsync(1, true).
Within this method, Value is set to 1, then validation is executed:
public Task GoToStepAsync(int step, bool validateEditContexts = false)
{
    Value = step;
    return ValidateAndGoToStepAsync(step, validateEditContexts);
}

As a result, the current step is never validated:
internal async Task ValidateAndGoToStepAsync(int targetIndex, bool validateEditContexts)
{
    var stepChangeArgs = await OnStepChangeHandlerAsync(targetIndex, validateEditContexts);
    var isCanceled = stepChangeArgs?.IsCancelled ?? false;

    if (!isCanceled)
    {
        Value = targetIndex;
        await ValueChanged.InvokeAsync(targetIndex);
        StateHasChanged();
    }
}

protected virtual async Task<FluentWizardStepChangeEventArgs> OnStepChangeHandlerAsync(int targetIndex, bool validateEditContexts)
{
    var stepChangeArgs = new FluentWizardStepChangeEventArgs(targetIndex, _steps[targetIndex].Label);

    if (validateEditContexts)
    {
        var allEditContextsAreValid = _steps[Value].ValidateEditContexts(); // Value was already set to targetIndex in GoToStepAsync
        stepChangeArgs.IsCancelled = !allEditContextsAreValid;

        if (!allEditContextsAreValid)
        {
            await _steps[Value].InvokeOnInValidSubmitForEditFormsAsync();
        }
        if (!stepChangeArgs.IsCancelled && allEditContextsAreValid)
        {
            // Invoke the 'OnValidSubmit' handlers for the Edit Forms
            await _steps[Value].InvokeOnValidSubmitForEditFormsAsync();
        }

        await _steps[Value].InvokeOnSubmitForEditFormsAsync();
    }

    return await OnStepChangeHandlerAsync(stepChangeArgs);
}

🤔 Expected Behavior
GoToStepAsync should validate the current step.
😯 Current Behavior
The next step is validated. Since this validation will fail in most cases, wizard is stuck with no option to navigate to next step. On the other hand, if the current step required validation, it will not execute validation.
💁 Possible Solution
In my opinion, the first line in the following method can be removed:
public Task GoToStepAsync(int step, bool validateEditContexts = false)
{
    Value = step;
    return ValidateAndGoToStepAsync(step, validateEditContexts);
}

The new value for step will be set within ValidateAndGoToStepAsync if validation is successful.
I would be happy to open a PR with the described change if that is appreciated.
🔦 Context
I tried to create a wizard with custom ButtonTemplate where two steps require validation with FluentEditForm. While testing the behavior, this bug was discovered.
🌍 Your Environment

OS & Device: Windows 10 on Laptop
Browser: Google Chrome
.NET and Fluent UI Blazor library Version: 8.0.300 and 4.10.4

Can you give us a code example to confirm the problem and correct it effectively?

@dvoituron Here is some code that reproduces the issue.
In this example, navigating from the first to the second step is not possible because the FluentEditForm of the second step is evaluated. If clicking on the second step in the stepper (after "Next" was clicked), the validation error is displayed:
@page "/fluentwizard-gotonextstep-notpossible"

<FluentWizard<EMAIL_ADDRESS><EMAIL_ADDRESS>              DisplayStepNumber="@(WizardStepStatus.Current | WizardStepStatus.Next)"
              Border="WizardBorder.Outside"
<EMAIL_ADDRESS>              @ref="@_wizard">
    <Steps>
        <FluentWizardStep Label="Start">

Start

        </FluentWizardStep>
        <FluentWizardStep Label="Step with validation">

Step with validation

            <FluentEditForm Model="_formData" FormName="validationForm">
                <DataAnnotationsValidator />
                <FluentCheckbox<EMAIL_ADDRESS>Label="Is valid" />
                <FluentValidationSummary Style="color:darkred" />
            </FluentEditForm>
        </FluentWizardStep>
        <FluentWizardStep Label="Summary">

Summary

        </FluentWizardStep>
    </Steps>
    <ButtonTemplate>
        @{
            var index = context;
            var lastStepIndex = 2;

            <FluentSpacer />

                @if (index > 0)
                {
                    <FluentButton OnClick="@(() => _wizard.GoToStepAsync(this._currentPage - 1))" Appearance="Appearance.Accent">Previous</FluentButton>
                }
                @if (index != lastStepIndex)
                {
                    <FluentButton OnClick="@(() => _wizard.GoToStepAsync(this._currentPage + 1, true))" Appearance="Appearance.Accent">Next</FluentButton>
                }

        }
    </ButtonTemplate>
</FluentWizard>

@code {
    private FluentWizard _wizard = default!;
    private int _currentPage;
    private FormData _formData = new FormData();

    private class FormData
    {
        [AllowedValues(true)]
        public bool IsValid { get; set; }
    }
}

In this example, it is possible to navigate from the first step to the second step, even tough the evaluation should fail when the checkbox is not checked. Validation is never executed:
@page "/fluentwizard-gotonextstep-possible"

<FluentWizard<EMAIL_ADDRESS><EMAIL_ADDRESS>              DisplayStepNumber="@(WizardStepStatus.Current | WizardStepStatus.Next)"
              Border="WizardBorder.Outside"
<EMAIL_ADDRESS>              @ref="@_wizard">
    <Steps>
        <FluentWizardStep Label="Step with validation">

Step with validation

            <FluentEditForm Model="_formData" FormName="validationForm">
                <DataAnnotationsValidator />
                <FluentCheckbox<EMAIL_ADDRESS>Label="Is valid" />
                <FluentValidationSummary Style="color:darkred" />
            </FluentEditForm>
        </FluentWizardStep>
        <FluentWizardStep Label="Summary">

Summary

        </FluentWizardStep>
    </Steps>
    <ButtonTemplate>
        @{
            var index = context;
            var lastStepIndex = 1;

            <FluentSpacer />

                @if (index > 0)
                {
                    <FluentButton OnClick="@(() => _wizard.GoToStepAsync(this._currentPage - 1))" Appearance="Appearance.Accent">Previous</FluentButton>
                }
                @if (index != lastStepIndex)
                {
                    <FluentButton OnClick="@(() => _wizard.GoToStepAsync(this._currentPage + 1, true))" Appearance="Appearance.Accent">Next</FluentButton>
                }

        }
    </ButtonTemplate>
</FluentWizard>

@code {
    private FluentWizard _wizard = default!;
    private int _currentPage;
    private FormData _formData = new FormData();

    private class FormData
    {
        [AllowedValues(true)]
        public bool IsValid { get; set; }
    }
}

Will be fixed in the next Release: See #2944

Hello @dvoituron!
Is there a beta I can use until this is released?

Hello @dvoituron! Is there a beta I can use until this is released?

Yes: https://github.com/microsoft/fluentui-blazor/blob/dev/docs/using-latest-daily.md

And there is also https://www.nuget.org/packages/Microsoft.FluentUI.AspNetCore.Components/4.11.0-beta.1 on NuGet

Oops, my bad...

I was able to get it to work using the latest daily. Thanks! :)


JSON format expected by ESPAlexa ?

Hi, I'm trying to build an android application to be able to turn on/off devices and also set specific "brightness" to each device, and my question is:
What JSON format is ESPAlexa expecting ? I tried with the HUE format but I'm not sure how to specific each device. For example I tried posting to:
http://MY_ESP_IP:80/api/2WLEDHardQrI3WHYTHoMcXHgEspsM8ZZRpSKtBQr/lights/1/state
This JSON: {"on":false, "bri":0}
Usually that code, using my Hue App ID instead of yours of course, is enough, but in this case, I get a success response but no light is activated or changed. Ideas of my mistake ?
Thanks a lot.

Hi, sorry found my own answer. You cannot send ON:False and BRI together, is one or the other. Example for future references or help some looser like me :loop: :
JSON for OFF: {"on":false}
JSON for BRI and/or ON: {"bri":254}
JSON for ON (Last value of Brightness): {"on":true}
Sorry for inconvenience.

Hi, great that you already figured it out! Good luck with your application :)


Problem with Docker in Ubuntu

Hello guys.
I'm following theese instructions (https://docs.docker.com/engine/installation/linux/ubuntulinux/).
When I run sudo service docker start I receive this message.
`initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: No such file or directory

Starting Docker: docker                                                                 [ OK ]`

I receive an message error, but a message [OK]. But if I run sudo service docker status I receive this:
`initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: No such file or directory

Docker is not running`

Is is possible to install docker in WSL?
Thanks for this.

Being tracked in #85
We are getting a lot of requests for docker.  My suggestion would be to head over to our User Voice page and vote on it.

Thanks man!

There is a workaround for Upstart issue here: https://www.nesono.com/node/368
However /var/log/docker.log shows an error message after starting the daemon:
time="2016-09-08T16:51:50.780638400+02:00" level=fatal msg="can't create unix socket /var/run/docker.sock: listen unix /var/run/docker.sock: setsockopt: invalid argument"


fix: allow update on operations create, read, update

Description of changes
Allow update on operations create, read, update.
See https://github.com/aws-amplify/amplify-category-api/issues/1714 for details.
Include primary key in allowed fields on update. The primary key won't be updated, but this indicates that including the primary key in the input (which it always will be) should not result in unauthorized error.
Given the case @auth(rules: [{allow: owner, operations: [create, read, update]}]).

The nullAllowedFields will be empty: https://github.com/aws-amplify/amplify-category-api/blob/db6c64570235f67deb3068998d6d8cb73ad5e15b/packages/amplify-graphql-auth-transformer/src/graphql-auth-transformer.ts#L920
Resulting in areAllFieldsNullAllowed to be false: https://github.com/aws-amplify/amplify-category-api/blob/db6c64570235f67deb3068998d6d8cb73ad5e15b/packages/amplify-graphql-auth-transformer/src/graphql-auth-transformer.ts#L923
isAuthorizedOnAllFields will be false in the resolver: https://github.com/aws-amplify/amplify-category-api/blob/db6c64570235f67deb3068998d6d8cb73ad5e15b/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.update.ts#L155

when isAuthorizedOnAllFields is true the auth check on each field is short-circuited.

Then the resolver checks all fields for auth included in the input

The primary key will always be included in the input because it is necessary to indicate which record should be updated.
https://github.com/aws-amplify/amplify-category-api/blob/db6c64570235f67deb3068998d6d8cb73ad5e15b/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.update.ts#L331-L339
If the primary key is not in the allowedFields the resolver will give unauth error.

CDK / CloudFormation Parameters Changed
N/A

Issue #, if available
Resolves https://github.com/aws-amplify/amplify-category-api/issues/1714

Description of how you validated changes

Unit testting

Checklist

[x] PR description included
[x] yarn test passes
[x] Tests are changed or added

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Can we add an E2E test for this scenario? That's more reliable than a snapshot for this case.


Current project status

Hi, is this project still actively maintained?
It seems there was no activity since mid 2017.

Doesn't appear so. A real shame because it's a powerful tool.

Yep, afraid I don't have any time to work on this for the forseeable future. I'm currently using Terser, which has proven reliable.
I may get back to it one day but it's less of a priority than when I started it because Terser is a good option.

Cool, thanks for the update @Rich-Harris


Have you developed face mask detection using tensorflow ?

@ganeshchenniah I used Firebase ml vision package for that

Hi ,
Yes , you used mlkit for face detection , is it possible to include mask
detection ??.
On Wed, 5 Aug, 2020, 12:23 pm Rajat Kalsotra<EMAIL_ADDRESS>wrote:

@ganeshchenniah https://github.com/ganeshchenniah I used Firebase ml
vision package for that
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Rajatkalsotra/Face-Recognition-Flutter/issues/4#issuecomment-669015884,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADEWMWD475TFYFYFRAB4LRLR7D6WJANCNFSM4PTNKDBQ
.

@ganeshchenniah For mask detection you have to train model for that specific purpose and then you can pass detected face to it.

Hi ,
I have a mask detection dataset , how did you train the model for 112*112
images , can u ou give pointer to create trained model ?
On Tue, 11 Aug, 2020, 4:40 pm Rajat Kalsotra<EMAIL_ADDRESS>wrote:

Closed #4
https://github.com/Rajatkalsotra/Face-Recognition-Flutter/issues/4.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Rajatkalsotra/Face-Recognition-Flutter/issues/4#event-3642647689,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADEWMWDWEDYBB3WZPGDCJWDSAERKPANCNFSM4PTNKDBQ
.

@ganeshchenniah I've used pre-trained Mobilefacenet model.
For your problem:

Detect faces using opencv ,then crop and resize faces (images) to the same size( 112*112)
Train keras model (CNN) classifier to detect mask and save it (h5).
Convert trained model into tflite model.
Then use that tflite model in the flutter app.


Add FireAlert

Insert URLs to the project here:
https://github.com/Plant-for-the-Planet-org/FireAlert

[x] The projects is active, documented, open source licensed, shows usage from external parties and is directly targeting environmental sustainability. Find more details in the Contribution Guide.

All issues labeled as 'Good First Issue' of the project listed on OpenSustain.tech will be visible on ClimateTriage.com. This is a great way to welcome new community members to your project.

@dhakalaashish @mayankkumawat @norbertschuler


URI parameters cannot repeat

Hi.
I am accessing the Echo Nest API, which requires me to repeat the same uri parameter name. However I can't make this work in Guzzle 6. I read a similar issue from 2012, however the approach does not work.
I have tried adding it manually into the query string without any success.
A sample API call could be:
http://developer.echonest.com/api/v4/song/search?format=json&results=10&api_key=someKey&artist=Silbermond&title=Ja&bucket=id:spotify&bucket=tracks&bucket=audio_summary

I can't find any way to do this, so I'm raising it here as an issue now:
Here's my example Client:
    /**
     * @param array $urlParameters
     * @return Client
     */
    protected function getClient()
    {
        return new Client([
            'base_uri' => 'http://developer.echonest.com/api/v4/',
            'timeout'  => 5.0,
            'headers' => [
                'Accept' => 'application/json',
            ],
            'query' => [
                'api_key' => 'someKey',
                'format' => 'json',
                'results' => '10',
                'bucket' => 'id:spotify'         // I need multiple bucket parameter values with the 'bucket'-name
        ]);
    }

    /**
     * @param $artist
     * @param $title
     * @return stdClass|null
     */
    public function searchForArtistAndTitle($artist, $title)
    {
        $response = $this->getClient()->->get(
            'song/search',
            [
                'query' => array_merge($client->getConfig('query'), [
                    'artist' => $artist,
                    'title' => $title
                ])
            ]
        );

        // ...
    }

Thanks.

Due to the repeating keys, you'll need to provide the query request option as a string. I can't think of a great way to make this any easier (even with a query class to abstract this), considering you need to merge in options to the default query parameters.

Closing as a duplicate of https://github.com/guzzle/guzzle/issues/1196. Feel free to +1 that issue and provide feedback on what you think the best path forward is.

And you just fixed my problem. Thanks.
Stating a string as the query allows me to have repeating url parameters.

Just for the record if anyone else needs it, this code works:
$client = new Client([
    'base_uri' => 'http://developer.echonest.com/api/v4/',
    'timeout'  => 5.0,
    'headers' => [
        'Accept' => 'application/json',
    ]
]);

$response = $client->get(
    'song/search',
    [
        'query' => 'bucket=something&bucket=somethingElse'
    ]
);

I have been struggling with this issue and thank you to @skovmand for highlighting that if you use query as a string you can put duplicate parameter keys in.
I thought I'd share a custom function that does this for me, whilst still giving the user of my API wrapper the ability to use Arrays.
/**
     *
     * @param array $firstArray
     * @param array $mergeFrom
     *
     * @return string
     */
    private function convertArrayMergeToQueryString(array $firstArray, array $mergeFrom): string
    {
        $str = '';
        foreach ($firstArray as $key => $value) {
            if (is_array($value)) {
                foreach ($value as $subvalue) {
                    $str .= $key.'='.$subvalue.'&';
                }
            } else {
                $str .= $key . '=' . $value . '&';
            }
        }
        foreach ($mergeFrom as $key => $value) {
            if (is_array($value)) {
                foreach ($value as $subvalue) {
                    $str .= $key.'='.$subvalue.'&';
                }
            } else {
                $str .= $key . '=' . $value . '&';
            }
        }
        return $str;
    }

It's not exactly the same as array_merge as it won't strip out duplicates at all, but in my case (and for most API) they will take the last attribute in the string if duplicates are not allowed.


Fix CI error after Flutter releases 3.3

Please list issues fixed by this PR here, using format "Fixes #the-issue-number".
Checklist

[ ] An issue to be fixed by this PR is listed above.
[ ] New tests are added to ensure new features are working. End-to-end tests are usually in the ./frb_example/pure_dart example, more specifically, rust/src/api.rs and dart/lib/main.dart.
[ ] The code generator is run and the code is formatted (e.g. via just refresh_all).
[ ] If this PR adds/changes features, documentations (in the ./book folder) are updated.
[ ] CI is passing.

Remark for PR creator: If the PR is submitted but the owner (fzyzcjy) does not reply for a few days, maybe he just did not see it, so please ping him.

(wait for CI result)


Overwriting Bulk Delete gives an Error Too few arguments to function App\Http.....::bulkDelete(), 0 passed

Hello, I created an overwrite to the Bulkdelete operation:
    use \Backpack\CRUD\app\Http\Controllers\Operations\BulkDeleteOperation { bulkDelete as traitBulkDelete; }
    public function bulkDelete($id)
    {
        $this->crud->hasAccessOrFail('delete');
        return $this->crud->delete($id);
    }

And it returns me:
Too few arguments to function App\Http\Controllers\Admin\MyModelCrudController::bulkDelete(), 0 passed in  ..../vendor/laravel/framework/src/Illuminate/Routing/Controller.php on line 54 and exactly 1 expected
I have v5.0.11

Hello @andresrl
I see where the confusion comes from, our documentation is wrong, bulkDelete() function has no parameters and in documentation it shows an example using the $id parameter.
I've sent https://github.com/Laravel-Backpack/docs/pull/336 to fix this! Thanks, your error lead to find that doc issue.
Please remove the $id parameter from your function and everything should work fine.
I am going to close this, please re-open if needed.
Thanks

Thanks, Pedro, for the fix
But now I have an issue.
How it would be the function to do so if no $id is passed to that function
    public function bulkDelete($id)
    {
        $deleted = \App\Models\InscriptionInscriptionCategory::where('inscription_id', $id)->delete();
        $this->crud->hasAccessOrFail('delete');
        return $this->crud->delete($id);
    }

If no $id is involved, how can I manage the situation? I mean, the content of the function.
How can I bulkDelete a lot of entries?
Thanks again, for your time and effort in helping me to solve the issue
BestRegards!
Andrés

bulk delete is for deleting "multiple entries", from your code it seems you want to delete only one ? To delete a single id and not "bulk" ?
You can check how we bulk delete in the file vendor\backpack\pro\src\Http\Controllers\Operations\BulkDeleteOperation and apply your own needed changes.


Add Changelog

Add changelog for 0.4.0, 0.5.0 and 0.6.0

Typically for items in the change log you wanna link them to a single PR that they were introduced in. Again, easier if you are doing semantic-commits and maintaining automatic change logs.


How to improve the iCAN performance?

Hi, in the readme file, you provide the iCAN result as follows,

iCAN (BMVC2018)	19.61	17.29	20.30	22.10	20.46	22.59

However, in the paper, the result of iCAN is,

iCAN 14.84 10.45 17.03 13.42 17.18 12.17 17.46 15.65.

Would u mind provide the details of your new iCAN result?

Sorry for the typo!
By the way, the misleading result comes from our PaStaNet on CVPR2020.
Sorry again for the typo and thanks for pointing out!

Thanks for your reply. Btw, I suppose you also have the result of HAKE-3D with PaStaNet.  Would mind provide the result?

The combination of HAKE-3D and PaStaNet is still in progress.


Fixed check mysql connections

If the second connection the error occurred, then the first one is also equal to this error.

Thanks for the your work. 👍


Read API token from file instead of environment variable

I am trying to spin up Caddy in a Docker container, passing a secret in the docker-compose file. Ref: https://docs.docker.com/engine/swarm/secrets/
Docker intentionally requires the contents of the secret to be in a file and not an environment variable. In a compose file it looks like:
services:
  reverseproxy:
    container_name: caddy
    build: .
    ports:
      - 443:443
      - 80:80
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - /shares/caddy/data:/data
      - /shares/caddy/config:/config
    secrets:
      - cloudflare-api-key

secrets:
  cloudflare-api-key:
    file: ./cloudflare-api-key.secret

At runtime, that copies the contents of the file ./cloudflare-api-key.secret into /run/secrets/cloudflare-api-key in a tmpfs in the container (ref docs linked above for explanation).
Is it possible to pass the API token as a path to a file rather than an environment variable?
tls {
    dns cloudflare /run/secrets/cloudflare-api-key
}

Note I worked around this by putting the secret in a .env file instead, but as the Docker documentation argues, this is probably less secure than putting it in a secret file https://docs.docker.com/compose/environment-variables/

FWIW I tried to write this but since I've never worked with Go I have no idea what I'm doing and it didn't seem to work. I spent way too much time trying to understand how to replace a module to even make the code work. Anyway - here's a link to a broken/partial implementation:
https://github.com/pettijohn/cloudflare/commit/39673a76fc821898cada5112c889d0b021c3d3a5

Can you use the --envfile flag to give Caddy the environment file that way? https://caddyserver.com/docs/command-line#caddy-run

This does work with some compose file magic. Overriding the entrypoint of the image is clunky as you can see but functional.
services:
  reverseproxy:
    container_name: caddy
    build: .
    restart: always
    ports:
      - 443:443
      - 80:80
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ./site:/site
      - /shares/caddy/data:/data
      - /shares/caddy/config:/config
    secrets:
      - cloudflare-api-key
    entrypoint: ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile", "--envfile", "/run/secrets/cloudflare-api-key"]

secrets:
  cloudflare-api-key:
    file: ./cloudflare-api-key.secret

Nice, thanks for posting your solution!
(Going to close if that's alright, since that works. Would prefer to not have to reinvent env files for each plugin...)

I think it's fine to close. https://docs.docker.com/engine/swarm/secrets/ says "Docker secrets do not set environment variables directly. This was a conscious decision, because environment variables can unintentionally be leaked between containers (for instance, if you use --link)." I think the caddy --envfile approach does not violate this because caddy loading its own environment state, not modifying the container's state (I assume). Seems like a fine approach.


Updates

support watching
use hooks api
Buffer.from
colors instead of icons

My bad, mean to open this against my own fork.


Added rotate-label/mob feature to Brace

Changelog / Overview

Added a parameter rotate: bool to Brace.put_at_tip() which allows Mobjects to be rotated in the same direction of the brace.
Now you can create a BraceLabel or BraceText and set the parameter label_rotate: bool to automatically rotate or not your label.

Explanation for Changes

Here's a test code I used to create the following images.

IMPORTANT: The new parameter is optional and False by default.

from manim import *

class braceTest(Scene):
    def construct(self):
        poly_1 = RegularPolygon(n = 4, radius = 2)
        poly_2 = RegularPolygon(n = 5, radius = 2)

        group = VGroup(poly_1,poly_2).arrange(buff=2.5)

        self.add(group)

        dir = [RIGHT,UR,UP,UL,LEFT,DL,DOWN,DR]
        rot = True

        for d in dir:
            ## put_at_tip TEST ##
            brace = Brace(poly_1,d)
            square = Square().scale(0.3)
            square.add(Dot(square.get_top(),color = RED))
            brace.put_at_tip(square, rotate = rot)
            self.add(brace,square)

            ## get_tex TEST ##
            # brace = Brace(poly_1,d)
            # lbl = brace.get_tex(r'e^{i\pi}+1', rotate = rot)
            # self.add(brace,lbl)

            ## get_text TEST ##
            # brace = Brace(poly_1,d)
            # lbl = brace.get_text(r'abc', rotate = rot)
            # self.add(brace,lbl)

            ## BraceLabel TEST ##
            # brace = BraceLabel(poly_1,r'\pi\theta', d, label_rotate = rot)
            # self.add(brace)

            ## BraceText TEST ##
            # brace = BraceText(poly_1,r'text', d, label_rotate = rot)
            # self.add(brace)

        p_0 = poly_2.get_points_defining_boundary()[0]
        for p in poly_2.get_points_defining_boundary()[1:]:
            if p_0[0] == p[0] and p_0[1] == p[1]:
                p_0 = p
                continue
            brace = BraceBetweenPoints(p_0,p)
            lbl = brace.get_tex(r'\gamma', rotate = rot)
            self.add(brace,lbl)
            p_0 = p

"Rotated" results

"Not rotated" results

Documentation Reference

Checklist

[ ] I have read the Contributing Guidelines
[ ] I have written a descriptive PR title (see top of PR template for examples)
[ ] I have written a changelog entry for the PR or deem it unnecessary
[ ] My new functions/classes either have a docstring or are private
[ ] My new functions/classes have tests added and (optional) examples in the docs
[ ] My new documentation builds, looks correctly formatted, and adds no additional build warnings

Reviewer Checklist

[ ] The PR title is descriptive enough
[ ] The PR is labeled correctly
[ ] The changelog entry is completed if necessary
[ ] Newly added functions/classes either have a docstring or are private
[ ] Newly added functions/classes have tests added and (optional) examples in the docs
[ ] Newly added documentation builds, looks correctly formatted, and adds no additional build warnings

If everything goes well with this PR I'll do the docs and examples for all Brace classes

This is a nice feature, thanks for your contribution! I have tried to resolve the existing merge conflicts, but before we can merge this, tests should be added to check that the functionality of this PR does not break with future updates.
Could you please have a look at our documentation for adding graphical unit tests and add one of your examples (without text, that's important due to default font issues) as a test for this?

Closing due to a lack of a response.


Password Reset email template control?

Are you guys planning to refactor the password reset?
Because as of now it's incredibly bad, the email template is something we have no control over and the temp. generated password is crazy long.
I've implemented it in our app but it's just because we have no other choice atm.
I'm in love with Ionic but something as basic as password reset is something we should have some control over, the email template at the very least.
Ionic v2

Hello! Thanks for opening an issue with us! May i ask what this is in regards too (the forum?) ? Thanks for using Ionic!

@jgw96 The password reset email that is sent out using Ionic User.

This issue was moved to driftyco/ionic-cloud-issues#141

Hello! Because this was a backend related issue and not an issue with the framework i have moved this issue to the appropriate repo. Thanks!


change website to be file based instead of all in Wordpress

Hey Folk,
A couple of updates on this, some questions we need to think about and general discussion.
I've put together a barebones demo repo here: https://github.com/obowersa/ort-netlify
A couple of notes on this:

The repo is barebones, based around hugo/docsy ( which we already use for the documentation site ). As it stands it has a handful of headings and a working deployment mechanism.
The site is currently deployed via netlify with preview deploys enabled. I also have a working deployment against AWS with preview URL's able to be generated/torn-down but it's a little rough.
There are currently no layouts specified.

The above three points lead to the main questions, primarily, do we want to use hugo/docsy, how do we want to deploy the site and do we want to match the existing wp layout as closely as possible.
1: Hugo/Docsy
I'm a fan of the combination, and we're already using it for the documentation side which is a plus. There is a lot which can be done as far as layout customization goes ( a great example is the kubernetes contributor site: https://www.kubernetes.dev/ ). Flexibility wise it gives us a lot and has a lot of community support around it, but it's worth continuing the discussion we had previously.
2: Deploying
This I think is the big open question as it has potential cost implications. Essentially, what is the target deployment for the site. Currently I've used netlify for ease of demonstration of the preview functionality, but getting the same workflow working with AWS/Azure/GCP should be doable ( for AWS/Azure I've done similar before, would need to dig into the GCP side. )
Or we could have this working as a deployment to a k8s cluster and containerize the site component. It would be great to clarify where we're currently deploying the docs site to and potentially matching that while adding preview functionality.
3: Layouts
This is really a question of how closely do we want to match the current site layout and how we want to approach the work on this. I can get us going with a fairly basic layout which will be similar to what we've got now if that works as a starter for ten.
There is the larger question of content migration, but I think figuring out the above is a great starting point. Deployment in particular.

Outside of the questions, I've set this up in a separate repo for demo purposes so feel free to have a play around. Pull requests submitted against the repo will trigger a build/deploy on netlify and build messages attached to the PR. Clicking on the details link for the deployment will load the preview site.
Regardless of what deployment mechanism we go with, I'll look to implement some form of preview functionality as it's really powerful for giving confidence in documentation edits without needing to have the full tool suite running locally.
I've left an open PR against the repo so folk can take an easy look at that side of it:
PR: https://github.com/obowersa/ort-netlify/pull/1
Base site: https://peaceful-bhaskara-fc75a4.netlify.app/
Preview Site: https://deploy-preview-1--peaceful-bhaskara-fc75a4.netlify.app/

Hey Folk,
A couple of updates on this, some questions we need to think about and general discussion.
I've put together a barebones demo repo here: https://github.com/obowersa/ort-netlify
A couple of notes on this:

The repo is barebones, based around hugo/docsy ( which we already use for the documentation site ). As it stands it has a handful of headings and a working deployment mechanism.
The site is currently deployed via netlify with preview deploys enabled. I also have a working deployment against AWS with preview URL's able to be generated/torn-down but it's a little rough.
There are currently no layouts specified.

The above three points lead to the main questions, primarily, do we want to use hugo/docsy, how do we want to deploy the site and do we want to match the existing wp layout as closely as possible.
1: Hugo/Docsy
I'm a fan of the combination, and we're already using it for the documentation side which is a plus. There is a lot which can be done as far as layout customization goes ( a great example is the kubernetes contributor site: https://www.kubernetes.dev/ ). Flexibility wise it gives us a lot and has a lot of community support around it, but it's worth continuing the discussion we had previously.
2: Deploying
This I think is the big open question as it has potential cost implications. Essentially, what is the target deployment for the site. Currently I've used netlify for ease of demonstration of the preview functionality, but getting the same workflow working with AWS/Azure/GCP should be doable ( for AWS/Azure I've done similar before, would need to dig into the GCP side. )
Or we could have this working as a deployment to a k8s cluster and containerize the site component. It would be great to clarify where we're currently deploying the docs site to and potentially matching that while adding preview functionality.
3: Layouts
This is really a question of how closely do we want to match the current site layout and how we want to approach the work on this. I can get us going with a fairly basic layout which will be similar to what we've got now if that works as a starter for ten.
There is the larger question of content migration, but I think figuring out the above is a great starting point. Deployment in particular.

Outside of the questions, I've set this up in a separate repo for demo purposes so feel free to have a play around. Pull requests submitted against the repo will trigger a build/deploy on netlify and build messages attached to the PR. Clicking on the details link for the deployment will load the preview site.
Regardless of what deployment mechanism we go with, I'll look to implement some form of preview functionality as it's really powerful for giving confidence in documentation edits without needing to have the full tool suite running locally.
I've left an open PR against the repo so folk can take an easy look at that side of it:
PR: https://github.com/obowersa/ort-netlify/pull/1
Base site: https://peaceful-bhaskara-fc75a4.netlify.app/
Preview Site: https://deploy-preview-1--peaceful-bhaskara-fc75a4.netlify.app/

@obowersa the docs.ortelius.io is a hugo server running as a container in our Azure k8s cluster.  Builds are setup to create the container on a PR.  Ortelius is hooked is to grab the necessary info for deployments.  The Linux Foundation will pick up the cost of running our cluster.
I will look at the site on netify and play with it.  Thanks for working on this.

@obowersa the docs.ortelius.io is a hugo server running as a container in our Azure k8s cluster.  Builds are setup to create the container on a PR.  Ortelius is hooked is to grab the necessary info for deployments.  The Linux Foundation will pick up the cost of running our cluster.
I will look at the site on netify and play with it.  Thanks for working on this.

No problem! I’m currently putting together a couple of initial themes and moving over a couple of bits of content to give more of a ‘feel’ for it.
On the azure front, AKS makes generate preview URLs fairly straight forward depending on the config. We can utilise the azure service annotation  to generate a public facing dev url, the annotation is along the lines off ‘ service.beta.kubernetes.io/azure-dns-label-name’
Which can generate a url of ..cloudapp.azure.com.
It’s then just a case of doing appropriate tear down/creation with the pipeline.
I can pull together an example pipeline for the repo with this in place against my aks setup to work as a starting point if we want to go this route, essentially similar to what we’ve got for the docs but with the generates preview url for the pr.

Owen

On Thu, 14 Jan 2021, at 6:50 PM, Steve Taylor wrote:

@obowersa https://github.com/obowersa the docs.ortelius.io is a hugo server running as a container in our Azure k8s cluster. Builds are setup to create the container on a PR. Ortelius is hooked is to grab the necessary info for deployments. The Linux Foundation will pick up the cost of running our cluster.

I will look at the site on netify and play with it. Thanks for working on this.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/ortelius/ortelius/issues/182#issuecomment-760397675, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXSCMMW5OT3VQ6HCVCUSEDSZ44HJANCNFSM4UT7QV5Q.

No problem! I’m currently putting together a couple of initial themes and moving over a couple of bits of content to give more of a ‘feel’ for it.
On the azure front, AKS makes generate preview URLs fairly straight forward depending on the config. We can utilise the azure service annotation  to generate a public facing dev url, the annotation is along the lines off ‘ service.beta.kubernetes.io/azure-dns-label-name’
Which can generate a url of ..cloudapp.azure.com.
It’s then just a case of doing appropriate tear down/creation with the pipeline.
I can pull together an example pipeline for the repo with this in place against my aks setup to work as a starting point if we want to go this route, essentially similar to what we’ve got for the docs but with the generates preview url for the pr.

Owen

On Thu, 14 Jan 2021, at 6:50 PM, Steve Taylor wrote:

@obowersa https://github.com/obowersa the docs.ortelius.io is a hugo server running as a container in our Azure k8s cluster. Builds are setup to create the container on a PR. Ortelius is hooked is to grab the necessary info for deployments. The Linux Foundation will pick up the cost of running our cluster.

I will look at the site on netify and play with it. Thanks for working on this.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/ortelius/ortelius/issues/182#issuecomment-760397675, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXSCMMW5OT3VQ6HCVCUSEDSZ44HJANCNFSM4UT7QV5Q.

@obowersa fyi, we have istio as part of the cluster and currently routing the docs.ortelius.io url to the docs container.  We could do a dev.ortelius.io for a branch update and www.ortelius.io for the prod (master branch).  Istio would route based on domain url to the correct backend.

@obowersa fyi, we have istio as part of the cluster and currently routing the docs.ortelius.io url to the docs container.  We could do a dev.ortelius.io for a branch update and www.ortelius.io for the prod (master branch).  Istio would route based on domain url to the correct backend.

Ok, cool. I was hoping we could achieve a short lived url per pr, but I'll need to catch up with you on the aks/istio setup. I'll look to do that via discord.
At a high level ( and my istio knowledge is a little rusty! ), if the istio operator is in use I think it's a case of generating a new entry in the list with the correct label, a little like this:

---
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  components:
    ingressGateways:
      - name: istio-ingressgateway
        enabled: true
      - namespace: <defined_namespace>
        name: ortsite-pr-<generated_number>
        enabled: true
        k8s:
          resources:
            requests:
              cpu: 200m
          serviceAnnotations:
            service.beta.kubernetes.io/azure-dns-label-name: ortsite-pr-<number>
          service:
            ports:
            - port: <external_port>
              targetPort: 80

---

Anyhow. Going to progress a couple of the layout bits and will update once that's there and will touch base on the aks side.

Ok, cool. I was hoping we could achieve a short lived url per pr, but I'll need to catch up with you on the aks/istio setup. I'll look to do that via discord.
At a high level ( and my istio knowledge is a little rusty! ), if the istio operator is in use I think it's a case of generating a new entry in the list with the correct label, a little like this:

---
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  components:
    ingressGateways:
      - name: istio-ingressgateway
        enabled: true
      - namespace: <defined_namespace>
        name: ortsite-pr-<generated_number>
        enabled: true
        k8s:
          resources:
            requests:
              cpu: 200m
          serviceAnnotations:
            service.beta.kubernetes.io/azure-dns-label-name: ortsite-pr-<number>
          service:
            ports:
            - port: <external_port>
              targetPort: 80

---

Anyhow. Going to progress a couple of the layout bits and will update once that's there and will touch base on the aks side.

The gateway will be predefined to handle the ingress on a static ip.  From there a VirtualService and DestinationRoute would be used to get the traffic to the right backend container.  Annotations and labels are used to identify two different versions of the container image running.
I think this is what istio defintion will look like (should be close)
---
#
# docs.ortelius.io - hugo/docsy guides container
#
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: ortelius-docs
spec:
  hosts:
    - "docs.ortelius.io"
  gateways:
    - ortelius-gateway
  http:
  - match:
    - uri:
        regex: '.*'
    route:
    - destination:
        host: ortelius-docs
        port:
          number: 80
---
#
# Websites
#
# Create a rule to route to the right container
#   ortelius-www prod routes to the ortelius-www container version-1
#   ortelius-www dev  routes to the ortelius-www container version-2
#
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: ortelius-www
spec:
  host: ortelius-www
  subsets:
  - name: prod
    labels:
      version: version-1
  - name: dev
    labels:
      version: version-2
---
#
# Virtual Service to route traffic to www.ortelius.io to
# the destination rule ortelius-www subset prod
#
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: ortelius-www
spec:
  hosts:
    - www.ortelius.io
  gateways:
    - ortelius-gateway
  http:
    route:
    - destination:
        host: ortelius-www
        subset: prod
        port:
          number: 80
---
#
# Virtual Service to route traffic to dev.ortelius.io to
# the destination rule ortelius-www subset dev
#
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: ortelius-dev
spec:
  hosts:
    - dev.ortelius.io
  gateways:
    - ortelius-gateway
  http:
    route:
    - destination:
        host: ortelius-www
        subset: dev
        port:
          number: 80

The destination rule is what will be updated as part of the deployment in which we will update the new containers label, ie the PR.   I believe that we can make it work without the destination rule, just more flexibility if we use one.

The gateway will be predefined to handle the ingress on a static ip.  From there a VirtualService and DestinationRoute would be used to get the traffic to the right backend container.  Annotations and labels are used to identify two different versions of the container image running.
I think this is what istio defintion will look like (should be close)
---
#
# docs.ortelius.io - hugo/docsy guides container
#
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: ortelius-docs
spec:
  hosts:
    - "docs.ortelius.io"
  gateways:
    - ortelius-gateway
  http:
  - match:
    - uri:
        regex: '.*'
    route:
    - destination:
        host: ortelius-docs
        port:
          number: 80
---
#
# Websites
#
# Create a rule to route to the right container
#   ortelius-www prod routes to the ortelius-www container version-1
#   ortelius-www dev  routes to the ortelius-www container version-2
#
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: ortelius-www
spec:
  host: ortelius-www
  subsets:
  - name: prod
    labels:
      version: version-1
  - name: dev
    labels:
      version: version-2
---
#
# Virtual Service to route traffic to www.ortelius.io to
# the destination rule ortelius-www subset prod
#
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: ortelius-www
spec:
  hosts:
    - www.ortelius.io
  gateways:
    - ortelius-gateway
  http:
    route:
    - destination:
        host: ortelius-www
        subset: prod
        port:
          number: 80
---
#
# Virtual Service to route traffic to dev.ortelius.io to
# the destination rule ortelius-www subset dev
#
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: ortelius-dev
spec:
  hosts:
    - dev.ortelius.io
  gateways:
    - ortelius-gateway
  http:
    route:
    - destination:
        host: ortelius-www
        subset: dev
        port:
          number: 80

The destination rule is what will be updated as part of the deployment in which we will update the new containers label, ie the PR.   I believe that we can make it work without the destination rule, just more flexibility if we use one.

Ah cool. Thanks Steve. That's super useful to know.
Just as an update on the site side of things, I began working on the layout tonight. Still a fair bit to do as far as replacing the placeholders and translating some of the hardcoded values into more composable block codes, but I wanted to share the updated PR environment link here so it's easier to get a sense of the direction. I'm trying to keep it as close to the current site as I can:
https://6000e615c8e74f0008c4a8be--peaceful-bhaskara-fc75a4.netlify.app/
All feedback is extremely welcome.

Ah cool. Thanks Steve. That's super useful to know.
Just as an update on the site side of things, I began working on the layout tonight. Still a fair bit to do as far as replacing the placeholders and translating some of the hardcoded values into more composable block codes, but I wanted to share the updated PR environment link here so it's easier to get a sense of the direction. I'm trying to keep it as close to the current site as I can:
https://6000e615c8e74f0008c4a8be--peaceful-bhaskara-fc75a4.netlify.app/
All feedback is extremely welcome.

As a further update to the above, I've now ported over the bulk of the content from the current site, not including multi-media content and a couple of pages referenced on the home page: https://deploy-preview-1--peaceful-bhaskara-fc75a4.netlify.app/

As a further update to the above, I've now ported over the bulk of the content from the current site, not including multi-media content and a couple of pages referenced on the home page: https://deploy-preview-1--peaceful-bhaskara-fc75a4.netlify.app/


Rename backup_env_ to env_

We actually use backup_env_ as our env to do things offered by rocksdb, I don't think it is much related to backup
@git-hulk WDYT? may i miss somethings?

Can't agree more, LGTM. 💯


Windows 8 and Windows Phone start Issue

TypeError: Nie można ustawić właściwości „backButtonIcon” dla niezdefiniowanego lub pustego odwołania
   at B.createHeaderBar (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:385:28501)
   at B.init (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:385:27469)
   at link (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:388:3587)
   at $ (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:101:149)
   at v (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:90:203)
   at g (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:82:299)
   at g (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:82:316)
   at Anonymous function (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:81:413)
   at Anonymous function (ms-app

Error: [$compile:tplrt] http://errors.angularjs.org/1.3.13/$compile/tplrt?p0=ionTabNav&p1=
   at fa (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:92:311)
   at T (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:82:418)
   at T (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:83:1)
   at E (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:80:430)
   at Anonymous function (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:388:17269)
   at $ (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:101:149)
   at v (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:90:203)
   at g (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic/js/ionic.bundle.min.js:82:299)
   at g (ms-appx://io.cordova.warehousecordova/www/bower_components/ionic

Looks like ionic don't support windows 8 back button, right?
I find on internet smillar post:
https://www.hoessl.eu/2014/12/on-using-the-ionic-framework-for-windows-phone-8-1-apps/
But solution didn't work.

Greetings @meron1122!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

Greetings @meron1122!
I've closed this issue because my sensors indicated it was old and inactive, and may have already been fixed in recent versions of Ionic. However, if you are still experiencing this issue, please feel free to reopen this issue by creating a new one, and include any examples and other necessary information, so that we can look into it further.
Thank you for allowing me to assist you.


ipptool: DEFINE-MATCH and WITH-VALUE need to better support rangeOfInteger

Right now DEFINE-MATCH doesn't work with rangeOfInteger, and WITH-VALUE doesn't allow testing values inside the range. We need this for some of the GSoC 2018 test files.

Tracking as libcups issue 9...


(gitextensions)(#2111) Add .NET 6 dependency

Description
Added .NET 6 dependency for Git Extensions.
Fixes #2111
Motivation and Context
Git Extensions now requires .NET 6.
How Has this Been Tested?

Ran current gitextensions install and saw it failed, just like #2111 indicates.
Installed the dotnet-6.0-desktopruntime package.
Ran Git Extensions again and it worked.
Added dependency to the .nuspec file.
Created a test package using new dependency.
Installed test package.
Everything worked as it should.

Screenshot (if appropriate, usually isn't needed):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Migrated package (a package has been migrated from another repository)

Checklist:

[x] My code follows the code style of this repository.
[ ] My change requires a change to documentation (this usually means the notes in the description of a package).
[ ] I have updated the documentation accordingly (this usually means the notes in the description of a package).
[ ] I have updated the package description and it is less than 4000 characters.
[x] All files are up to date with the latest Contributing Guidelines
[x] The added/modified package passed install/uninstall in the chocolatey test environment.
[x] The changes only affect a single package (not including meta package).

:white_check_mark: Package verification completed without issues. PR is now pending human review


Clarify the "DSPA not found" log message that happens when a DSPA is deleted

The issue resolved by this Pull Request:
n/a
Description of your changes:

Clarify the "DSPA not found" log message that happens when a DSPA is deleted
Testing instructions

n/a
Checklist

[x] The commits are squashed in a cohesive manner and have meaningful messages.
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has manually tested the changes and verified that the changes work

A new image has been built to help with testing out this PR: quay.io/opendatahub/data-science-pipelines-operator:pr-682
An OCP cluster where you are logged in as cluster admin is required.
To use this image run the following:
cd $(mktemp -d)
git clone git@github.com:opendatahub-io/data-science-pipelines-operator.git
cd data-science-pipelines-operator/
git fetch origin pull/682/head
git checkout -b pullrequest 8f7fabc640d52318a70e1b49a6e9e72a5533e81c
oc new-project opendatahub
make deploy IMG="quay.io/opendatahub/data-science-pipelines-operator:pr-682"

More instructions here on how to deploy and test a Data Science Pipelines Application.

/lgtm
/approve


Request new module: azure-tls-certificate

Related user story
#74
Type of module
terraform
If requesting a terraform module, what is the target cloud platform?
azure
What is the purpose of the module?
Create a valid TLS certificate using Letsencrypt issuer, to be used by other dependent modules (e.g. OpenShift IPI).
What is the category of the module?
network

/group certificate

/name tls-certificate

/displayName Azure TLS Certificate


[incubator/vault] Add support for prometheus operator

Signed-off-by: Alexandre Ledit<EMAIL_ADDRESS>
What this PR does / why we need it:
This PR add support for Prometheus Operator. It allows to create a ServiceMonitor resource for Prometheus to automatically scrape the vault-exporter. It also can create a PrometheusRules resource with some default rules, and custom ones.
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

None

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/assign @jbialy

Hi @AlexDouze, thanks for the PR, this is great! I just wanted to point out a few suggestions, please see the comments.

Hi @jbialy, I made the changes you suggested.
I had to add a new parameter serviceMonitor.podPortName in case you don't want to use the default vaultExporter and so a different port.
I added the related documentation in the README.

/approve
/ok-to-test

/lgtm

Thank you :)


Request for Bluetooth Section?

Is there any good bluetooth resources/libraries that we should be aware of?

Check these out

https://github.com/omergul123/Discovery
https://github.com/l0gg3r/LGBluetooth
https://github.com/ohwutup/OWUProximityManager

Also this one

https://github.com/jpsim/PeerKit

Thanks! But I'm looking for swift library or cocoapod framework to help me detect devices and stream audio to another bluetooth device... Do you know of any code examples/repos?

Only the above

@rlam3 http://stackoverflow.com/questions/30722810/stream-audio-from-microphone-via-bluetooth-to-another-iphone

https://github.com/lauraskelton/simple-share


Modify the number of positive samples

Sorry, @rm-wu @ga1i13o @gmberton @Enrico-Chiavassa . I want to modify the number of positive samples per round during training, but the following error occurred. How can I solve this problem：
Traceback (most recent call last):
  File "train.py", line 153, in <module>
    for images, triplets_local_indexes, _ in tqdm(triplets_dl, ncols=100):
  File "/home/qxp/anaconda3/envs/vpr/lib/python3.8/site-packages/tqdm/std.py", line 1130, in __iter__
    for obj in iterable:
  File "/home/qxp/anaconda3/envs/vpr/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 630, in __next__
    data = self._next_data()
  File "/home/qxp/anaconda3/envs/vpr/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1344, in _next_data
    return self._process_data(data)
  File "/home/qxp/anaconda3/envs/vpr/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1370, in _process_data
    data.reraise()
  File "/home/qxp/anaconda3/envs/vpr/lib/python3.8/site-packages/torch/_utils.py", line 706, in reraise
    raise exception
RuntimeError: Caught RuntimeError in DataLoader worker process 0.
Original Traceback (most recent call last):
  File "/home/qxp/anaconda3/envs/vpr/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line 309, in _worker_loop
    data = fetcher.fetch(index)  # type: ignore[possibly-undefined]
  File "/home/qxp/anaconda3/envs/vpr/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 52, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/home/qxp/anaconda3/envs/vpr/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 52, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/data/qxp/VPR/vpr/datasets_ws.py", line 278, in __getitem__
    query_index, best_positive_index, neg_indexes = torch.split(self.triplets_global_indexes[index], (1, 1, self.negs_num_per_query))
  File "/home/qxp/anaconda3/envs/vpr/lib/python3.8/site-packages/torch/functional.py", line 196, in split
    return tensor.split(split_size_or_sections, dim)
  File "/home/qxp/anaconda3/envs/vpr/lib/python3.8/site-packages/torch/_tensor.py", line 917, in split
    return torch._VF.split_with_sizes(self, split_size, dim)
RuntimeError: split_with_sizes expects split_sizes to sum exactly to 21 (input tensor's size at dimension 0), but got split_sizes=[1, 1, 10]

Can you share the info.log file?


Fixes #859 - Jump to other Account Transaction List

This Fix provides the "Jump" function of GnuCash (on Windows).
When you'are on an account transaction list :

Il you click on the transaction text title or elsewhere in the white zone of the item, it displays the details of the transaction as before.

But now, if you click on the other account (secondery text) of a transaction, the other account transaction list appears.
Pressing the back button unpops and jump back to the previous account transaction list

Video demo #855 to #859.zip

Thanks @JeanGarf
I have some thoughts. I think that the transaction text in the list view is a really small target to hit.
Also, when the transfer account name is long, it stretches out over the card and you might end up jumping to the account when you just meant to open it.
I would suggest instead to implement the jump from inside the transaction detail view.
That way, it will also work for multiple splits where from the transaction view, you can jump to any of the split accounts.
It might be necessary to increase the height of the account view in the split list to make it an easier target to hit.


Update README

Updated README.md to be clearer about what the application does and why it's useful. Also added usage hints, elaborated on the existing readme, and added a Contributor section.

Thank you for taking your time to improve the readme!


Create page for start page

Tweaked content on start page and example.
Related issue

Checklist

[ ] Tested against the NHS.UK frontend testing policy (Resolution, Browser & Accessibility)
[ ] Code follows the NHS.UK frontend coding standards
[ ] Version number has been increased in package.json (using SEMVER)
[ ] CHANGELOG entry - not yet
[ ] Whats new page entry - not yet
[x] Page updated date

The new page needs adding to the sitemap


feat(app): migration to nestjs

complete rewrite with typescript and nestjs

:tada: This PR is included in version 1.3.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Ubuntu > Add 23.10 (Mantic Minotaur)

:newspaper_roll:

https://discourse.ubuntu.com/t/mantic-minotaur-release-notes/35534
https://twitter.com/ubuntu/status/1712509138876399934
https://twitter.com/omgubuntu/status/1712494158227571142

:information_source:
Ubuntu 23.10 is Available to Download, This is What’s New

This update is a short-term release supported by 9 months of ongoing support, bug fixes, and critical app updates.

remember that Ubuntu 24.04 is out in April 2024 as a long-term support release with 5 years of support.

Ubuntu 23.10 is Available to Download, This is What’s New

This update is a short-term release supported by 9 months of ongoing support, bug fixes, and critical app updates.

remember that Ubuntu 24.04 is out in April 2024 as a long-term support release with 5 years of support.

Tweet


add divisibility of  13 and steps

There is no need of this calculator, as it is already there in Divide section
I.e divisibility checker is already there, So kindly requesting you to close all such related issues


It is not clear if "ESM Module Support" and Typescript are mutually exclusive

What is your Scenario?
I want to import the latest version of dateformat that exports itself as esm module only in my Typescript test file.
What is the Current behavior?
As dateformat only exports as esm I get:
ERROR Cannot import the /my-project/node_modules/dateformat/lib/dateformat.js ECMAScript module from /my-project/e2e/myTest.spec.ts. Use a dynamic import() statement or enable the --esm CLI flag.

So I enable the  "ESM Module Support" and I get:
ERROR Cannot prepare tests due to the following error:

TypeError: Unknown file extension ".ts" for /my-project/e2e/myTest.spec.ts

I also tried importing dateformat without "ESM Module Support" and using a dynamic import() in my test function and I get the same Use a dynamic import() statement or enable the --esm CLI flag.
So I understand that "ESM Module Support" and Typescript are mutually exclusive.
What is the Expected behavior?
The documentation should states that "ESM Module Support" and Typescript are mutually exclusive if it is true.
Eventually I would expect to be able to import esm only lib in my Typescript tests.
What is your public website URL? (or attach your complete example)
This issue does not mind about accessing DOM elements.
What is your TestCafe test code?
import { Selector, t } from "testcafe";
import DateFormat from "dateformat";

fixture`My fixture;

test("My test", async () => {
    const myElementSel = Selector("#myElement");
    await t.expect(myElementSel.innerText).contains(DateFormat(new Date(), "yyyy-mm-dd"));
});

Your complete configuration file
module.exports = {
    browsers: [
        "chrome",
    ],
    src: "e2e/**/*.spec.ts",
    reporter: [
        {
            name: "spec",
        },
        {
            name: "spec",
            output: "reports/report.txt",
        }
    ],
    quarantineMode: false,
    debugMode: false,
    debugOnFail: true,
    stopOnFirstFail: true,
    skipJsErrors: true,
    skipUncaughtErrors: true,
    appInitDelay: 7000,
    concurrency: 1,
    selectorTimeout: 5000,
    assertionTimeout: 5000,
    pageLoadTimeout: 3000,
    speed: 0.8,
    disablePageCaching: false,
    developmentMode: false,
    qrCode: false,
};

Your complete test report
No response
Screenshots
No response
Steps to Reproduce

Develop a test using Typescript
Import a lib that export only as esm module
Run the test

TestCafe version
<EMAIL_ADDRESS>Node.js version
v18.18.2
Command-line arguments
chrome
Browser name(s) and version(s)
No response
Platform(s) and version(s)
No response
Other
No response

Hi @tipy01,
I didn't manage to reproduce the issue. I took your test and config. First of all, I ran the test as is and got an error saying that I should use the --esm option. Then I tried to run the test with the --esm option and everything worked correctly except for the error with the selector.
My test has a *.ts extension and a config with a*.js extension. I run it on Node 18.18.2, TestCafe 3.3.0, Windows 11. Please check your test again in isolated conditions.

Hi @Aleksey28, thank you for your fast response.
I think that you did not manage to reproduce it because you do not have the "type": "module"  line in your package.json.
I have this line in mine and my testacfe config has a .cjs extension (as it fits for a project with "type": "module" in package.json).

I changed the extension of the testcafe config file to *.cjs, and added "type": "module" to the package.json. I got the same result – only the issue with selector. Please create a public repo on GitHub with this example.

Thanks for trying @Aleksey28,
I made a minimal repo
So you can try launching the test in e2e folder with and without esm: true, in .testcaferc.cjs

StartupHi @tipy01,
I see that you try to set the esm option to the config file. There is only one way to turn on ESM: pass the --esm option to CLI. You cannot pass this option to the config file or directly to the runner.

Hi @Aleksey28,
I get the same problem if I put the "--esm",  in the args list of launch.json (so as a CLI option).

I managed to reproduce the issue. It occurs because the launcher with these configs starts a process in a way that bypasses our ESM handler. As a workaround, you can add a script to package.json, for example:
  "scripts": {
    "testChrome": "testcafe chrome e2e/test.spec.ts --esm --ignore-certificate-errors"
  },

Then, add this type of config to the launcher:
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node-terminal",
      "request": "launch",
      "name": "TestCafe Chrome launch test file",
      "command": "npm run testChrome"
    }
  ]
}

Hello @Aleksey28,
Thank you for your attempts, I tried your workaround but it does not works (I get similar errors).
Actually I do not think it is linked to the way we launch the test because I get the sames errors when I type node ./node_modules/testcafe/bin/testcafe.js chrome e2e/test.spec.ts --esm --ignore-certificate-errors in the VS Code terminal.

Hi @tipy01,
I see. Use ./node_modules/testcafe/bin/testcafe-with-v8-flag-filter.js instead of ./node_modules/testcafe/bin/testcafe.js.

Hi @Aleksey28,
Ok with testcafe-with-v8-flag-filter.js it works. Thanks.


warning/errors reporting breaks at nightly

With nightly cargo if I run cargo cmd inside of crate that part of workspace,
it reports errors like this:
$ cargo +nightly build
   Compiling foo v0.1.0 (file:///tmp/1/foo)
error: expected one of `!` or `::`, found `#`
 --> foo/src/lib.rs:2:1

instead of
$ cargo +stable build
   Compiling foo v0.1.0 (file:///tmp/1/foo)
error: expected one of `!` or `::`, found `#`
 --> src/lib.rs:2:1

See the difference - foo/src/lib.rs vs src/lib.rs.
This breaks many editor/IDE I suppose. In particular it breaks functionality
press on error/warning in compilation log and jump to suitable location in file.
For example with intellij-rust/intellij-rust jump from error/warning doesn't work with nightly:  https://users.rust-lang.org/t/intellij-rust-and-compile-errors/15103
It breaks cargo.el project kwrooijen/cargo.el#51 (emacs wrapper around cargo commands),
also it breaks standard emacs compilation-mode, because of compilation-mode doesn't handle situation when cwd of compile comand is not equal to root of relative path.
I suppose this is related to #4788
Tested with
rustc 1.25.0-nightly (8ccab7eed 2018-01-31)
cargo 0.26.0-nightly (1d6dfea44 2018-01-26)

Also I attach simple workspace project to make problem clear.
1.zip

Yes this was caused by https://github.com/rust-lang/cargo/pull/4788 and currently (if we don't revert) IDEs will need to update to call cargo metadata and learn the root of a workspace

@alexcrichton

Yes this was caused by #4788 and currently (if we don't revert) IDEs will need to update to call cargo metadata and learn the root of a workspace

I am expecting that would be rather complex for at least GNU Emacs, long release cycle,
too wide range of users and particularly compile-mode.
But why would internal caching (as I understand #4788 ) should affect visible program behaviour,
why not save cwd at start and then use it during output?

@davemilter there was a feature request on Cargo to not recompile artifacts when the cwd changed or when the project was renamed, and fixing that also necessitated #4788. I think https://github.com/rust-lang/rust/issues/47939 would help with this issue as well

Flycheck reporting in.  #4788 surprised us as well, but in our case we are using the JSON output, and there, until #4788, we had absolute file paths.  Is the change to relative paths in JSON output intended?
I've seen #4938, and while we can use that, I'd rather have absolute paths than call cargo metadata to figure out the workspace root.

@fmdkdd another good point! Mind filing an issue against rustc for that? (I think those paths in error messages come from rustc)

I was mistaken: before, #4788, cargo outputted paths relative to the CWD.  Now they are relative to the workspace root.  They were never absolute (as far as I can tell).
I'd still like absolute paths, but I guess that with rust-lang/rust#47939, we could at least restore the previous behavior right?

@fmdkdd there's now workspace_root key in cargo metadata which can be used to make relative paths absolute. See https://github.com/kwrooijen/cargo.el/pull/55 for an example of usage.

@matklad I've seen #4938.  I was just hoping for a solution that would not require us to call cargo metadata beforehand.  Absolute paths in the JSON output still make more sense to me, as they cannot be wrong.  But it looks like rust-lang/rust#47939 is not leaning in that direction.

@matklad Since rust-lang/rust#47839 has been closed, we have resorted to using cargo metadata and workspace_root after all.  Consider this issue closed for Flycheck.


Update documentation for the new Project Explorer

Sorry for the confusion here, @MariaShaposhnikova please continue your review.


Don't leak variables from the rendering process into templates

This PR fixes #301 where the rendering process variables $level (nested template depth) and $path are removed from the template's local scope. $path got removed by not generating a temporary variable but $level is now stored in a class attribute dedicated to the nesting level during the rendering process.

Thanks! This has been fixed here: https://github.com/thephpleague/plates/commit/d1247c155dc9d4eb72e4621cdce59d2c81482985

That's a clever solution. :+1:


How to return (and seperate) data for multiple components to the redux store?

Question
How to?
The fetching of data by middleware.js always dispatches REQUEST_SUCCESS
 store.dispatch({ type: types.REQUEST_SUCCESS, data });
How is it possible for different components to have data returned and put in the store under different keys/avoid being over-written when it always comes back to only the one reducer no matter which component requested it?
Are nested reducers (inside REQUEST_SUCCESS) needed to achieve this?
 Component data requests with the server-side rendering is really hard to understand.

Managed this using a slight variation of https://github.com/reactGo/reactGo/compare/master...choonkending:fetch-multiple-services#diff-ba9570831c6ea357c70092cbcb202b90R73
But /fetch-data/fetchVoteData.js line 4:
const fetchData = () => voteService().getTopics();
But middleware.js line 54 add:
`import { sessionId } from '../../config/secrets';
match({ routes, location: req.url }, (err, redirect, props) => {
/* Give the user's session to the server to use */
if (req.cookies[sessionId]) {
axios.defaults.headers.common.Cookie = sessionId + '=' + req.cookies[sessionId];
}`


Adaptive Card with hyperlink is not rendered correctly on SharePoint

On the bot emulator /webchat it is being rendered correctly, but on SharePoint integration it appears all as text:

I send the card as using MessageFactory.Attachment(..)
and the same issue appear also for the QnAMakerDialog class, when the answer contains formated hyper link text
This is my adaptive card I send as response:
{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.0",
"speak": "",
"body": [
{
"type": "TextBlock",
"text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. test link",
"isSubtle": true,
"wrap": true
}
],
"actions": [
{
"type": "Action.Submit",
"title": "Click here to try again",
"data": "check invoice",
"text": "check invoice",
"style": "positive"
},
{
"type": "Action.Submit",
"title": "Click here to start over",
"data": "start over",
"text": "start over",
"style": "destructive"
}
]
}
So it seems to work well on bot emulator or webchat, but not on SharePoint.
Any known issues or workarounds?
If I send this as a text, it works on SharePoint too (using MessageFactory.Text("...text")

@tamerin-tech can you use Web Chat v4?
The transcript you are showing is using Web Chat v3 and it's on maintenance mode.

I cannot change it. I found a workaround by adding a middleware that replaces the formatting
[text](url)
to
text
and now it renders fine. Closing issue


Implement import from CSV files

Import from JSON files is currently supported, by running:
tigris import {db_name} <users.json

This task is about supporting the same for CSV files:
tigris import {db_name} <users.csv

Fixed by https://github.com/tigrisdata/tigris-cli/pull/224


Cross origin operation is now allowed.

deployed webssh behind nginx (windows), connect OK with PC browser.
While connect failed with safari in iphone.
report “Cross origin operation is now allowed.”

[W 191118 10:46:53 web:1667] 403 POST / (172.16.xx.xxx): Cross origin operation is not allowed.
[I 191118 10:46:53 web:2162] 200 POST / (172.16.xx.xxx) 3.85ms
server report above.

wssh --origin="*" --debug
to fix the error, while connection to ssh server always colsed by worker.

xtermjs doesn't support mobile.
https://github.com/xtermjs/xterm.js/issues/1902


REFACT: fIx issue in examples

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 76.60%. Comparing base (25ce6a5) to head (5961d10).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4558      +/-   ##
==========================================
- Coverage   81.51%   76.60%   -4.92%
==========================================
  Files         110      110
  Lines       53744    53744
==========================================
- Hits        43811    41168    -2643
- Misses       9933    12576    +2643


Getting output/ folder for ADLS Gen2

Hi,
As given in the documents, I tried to save the output by using Dataset.from_files() function, but for the ADLS gen2 datastores, this does not work, giving me an error,
UserError: User program failed with PermissionDeniedError: /tmp/tmp8kq34epx/train.tf_record; Read-only file system
Please reference this in docs, that it is not possible to write for ADLS gen2 datastores.
Also, in this case, is the user limited to writing the output in just the ./outputs & ./logs folder always? Is it possible to write the output in the local folders too?
[Enter feedback here]

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

ID: 62a2a1c7-808f-e969-932c-9edc399071ee
Version Independent ID: 16f092af-03f0-852f-6b30-9b8267cdf1de
Content: Where to save & write experiment files - Azure Machine Learning
Content Source: articles/machine-learning/how-to-save-write-experiment-files.md
Service: machine-learning
Sub-service: core
GitHub Login: @rastala
Microsoft Alias: roastala

Thanks for the feedback. This is a known feature gap in Azure Machine Learning. We are on track to release output feature to allow users to output data and write data directly to ADLS Gen2. Stay tuned for release notes.

Thanks for the update @MayMSFT .


[pigment-css][vite] HMR doesn't work when removing a css property

Steps to reproduce
Link to live example: https://github.com/o-alexandrov/pigment-css-hmr-bug
Steps:

Run npm run dev
Look at the styles in the browser
Edit existing styles in src/css.ts (ex. background)
HMR doesn't work

https://github.com/mui/material-ui/assets/9992724/e589ef5a-ea46-4f0d-9226-e959934b38b3
Current behavior
HMR doesn't work in the described scenario
Expected behavior
HMR works
Context
No response
Your environment

npx @mui/envinfo
Used both Safari and Chrome
  System:
    OS: macOS 14.4
  Binaries:
    Node: 21.7.1 - /opt/homebrew/bin/node
    npm: 10.5.0 - /opt/homebrew/bin/npm
    pnpm: Not Found
  Browsers:
    Chrome: 123.0.6312.58
    Edge: 112.0.1722.39
    Safari: 17.4
  npmPackages:
    @pigment-css/react: 0.0.3
    @pigment-css/vite-plugin: 0.0.3
    @emotion/react:  11.11.4
    @emotion/styled:  11.11.0
    @mui/private-theming:  5.15.14
    @mui/styled-engine:  5.15.14
    @mui/system:  5.15.14
    @mui/types:  7.2.14
    @mui/utils:  5.15.14
    @types/react: 18.2.65 => 18.2.65
    react: ^18.2.0 => 18.2.0
    react-dom: ^18.2.0 => 18.2.0
    typescript: 5.4.2 => 5.4.2

Search keywords: pigment hmr

Thank you, it's fixed in the unpublished changes.
I installed the packages, referencing them locally and manually confirmed HMR is working


Add author field to module metadata

Since a few people use author (including me) I feel like this is a useful addition. The author/creator field in the metadata is not actually checked anywhere.

The creator field is used by the frontend, so all uses of author should be changed to creator instead of adding it as a new field


[10.x] Add elseunless directive

In Blade we have a unless directive, but there is no directive about elseunless like: if & elseif.
@unless($user->isTeacher())
// ...
@elseunless($user->isStudent())
// ...
@endunless

You can use @else

@faissaloux
No, this directive like elseif no else.

I honestly just find else-unless so hard to read.


Create LICENSE

Adds an MIT license to the project.

As discussed, I've instead added a license file for Apache 2.0 because it was already licensed:
https://github.com/amplifiedai/pretty/blob/a7f5bfde071c681b183a0b46c51ea3ea2dcea165/mix.exs#L57-L57


eager is not a function

I'm running objection v3.0.1 with knex v.2.1.0 and i'm getting errors if I try and fetch a model relation. The query that i'm trying to run is
{ 	tasks(id:4) { 		id 		name 		deal_id 		questions { 			id 			name 		} 	} }
and i get the error builder.eager is not a function. I've looked a the objection documentation and eager has been deprecated and replaced with withGraphFetched. Does anyone know if theres a fork or pr that has patched this?

@root0x This version is not compatible with objection 3.x, This package objectionjs-graphql can solve your issue


Investment Expenses Tab

Hello,
I just have a quick question for you.
In the tax-friendly output file: Are the transactions in the "Investment Expenses" tab already factored into the "Capital Gains" tab?
Do "Investment Expenses" get their own tab simply for easy record-keeping, or, do I need to manually go through my "Capital Gains" transactions and adjust the cost basis myself, based upon what I see in the "Investment Expenses" tab?
Thank you!

The transactions in the "Capital Gains" tab are self-contained and there is no need to adjust their cost basis. The transactions in "Investment Expenses" tab are also self-contained: they affect the in-out lot relationship and so they are reported in the output (more on this in the FAQ). Hope this helps.

Got it.  Thank you.


Hard Monotonic Transducer

(Adding on issues board for documentation, this PR will be out over the week.)
Wu and Cotterell's papers on strong alignment seem just up our alley for the library. There should be an implementation of https://aclanthology.org/P19-1148/ , particularly the monotonic cases.
Currently I have going a version that allows the following variants:

Hard alignment. Non-monotonic.
Hard alignment. Monotonic.
Hard alignment. First order monotonic.

and 3) should be good for most tasks, 1) should be available for more niche cases.

Things to add on to the PR once it's up (this makes sense to me now, will makes sense with accompanying PR).

Original implementation stores all alignment and emission probabilities across the decoding as a cache for loss calculation. This seems unnecessary and should be a running sum.
Ideally, the validation step should give the loss for the gold transcription. However, this requires taking into account decoding passes that produce predictions longer/shorter than the gold. Need to find a good way to penalize this while still making the loss intuitable.
Need to double check, but I believe the prediction pass the decoder can be offloaded to our prexisting attention module.

@kylebgorman  @Adamits  Any additional preferences during development? I've been dancing back and forth with adding in the Ahroni and Goldberg Transducer too, just for completeness. (This and the Swissmen's transducer both supercede that one.)

My only thought is I am most excited about variant 2.
I thought the A&G thing was outmoded also, but it's harmless if you want to do it later.

Yeah this sounds good. I have a partial implementation of 3) in a fork somewhere from a year ago that I never finished because I got distracted :D. Will be great to see them in here.
iirc 2) and 3) should be small variations on the implementation of 1), right? I.e. in the paper I think 2) is basically 1), but they just enforce the monotonicity constraint in the mask.

Original implementation stores all alignment and emission probabilities across the decoding as a cache for loss calculation. This seems unnecessary and should be a running sum.

Agree

Ideally, the validation step should give the loss for the gold transcription. However, this requires taking into account decoding passes that produce predictions longer/shorter than the gold. Need to find a good way to penalize this while still making the loss intuitable.

Not sure I follow---why is this not an issue with existing architectures?

Need to double check, but I believe the prediction pass the decoder can be offloaded to our prexisting attention module.

I cannot remember---this would imply that all of the constraints are strictly for training, and at inference a regular old soft attention distribution is used?

I thought the A&G thing was outmoded also, but it's harmless if you want to do it later.

Agree, though if it's low effort, I am always a fan of having more baselines available. However, I feel like the trick for this model is fairly different from what our codebase typically does, so it might be more effort to implement than it seems. On the topic of baselines, I think Wu and Cotterel also compared to an RL baseline that samples alignments and optimizes with REINFORCE. We could also add that at some point :D. It is probably also available in their library.
Both of those are very low priority, though.

EDIT: I just realized the issue (also my trick does not actually solve loss issues). We normally do teacher forcing so it is a non-issue...

Yeah it's kinda annoying right? I'm tempted to just repeat the last character up to target length but that's not going to be accureate.

Need to double check, but I believe the prediction pass the decoder can be offloaded to our prexisting attention module.

I cannot remember---this would imply that all of the constraints are strictly for training, and at inference a regular old soft attention distribution is used?

Probably need the constraint for inference too unless the model just learns to zero out prior attention. What I mean is, there's a bit of duplicate work between the two (technically the outputs are taking an attention over all potential alignments), but I need to sit down a moment to figure how far that can be stretched without violating some assumptions.

I thought the A&G thing was outmoded also, but it's harmless if you want to do it later.

Agree, though if it's low effort, I am always a fan of having more baselines available. However, I feel like the trick for this model is fairly different from what our codebase typically does, so it might be more effort to implement than it seems.

Yeah, it's not a major model anymore, but I think it's handy for just showing power of constraints in word level tasks. A general focus of the library seems to be how monotonic and attention assumptions improve transduction tasks. So may be worth including for posterity.

On the topic of baselines, I think Wu and Cotterel also compared to an RL baseline that samples alignments and optimizes with REINFORCE. We could also add that at some point :D. It is probably also available in their library.

My RL is weak but I believe the Edit Action Transducer employs a version of reinforce. (Or Dagger. It's Daume adjacent is what I'm saying.) So while low-priority, it may play into a general framework of student-teacher approaches to include in here (https://github.com/CUNY-CL/yoyodyne/issues/77). It'll take a few weekends for me to parse out, but I really like the idea that  any model can support a drop-in expert/policy advisor for training/exploration.


Missing command LPOS

https://redis.io/commands/lpos
<?php

namespace Predis\Command;

class ListPosition extends Command
{
    /**
     * {@inheritdoc}
     */
    public function getId()
    {
        return 'LPOS';
    }
}

Hi @sgc-fireball, actually it's not just LPOS as we are missing all of the commands added in Redis 4, 5 and 6. Adding support for a missing command in a proper way is not as immediate as it might seem so it could still take a bit longer to get Predis on par again with Redis, but in the meanwhile nothing stops you from using Predis\Client::executeRaw().


为了使用LocationUtils 我几乎复制了你全部的工具类. 各个工具类之间耦合太严重,希望能推出一个library

Describe the bug
A clear and concise description of what the bug is.

The version of utilcode:
The device:
The version of device:

The code of bug

put your code here

The stack of crash

put the stack of crash here

Screenshots
If applicable, add screenshots to help explain your problem.
Please delete the current line and the followings.
Thank you for supporting AndroidUtilCode.

你依赖的版本很老吧，LocationUtils 是一个独立的类在 subutil 下面，推荐还是用第三方的定位比较好。


terminal shortcut for mac

@macbookandrew see this commit: https://github.com/zaggino/brackets-git/commit/45fcdf9d2b34813fcad33ce5f72593a57f1347ca

I have iTerm installed, it properly opens when closed, but I'd need to fix this from you if possible:

close iTerm with cmd+Q
click Brackets Git terminal icon.
launches properly
close iTerm with red cross in top left corner (it will stay running in the background as hinter by docker)
click Brackets Git terminal icon.
error:

Error: Error: /Users/***/Library/Application Support/Brackets/extensions/user/zaggino.brackets-git/shell/terminal.osa:434:498: execution error: iTerm got an error: Can’t set current terminal to "Brackets-Git". (-10006): osascript "/Users/zaggino/Library/Application Support/Brackets/extensions/user/zaggino.brackets-git/shell/terminal.osa" "/Users/zaggino/Library/Application Support/Brackets/extensions/user/zaggino.brackets-git/"

@zaggino When you get a chance, could you test this new script? It should fix the above issue as well as handling existing and new sessions much more cleanly.

@macbookandrew There has been a change in the behaviour I've currently realized.
When I open an iTerm tab, and run a gulp task for watch or an application with nodemon (so the iTerm stays busy) I can't open another window with clicking the terminal icon again. I could do that before. Isn't there possible to add another check whether the tab is running some command currently or not?

What's worse, iTerm doesn't have right click -> open new tab (at the same working directory) :angry:

I’ll see what I can do…


Add information about the sandbox endpoint

Resolves https://github.com/wso2-enterprise/choreo/issues/17727

This information will be covered in detail in the Deployment section in the docs once https://github.com/wso2-enterprise/choreo/issues/17657 is fixed.


Vim 8 background job startegy

Right now there is no strategy that supports background jobs added in Vim 8. Dispatch might get one eventually, but https://github.com/tpope/vim-dispatch/pull/193 looks stale and incomplete.
Anyway can you please add support of https://github.com/neomake/neomake? This runner looks like a great match for vim-test.

@z0rc I think I would rather wait for Dispatch.vim to add the background jobs, because then it doesn't need to be reimplemented in two places.
As for Neomake, I suppose it wouldn't be difficult to add, and the implementation would probably be very similar to the make strategy (maybe even just replacing :make with :Neomake).

Is this something you'd like someone to submit a PR for?

According to https://github.com/neomake/neomake/issues/1138 @markwoodhall has done it using Neomake.
As for myself, I am using vim-test with vim-dispatch-neovim currently (using these changes: https://github.com/radenling/vim-dispatch-neovim/pull/11).

I've been working on a PR for a dotnet core test runner and as part of that was looking at using Neomake too. I'm not sure what I've done is particularly robust or finished at the moment, but I've been using it heavily this week. I'm happy to make any improvements that would be needed to make sure a Neomake strategy is reliable and works well.
https://github.com/markwoodhall/vim-test/commit/b2cb6c2b71324a46078ed691d57b2b4e34ca6e04#diff-52fe4cbf4297c73b5a08849fdfa5eb1c

@markwoodhall That's great, yes, it would be great if you could submit PRs for both dotnet runner and Neomake strategy. However, it seems that the current Neomake strategy just uses the errorformat that has already been set, right? In that case you always need to remember to execute the :compiler command when you turn on Vim in your project. I mean, I guess that isn't so bad, the tests would still execute, the only thing is that the quickfix list with test errors wouldn't be properly formatted and linked with an invalid errorformat.
In test#strategy#make handled that by invoking Dispatch.vim to find the right compiler for the given test command, and then executing that compiler to set the errorformat before the test command is executed. Basically I'm doing the same logic that Dispatch.vim internally does, just running :make instead of :Make. The advantage of that approach is that you don't need to remember to run the compiler before running your tests. The disadvantage is that you need to have Dispatch.vim installed as well. That's why I like the idea of Dispatch.vim having a strategy for Vim 8 background jobs.
But it's definitely possible to integrate Neomake, perhaps we could do the dispatch#compiler_for_program + temporary errorformat setting logic be executed only when Dispatch.vim is installed, otherwise just use whichever errorformat is set at the moment, like it's currently in your fork (and document that difference in behaviour).

I will look to see if I can do something similar to the make strategy, where manual switching of the compiler is not needed. At the moment, I just have bindings for running each of the :Test* commands where the compiler is set correctly for what I'm doing. Which is annoying.

Closing this as PR has been merged in