[core] support custom commitUser

Purpose
In our business scenario, the full data are written to the paimon table through bound stream job. Using of bound stream job instead of batch job is to enable downstream build index faster and further reduce the inc data of catchup. When bound stream job failover, the random commitUser will recover from Flink state, this is no problem.

But In our business scenario, we use Apache Airflow schedule Flink jobs. A Airflow node will fail due to lots of reasons. Then user clear the airflow node, a new Flink bound stream job will start with no state, so a new CommitUser will be generated. This will affect downstream judgment on whether to use a new build index processor.
So I submit this pr, we can assign a fixed commitUser to an Airflow node.

Tests
Add ut
API and Format

Documentation

It is not so simple... The commitIdentifier should be incremental too.

It is not so simple... The commitIdentifier should be incremental too.

Yes，I change the config from customCommitUser to customCommitUserPrefix.
pls cc，thx


Add "NDA" in the governance

It might me great to state explicitly in the governance that team members can't share the discussions and the private docs outside of the team (even after they leave team).
Note that I do not really expect this to happen in practice.

NDAs which span more than one jurisdiction are super hard to do right, and unless there's a signed contract, they will not hold up in court. In Germany, if your NDA prevents me from working, you have to compensate me or the NDA is void.
Long story short, I think outside of a trust-based system, we don't have anything, really.


definition of taste

Hi,
Gillian (a FB curator) pointed out that the current
definition of taste is a bit mammal-centric.
term: taste
goid: GO:0007607
definition: The series of events required for the
chemical composition of a soluble stimulus to be
received and converted to a molecular signal by the
taste buds in the tongue and throat.
definition_reference: GO:jl
definition_reference: ISBN:0395825172
In adult flies, gustatory organs are present at many
sites including the proboscis and mouth surface, but
also on the legs and wing margins.
Therefore, does anyone mind if I shorten the definition to:
definition: The series of events required for the
chemical composition of a soluble stimulus to be
received and converted to a molecular signal.
Thanks,
Becky
Reported by: beckyfoulger
Original Ticket: "geneontology/ontology-requests/1452":https://sourceforge.net/p/geneontology/ontology-requests/1452

thanks www.movied.org


loud after 2-3 second silence

Hey,
I am having this issue, well more like an annoyance.
Let's say in a video a person is talking and he stops for 3 seconds.
In that 3 seconds, it's silence (maybe a little wind sound).
Then when he starts talking again the sound is very loud and adjusts to being normal in a second. This negates the purpose of this preset. But that initial punch of a sound is really hurting my ears.
I don't wanna sound ungrateful. This preset did help me when there was no other option for loudness equalization.
Is there any way I can fix it? This would really help me out.

Hello. I'm using this preset from years and never experienced this issue.
Are you using the one for Easy Effects or Pulse Effects?
Maybe it could be related to your hardware/speakers. Which system and distribution are you using?
Please save the config you are using in a different preset and post it here.

I am using the easyeffects.
Heres some details about my system.
System Details Report

Hardware Information:

Hardware Model:                              ASUS PRIME H610M-E D4
Memory:                                      16.0 GiB
Processor:                                   12th Gen Intel® Core™ i3-12100F × 8
Graphics:                                    AMD Radeon™ RX 6600 XT
Disk Capacity:                               1.5 TB

Software Information:

Firmware Version:                            0601
OS Name:                                     Ubuntu 24.04 LTS
OS Build:                                    (null)
OS Type:                                     64-bit
GNOME Version:                               46
Windowing System:                            Wayland
Kernel Version:                              Linux 6.8.0-36-generic

And this is the preset,
I just added the crossfeed with default loudnesseqaulization.json
{
    "output": {
        "blocklist": [],
        "compressor#0": {
            "attack": 130.0,
            "boost-amount": 6.0,
            "boost-threshold": -60.0,
            "bypass": false,
            "dry": -100.0,
            "hpf-frequency": 10.0,
            "hpf-mode": "off",
            "input-gain": 0.0,
            "knee": -24.0,
            "lpf-frequency": 20000.0,
            "lpf-mode": "off",
            "makeup": 0.0,
            "mode": "Upward",
            "output-gain": 0.0,
            "ratio": 5.0,
            "release": 600.0,
            "release-threshold": -100.0,
            "sidechain": {
                "lookahead": 0.0,
                "mode": "RMS",
                "preamp": 0.0,
                "reactivity": 10.0,
                "source": "Middle",
                "stereo-split-source": "Left/Right",
                "type": "Feed-forward"
            },
            "stereo-split": false,
            "threshold": -10.0,
            "wet": 0.0
        },
        "crossfeed#0": {
            "bypass": false,
            "fcut": 650,
            "feed": 9.5,
            "input-gain": 0.0,
            "output-gain": 0.0
        },
        "equalizer#0": {
            "balance": 0.0,
            "bypass": false,
            "input-gain": 0.0,
            "left": {
                "band0": {
                    "frequency": 32.0,
                    "gain": 3.5,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band1": {
                    "frequency": 64.0,
                    "gain": 2.0,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band2": {
                    "frequency": 128.0,
                    "gain": 1.0,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band3": {
                    "frequency": 256.0,
                    "gain": 0.0,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band4": {
                    "frequency": 512.0,
                    "gain": -0.5,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band5": {
                    "frequency": 1024.0,
                    "gain": -1.5,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band6": {
                    "frequency": 2048.0,
                    "gain": -0.25,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band7": {
                    "frequency": 4096.0,
                    "gain": 1.25,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band8": {
                    "frequency": 8192.0,
                    "gain": 2.75,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band9": {
                    "frequency": 16384.0,
                    "gain": 3.0,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                }
            },
            "mode": "IIR",
            "num-bands": 10,
            "output-gain": 0.0,
            "pitch-left": 0.0,
            "pitch-right": 0.0,
            "right": {
                "band0": {
                    "frequency": 32.0,
                    "gain": 3.5,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band1": {
                    "frequency": 64.0,
                    "gain": 2.0,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band2": {
                    "frequency": 128.0,
                    "gain": 1.0,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band3": {
                    "frequency": 256.0,
                    "gain": 0.0,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band4": {
                    "frequency": 512.0,
                    "gain": -0.5,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band5": {
                    "frequency": 1024.0,
                    "gain": -1.5,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band6": {
                    "frequency": 2048.0,
                    "gain": -0.25,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band7": {
                    "frequency": 4096.0,
                    "gain": 1.25,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band8": {
                    "frequency": 8192.0,
                    "gain": 2.75,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                },
                "band9": {
                    "frequency": 16384.0,
                    "gain": 3.0,
                    "mode": "RLC (BT)",
                    "mute": false,
                    "q": 1.6,
                    "slope": "x1",
                    "solo": false,
                    "type": "Bell",
                    "width": 4.0
                }
            },
            "split-channels": false
        },
        "gate#0": {
            "attack": 2000.0,
            "bypass": false,
            "curve-threshold": -40.0,
            "curve-zone": -40.0,
            "dry": -100.0,
            "hpf-frequency": 10.0,
            "hpf-mode": "off",
            "hysteresis": false,
            "hysteresis-threshold": -12.0,
            "hysteresis-zone": -6.0,
            "input-gain": 0.0,
            "lpf-frequency": 20000.0,
            "lpf-mode": "off",
            "makeup": 0.0,
            "output-gain": 0.0,
            "reduction": -30.0,
            "release": 2000.0,
            "sidechain": {
                "input": "Internal",
                "lookahead": 0.0,
                "mode": "Peak",
                "preamp": 0.0,
                "reactivity": 10.0,
                "source": "Middle",
                "stereo-split-source": "Left/Right"
            },
            "stereo-split": false,
            "wet": 0.0
        },
        "limiter#0": {
            "alr": false,
            "alr-attack": 5.0,
            "alr-knee": 0.0,
            "alr-release": 50.0,
            "attack": 5.0,
            "bypass": false,
            "dithering": "None",
            "external-sidechain": false,
            "gain-boost": false,
            "input-gain": 0.0,
            "lookahead": 5.0,
            "mode": "Herm Thin",
            "output-gain": 0.0,
            "oversampling": "Half x4(3L)",
            "release": 10.0,
            "sidechain-preamp": 0.0,
            "stereo-link": 100.0,
            "threshold": -1.0
        },
        "multiband_compressor#0": {
            "band0": {
                "attack-threshold": -30.0,
                "attack-time": 50.0,
                "boost-amount": 6.0,
                "boost-threshold": -72.0,
                "compression-mode": "Downward",
                "compressor-enable": true,
                "external-sidechain": false,
                "knee": -24.0,
                "makeup": 0.0,
                "mute": false,
                "ratio": 1.7,
                "release-threshold": -100.0,
                "release-time": 600.0,
                "sidechain-custom-highcut-filter": false,
                "sidechain-custom-lowcut-filter": false,
                "sidechain-highcut-frequency": 250.0,
                "sidechain-lookahead": 0.0,
                "sidechain-lowcut-frequency": 10.0,
                "sidechain-mode": "RMS",
                "sidechain-preamp": 0.0,
                "sidechain-reactivity": 10.0,
                "sidechain-source": "Middle",
                "solo": false,
                "stereo-split-source": "Left/Right"
            },
            "band1": {
                "attack-threshold": -30.0,
                "attack-time": 30.0,
                "boost-amount": 6.0,
                "boost-threshold": -72.0,
                "compression-mode": "Downward",
                "compressor-enable": true,
                "enable-band": true,
                "external-sidechain": false,
                "knee": -24.0,
                "makeup": 0.0,
                "mute": false,
                "ratio": 1.7,
                "release-threshold": -100.0,
                "release-time": 450.0,
                "sidechain-custom-highcut-filter": false,
                "sidechain-custom-lowcut-filter": false,
                "sidechain-highcut-frequency": 1250.0,
                "sidechain-lookahead": 0.0,
                "sidechain-lowcut-frequency": 250.0,
                "sidechain-mode": "RMS",
                "sidechain-preamp": 0.0,
                "sidechain-reactivity": 10.0,
                "sidechain-source": "Middle",
                "solo": false,
                "split-frequency": 250.0,
                "stereo-split-source": "Left/Right"
            },
            "band2": {
                "attack-threshold": -30.0,
                "attack-time": 10.0,
                "boost-amount": 6.0,
                "boost-threshold": -72.0,
                "compression-mode": "Downward",
                "compressor-enable": true,
                "enable-band": true,
                "external-sidechain": false,
                "knee": -24.0,
                "makeup": 0.0,
                "mute": false,
                "ratio": 1.7,
                "release-threshold": -100.0,
                "release-time": 250.0,
                "sidechain-custom-highcut-filter": false,
                "sidechain-custom-lowcut-filter": false,
                "sidechain-highcut-frequency": 5000.0,
                "sidechain-lookahead": 0.0,
                "sidechain-lowcut-frequency": 1250.0,
                "sidechain-mode": "RMS",
                "sidechain-preamp": 0.0,
                "sidechain-reactivity": 10.0,
                "sidechain-source": "Middle",
                "solo": false,
                "split-frequency": 1250.0,
                "stereo-split-source": "Left/Right"
            },
            "band3": {
                "attack-threshold": -30.0,
                "attack-time": 5.0,
                "boost-amount": 6.0,
                "boost-threshold": -72.0,
                "compression-mode": "Downward",
                "compressor-enable": true,
                "enable-band": true,
                "external-sidechain": false,
                "knee": -24.0,
                "makeup": 0.0,
                "mute": false,
                "ratio": 1.7,
                "release-threshold": -100.0,
                "release-time": 100.0,
                "sidechain-custom-highcut-filter": false,
                "sidechain-custom-lowcut-filter": false,
                "sidechain-highcut-frequency": 20000.0,
                "sidechain-lookahead": 0.0,
                "sidechain-lowcut-frequency": 5000.0,
                "sidechain-mode": "RMS",
                "sidechain-preamp": 0.0,
                "sidechain-reactivity": 10.0,
                "sidechain-source": "Middle",
                "solo": false,
                "split-frequency": 5000.0,
                "stereo-split-source": "Left/Right"
            },
            "band4": {
                "attack-threshold": -12.0,
                "attack-time": 20.0,
                "boost-amount": 6.0,
                "boost-threshold": -72.0,
                "compression-mode": "Downward",
                "compressor-enable": true,
                "enable-band": false,
                "external-sidechain": false,
                "knee": -6.0,
                "makeup": 0.0,
                "mute": false,
                "ratio": 1.0,
                "release-threshold": -100.0,
                "release-time": 100.0,
                "sidechain-custom-highcut-filter": false,
                "sidechain-custom-lowcut-filter": false,
                "sidechain-highcut-frequency": 8000.0,
                "sidechain-lookahead": 0.0,
                "sidechain-lowcut-frequency": 4000.0,
                "sidechain-mode": "RMS",
                "sidechain-preamp": 0.0,
                "sidechain-reactivity": 10.0,
                "sidechain-source": "Middle",
                "solo": false,
                "split-frequency": 4000.0,
                "stereo-split-source": "Left/Right"
            },
            "band5": {
                "attack-threshold": -12.0,
                "attack-time": 20.0,
                "boost-amount": 6.0,
                "boost-threshold": -72.0,
                "compression-mode": "Downward",
                "compressor-enable": true,
                "enable-band": false,
                "external-sidechain": false,
                "knee": -6.0,
                "makeup": 0.0,
                "mute": false,
                "ratio": 1.0,
                "release-threshold": -100.0,
                "release-time": 100.0,
                "sidechain-custom-highcut-filter": false,
                "sidechain-custom-lowcut-filter": false,
                "sidechain-highcut-frequency": 12000.0,
                "sidechain-lookahead": 0.0,
                "sidechain-lowcut-frequency": 8000.0,
                "sidechain-mode": "RMS",
                "sidechain-preamp": 0.0,
                "sidechain-reactivity": 10.0,
                "sidechain-source": "Middle",
                "solo": false,
                "split-frequency": 8000.0,
                "stereo-split-source": "Left/Right"
            },
            "band6": {
                "attack-threshold": -12.0,
                "attack-time": 20.0,
                "boost-amount": 6.0,
                "boost-threshold": -72.0,
                "compression-mode": "Downward",
                "compressor-enable": true,
                "enable-band": false,
                "external-sidechain": false,
                "knee": -6.0,
                "makeup": 0.0,
                "mute": false,
                "ratio": 1.0,
                "release-threshold": -100.0,
                "release-time": 100.0,
                "sidechain-custom-highcut-filter": false,
                "sidechain-custom-lowcut-filter": false,
                "sidechain-highcut-frequency": 16000.0,
                "sidechain-lookahead": 0.0,
                "sidechain-lowcut-frequency": 12000.0,
                "sidechain-mode": "RMS",
                "sidechain-preamp": 0.0,
                "sidechain-reactivity": 10.0,
                "sidechain-source": "Middle",
                "solo": false,
                "split-frequency": 12000.0,
                "stereo-split-source": "Left/Right"
            },
            "band7": {
                "attack-threshold": -12.0,
                "attack-time": 20.0,
                "boost-amount": 6.0,
                "boost-threshold": -72.0,
                "compression-mode": "Downward",
                "compressor-enable": true,
                "enable-band": false,
                "external-sidechain": false,
                "knee": -6.0,
                "makeup": 0.0,
                "mute": false,
                "ratio": 1.0,
                "release-threshold": -100.0,
                "release-time": 100.0,
                "sidechain-custom-highcut-filter": false,
                "sidechain-custom-lowcut-filter": false,
                "sidechain-highcut-frequency": 20000.0,
                "sidechain-lookahead": 0.0,
                "sidechain-lowcut-frequency": 16000.0,
                "sidechain-mode": "RMS",
                "sidechain-preamp": 0.0,
                "sidechain-reactivity": 10.0,
                "sidechain-source": "Middle",
                "solo": false,
                "split-frequency": 16000.0,
                "stereo-split-source": "Left/Right"
            },
            "bypass": false,
            "compressor-mode": "Modern",
            "dry": -100.0,
            "envelope-boost": "None",
            "input-gain": 0.0,
            "output-gain": 0.0,
            "stereo-split": false,
            "wet": 0.0
        },
        "plugins_order": [
            "gate#0",
            "compressor#0",
            "multiband_compressor#0",
            "equalizer#0",
            "limiter#0",
            "crossfeed#0"
        ]
    }
}

I don't see any difference with the preset in master branch. The only reason I can think is your speakers are too sensitive. Which speakers do you use?
I use this preset on built-in speakers of my laptop and I don't have your issue. You're only solution is to use another preset or make your custom one.


Unexpected behavior when trying to (not) set .valueAsNumber

Which package(s) are affected?
Lit Core (lit / lit-html / lit-element / reactive-element)
Description
II'm not sure it is a bug but I do have an unexpected behavior (in Firefox and Chromium) when making a webComponent that wraps a number input (in the full element we show some error messages).
The goal is to no change the user input when he is changing the value (make the field empty, remove the focus or reset the cursor position). It works quite nice except when you preload the element with a .value.
If you don't set the value and type 123- by hand the input is not cleared.
If the value is 123 and you add a - by hand the input is cleared. After this you could type 123- without the input clearing. To reproduce the problem again you need to reload the element.
I tried to make the component as small as possible, we do use an internal variable to prevent unneeded renders for example but in some cases we do trigger a requestUpdate and that will clear the input.
The element:
import { html, LitElement } from 'lit';
import { customElement, property } from 'lit/decorators.js';
import { ifDefined } from 'lit/directives/if-defined.js';
import { live } from 'lit/directives/live.js';

@customElement('number-element')
export class NumberElementComponent extends LitElement {

    @property({ attribute: false })
    public accessor value: number;

    public render() {
        return html`
<input
 type="number"
 .valueAsNumber=${ifDefined(this.value != null ? live(this.value) : null)}
 @input=${this.handleInput}
/>
`;
    }

    private handleInput(e: { currentTarget: HTMLInputElement, preventDefault() }): void {
        const value = e.currentTarget.valueAsNumber;
        this.value = isNaN(value) ? null : value;
    }
}

The usage:
html`<number-element .value=${123}></number-element>`

Reproduction
The input should not be cleared when you replace or append a -:
https://lit.dev/playground/#project=W3sibmFtZSI6InJlcHJvLnRzIiwiY29udGVudCI6ImltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpZkRlZmluZWQgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9pZi1kZWZpbmVkLmpzJztcbmltcG9ydCB7IGxpdmUgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9saXZlLmpzJztcblxuQGN1c3RvbUVsZW1lbnQoJ251bWJlci1lbGVtZW50JylcbmV4cG9ydCBjbGFzcyBOdW1iZXJFbGVtZW50Q29tcG9uZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gICAgXG4gICAgQHByb3BlcnR5KHsgdHlwZTogJ251bWJlcid9KVxuICAgIHZhbHVlOiBudW1iZXI7XG5cbiAgICBwdWJsaWMgcmVuZGVyKCkge1xuICAgICAgICByZXR1cm4gaHRtbGBcbjxpbnB1dCBcbiB0eXBlPVwibnVtYmVyXCIgXG4gLnZhbHVlQXNOdW1iZXI9JHtpZkRlZmluZWQodGhpcy52YWx1ZSAhPSBudWxsID8gbGl2ZSh0aGlzLnZhbHVlKSA6IG51bGwpfVxuIEBpbnB1dD0ke3RoaXMuaGFuZGxlSW5wdXR9IFxuLz5cbmA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVJbnB1dChlOiB7IGN1cnJlbnRUYXJnZXQ6IEhUTUxJbnB1dEVsZW1lbnQsIHByZXZlbnREZWZhdWx0KCkgfSk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGUuY3VycmVudFRhcmdldC52YWx1ZUFzTnVtYmVyO1xuICAgICAgICB0aGlzLnZhbHVlID0gaXNOYU4odmFsdWUpID8gbnVsbCA6IHZhbHVlO1xuICAgIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICAgIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgICAgICAnbnVtYmVyLWVsZW1lbnQnOiBOdW1iZXJFbGVtZW50Q29tcG9uZW50O1xuICAgIH1cbn0ifSx7Im5hbWUiOiJpbmRleC5odG1sIiwiY29udGVudCI6IjwhRE9DVFlQRSBodG1sPlxuPGhlYWQ-XG4gIDxzY3JpcHQgdHlwZT1cIm1vZHVsZVwiIHNyYz1cIi4vcmVwcm8uanNcIj48L3NjcmlwdD5cbjwvaGVhZD5cbjxib2R5PlxuICA8bnVtYmVyLWVsZW1lbnQgdmFsdWU9MTIzPjwvbnVtYmVyLWVsZW1lbnQ-XG48L2JvZHk-XG4ifSx7Im5hbWUiOiJwYWNrYWdlLmpzb24iLCJjb250ZW50Ijoie1xuICBcImRlcGVuZGVuY2llc1wiOiB7XG4gICAgXCJsaXRcIjogXCJeMi4wLjBcIixcbiAgICBcIkBsaXQvcmVhY3RpdmUtZWxlbWVudFwiOiBcIl4xLjAuMFwiLFxuICAgIFwibGl0LWVsZW1lbnRcIjogXCJeMy4wLjBcIixcbiAgICBcImxpdC1odG1sXCI6IFwiXjIuMC4wXCJcbiAgfVxufSIsImhpZGRlbiI6dHJ1ZX1d
Workaround
We couldn't find any workarounds
Is this a regression?
No or unsure. This never worked, or I haven't tried before.
Affected versions
Fails for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>Browser/OS/Node environment
Firefox (123.0.1 (64-bit)) and Chrome (122.0.6261.129 (64-bit))

Hmm.. is the idea to never modify what's being shown in the input from what the user is typing?
In that case you maybe don't even want to do a value property binding to the element. You can use the value attribute to set the initial value. Then read it directly from the element when you need the current value that the user modified. No input event handling to keep it synced.
If you don't want to adjust the input while the user is typing, but do want to modify it after the user clicks away, then you should handle the change event, rather than input, and you can keep the property binding.
If you do keep the property binding, isDefined() isn't really doing much for you there. It's main use is for attribute binding to actually remove the attribute, but for property binding it's equivalent to setting the value to undefined and you already have a ternary inside.
Because you're also coercing values resulting in NaN to null, Lit's change detection won't be able to tell when the user repeatedly puts in non-number values. The live() can also return a noChange sentinel value which I think is messing with the change detection in why you see the input not changing after manually typing the number and -.

My criteria:

Allow setting the .value property on the custom element before the first render (default value)
Allow render() to be triggered while the user is changing the value. We want to show some custom error texts while the user is changing the value.
Allow changing the .value property after the user did change it

I tried your suggestion (playground) but it seems that the value attribute is ignored after the first change by the user.

Haha, we had similar issues. This is our solution.

Base on the source

A couple of notes:

.value isn't typed correctly. You have it typed as number, but you set it to null, so it should at least be number | null.
You're setting input.valueAsNumber to null when this.value is null and that definitely will clear the input. That much seems expected.
ifDefined() doesn't really do anything for property bindings
Directives should usually be the only expression in a binding. If a binding value switches to and from a directive result, the state of the directive will be lost. You almost always want ${live(...)}
The type property option should be a JS primitive constructor, not a string. 'number' won't do any convertion of the attribute to a number. Number will.

I think one confusing think about this component is that right now the input is "controlled" (meaning it's always set from the outside) when the value is valid, and I think you're trying to make it "uncontrolled" (meaning it keeps it's own state) when the value is invalid.
My guess is that's more difficult to reason about than keeping the input always controlled, but @Totati's suggestion works if you keep it that way.  See this updated demo.
If you make your component fully controlled, then you would alway set the value, and either keep the current string value around to set into the input, or add a keydown event handler to prevent entering non-valid characters in the first place. The fact that <input> allows dashes and dots in invalid locations is somewhat surprising. It's a bit more complicated to do this because you want to allow dashes at the start of the value, and input.selectionStart doesn't work for number inputs (why??), so you have to use a plain input. You can see that here


Prefer module_parent over Module#parent when possible

This removes the Rails 6 deprecation warning and resolves https://github.com/Compass/compass-rails/issues/283
This uses self.class.respond_to?(:module_parent) approach. Another option is to ask for Rails or ActiveSupport version explicitly with:
Rails::VERSION::MAJOR >= 6 or ActiveSupport::VERSION::STRING < "6.0" , depends on how we decide to set expectations regarding gems (e.g. does this primarily depend on rails or just activesupport?)

@craigmcnamara  I realize that this project is no longer supported (deprecated), but there are enterprise-class/legacy projects (I work on one myself, hence this PR) that still use compass-rails and in the near future it cannot change.
It would be great to merge this PR, because nowadays this gem causes DEPRECATION warning in all Rails 6 applications and will stop working with Rails 6.1. This PR introduces a very small change, let me know if you can release another release, just patch-level update.

Deprecated - compass-rails.
You're welcome to fork the project, everything is open source.

@craigmcnamara  would you mind adding me to code owners for this gem on rubygems.org then? I can release v4.0.1 using my own fork.


fix(cli): Move Assets into Dist Root

This puts all files under assets directly into the dist root instead of creating a subfolder called assets.
Closes #1942

This is by design actually, so that paths you use while in development match assets in builds (for instance, image urls). It's true that we still need something that puts files in the root, but we haven't decided on an approach yet.


Regen

cc @EPashkin @sdroege

👍

Looks good to me apart from the value array stuff. And please create an issue for reviewing the global functions here and removing most of them.

I removed the two useless functions you pointed and removed the Option from the array function.

Updated.

:+1:

👍 after insert and prepend has option

👍 after insert and prepend has option

I removed them on purpose after @sdroege asked for it so I'll keep it this way.
@sdroege: It's ready on my side so if there's nothing more missing, please merge. :)

+1 after insert and prepend has option

@EPashkin what do you mean?

Sorry, I made mistake Option need be removed and this already done.

Lets merge?

Yup!


Added sample script closing #1506

Added sample script for removing wiki tab from a Microsoft Teams channel closes #1506

Coverage remained the same at 100.0% when pulling c33fb4f7d35b4397fb39660636d587507b7ad301 on rabwill:issue/1506-remove-wiki into 407b0e8f7c5c24558ce4391ed7e35d8b834259e2 on pnp:master.

Thank you @rabwill we will review shortly 👏🏻

Merged manually. Thank you! 👏


Integrate a bundle check analyser on gh actions to keep a check on bundle size

As we are pushing more code, its better to be aware how its impacting the bundle size
Here are few libraries we can try out
https://github.com/siddharthkp/bundlesize - doesn't look like it has GH actions support
https://github.com/ai/size-limit - It has GH action support and its pretty active

I'll add this.

Go for it @snitin315 🚀


Question: Will amqp-client.js Work on React Native Based Mobile App?

Will amqp-client.js work on React Native based mobile app?
When I'm looking at RabbitMQ's documentation they gave a separate section for the client to be used for Android and iOS, which is built with Swift and Objective-C.
If I want to build a mobile app with React Native in JS (which uses Socket.IO by the way) and I need an AMQP client, any chance amqp-client.js can help me on that? If not, what would be my best alternatives?

Yes! Works well if you put the websocket proxy before rabbitmq (we install it by
default on all CloudAMQP servers). LavinMQ has websocket support built in.
On Sat, 24 Feb 2024, 03:40 Shuzhao Feng, @.***> wrote:

Will amqp-client.js work on react native based mobile app?
When I'm looking at RabbitMQ's documentation
https://www.rabbitmq.com/docs/devtools they gave a separate section for
the client to be used for Android and iOS, which is built with Swift and
Objective-C.
If I want to build a mobile app with React native in JS and I need an AMQP
client, any chance amqp-client.js can help me on that? If not, what would
be my best alternatives?
—
Reply to this email directly, view it on GitHub
https://github.com/cloudamqp/amqp-client.js/issues/107, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABL6TSILQDUX4GEBDFG7ZDYVFHI5AVCNFSM6AAAAABDXURPCSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE2TEMBWGMZTCNY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@carlhoerberg thanks for the prompt response!
So if I'm understanding it correctly, the recommended way is to use amqp-client.js on the React Native client app (which is by default connected to CloudAMQP), and install and use LavinMQ on the server, right? Just to confirm that for this approach I wouldn't need to install extra instances of RabbitMQ/LavinMQ on the client app, which is what I'm trying to avoid here.

@mcgill-sfeng Yes! Pick a CloudAMQP plan with LavinMQ and you should be good.
Just to clarify, the websocket proxy is this project https://github.com/cloudamqp/websocket-tcp-relay

@mcgill-sfeng just to be extra clear, all plans on CloudAMQP has websocket support out of the box because we run the proxy for you if you go with RabbitMQ (but for LavinMQ it isn't needed at all)


Pypi workflow update

This PR includes a caller workflow that runs pypi_publish for ghga-transpiler.
The workflow tests the ghga-transpiler package on Python 3.9, 3.10, 3.11, and 3.12. Since the development environment is Python 3.12, package-dependency inconsistencies arose while testing the transpiler on Python 3.9. eval-type-backport is added to solve the TypeError due to | operand for type unions in Pydantic models on Python 3.9. Additionally, exceptiongroup and tomli are incorporated to address the requirements of pytest and mypy respectively for Python versions earlier than 3.11.
Since tomllib is not a standard library in Python 3.9, the import order is different from the template for the files deps.py and update_pyproject.py. Thus they are added to static_file_ignore to pass the template checks.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

5 of 5 (100.0%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 80.11%

Totals

Change from base Build<PHONE_NUMBER>:
0.3%

Covered Lines:
145

Relevant Lines:
181

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

5 of 5 (100.0%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 80.11%

Totals

Change from base Build<PHONE_NUMBER>:
0.3%

Covered Lines:
145

Relevant Lines:
181

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

5 of 5 (100.0%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 80.11%

Totals

Change from base Build<PHONE_NUMBER>:
0.3%

Covered Lines:
145

Relevant Lines:
181

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

5 of 5 (100.0%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 80.11%

Totals

Change from base Build<PHONE_NUMBER>:
0.3%

Covered Lines:
145

Relevant Lines:
181

💛  - Coveralls


Change the setter methods to void type

I changed the Setter's methods to void type in Configuration.java.

They had return value and Setter methods have no return they make an opration.


Multiple Entry flutterVC and pop [flutterViewController dealloc] crashed

init flutter
FlutterViewController *flutter = FlutterViewController.new;
[flutter setInitialRoute:router];
[nav pushViewController:flutter animated:YES];
scene
native1->flutter1->native2->flutter2
then pop
when flutter1 poped [flutterViewController dealloc] crashed
=========================================================
flutter git:(stable) flutter doctor -v
[✓] Flutter (Channel stable, v1.7.8+hotfix.4, on Mac OS X 10.14.5 18F132, locale zh-Hans-CN)
• Flutter version 1.7.8+hotfix.4 at xxx
• Framework revision 20e59316b8 (11 天前), 2019-07-18 20:04:33 -0700
• Engine revision fee001c93f
• Dart version 2.4.0
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at xxx
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 10.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.3, Build version 10G8
• CocoaPods version 1.6.1
[✓] iOS tools - develop for iOS devices
• ios-deploy 1.9.4
[✓] Android Studio (version 3.4)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 37.0.1
• Dart plugin version 183.6270
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
[✓] Connected device (2 available)
xx
• iPhone X      • 2456ECF0-BB8E-4633-B3E7-140A1939CA0A     • ios •
com.apple.CoreSimulator.SimRuntime.iOS-12-4 (simulator)
• No issues found!

i use /Users/name/flutter/dev/integration_tests/ios_add2app this project to test
i only edit this file
@implementation FullScreenViewController
-(void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
self.navigationController.navigationBarHidden = NO;
self.navigationController.hidesBarsOnSwipe = NO;
if (self.isMovingFromParentViewController) {
// Note that if we were doing things that might cause the VC
// to disappear (like using the image_picker plugin)
// we shouldn't do this.  But in this case we know we're
// just going back to the navigation controller.
// If we needed Flutter to tell us when we could actually go away,
// we'd need to communicate over a method channel with it.
[self.engine setViewController:nil];
}
}

(void)viewDidLoad {
[super viewDidLoad];
UIBarButtonItem *rightBarItem = [[UIBarButtonItem alloc] initWithTitle:@"next" style:UIBarButtonItemStylePlain target:self action:@selector(next)];
self.navigationItem.rightBarButtonItem = rightBarItem;
}

(void)next {
FullScreenViewController *flutterViewController =
[[FullScreenViewController alloc] init];
[flutterViewController setInitialRoute:@"full"];
//    [[self reloadMessageChannel] sendMessage:@"full"];
[self.navigationController
pushViewController:flutterViewController
animated:NO];
}

(void)dealloc {
NSLog(@"dealloc");
}

@end
run in simulateor will not crash but crashed in many real devices

cc @jmagman @xster

What is the crash trace and error?

What is the crash trace and error?

Thread 1 Queue : com.apple.main-thread (serial)
#0	0x0000000182990910 in objc_msgSend ()
#1	0x00000001867d96ac in +[EAGLContext setCurrentContext:] ()
#2	0x0000000104a887c4 in flutter::IOSGLRenderTarget::~IOSGLRenderTarget() ()
#3	0x0000000104a894c0 in std::__1::unique_ptr<flutter::IOSGLRenderTarget, std::__1::default_deleteflutter::IOSGLRenderTarget >::reset(flutter::IOSGLRenderTarget*) ()
#4	0x0000000104a88d40 in flutter::IOSSurfaceGL::~IOSSurfaceGL() ()
#5	0x0000000104a88d70 in flutter::IOSSurfaceGL::~IOSSurfaceGL() ()
#6	0x0000000104a8a140 in flutter::PlatformViewIOS::SetOwnerViewController(fml::WeakPtr) ()
#7	0x0000000104a6bf14 in -[FlutterEngine setViewController:] ()
#8	0x00000001046c4500 in -[FullScreenViewController viewWillDisappear:] at /Users/xxx/flutter/dev/integration_tests/ios_add2app/ios_add2app/FullScreenViewController.m:24
#9	0x000000018d45d79c in -[UIViewController _setViewAppearState:isAnimating:] ()
#10	0x000000018d47b998 in -[UIViewController __viewWillDisappear:] ()
#11	0x000000018d71b424 in -[UINavigationController _startCustomTransition:] ()
#12	0x000000018d48aa4c in -[UINavigationController _startDeferredTransitionIfNeeded:] ()
#13	0x000000018d48a6a4 in -[UINavigationController __viewWillLayoutSubviews] ()
#14	0x000000018d47e3a8 in -[UILayoutContainerView layoutSubviews] ()
#15	0x000000018d3d66f4 in -[UIView(CALayerDelegate) layoutSublayersOfLayer:] ()
#16	0x000000018794be54 in -[CALayer layoutSublayers] ()
#17	0x000000018794ffe4 in CA::Layer::layout_if_needed(CA::Transaction*) ()
#18	0x00000001878bc6c8 in CA::Context::commit_transaction(CA::Transaction*) ()
#19	0x00000001878e41b0 in CA::Transaction::commit() ()
#20	0x000000018d7af518 in _UIApplicationFlushRunLoopCATransactionIfTooLate ()
#21	0x000000018dd8c5d0 in __handleEventQueueInternal ()
#22	0x000000018dd85368 in __handleHIDEventFetcherDrain ()
#23	0x000000018376b404 in CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION ()
#24	0x000000018376ac2c in __CFRunLoopDoSources0 ()
#25	0x000000018376879c in __CFRunLoopRun ()
#26	0x0000000183688da8 in CFRunLoopRunSpecific ()
#27	0x000000018566e020 in GSEventRunModal ()
#28	0x000000018d6a8758 in UIApplicationMain ()
#29	0x00000001046c34f8 in main at /Users/yiche/flutter/dev/integration_tests/ios_add2app/ios_add2app/main.m:10
#30	0x0000000183119fc0 in start ()

Seems related to https://github.com/flutter/engine/pull/7919. Perhaps @chinmaygarde has insights.

I also run into the same problem, any solution?

I also run into the same problem, any solution?

not yet

Overriding the dealloc method in a subclass of FlutterViewController, calling[EAGLContext setCurrentContext:nil]can solve this problem.
@interface XXFlutterViewController : FlutterViewController
...
@end

@implementation XXFlutterViewController
...
- (void)dealloc {
    [EAGLContext setCurrentContext:nil];
    ...
}
@end

Seems related to flutter/engine#7919. Perhaps @chinmaygarde has insights.

Overriding the dealloc method in a subclass of FlutterViewController, calling[EAGLContext setCurrentContext:nil]can solve this problem.
@interface XXFlutterViewController : FlutterViewController
...
@end

@implementation XXFlutterViewController
...
- (void)dealloc {
    [EAGLContext setCurrentContext:nil];
    ...
}
@end

非常感谢，测试真机有效，不会闪退了

We'd still like to find and solve the root issue. Leaving this bug open.

Overriding the dealloc method in a subclass of FlutterViewController, calling[EAGLContext setCurrentContext:nil]can solve this problem.
@interface XXFlutterViewController : FlutterViewController
...
@end

@implementation XXFlutterViewController
...
- (void)dealloc {
    [EAGLContext setCurrentContext:nil];
    ...
}
@end

Can someone write this code into FlutterViewController's dealloc method? It may help many other people like me.

@chinmaygarde You reviewed https://github.com/flutter/engine/pull/17366, is this fixed?

Yeah. This has been fixed on ToT.


Fix aur color

All aur scripts currently check if both stdout and stderr are connected to a terminal when determining if color should be enabled (AUR_COLOR=auto). However, only aur-search prints colored messages to stdout.
Change this so that scripts apart from aur-search only check stderr for colorization.
Closes #585

I am not confident on making aur-search an exception.
Since we now have $AUR_COLOR to explicitly enable or disable colorization, we could uniformly change what is the auto behaviour.
Either by only checking stderr and  users that want paginated aur-search results would use aur search | less -R, or AUR_COLOR=never aur search | less depending if they want colorization or not.
Or we could export AUR_COLOR making scripts inherit the colorization intention of their parents.
if [[ ( -t 1 && -t 2 && ! -o xtrace && $AUR_COLOR == auto ) || $AUR_COLOR == always ]] ; then
￼	    colorize
            export AUR_COLOR=always
￼else
            export AUR_COLOR=never
fi

Thoughts?

Let's continue discussing this in #585. I'd go with a different approach than in this PR:

Removing color from "plumbing" scripts (179bb64ed181e2f6f32eeb5bd30bdda1b7c858b6) should remove the need for exporting variables, in particular in the "porcelain".
NO_COLOR (effectively removing AUR_COLOR=always, 65b2b54a109cb8b5adc6a09e7176d5c0040adf03) is supported by some other programs and removes one case to distinguish. I guess for aur-search it means you can no longer do AUR_COLOR=always aur search | less -R or so.


DMB-880 Fixed the remaning build, release, install and uninstall script issues

This PR:

removes rpm and deb files from release.
creates one tar.gz release artifact per architecture
Added a Makefile for easier invocation of install and uninstall scripts.
assumes the install.sh, uninstall.sh, and Makefile are at the root of tar.gz artifacts.

Please update the documentation to reflect the new process.

@jssmith Fixed README.md in  68b2c2b


⚠ Bofrost.es has degraded performance

In 2f50c26, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1378 ms

Resolved: Bofrost.es performance has improved in fc03064 after 6 minutes.


[load_stac] allow load from static Collection

Allow to use load_stac with a static STAC Collection. It will be necessary for the test suite, since we plan to host the STAC Collection on GitHub (no API).
You can test it with the one I prepared:
from openeo.local import LocalConnection
local_conn = LocalConnection("./")

url = "https://raw.githubusercontent.com/clausmichele/openeo-test-suite/eurac_process_graphs/src/openeo_test_suite/data/SENTINEL2_L2A_SAMPLE/SENTINEL2_L2A_SAMPLE.json"
bands = ["B04"]

s2_cube = local_conn.load_stac(url=url,
   bands=bands,
)
s2_cube.execute()

I need to clarify if the self-contained STAC Collection is actually valid, I will re open the PR once clarified.


Timeout setter missing

Is there no setter for the Timeout? I can not find it

I had the same issue for the IsoDep class, this PR was useful for me: https://github.com/okadan/flutter-nfc-manager/pull/53

This issue will be resolved in v4.0.0. (#128)


Can we use post-link.bat to run pyspice-post-installation --install-ngspice-dll

Is it still required ???
set SPICE64_DLL_DIR=%PREFIX%\lib\site-packages\PySpice\Spice\NgSpice\Spice64_dll
md %SPICE64_DLL_DIR%
cd %SPICE64_DLL_DIR%
mklink /d dll-vs ..\..\..\..\..\..\bin

I don't think this is a good idea.  The goal of conda-forge is to provide a full distribution, in which all dependencies of each package are provided by conda-forge (and compiled on their infrastructure).  It would be highly unusual for a package to download one of its dependencies from an external source.
Now that conda-forge provides a package for ngspice (for Linux/Mac/Windows), there is no need to download it separately.  Simply listing it as a dependency is sufficient to make sure it is installed.  Adding a symlink in post-link.bat to help PySpice find it seems fine to me.
Have you detected any problems with the current pyspice/ngspice package combination on conda-forge?  It passes the tests...

I missed conda-forge can compile a Windows binary ...
Thus it is fine excepted if there is specific issues with the conda-forge binary.
Will update doc.


Add Ditto to the allowlist

Duplicates ❌

[X] I have searched the existing Figma plugins requests.

Figma plugin name
Ditto
Figma plugin URL
https://www.figma.com/community/plugin/798826066406007173/✍-Ditto-|-collaborate-on-copy
Why do you need this Figma plugin?
Test ux copy tool

Hi @TimotheeBar,
Thanks again for this new proposal.
Unfortunately my answer will be the same as https://github.com/Decathlon/vitamin-design/issues/118:

Unfortunately we can't accept this plugin for now as Frontitude is not open source and linked to a pricing plan / terms of services / privacy policy, etc. that will need to be contracted with Decathlon officially. So, I close your issue, feel free to reach us if Decathlon has an official contract with Frontitude and we will check this together.

I wish you a great day,
Laurent


Create package for Homebrew Mac OS X packages manager

Subj.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/29287590-create-package-for-homebrew-mac-os-x-packages-manager?utm_campaign=plugin&utm_content=tracker%2F2014790&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F2014790&utm_medium=issues&utm_source=github).

:+1:

@uetchy do you have any problems with PlatformIO installation?

@ivankravets No. But it's slight issue around versioning of Python.
I'm using mainly Python 3 and I don't want to switch Python version to 2.x.
Homebrew can separately handle Python version required by packages. It means I can use platformio without switching Python.
That's why I need Homebrew support!

@uetchy Could you create Homebrew's formula for platformio. The only one dependency should be pip2.

Actually, I already created Homebrew Formula for platformio based on official reference.
But it failed with error:
$ brew install platformio
==> Downloading https://github.com/platformio/platformio/archive/v2.6.3.tar.gz
Already downloaded: /Library/Caches/Homebrew/platformio-2.6.3.tar.gz
==> Downloading https://pypi.python.org/packages/source/b/bottle/bottle-0.12.9.tar.gz
Already downloaded: /Library/Caches/Homebrew/platformio--bottle-0.12.9.tar.gz
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platfo
==> Downloading https://pypi.python.org/packages/source/c/click/click-5.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/platformio--click-5.1.tar.gz
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platfo
==> Downloading https://pypi.python.org/packages/source/c/colorama/colorama-0.3.5.tar.gz
Already downloaded: /Library/Caches/Homebrew/platformio--colorama-0.3.5.tar.gz
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platfo
==> Downloading https://pypi.python.org/packages/source/l/lockfile/lockfile-0.12.2.tar.gz
Already downloaded: /Library/Caches/Homebrew/platformio--lockfile-0.12.2.tar.gz
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platfo
==> Downloading https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz
Already downloaded: /Library/Caches/Homebrew/platformio--pyserial-2.7.tar.gz
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platfo
==> Downloading https://pypi.python.org/packages/source/r/requests/requests-2.9.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/platformio--requests-2.9.1.tar.gz
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platfo
==> Downloading https://pypi.python.org/packages/source/S/SCons/scons-2.4.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/platformio--SCons-2.4.1.tar.gz
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platfo
Last 15 lines from /Users/oame/Library/Logs/Homebrew/platformio/07.python:
__file__ = 'setup.py'
exec(compile(getattr(tokenize, 'open', open)(__file__).read()
  .replace('\r\n', '\n'), __file__, 'exec'))
--no-user-cfg
install
--prefix=/usr/local/Cellar/platformio/2.6.3/libexec/vendor
--single-version-externally-managed
--record=installed.txt

usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: -c --help [cmd1 cmd2 ...]
   or: -c --help-commands
   or: -c cmd --help

error: option --single-version-externally-managed not recognized

READ THIS: https://git.io/brew-troubleshooting

Why do you specify all packages manually?
Could platformio be installed via pip? It uses it.

P.S: SCons was removed in PlatformIO 2.7.0, which will be released today.

resource "something" is necessary for avoiding dependency collision around site-packages.
Because of Homebrew policy. Homebrew Formula should build softwares from source.

I think this comment looks like the problem.
https://github.com/Homebrew/homebrew-python/issues/132#issuecomment-68668771

Cool. Could you remove scons from requirement list and re-test?

+1

@uetchy Could you remove SCons from requirements list and update PlatformIO to the latest version?

Updated: https://gist.github.com/uetchy/e752ff8f8315a763b7b8
It looks work well :+1:
You can test this Formula with:
$ brew install https://gist.githubusercontent.com/uetchy/e752ff8f8315a763b7b8/raw/b694a1668dae0c4654f7a24faaadf879c4ff4212/platformio.rb

@uetchy  Hm...It works!!! Thanks!
Is difficult to make PR to the original Hombrew repo with our formula?

@uetchy will you have any objection if I make PR to https://github.com/Homebrew/homebrew/pulls using your formula?
I hope that they will merge it from me.
Thanks.

@ivankravets Hooray! :raised_hands:
I don't care about that. If anything, you ought to send PR.

Thanks for all!!! Done https://twitter.com/platformio_org/status/704287776490004480

When trying brew install platformio, I had to pip install pbr for it to work:
00:42 $ brew install platformio
==> Downloading https://homebrew.bintray.com/bottles/platformio-2.8.4.el_capitan.bottle.tar.gz

curl: (51) SSL: certificate verification failed (result: 5)
Error: Failed to download resource "platformio"
Download failed: https://homebrew.bintray.com/bottles/platformio-2.8.4.el_capitan.bottle.tar.gz
Warning: Bottle installation failed: building from source.
==> Downloading https://pypi.python.org/packages/source/p/platformio/platformio-2.8.4.tar.gz
######################################################################## 100.0%
==> Downloading https://pypi.python.org/packages/source/b/bottle/bottle-0.12.9.tar.gz
######################################################################## 100.0%
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platformio/2.8.4/libexec/vendor --single-version-externally-managed --record=installed.txt
==> Downloading https://pypi.python.org/packages/source/c/click/click-5.1.tar.gz
######################################################################## 100.0%
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platformio/2.8.4/libexec/vendor --single-version-externally-managed --record=installed.txt
==> Downloading https://pypi.python.org/packages/source/c/colorama/colorama-0.3.6.tar.gz
######################################################################## 100.0%
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platformio/2.8.4/libexec/vendor --single-version-externally-managed --record=installed.txt
==> Downloading https://pypi.python.org/packages/source/l/lockfile/lockfile-0.12.2.tar.gz
######################################################################## 100.0%
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platformio/2.8.4/libexec/vendor --single-version-externally-managed --record=installed.txt
Last 15 lines from /Users/spetrow/Library/Logs/Homebrew/platformio/04.python:
  File "/usr/local/lib/python2.7/site-packages/setuptools/command/build_py.py", line 59, in __getattr__
    self.data_files = files = self._get_data_files()
  File "/usr/local/lib/python2.7/site-packages/setuptools/command/build_py.py", line 72, in _get_data_files
    self.analyze_manifest()
  File "/usr/local/lib/python2.7/site-packages/setuptools/command/build_py.py", line 123, in analyze_manifest
    self.run_command('egg_info')
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python2.7/site-packages/setuptools/command/egg_info.py", line 172, in run
    writer = ep.resolve()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2386, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
ImportError: No module named pbr_json

READ THIS: https://git.io/brew-troubleshooting

00:43 $ pip install --upgrade pbr
Collecting pbr
  Downloading pbr-1.8.1-py2.py3-none-any.whl (89kB)
    100% |████████████████████████████████| 92kB 11.4MB/s
Installing collected packages: pbr
  Found existing installation: pbr 0.10.0
    Uninstalling pbr-0.10.0:
      Successfully uninstalled pbr-0.10.0
Successfully installed pbr-1.8.1

00:44 $ brew install platformio
==> Downloading https://homebrew.bintray.com/bottles/platformio-2.8.4.el_capitan.bottle.tar.gz

curl: (51) SSL: certificate verification failed (result: 5)
Error: Failed to download resource "platformio"
Download failed: https://homebrew.bintray.com/bottles/platformio-2.8.4.el_capitan.bottle.tar.gz
Warning: Bottle installation failed: building from source.
==> Downloading https://pypi.python.org/packages/source/p/platformio/platformio-2.8.4.tar.gz
Already downloaded: /Library/Caches/Homebrew/platformio-2.8.4.tar.gz
==> Downloading https://pypi.python.org/packages/source/b/bottle/bottle-0.12.9.tar.gz
Already downloaded: /Library/Caches/Homebrew/platformio--bottle-0.12.9.tar.gz
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platformio/2.8.4/libexec/vendor --single-version-externally-managed --record=installed.txt
==> Downloading https://pypi.python.org/packages/source/c/click/click-5.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/platformio--click-5.1.tar.gz
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platformio/2.8.4/libexec/vendor --single-version-externally-managed --record=installed.txt
==> Downloading https://pypi.python.org/packages/source/c/colorama/colorama-0.3.6.tar.gz
Already downloaded: /Library/Caches/Homebrew/platformio--colorama-0.3.6.tar.gz
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platformio/2.8.4/libexec/vendor --single-version-externally-managed --record=installed.txt
==> Downloading https://pypi.python.org/packages/source/l/lockfile/lockfile-0.12.2.tar.gz
Already downloaded: /Library/Caches/Homebrew/platformio--lockfile-0.12.2.tar.gz
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platformio/2.8.4/libexec/vendor --single-version-externally-managed --record=installed.txt
==> Downloading https://pypi.python.org/packages/source/p/pyserial/pyserial-3.0.1.tar.gz
######################################################################## 100.0%
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platformio/2.8.4/libexec/vendor --single-version-externally-managed --record=installed.txt
==> Downloading https://pypi.python.org/packages/source/r/requests/requests-2.9.1.tar.gz
######################################################################## 100.0%
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platformio/2.8.4/libexec/vendor --single-version-externally-managed --record=installed.txt
==> python -c import setuptools... --no-user-cfg install --prefix=/usr/local/Cellar/platformio/2.8.4/libexec --single-version-externally-managed --record=installed.txt
🍺  /usr/local/Cellar/platformio/2.8.4: 503 files, 4.5M, built in 4 seconds

@ip2k Hm. I don't have pbr in my system and brew install platformio works for me :(
I've pushed today new version 2.8.5. Do you have problems with upgrading?

@ip2k
Could you help us to resolve this issue with SSL and test these downloads?
cd /tmp
curl -L https://bintray.com/artifact/download/platformio/dl-packages/ldscripts-19.tar.gz -o ldscripts-19.tar.gz
curl -L https://www.geotrust.com/assets/images/SSL_Enterprise_Image.jpg -o SSL_Enterprise_Image.jpg
curl -L https://github.com -o gh.html

Thanks in advance!


Download final Records Package for release to the applicant

As an IAO processing analyst
I want to download the approved Records Package
so that I can release it to the applicant

Assumptions & Scope
What are the assumptions for this story?
There will be one PDF for the FInal Package; not one per each Division.
The Final Package will be in a ZIP file.
The ZIP file will also contain all the incompatible file types (i.e. non-PDFs), such as audio and GIS files.
The Records log filters are independent of the download. Applying a filter (e.g.by a divisional, error, etc. tag) on the Records Log will have no impact on what is downloaded.
Must be in the Response state (ie, Ministry Sign Off is complete)
For first release of Records Review, IAO will download the approved Records Package from FOI Mod and upload the it into AXIS to release to the applicant.
The analyst has already saved the Records Package (#3231)
What is IN scope?
Downloading the Records Package.
What is NOT in scope?
Download of phased release Records Packages will be covered in a different ticket.
Saving records package for release is covered in #3231
Acceptance Criteria
Scenario 1: Active "Download Final Package"

GIVEN the analyst has already saved the Final Package
WHEN the analyst clicks the Download dropdown
THEN the Download dropdown will open with 3 choices: Download for Harms, Download Redline for Sign Off, Download Final Package
AND the "Download Final Package" will be active

Scenario 2: "Download Final Package" in progress

GIVEN the analyst has already saved the Download Final Package
AND the coordinator or analyst is on the Download dropdown
WHEN the analyst clicks the active and "Download Final Package"
THEN the download will be in progress
https://jacklyn808742.invisionapp.com/console/share/3W2O64AP5C/977423262

Scenario 3: "Download Final Package"

GIVEN the ministry coordinator has clicked "Download Final Package"
WHEN the system completes creating the PDF (there is only 1)
THEN the PDF will be exported in one consolidated, linear PDF organized by modified date
AND the consolidated PDF final package will be include in the ZIP file
AND the ZIP file will be downloaded onto the user's computer

**Scenario 4: Inactive "Download Final Package" **

GIVEN the analyst has NOT saved the Final Package
WHEN the coordinator or analyst is on the Download dropdown
THEN the "Download Final Package" will be inactive

...
Dependencies? What is the impact of this dependency? (If so, link dependency in the ticket, make it visible in a team´s backlog)
Validation Rules? (If yes, list here)
Design
@xxx - please link the Design here
Definition of Ready

[ ] Is there a well articulated User Story?
[ ] Is there Acceptance Criteria that covers all scenarios (happy/sad paths)?
[ ] If there is a user interface, is there a design?
[ ] Does the user story need user research/validation?
[ ] Does this User Story needs stakeholder approval?
[ ] Design / Solution accepted by Product Owner
[ ] Is this user story small enough to be completed in a Sprint? Should it be split?
[ ] Are the dependencies known/ understood? (technical, business, regulatory/policy)
[ ] Has the story been estimated?

Definition of Done

[ ] Passes developer unit tests
[ ] Passes peer code review
[ ] If there's a user interface, passes UX assurance
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Confirm Test cases built and succeeding
[ ] No regression test failures
[ ] Test coverage acceptable by Product Owner
[ ] Ticket ready to be merged to master or story branch
[ ] Developer to list Config changes/ Update documents and designs
[ ] Can be demoed in Sprint Review
[ ] Tagged as part of a Release
[ ] Feature flagged if required
[ ] Change Management activities done?

@abin-aot, @m-prodan, @lmullane
Please review and comment on this story.

@lmullane : Do we need to create user stories for Review statuses(like harms complete, Redaction complete) for file/documents , then once all reviews are over, then enable Download ?

Note: to be refined at a later date - will discuss further at release planning today

@lmullane @m-prodan
In the same vain of #3231 - I was thinking we could just change the main dropdown button to say Download instead of create.
https://jacklyn808742.invisionapp.com/console/share/8QVPHCNXSGA/980706027
Let me know if you have any questions

As per the discussion at Standup, unlike download for Harms (#3421) and the Redline (#3301), which are a PDF for each division, download of the FInal Package will only be one consolidated PDF.
The filters applied on the Records Log (e.g. filter by a divisional, error, etc., tag) will be not impact what is downloaded.

Hey @m-prodan
While we cannot redact non-PDFs we need a way to mark which non-PDFs (i.e., incompatible files) are included in the ZIP file to go to the applicant!
When a non-PDF file can be released in full to the applicant today, how do we handle sending them that file?
cc @JHarrietha-AOT , @aparna-aot

ZIP file name should be the Request ID and date it was created.
Open to structure in folder.

@m-prodan, @liseandtea, should there be page numbers on the harms, redline and final package?

As per discussion at Release Planning, we will make a new story to warn users that when adding or removing records that any created Records Package will be defunct.

Note - as written this has a dependency with zipping microservice - however, we may want to change approach and just have this produce a single PDF, as opposed to including incompatible files as part of a first release

As discussed, @abin-aot to review with development team for refinement.

analyst needs to be able to flag which incompatible files should be included before they can be included in the zip package #3491

Convo with Matt - For pilot release, Response package should not include the incompatible file types, and we will need to give IAO instructions on the workflow to manually add them to the Response package. Future release may include completing #3491 to address this.
cc: @m-prodan @lmullane

Updated Scenario 3 to specify that the Response package / ZIP file will NOT contain incompatible files. Also updated assumptions that the ZIP file will not contain incompatible files.

@KyEggleston @m-prodan - The ACs should be updated similar to the redline. The "Download Final Package" button will only be active when the stitching and zipping processes are successful. In all other states, such as stitching in progress, zipping in progress, or an error state, the "Download Final Package" button will be inactive, accompanied by in-progress or error icons.

Assumption that final records package will be ordered by file modified date - test as part of QA

Bug 1
Create final package for applicant

After saving/creating response package, back in FOI Mod, go to the 'Download' option, and 'Download Final Package' is not available (I.e., you cannot download the final package after it is created/saved).

As an IAO Analyst, when you create/save the response package through the redaction app, you should be able to download it from the 'Records' tab under 'Downloads'.

Will leave more fulsome QA, but just wanted to raise bug above early @divyav-aot

Sorry @KyEggleston . The PR pushed to test-marshal 1 hour back. It was a miss from my side. @nimya-aot  please confirm once you test this.

@divyav-aot - no worries - just wanted to raise it ASAP so you know of it, and potentially get it resolved before the session with pilot users next week (going through the response package). :)

@KyEggleston @m-prodan  If we redact through text shown below , then the final package has same section number on each line . Is it ok?
Private Zenhub Image
Private Zenhub Image

@divyav-aot png/jpg files are missing on the final package downloaded. Could you please check?

@KyEggleston @m-prodan If we redact through text shown below , then the final package has same section number on each line . Is it ok?

@nimya-aot @m-prodan - what was the decision on this? I remember us chatting this morning about it, and think it was considered a low priority. But I think we were going to create a bug ticket for it as low priority (I don't think this has been written). Just FYI.

@KyEggleston Created ticket for the above issue. https://app.zenhub.com/workspaces/foi-flow-607f0ab6ae54b700111dc733/issues/gh/bcgov/foi-flow/4456

working as expected , so closing the ticket


Not sure how to uninstall dnote

Advice please

Dnote is a program and you can uninstall it by removing the file.
For example, you can do rm $(which dnote).


missing tweets

Hello,
I can pull user's tweets. But it doesn't pull reply tweets.
When I examine the Nitter.py file, it sends a request to https://nitter.poast.org/username. Why don't we post this as https://nitter.poast.org/username/with_replies? So we can get the answers? I tried, but when it happens like this, the server rejects the request. What do you think is the problem?

Hi, I've added the possibility to also get the replies with a "replies" parameter. Regarding the issue you're having with the .poast.org instance, they have a browser check to avoid bots and scrapers, so it cannot be used.


Case(1): Add a changed line

Adds a changed line

Successfully created backport PR #190 for case1-backport-target.


Use Faraday instead of Patron

Hi,
I did quite big rewrite of client.rb to use Faraday library.
This give us all benefits of Faraday gem https://github.com/lostisland/faraday
The client.rb is much cleaner retry and json parsing are as the middleware.
I change default json pare to yail-ruby because is much quicker and has seamless integration flow.
We can use for example typhoeus adapater:
require 'parse-ruby-client'
require 'typhoeus'
require 'typhoeus/adapters/faraday'

Faraday.default_adapter = :typhoeus
Parse.init {:application_id => "<your_app_id>", :api_key => "<your_api_key>"} do |faraday|
  # here you can pass some additionals to faraday directly
end

Faraday is the library now used to issue HTTP calls. This should be closed.


Visual Bug | Plants in a pond makes water invisible

Here are pictures that show what I mean!
Before

After

Please send me your latest.log.
What version of Fluidlogged API do you use?
Do you have any other mods installed?

Hi, it was me that actually found the bug. just reported it to Lowspot, since im playing on his (sligthly modified) modpack.
here is the stuff you want:
Fluidlogged = v2.2.4
other mods? a lot.

latest.log

Can you try it with the latest version of Fluidlogged API from Modrinth?

how to re-create (with my current mods and default settings on Fluidlogged v2.2.7)

make a 2x2 hole in the ground
fill with water
place 4 plants inside it.
the water sometimes returns to normal after breaking one or more plants (seems random how many i have to break)

latest.log

tried once more, with extensive logging turned on, from fluidlogged
(from debug.log)

hi again. im sorry for wasting your time.
i got the same bug with a glass pane, just now.
turns out it was optifine all along. (render regions)

Okay, no problem. I’m closing this.

I reproduced this issue without Optifine. I think it is probably Vintagium, but I will open another issue when I can investigate further.


refactoring axis range-related function

This is related to refactor utililty functions that is used for finding axis range for histogram and scatter plot vizs.  The corresponding PR is merged
Discussions are made at the following comment
https://github.com/VEuPathDB/web-eda/pull/466#pullrequestreview-760227422

There has been lots of changes for axis range-related functions since this ticket made, so I think that this was already satisfied. Closing this.


Clean up axis hooks in nnx.Variable

Swapped the order of axis index and name in hooks. This is because in pure JAX, an add/remove axis always needs an index, but perhaps doesn't need a name.

This will allow hooks to be triggered on every lifted transform, even if sharding annotations is not part of the model.

Simplified the boilderplate code of creating hooks in nnx.Variable.

Add a simple test on add/remove axis.

The PR looks good, swapping the arguments makes sense.
We don't have to do this here, but I was wondering if we could conditionally add the hooks if at least one hook is present to avoid adding useless metadata e.g:
if get_value_hooks:
  self.get_value_hooks = get_value_hooks

and check for existence on usage e.g.
if hasattr(self, 'get_value_hooks'):
  for hook in self.get_value_hooks:
    value = hook(self, value)

The PR looks good, swapping the arguments makes sense.
We don't have to do this here, but I was wondering if we could conditionally add the hooks if at least one hook is present to avoid adding useless metadata e.g:
if get_value_hooks:
  self.get_value_hooks = get_value_hooks

and check for existence on usage e.g.
if hasattr(self, 'get_value_hooks'):
  for hook in self.get_value_hooks:
    value = hook(self, value)

You know what, I tried this, but it ended up with infinite recursion because hasattr(self, 'get_value_hooks') calls __getattr__ which calls hasattr(self, 'get_value_hooks') again... We are Pythonic indeed
We can make get_value_hooks and set_value_hooks always available, but that creates diff between them and other hooks so I'm not so sure

Ah yes I've faced this, we need to we should fix it by raising an AttributeError manually inside __getattr__.


Add reconcile details

Description of the change:
Adds descriptions and explanations of the various reconcile Result options
used by the memcached_controller example in the user guide.
Closes: #2593
Motivation for the change:

/retest

/retest

@bradtopol closing then re-opening should re-trigger CI.

Hmm, so when I look at the netlify error log, I see the following:
ERROR 2020/04/20 16:22:52 error: failed to transform resource: SCSS processing failed: file "/opt/build/repo/website/themes/docsy/assets/scss/support/_utilities.scss", line 42, col 18: Undefined variable: "$td-block-space-top-base".
I don't see how my changes could break that. I'm gonna try a rebase.  @asmacdo Have you seen that error before? Did you put in something to fix it? cc @camilamacedo86

Looks like the rebase was a good call. :-).  Netlify is happy again. @camilamacedo86 @estroz if you all are happy with the changes it should be mergeable now without the wheels coming off Netlify.


Ext proc http functionality support

Risk Level: low
Testing: n/a
Docs Changes: n/a
Release Notes: inline
Fixes:
Description:
This is to address the issue: https://github.com/envoyproxy/envoy/issues/35488, i.e, integrate the ext_proc HTTP client to ext_proc filter.  With this PR, the basic functionalities to have Envoy ext_proc filter talk to a HTTP server using HTTP messages are accomplished.
This is the follow up of PR: https://github.com/envoyproxy/envoy/pull/35676

This PR adds the support of sending ext_proc call out messages to the HTTP side stream server.  The proto messages: ProcessingRequest/ProcessingResponse are transcoded into JSON text and encoded in the body of a HTTP message.
The processing flow works this way:

When Envoy needs to send call out messages to the side stream server, either header, body , or trailer, Envoy construct a ProcessingRequest proto message.
This ProcessingRequest message is transcoded into a JSON text. This JSON text is then added as a body to a HTTP "POST" message. This HTTP message is sent to the side stream HTTP server.
The HTTP server receives the "POST" message. Transcoding the body, i.e, a JSON text, into a ProcessingRequest message.
The HTTP server then performs normal header/body/trailer mutation as existing, and put them into a ProcessingResponse proto message.
The HTTP server then transcode the ProcessingResponse into JSON text, and sends back a 200 response with this JSON text as body.
After receives the 200 response, Envoy then convert the body from JSON text back to a ProcessingResponse proto message. Then continue processing this ProcessingResponsel.

/assign @htuch @tyxia @yanavlasov @rshriram

@yanjunxiang-google thoughts on how the receiving server correlates HTTP requests? There are two things here and I think we need to do both, to avoid making users solve a distributed system coordination problem:

Use HTTP session affinity. I'm not sure if we have a strong session affinity mechanism here that doesn't rely on cookies (and hence doesn't work for ext_proc initiated HTTP) though.
Attach a UUID (e.g. the x-envoy-request-id) as a distinguished field to the JSON to allow the server to correlate.

@yanjunxiang-google thoughts on how the receiving server correlates HTTP requests for a given dataplane streams? There are two things here and I think we need to do both, to avoid making users solve a distributed system coordination problem:

Use HTTP session affinity. I'm not sure if we have a strong session affinity mechanism here that doesn't rely on cookies (and hence doesn't work for ext_proc initiated HTTP) though.
Attach a UUID (e.g. the x-envoy-request-id) as a distinguished field to the JSON to allow the server to correlate.

Here is related design and internal discussion https://docs.google.com/document/d/1UDPm1J4txb2P2oCnl98qClD2FMZWu3SdnRnoHJZxGBU/edit?disco=AAABM_WD00c
Regarding 1, Should we suggest gRPC as recommend protocol for strong affinity.

@yanjunxiang-google thoughts on how the receiving server correlates HTTP requests for a given dataplane streams? There are two things here and I think we need to do both, to avoid making users solve a distributed system coordination problem:

Use HTTP session affinity. I'm not sure if we have a strong session affinity mechanism here that doesn't rely on cookies (and hence doesn't work for ext_proc initiated HTTP) though.
Attach a UUID (e.g. the x-envoy-request-id) as a distinguished field to the JSON to allow the server to correlate.

Good suggestions!
I put this as the step 7 of the issue: https://github.com/envoyproxy/envoy/issues/35488, and plan to add this in my next PR.
BTW, we will only remove the [#not-implemented-hide:] from the API :
https://github.com/envoyproxy/envoy/blob/84c8da7540e4e5064f6a6dffc66825668f6220e4/api/envoy/extensions/filters/http/ext_proc/v3/ext_proc.proto#L134 after all the steps listed in the issue https://github.com/envoyproxy/envoy/issues/35488 completed.
Please continue review this PR and let me know the comments.

@yanjunxiang-google thoughts on how the receiving server correlates HTTP requests for a given dataplane streams? There are two things here and I think we need to do both, to avoid making users solve a distributed system coordination problem:

Use HTTP session affinity. I'm not sure if we have a strong session affinity mechanism here that doesn't rely on cookies (and hence doesn't work for ext_proc initiated HTTP) though.
Attach a UUID (e.g. the x-envoy-request-id) as a distinguished field to the JSON to allow the server to correlate.

Here is related design and internal discussion https://docs.google.com/document/d/1UDPm1J4txb2P2oCnl98qClD2FMZWu3SdnRnoHJZxGBU/edit?disco=AAABM_WD00c
@htuch Regarding point 1 above, Should we consider suggesting gRPC as the recommend protocol for strong affinity.

Thanks for the info!
To add the support of 2) is straightforward.  Can we make decision on whether we need to support 1) for ext_proc HTTP?

I think we should recommend gRPC for affinity, but I know inevitably we will end up with folks who need to solve this problem the moment we support > 1 event at a time on the HTTP variant. I think it's pretty rare to solve this via some distributed state sharing mechanism on the service callout, so you will need affinity.
At a minimum, please do (2) and document as appropriately the limitations for users of the HTTP variant, leave a bug open for (1), thanks.

I think we should recommend gRPC for affinity, but I know inevitably we will end up with folks who need to solve this problem the moment we support > 1 event at a time on the HTTP variant. I think it's pretty rare to solve this via some distributed state sharing mechanism on the service callout, so you will need affinity.
At a minimum, please do (2) and document as appropriately the limitations for users of the HTTP variant, leave a bug open for (1), thanks.

The x-request-id is added in the change now.

@yanjunxiang-google  Could you take a look at CI failures? The asan failures look legit.
/wait

@tyxia I am scaling back to only support forwarding headers in this PR, and leaving body and trailers forwarding as future tasks.

/retest

@stevenzzzz @tyxia @mattklein123 @yanavlasov  Kind Ping!

/wait-any

/wait-any

/docs

Please check the list int the docs. rst's format is different with .md

Needs main merge. I'm having a little trouble following whether we are not blocked on reviewers or on author activity.
/wait

Needs main merge. I'm having a little trouble following whether we are not blocked on reviewers or on author activity.
/wait

This PR is currently blocked by another PR I am working on: https://github.com/envoyproxy/envoy/pull/36228

/retest

@envoyproxy/api-shepherds PTAL and approve

/retest

Kind Ping!


added launch at startup functionality

Implements #1665
Alright! So, this is not fully tested but:

works on mac
don't have a windows box to test, but I followed all the instructions to ensure it works with the auto-updater.
doesn't work when running from source (but I don't think you want it to?)
linux works, but I cannot seem to find the correct executable path.  both process.execPath and app.getPath('exe') give you the file stored in /tmp/.mount_Beakerxxx which seems to have something to do with the builder? I did a bunch of searching, but cannot find the solution. I am sure it is straightforward and if it is easy, you just need to swap out process.execPath on line 889 of browser.js

If you need changes, just let me know!

Thanks @matthewauld! I'll need to test this out when I'm close to the next build and testing on platforms.


proposal: x/net/http3: add HTTP/3 implementation

This is a proposal to add an HTTP/3 client and server implementation in x/net/http3.
Similarly to the accepted form of #58547 (x/net/quic), this proposal is to add an experimental package with an API subject to change during development. Once we have a complete implementation, we will file a separate proposal for API review.
Initial development will be in an internal package (x/net/internal/http3) until the details are firm enough for external testing. We will then move the package to x/net/http3 and (when we have some confidence the API is right) file the API review proposal.

Related Issues

net/http: support HTTP/3 #32204

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)


Remove "added in 0.4" notes in the docs

These are a bit old now and no longer relevant. Shall we remove all the ones that reference 0.7 and below?

I agree we should, given that we're maintaining previous versions of the documentation.


Refactor: Update Wiki with missing necessary info

Describe the bug
From the moment of project's start, some of information in Wiki are not up-to-date now, also some are missing from developer and user perspective.
To Reproduce
Steps to reproduce the behavior:

Go to project's repo on GitHub,
Click Wiki tab,

Expected behavior
Perform the following changes:

Home Page - remove "Business Context" section,
Project Methodology - add description about workflow sprint vs non-sprint,
Project Methodology - change "Ticket Types" section to description of Feature, Bug, Refactor and Environment tickets,
Project Methodology - update DoR/DoD to remove static code analysis requirements,
Branches and Commits - remove Mobile from Scope sections,
Pull Requests and Code Reviews - add PR name pattern to "Pull Request Creation" section,
Pull Requests and Code Reviews - rename "Handle changes request" to "How to handle PR's Change Requests",
Parts of Solution - remove "Possible new parts" section,
Web Frontend - update npm run gen command with new solution's info from #65,

Screenshots
Desktop (please complete the following information):
Smartphone (please complete the following information):
Additional context

Blocked by #65

Unblocked


Fix for numberbox corner radius issues

Description
This PR

fixes two NumberBox corner radius issues: Control.CornerRadius property is now respected, just as the ControlCornerRadius theme resource in NumberBox.SpinButtonPlacementMode.Inline
adds NumberBox examples to the CornerRadius test page of the MUXControlsTestApp
adds an API test to verify the correct corner radius use for NumberBox

Motivation and Context
Fixes #2223
How Has This Been Tested?
Tested visually.
Gif:

/azp run

/azp run

What happened here? 😅

We don't know. Looks like an issue with the bot.

/azp run

/azp run


"SyntaxError: Unexpected token, expected ..." on <input {checked} />

Hi,
I am trying to set a radio input as 'checked', depending on a variable:
const checked = true;
patch(document.body, () => {return <input type="radio" {checked ? 'checked' : ''} />} );

But in this case I am receiving:
Module build failed: SyntaxError: Unexpected token, expected ... (14:55)

  12 |
  13 | const checked = true;
> 14 | patch(document.body,() => {return <input type="radio" {checked?'checked':''} />});
     |                                                        ^

This isn't the case if I am trying to set a key-value pair to the DOM element.
Am I missing something, or this isn't implemented yet?
Thank you very much.
Yusuf

That's a syntax error, you can't have  {attr} attribute expression. It has to be something like attr={checked ? '' : undefined}

Thanks for your quick response.
In my situation I need to have {attr} kind of syntax to be able to check or uncheck a radio button or a checkbox.
May I send a pull request to try to implement this behaviour.
Best
Yusuf

It's not a plugin limitation, but a syntax one. You'd have to submit a PR to https://github.com/facebook/jsx, which would need to implemented by Babel, then I could support it.

Thanks a lot for your help.
Have a nice weekend.

Oh, and note that iDOM treats undefined as "remove this attribute. So you can have your original request with:
<input type="radio" checked={checked ? '' : undefined} />

// Translates into Real DOM as either->
<input type="radio" checked />
// or
<input type="radio" />

Awesome. That solved my problem. Thanks a lot.
One last thing. In the Readme file it is provided that to use this plugin .babelrc should have:

{
"presets": ["es2015"],
"plugins": ["incremental-dom"]
}

But this leads to this Error:
Module build failed: Error: Plugin 0 specified in ".babelrc" provided an invalid property of "patch"
I found out that actually it should be like this to be able to use your plugin:
{
  "presets": ["es2015"],
  "plugins": ["babel-plugin-transform-incremental-dom"]
}

I hope I am not missing something basic here this time :)

Whoops, look like I forgot those when I updated the plugin name.


meilisearch: 1.1.0 -> 1.1.1

Description of changes
non breaking update that also adds nix-update-script for convenience
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

I'm going to merge this, since this is a simple upgrade.


Suggestion: form builder accepts global defaults (eg class attribute)

Suggest allowing global or per form instance  default attributes, esp class. Most CSS frameworks use the same class for each type of input, so code can often be simplified:
// from
{{ form.text('name', null, { class: 'form-input' }) }}
{{ form.text('company', null, { class: 'form-input' }) }}
{{ form.textarea('comment', null, { class: 'form-input' }) }}

// to, eg:
form.defaults.attributes.class = 'form-input'
{{ form.text('name') }}
{{ form.text('company') }}
{{ form.textarea('comment' }}

... on large forms, this removes a lot of otherwise redundant duplication

The purpose of form builder is to make it easier to work with routes and controllers and have DRY form methods and actions with some helpful methods to display form fields.
The best way is to create a macro, since showing input fields is not only a matter of classes it also involves surrounding divs and labels too. More on macros here http://adonisjs.com/docs/3.1/views#_macros_imports
{% macro input(name, title) %}

    {{ title }}
    {{ form.text(name) }}

{% endmacro %}

and ofcourse you can improve it as per your needs

Closing. Feel free to report any new issues


Feature train info

Training info now in a slightly different format, uses tabulate package. This makes it easier to modify the train info (no need for string interpolation or anything).
Added possibility to add custom score to the train info (for instance, use parameter custom_score=('mean abs error', )).

Thanks!


DHCPMessage interceptor

I did not find project extension points to implement rules based on client options.
Example: for PXE, depending on the client architecture, I need to give a bootfile

Loaders
Client arch
boofile

SYSLINUX
00
lpxelinux.0

SYSLINUX
06
syslinux32.efi

SYSLINUX
07
syslinux64.efi

You can also choose the boot method: BIOS, UEFI, HTTP by vendor class (HTTPClient \ PXEClient \  iPXE)

Nice, it was always my intention to make client-dependent special behavior script-able via powershell or so, but for people using this as a library this is a nice flexible solution.