Presto create column fix

fix(presto): create column info - return native type
SUMMARY
Current Presto db_engine_spec get_columns failes because _create_column_info returned a stringifyied type instead of native type. This has prevented the creation of a new Presto dataset. See issue #25962
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Before:

After:

TESTING INSTRUCTIONS
run:
pytest -v tests/unit_tests/db_engine_specs/test_presto.py
output:
============================================================================================================ test session starts ============================================================================================================
platform darwin -- Python 3.9.6, pytest-8.2.0, pluggy-1.5.0 -- ***/venv/bin/python3
cachedir: .pytest_cache
rootdir: ***
configfile: pytest.ini
plugins: mock-3.14.0
collected 23 items
tests/unit_tests/db_engine_specs/test_presto.py::test_convert_dttm[VARCHAR-dttm0-None] PASSED                                                                                [  4%]
tests/unit_tests/db_engine_specs/test_presto.py::test_convert_dttm[DATE-dttm1-DATE '2022-01-01'] PASSED                                                                                [  8%]
tests/unit_tests/db_engine_specs/test_presto.py::test_convert_dttm[TIMESTAMP-dttm2-TIMESTAMP '2022-01-01 01:23:45.600000'] PASSED                                                                                [ 13%]
tests/unit_tests/db_engine_specs/test_presto.py::test_convert_dttm[TIMESTAMP WITH TIME ZONE-dttm3-TIMESTAMP '2022-01-01 01:23:45.600000'] PASSED                                                                                [ 17%]
tests/unit_tests/db_engine_specs/test_presto.py::test_convert_dttm[TIMESTAMP WITH TIME ZONE-dttm4-TIMESTAMP '2022-01-01 01:23:45.600000+00:00'] PASSED                                                                                [ 21%]
tests/unit_tests/db_engine_specs/test_presto.py::test_get_column_spec[varchar(255)-VARCHAR-attrs0-GenericDataType.STRING-False] PASSED                                                                                [ 26%]
tests/unit_tests/db_engine_specs/test_presto.py::test_get_column_spec[varchar-String-None-GenericDataType.STRING-False] PASSED                                                                                [ 30%]
tests/unit_tests/db_engine_specs/test_presto.py::test_get_column_spec[char(255)-CHAR-attrs2-GenericDataType.STRING-False] PASSED                                                                                [ 34%]
tests/unit_tests/db_engine_specs/test_presto.py::test_get_column_spec[char-String-None-GenericDataType.STRING-False] PASSED                                                                                [ 39%]
tests/unit_tests/db_engine_specs/test_presto.py::test_get_column_spec[integer-Integer-None-GenericDataType.NUMERIC-False] PASSED                                                                                [ 43%]
tests/unit_tests/db_engine_specs/test_presto.py::test_get_column_spec[time-Time-None-GenericDataType.TEMPORAL-True] PASSED                                                                                [ 47%]
tests/unit_tests/db_engine_specs/test_presto.py::test_get_column_spec[timestamp-TIMESTAMP-None-GenericDataType.TEMPORAL-True] PASSED                                                                                [ 52%]
tests/unit_tests/db_engine_specs/test_presto.py::test_create_column_info[columnVarchar-VARCHAR] PASSED                                                                                [ 56%]
tests/unit_tests/db_engine_specs/test_presto.py::test_create_column_info[columnString-String] PASSED                                                                                [ 60%]
tests/unit_tests/db_engine_specs/test_presto.py::test_create_column_info[columnChar-CHAR] PASSED                                                                                [ 65%]
tests/unit_tests/db_engine_specs/test_presto.py::test_create_column_info[columnInteger-Integer] PASSED                                                                                [ 69%]
tests/unit_tests/db_engine_specs/test_presto.py::test_create_column_info[columnTime-Time] PASSED                                                                                [ 73%]
tests/unit_tests/db_engine_specs/test_presto.py::test_create_column_info[columnTimestamp-TIMESTAMP] PASSED                                                                                [ 78%]
tests/unit_tests/db_engine_specs/test_presto.py::test_get_schema_from_engine_params PASSED                                                                                [ 82%]
tests/unit_tests/db_engine_specs/test_presto.py::test_where_latest_partition[column_type0-2023-05-01-DATE '2023-05-01'] PASSED                                                                                [ 86%]
tests/unit_tests/db_engine_specs/test_presto.py::test_where_latest_partition[column_type1-2023-05-01-TIMESTAMP '2023-05-01'] PASSED                                                                                [ 91%]
tests/unit_tests/db_engine_specs/test_presto.py::test_where_latest_partition[column_type2-2023-05-01-'2023-05-01'] PASSED                                                                                [ 95%]
tests/unit_tests/db_engine_specs/test_presto.py::test_where_latest_partition[column_type3-1234-1234] PASSED                                                                                [100%]
============================================================================================================ 23 passed in 0.68s =============================================================================================================
ADDITIONAL INFORMATION

[x ] Has associated issue: Fixes #25962
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

@eyalsh99 thanks for the fix. I was wondering whether you did a git blame to try to decipher why we were quoting the type in the past? I agree it seems atypical, but there likely was some pseudo valid reason.

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

Project coverage is 67.37%. Comparing base (c975f97) to head (38033f2).
Report is 24 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #28305      +/-   ##
==========================================
+ Coverage   60.48%   67.37%   +6.88%
==========================================
  Files        1931     1933       +2
  Lines       76236    76494     +258
  Branches     8568     8568
==========================================
+ Hits        46114    51537    +5423
+ Misses      28017    22852    -5165
  Partials     2105     2105

Flag
Coverage Δ

hive
?

postgres
77.65% <ø> (?)

presto
?

python
77.74% <ø> (+14.25%)
:arrow_up:

sqlite
77.11% <ø> (?)

unit
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


The workflow cannot be restored using argo resume after using Argo stop

Pre-requisites

[X] I have double-checked my configuration
[X] I can confirm the issues exists when I tested with :latest
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened/what you expected to happen?
The workflow cannot be restored using argo resume after using Argo stop
apply workflow yaml
argo submit xxx.yaml
when argo get @latest get running
Name:                dag-diamond-rrfs4
Namespace:           default
ServiceAccount:      unset (will run with the default ServiceAccount)
Status:              Running
Conditions:
PodRunning          True
Created:             Thu Aug 03 12:34:02 +0800 (2 minutes ago)
Started:             Thu Aug 03 12:34:02 +0800 (2 minutes ago)
Duration:            2 minutes 38 seconds
Progress:            0/1
STEP                  TEMPLATE  PODNAME                            DURATION  MESSAGE
● dag-diamond-rrfs4  diamond
└─● A                echo      dag-diamond-rrfs4-echo-3327412467  2m
**then stop
argo stop @latest
get status:
argo get @latest **
Name:                dag-diamond-rrfs4
Namespace:           default
ServiceAccount:      unset (will run with the default ServiceAccount)
Status:              Failed (Terminated)
Message:             Stopped with strategy 'Stop'
Conditions:
PodRunning          False
Completed           True
Created:             Thu Aug 03 12:34:02 +0800 (4 minutes ago)
Started:             Thu Aug 03 12:34:02 +0800 (4 minutes ago)
Finished:            Thu Aug 03 12:38:07 +0800 (9 seconds ago)
Duration:            4 minutes 5 seconds
Progress:            0/1
STEP                  TEMPLATE  PODNAME                            DURATION  MESSAGE
✖ dag-diamond-rrfs4  diamond
├─✖ A                echo      dag-diamond-rrfs4-echo-3327412467  4m        workflow shutdown with strategy:  Stop
**then resume the workflow but now working, The state is still stop
argo resume @latest
get status:
argo get @latest **
Name:                dag-diamond-rrfs4
Namespace:           default
ServiceAccount:      unset (will run with the default ServiceAccount)
Status:              Failed (Terminated)
Message:             Stopped with strategy 'Stop'
Conditions:
PodRunning          False
Completed           True
Created:             Thu Aug 03 12:34:02 +0800 (6 minutes ago)
Started:             Thu Aug 03 12:34:02 +0800 (6 minutes ago)
Finished:            Thu Aug 03 12:38:07 +0800 (2 minutes ago)
Duration:            4 minutes 5 seconds
Progress:            0/1
STEP                  TEMPLATE  PODNAME                            DURATION  MESSAGE
✖ dag-diamond-rrfs4  diamond
├─✖ A                echo      dag-diamond-rrfs4-echo-3327412467  4m        workflow shutdown with strategy:  Stop
Version
v3.4.8
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
# The following workflow executes a diamond workflow
#
#   A
#  / \
# B   C
#  \ /
#   D
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: dag-diamond-
spec:
  entrypoint: diamond
  templates:
  - name: diamond
    dag:
      tasks:
      - name: A
        template: echo
        arguments:
          parameters: [{name: message, value: A}]
      - name: B
        depends: "A"
        template: echo
        arguments:
          parameters: [{name: message, value: B}]
      - name: C
        depends: "A"
        template: echo
        arguments:
          parameters: [{name: message, value: C}]
      - name: D
        depends: "B && C"
        template: echo
        arguments:
          parameters: [{name: message, value: D}]

  - name: echo
    inputs:
      parameters:
      - name: message
    container:
      image: alpine:3.7
      command:
      - sleep
      - "360"

Logs from the workflow controller
kubectl logs -n argo deploy/workflow-controller | grep ${workflow}
time="2023-08-03T04:34:02.746Z" level=info msg="Processing workflow" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:02.754Z" level=info msg="Updated phase  -> Running" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:02.754Z" level=info msg="DAG node dag-diamond-rrfs4 initialized Running" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:02.755Z" level=info msg="All of node dag-diamond-rrfs4.A dependencies [] completed" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:02.755Z" level=info msg="Pod node dag-diamond-rrfs4-3327412467 initialized Pending" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:02.772Z" level=info msg="Created pod: dag-diamond-rrfs4.A (dag-diamond-rrfs4-echo-3327412467)" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:02.772Z" level=info msg="TaskSet Reconciliation" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:02.772Z" level=info msg=reconcileAgentPod namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:02.783Z" level=info msg="Workflow update successful" namespace=default phase=Running resourceVersion=17678000 workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:12.774Z" level=info msg="Processing workflow" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:12.774Z" level=info msg="Task-result reconciliation" namespace=default numObjs=0 workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:12.774Z" level=info msg="node changed" namespace=default new.message= new.phase=Running new.progress=0/1 nodeID=dag-diamond-rrfs4-3327412467 old.message= old.phase=Pending old.progress=0/1 workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:12.775Z" level=info msg="TaskSet Reconciliation" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:12.775Z" level=info msg=reconcileAgentPod namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:12.794Z" level=info msg="Workflow update successful" namespace=default phase=Running resourceVersion=17678079 workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:22.796Z" level=info msg="Processing workflow" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:22.796Z" level=info msg="Task-result reconciliation" namespace=default numObjs=0 workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:22.797Z" level=info msg="node unchanged" namespace=default nodeID=dag-diamond-rrfs4-3327412467 workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:22.798Z" level=info msg="TaskSet Reconciliation" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:34:22.798Z" level=info msg=reconcileAgentPod namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.696Z" level=info msg="Processing workflow" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.696Z" level=info msg="Task-result reconciliation" namespace=default numObjs=0 workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.696Z" level=info msg="node unchanged" namespace=default nodeID=dag-diamond-rrfs4-3327412467 workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.696Z" level=info msg="Terminating pod as part of workflow shutdown" namespace=default podName=dag-diamond-rrfs4-echo-3327412467 shutdownStrategy=Stop workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.696Z" level=info msg="node dag-diamond-rrfs4-3327412467 phase Running -> Failed" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.696Z" level=info msg="node dag-diamond-rrfs4-3327412467 message: workflow shutdown with strategy:  Stop" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.696Z" level=info msg="node dag-diamond-rrfs4-3327412467 finished: 2023-08-03 04:38:07.696715387 +0000 UTC" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.697Z" level=info msg="Skipped node dag-diamond-rrfs4-3344190086 initialized Omitted (message: omitted: depends condition not met)" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.697Z" level=info msg="Skipped node dag-diamond-rrfs4-3360967705 initialized Omitted (message: omitted: depends condition not met)" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.698Z" level=info msg="Skipped node dag-diamond-rrfs4-3377745324 initialized Omitted (message: omitted: depends condition not met)" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.698Z" level=info msg="Outbound nodes of dag-diamond-rrfs4 set to [dag-diamond-rrfs4-3377745324]" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.698Z" level=info msg="node dag-diamond-rrfs4 phase Running -> Failed" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.698Z" level=info msg="node dag-diamond-rrfs4 finished: 2023-08-03 04:38:07.69820802 +0000 UTC" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.698Z" level=info msg="Checking daemoned children of dag-diamond-rrfs4" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.698Z" level=info msg="TaskSet Reconciliation" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.698Z" level=info msg=reconcileAgentPod namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.698Z" level=info msg="Updated phase Running -> Failed" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.698Z" level=info msg="Updated message  -> Stopped with strategy 'Stop'" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.698Z" level=info msg="Marking workflow completed" namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.698Z" level=info msg="Checking daemoned children of " namespace=default workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.702Z" level=info msg="cleaning up pod" action=terminateContainers key=default/dag-diamond-rrfs4-echo-3327412467/terminateContainers
time="2023-08-03T04:38:07.702Z" level=info msg="https://<IP_ADDRESS>:443/api/v1/namespaces/default/pods/dag-diamond-rrfs4-echo-3327412467/exec?command=%2Fvar%2Frun%2Fargo%2Fargoexec&command=kill&command=15&command=1&container=main&stderr=true&stdout=true&tty=false"
time="2023-08-03T04:38:07.703Z" level=info msg="cleaning up pod" action=deletePod key=default/dag-diamond-rrfs4-1340600742-agent/deletePod
time="2023-08-03T04:38:07.712Z" level=info msg="Workflow update successful" namespace=default phase=Failed resourceVersion=17679444 workflow=dag-diamond-rrfs4
time="2023-08-03T04:38:07.807Z" level=info msg="signaled container" container=main error="<nil>" namespace=default pod=dag-diamond-rrfs4-echo-3327412467 stderr= stdout="killing 1 with terminated\n"
time="2023-08-03T04:38:07.807Z" level=info msg="https://<IP_ADDRESS>:443/api/v1/namespaces/default/pods/dag-diamond-rrfs4-echo-3327412467/exec?command=%2Fvar%2Frun%2Fargo%2Fargoexec&command=kill&command=15&command=1&container=wait&stderr=true&stdout=true&tty=false"
time="2023-08-03T04:38:07.920Z" level=info msg="signaled container" container=wait error="<nil>" namespace=default pod=dag-diamond-rrfs4-echo-3327412467 stderr= stdout="killing 1 with terminated\n"
time="2023-08-03T04:38:12.716Z" level=info msg="cleaning up pod" action=deletePod key=default/dag-diamond-rrfs4-echo-3327412467/deletePod
time="2023-08-03T04:38:37.921Z" level=info msg="cleaning up pod" action=killContainers key=default/dag-diamond-rrfs4-echo-3327412467/killContainers

Logs from in your workflow's wait container
kubectl logs -n argo -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded
get nil

Did you mean to use argo suspend?
argo suspend pauses the Workflow, whereas stop can be seen more like a variant of terminate (see also terminate vs stop)

@agilgur5 Thank you for your reply.
I use argo stop
because argo resume --help say 'Resume a workflow that has been stopped or suspended'
argo resume --help
resume zero or more workflows
Usage:
argo resume WORKFLOW1 WORKFLOW2... [flags]
Examples:
Resume a workflow that has been stopped or suspended:
argo resume my-wf
Resume the latest workflow:
argo resume @latest

argo suspend can resume . but argo suspend can't stop running node already. for example . a pod running with GPU, It can be a waste of resources because training takes a long time.
So argo stop is more appropriate, but it cannot resume after verification

Yea I think that documentation might be incorrect, I need to double check the source code.
argo suspend is what you are looking for if you meant to pause a Workflow (it used to be called argo pause)

argo suspend can resume . but argo suspend can't stop running node already. for example . a pod running with GPU, It can be a waste of resources because training takes a long time. So argo stop is more appropriate, but it cannot resume after verification

Ah I see. In that case argo stop followed by argo retry might be appropriate

@agilgur5 Thank you very much : )
argo retry can start the node again. I have added the hook of recycling custom resource (PytorchJob) in OnExit.When I Executing argo stop ,it will  recycling custom resource . but I found The OnExit method will only be executed once  , After argo retry recovery workflow, the OnExit method will not be executed if stop is executed again .
I need to verify again

but I found The OnExit method will only be executed once , After argo retry recovery workflow, the OnExit method will not be executed if stop is executed again .

Hmm. I believe it only retries failed nodes, so this might be a behavior edge case. I think there might be some issues around this as well as initialization steps for retries.
That being said, in your case, maybe argo terminate followed by argo retry will suffice? terminate does not run exit handlers

@agilgur5 I need to run exit handlers, because running pod can be a waste of resources, so i use argo stop to run exit template .

Thank you for your help. I will explore it myself. If there is a solution, I will synchronize it here

I need to run exit handlers, because running pod can be a waste of resources, so i use argo stop to run exit template .

Yea it depends on your clean-up needs. argo resubmit might be applicable if the whole Workflow has to be restarted, not just a single step. See also retry vs. resubmit

Another option worth noting is argo retry --restart-successful --node-field-selector (there is one example of this). That allows you to retry successful steps, but requires a selector.
So that may or may not help your use-case. Could potentially run argo retry twice, once with the flags and once without

Thank you for your help. I will explore it myself. If there is a solution, I will synchronize it here

I submitted a PR (#11624) to fix the erroneous CLI docs, but please add any solutions here even if the issue is closed, as that may help other users with similar use-cases!


Muting/Umuting Remote Users Breaks Spatial Audio

Discussed in https://github.com/AgoraIO-Community/Agora_Unity_WebGL/discussions/323

Originally posted by moudisoubra July  1, 2024
When a remote user gets beyond a specific distance I mute their audio so that they cannot be heard at all using: RtcEngine.MuteRemoteAudioStream(uid, true);
However when the remote user gets back within hearing distance unmuting them completely breaks Spatial Audio and they in turn start speaking at full volume.

How did you figure out running the spatial audio even? I've been unable to even run any of the features the SDK provides, apart from joining a channel. Here's my script:
`private string _appID = "147f1034f33245f4abe865d9bd51fc44";
public static LobbyVoiceAudio Instance;
private IRtcEngine _rtcEngine;
    private void Awake()
    {
        if (Instance)
        {
            Destroy(this.gameObject);
        }
        else
        {
            Instance = this;
            DontDestroyOnLoad(this);
        }
    }
    private void Start()
    {
        _rtcEngine = IRtcEngine.GetEngine(_appID);
        _rtcEngine.OnJoinChannelSuccess += OnJoinChannelSuccess;
        _rtcEngine.OnLeaveChannel += OnLeaveChannel;
        _rtcEngine.OnError += OnError;
    }

    private void OnError(int error, string msg)
    {
        Debug.Log($"Received Error. Code: {error}. Message: {msg}");
    }
    private void OnLeaveChannel(RtcStats stats)
    {
        Debug.Log($"Left Channel: {stats}");
    }
    private void OnJoinChannelSuccess(string channelName, uint wid, int elapsed)
    {
        Debug.Log($"Joined Channel: {channelName}");
        Hashtable hash = new Hashtable();
        hash.Add("agoraID", wid.ToString());
        PhotonNetwork.SetPlayerCustomProperties(hash);
    }

    public override void OnJoinedRoom()
    {
        _rtcEngine.EnableSoundPositionIndication(true);
        _rtcEngine.JoinChannel(PhotonNetwork.CurrentRoom.Name);
    }

    public override void OnLeftRoom()
    {
        _rtcEngine.LeaveChannel();
    }

    public void GoToTunnelChannel()
    {
        _rtcEngine.LeaveChannel();
        _rtcEngine.JoinChannel("AtlantaTunnel");
    }
    private void OnDestroy()
    {
        IRtcEngine.Destroy();
    }

    public IRtcEngine GetRTCEngine()
    {
        return _rtcEngine;
    }`

Am I missing any callbacks?

Discussed in #323
Originally posted by moudisoubra July 1, 2024 When a remote user gets beyond a specific distance I mute their audio so that they cannot be heard at all using: RtcEngine.MuteRemoteAudioStream(uid, true);
However when the remote user gets back within hearing distance unmuting them completely breaks Spatial Audio and they in turn start speaking at full volume.

Thanks for discovering this bug.  A fix just went into the refactor11 branch.  You may just update the diffs to your downloaded source, before a release comes out.
For quick test, also see updated Positional Spatial Audio Example with a new "Mute Remote" button added.

@dev-kiwicreations please see the API-examples.


Ignore kubectl dependency bump

The cluster is in k8s 1.24 and hence as per skew policy we cant go beyond 1.25. As it is tricky to downgrade the kubectl library, pin the version to the 0.26 and not upgrade. The 0.26 library will have less breaking things to work with 1.24 cluster than a 0.29 version (latest). Update the pinned dependencies when the cluster is upgraded.
Update dockerfile to match the current cluster version

Codecov Report
Patch has no changes to coverable lines.
:loudspeaker: Thoughts on this report? Let us know!.


Don't update TransformedBounds from RenderTargetBitmap.

What does the pull request do?
Prevents drawing to a RenderTargetBitmap corrupting TransformedBounds as described in #6899.
Adds a flag to ImmediateRenderer for whether to update TransformedBounds and sets it to false when calling any of the static ImmediateRenderer.Render methods (which is what RTB uses). An ImmediateRenderer which is used as the main renderer (i.e. constructed via the public constructor) retains the previous behavior.
Fixed issues
Fixes #6899

Awesome, thanks!


Wrong way to insert method code into the config-provider

This code causes conflict with other payment modules(specifically, the standard Authorize DirectPost):
    <virtualType name="Bitpay\Core\Model\ConfigProvider" type="Magento\Payment\Model\CcGenericConfigProvider">
        <arguments>
            <argument name="methodCodes" xsi:type="array">
                <item name="bitpay" xsi:type="const">Bitpay\Core\Model\Method\Bitcoin::CODE</item>
            </argument>
        </arguments>
    </virtualType>

The reason is a bit subtle - since it's a virtualType based on CcGenericConfigProvider, the loop in this file:
vendor/magento/module-checkout/Model/CompositeConfigProvider.php
        foreach ($this->configProviders as $configProvider) {
            $config = array_merge_recursive($config, $configProvider->getConfig());
        }

will call getConfig() on CcGenericConfigProvider twice. Note that the getConfig function will get called on ./vendor/magento/module-payment/Model/CcGenericConfigProvider.php - not on Bitpay/Core/Model/ConfigProvider.php. This will lead to the recursive merge of the payment configuration, and wrong values for e.g. availableTypes in the authorizenet_directpost will lead to the failed validation:
ccform":{"availableTypes":{"authorizenet_directpost":{"AE":"American Express","VI":"Visa"
this is normal configuration, this is the failing one:
ccform":{"availableTypes":{"authorizenet_directpost":{"AE":["American Express","American Express"],"VI":["Visa","Visa"]...
Since the virtual type is actually not used, suggested PR fixes this issue by removing the injection of a custom config provider and adding bitpay method code to CcGenericConfigProvider the same way it's added in most other payment methods.

@evgk  Fixed in the Pull Request #27

Okay.


Interacting with data tables (sorting, pagination etc.) not working properly with enabled profiler

Seems like regression since v0.22. For example, changing the pagination page is visible on pagination controls, but results are still showing previous page. Refreshing the page works properly. This issue only occurs with profiler enabled in the application.

Fixed in 0.24


pass the files to transformModuleFiles and handle any errors

In the project issues, show the files with errors
If a file is currently active, show the errors in that file
If the active file is the fga.mod file, mark files with errors in it

Requires additional work in @openfga/language to attach file information, when available, to all exceptions thrown during transformModuleFiles


TextField with TextDirection.rtl has misplaced cursor on Web

Steps to Reproduce
Only on Web
Have a TextField with textDirection that mismatches keyboard text direction (e.g. English keyboard and TextDireciton.rtl ).
import 'package:flutter/material.dart';

void main() => runApp(RtlBrokenApp());

class RtlBrokenApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Padding(
          padding: const EdgeInsets.all(64),
          child: TextField(
            textDirection: TextDirection.rtl,
          ),
        ),
      ),
    );
  }
}

Reproducible on DartPad

Expected results:
I expect the cursor to be always aligned to the right (like on ios/android).
Actual results:
On the web, the cursor is in the wrong place compared to ios/android. It's ALMOST aligned to the right but not exactly (it's 1, 2 chars before it).
Reproducible on Fluter 2.1.0 and 2.0.2
Originally posted in https://github.com/flutter/flutter/issues/47745#issuecomment-792548177
CC @mdebbar

Hello. First, I advise you to update to the latest version of the filters and try this simple code that will work with you
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Directionality(
textDirection: TextDirection.ltr,
child: Scaffold(
body: Center(
child: Container(
width: 250,
height: 100,
child: Card(
color: Colors.green,
child: TextField(
textAlign: TextAlign.left,
),
),
),
),
),
);
}
}

Any update?
what's the best workaround for now?

Fyi, it still occurs on master after #79015 was merged

@MarcinusX How can we make it P2 or P1?

It works OK on some of the browser's versions.

Hey everyone!
I can confirm the issue still persists

code sample
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      theme: ThemeData.dark(),
      home: Home(),
    );
  }
}

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Material App Bar'),
      ),
      body: Center(
        child: Container(
          child: Directionality(
              textDirection: TextDirection.rtl, child: TextField()),
        ),
      ),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.add),
        onPressed: () {},
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 2.0.4, on macOS 11.2.3 20D91 darwin-x64, locale
    en-GB)
    • Flutter version 2.0.4 at /Users/tahatesser/Code/flutter_stable
    • Framework revision b1395592de (6 days ago), 2021-04-01 14:25:01 -0700
    • Engine revision 2dce47073a
    • Dart version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/SDK
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.55.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (3 available)
    • IN2011 (mobile) • c9d8ee0c • android-arm64  • Android 11 (API 30)
    • macOS (desktop) • macos    • darwin-x64     • macOS 11.2.3 20D91
      darwin-x64
    • Chrome (web)    • chrome   • web-javascript • Google Chrome 89.0.4389.114

• No issues found!

[✓] Flutter (Channel master, 2.1.0-13.0.pre.499, on macOS 11.2.3 20D91
    darwin-x64, locale en-GB)
    • Flutter version 2.1.0-13.0.pre.499 at
      /Users/tahatesser/Code/flutter_master
    • Framework revision 3dbe7f23c5 (7 hours ago), 2021-04-07 14:04:02 +0800
    • Engine revision 92f4dfb048
    • Dart version 2.13.0 (build 2.13.0-208.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/SDK
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.55.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (3 available)
    • IN2011 (mobile) • c9d8ee0c • android-arm64  • Android 11 (API 30)
    • macOS (desktop) • macos    • darwin-x64     • macOS 11.2.3 20D91
      darwin-x64
    • Chrome (web)    • chrome   • web-javascript • Google Chrome 89.0.4389.114

• No issues found!

Pls fix it :(

please do your best to help us!

@TahaTesser Is it a duplicate of #32239?

@ronytesler
No, not a duplicate

flutter doctor -v
[✓] Flutter (Channel master, 2.2.0-11.0.pre.247, on Microsoft Windows [Version 10.0.19042.928], locale en-US)
    • Flutter version 2.2.0-11.0.pre.247 at C:\Users\Taha\Code\flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f55b2665e9 (7 hours ago), 2021-04-23 12:39:02 +0530
    • Engine revision 6fa0fb0059
    • Dart version 2.14.0 (build 2.14.0-18.0.dev)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Taha\Code\SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = C:\Users\Taha\Code\SDK
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.3)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.9.31129.286
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 4.1.0)
    • Android Studio at C:\Users\Taha\Code\android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[✓] IntelliJ IDEA Community Edition (version 2021.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.3
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.55.2)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.21.0

[✓] Connected device (4 available)
    • IN2011 (mobile)   • c9d8ee0c • android-arm64  • Android 11 (API 30)
    • Windows (desktop) • windows  • windows-x64    • Microsoft Windows [Version 10.0.19042.928]
    • Chrome (web)      • chrome   • web-javascript • Google Chrome 90.0.4430.85
    • Edge (web)        • edge     • web-javascript • Microsoft Edge 89.0.774.77

! Doctor found issues in 1 category.

This issue is a deal-breaker to create Flutter RTL-based web apps.
Please kindly prioritize it

@ahmadod @tadaspetra I agree. Do you have an estimation for when it will be fixed so that we can at least know to better plan if to use Flutter Web or not?

@mdebbar Why is it closed? Was it fixed?

I have tested it on master and it still occurs.
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 2.3.0-17.0.pre.578, on macOS 11.4 20F71 darwin-x64, locale pl-PL)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
[✓] VS Code (version 1.52.1)
[✓] Connected device (2 available)

I can confirm the issue still persists on stable and master channel,
this issue also exist on web CanvasKit renderer and HTML renderer

@mdebbar @TahaTesser Could you please verify and reopen to make sure we won't lose track of this one?
Thank you 🙏

This is a serious problem and needs to be followed up and fixed
@mdebbar @TahaTesser  please open the issue again
thanks

i have the same issue

Hi everyone, the issue indeed still reproduces on the latest Channel master, 2.4.0-1.0.pre.143 on canvas kit, I don't see the issue in HTML.

flutter doctor -v
[✓] Flutter (Channel master, 2.4.0-1.0.pre.143, on Microsoft Windows [Version 10.0.22000.65], locale en-US)
    • Flutter version 2.4.0-1.0.pre.143 at C:\Users\Taha\Code\flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 311920b326 (9 hours ago), 2021-07-09 02:06:03 -0400
    • Engine revision dc06724099
    • Dart version 2.14.0 (build 2.14.0-291.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Taha\Code\SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = C:\Users\Taha\Code\SDK
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.10.3)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.10.31424.327
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 4.2.0)
    • Android Studio at C:\Users\Taha\Code\android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)

[✓] VS Code (version 1.58.0)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.24.0

[✓] Connected device (5 available)
    • sdk gphone x86 (mobile) • emulator-5554 • android-x86     • Android 11 (API 30) (emulator)
    • Windows (desktop)       • windows       • windows-x64     • Microsoft Windows [Version 10.0.22000.65]
    • Windows (UWP) (desktop) • winuwp        • windows-uwp-x64 •
    • Chrome (web)            • chrome        • web-javascript  • Google Chrome 91.0.4472.124
    • Edge (web)              • edge          • web-javascript  • Microsoft Edge 91.0.864.64

• No issues found!

Thanks for reporting. I'll take a look at this next week.

This is also keeping a test skipped:
https://github.com/flutter/flutter/blob/d3bdbed4985ca2ab174d65a6f556bd18ac03be5e/packages/flutter/test/widgets/editable_text_test.dart#L124

@mdebbar @TahaTesser
I can still reproduce in dartpad on flutter version 2.5.0.
Are there any plans to address this issue? It creates an awful experience for inputs in Arabic apps.

i also found it in version 2.5.0
when writing english in rtl layout

same problem !

I have same problem in version 2.8.1

Still having this issue on the latest flutter version

Still hapening in 2.10

Still happing in 2.10

Any updates?

Any updates?
Still facing the same issue

I'm unable to repro this issue on the HTML renderer. It only happens on CanvasKit.
cc @hterkelsen @yjbanov

Any workaround?

Still reproducible in Flutter 3.

Any workaround?

for anyone still needing a solution, I've created a simple package who reimplements TextField and TextFormField with 2 new widgets, WebTextField and WebTextFormField. the implementation uses html <input> tag behind the scenes, so the behavior is identical to a browser web experience.
it does not have all the features of TextField or TextFormField yet, and is only a temporary solution, but I hope it will be helpful for anyone making RTL web apps 😄

I faced same issue, please fix this

Recently the issue appeared on Android too, previously it was just on the web.

this problem has existed for more than 6 months and the Flutter team has not done anything !!!

I'm diggin in here to see what can be done. Thanks for your patience!

For those following along here – please checkout master, if you can, and verify this addresses your concerns! Thanks!

I checked master, on Android, the problem still exists.
Flutter 3.1.0-0.0.pre.1369 • channel master • https://github.com/flutter/flutter.git
Framework • revision 638a581046 (4 hours ago) • 2022-06-24 21:34:08 -0400
Engine • revision 4446e3edda
Tools • Dart 2.18.0 (build 2.18.0-224.0.dev) • DevTools 2.14.0

Web or native android?
On Fri, Jun 24, 2022, 22:26 AVEbrahimi @.***> wrote:

I checked master, on Android, the problem still exists.
Flutter 3.1.0-0.0.pre.1369 • channel master •
https://github.com/flutter/flutter.git
Framework • revision 638a581
https://github.com/flutter/flutter/commit/638a5810461b665f81c88d9278a523c9271418c3
(4 hours ago) • 2022-06-24 21:34:08 -0400
Engine • revision 4446e3edda
Tools • Dart 2.18.0 (build 2.18.0-224.0.dev) • DevTools 2.14.0
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/78550#issuecomment-1166196971,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAEFCUAMQYGV45TQTZ5PL3VQ2KBPANCNFSM4ZM7OBMQ
.
You are receiving this because you commented.Message ID:
@.***>

Native Android, I write a word, click on (A), the cursor jumps to one character before last (B):

,

@kevmoo I can confirm the problem fixed on web on version:
[✓] Flutter (Channel master, 3.1.0-0.0.pre.1372, on macOS 12.4 21F79 darwin-arm, locale en-PL)
Thank you! 🙏🙏🙏
However, I'm not sure if it's a direct follow-up of the issue, but when textfield is losing focus, the coursor stays in the same place. I'll create a separate issue for that as I don't think it's related to RTL.

Native Android, I write a word, click on (A), the cursor jumps to one character before last (B):
 ,

I have the same problem in RTL languages in flutter text fields on android devices. By dragging the cursor on the Farsi/Arabic texts, It is not possible to move it to the end of the text and it stuck in n-1 position.
[√] Flutter (Channel master, 3.1.0-0.0.pre.1423, on Microsoft Windows [Version 10.0.19042.867], locale en-US) [√] Android toolchain - develop for Android devices (Android SDK version 31.0.0) [√] Chrome - develop for the web [!] Visual Studio - develop for Windows (Visual Studio Enterprise 2022 17.2.4)     X The current Visual Studio installation is incomplete. Please reinstall Visual Studio. [√] Android Studio (version 2021.1) [√] Android Studio (version 2021.3) [√] VS Code, 64-bit edition (version 1.67.2) [√] Connected device (4 available) [√] HTTP Host Availability

Okay! So the fix we submitted here was for web. So we either need to reopen
this issue specific to native platforms or you should open a new issue
On Fri, Jun 24, 2022, 22:32 AVEbrahimi @.***> wrote:

Native Android, I write a word, click on (A), the cursor jumps to one
character before last (B):
[image: FV66akWXgAEw8K6]
https://user-images.githubusercontent.com/179375/175759760-bb6210a0-32d1-43a8-9bb7-e454e00446a7.png
,
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/78550#issuecomment-1166197525,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAEFCXS3ZAGZWL2HSGD4K3VQ2KVTANCNFSM4ZM7OBMQ
.
You are receiving this because you commented.Message ID:
@.***>


updated react-app to nextjs 14

next version updated to 14.

Don't we need to change the file structure?


cryptography: Enable ability for a  standalone build

This is to break a cyclic build dependency between clientlibraries and libprovision, if we move to a vault implementation of libprovision. In existing builds, it will still build as part of clientlibraries. This just gives the option to invoke a build directly in  Source/cryptography without moving cryptography in a separate repo.
Current cyclic dependency if we move to the vault powered libprovision:

libproviosion -> clientlibraries(cryptography)
clientlibraries(provisionproxy) -> libproviosion

I think we can close this? @bramoosterhuis

I think we can close this? @bramoosterhuis


Feat: Added ability to use match_phrase in querying

Hey!

Match_phrase is added as the option of MultiSelectSubFieldFilterValue to MultiSelect Filter. It is used to perform search by exact string;
Match is used by default, so it should not break any existing cases.

Addresses CCPC-1614

I am not sure if we need CI pipelines for this repo, but need more investigation for CircleCI issue. But code looks good to me


Add: Config option to disable the notification when your EMC is changed by /emc add|remove|set ...

As of Project Expansion 1.0.10 (commit 1a9c5024f31bb78130cb02262d72dda84c8b46f1), changing a player's EMC using the /emc add|remove|set ... command sends a notification to the targeted player(s) that their EMC was changed. This notification may not be desirable, especially in the following examples:

The message may be spammed by a repeating command block giving 1 EMC/tick to all players by executing execute as @a run emc add @s 1.
The modpack developer may want to implement an EMC penalty for death, but they want a custom message for the EMC loss instead of the message that is hard-coded and (currently) always active when using the /emc command on a different player.

To fix this, a config option should be added that allows the notification messages to be disabled.

Name: EMC Command Notification
Description: If the /emc command should send a notification to players when their EMC is changed.
Effect: If false, the /emc command does not send notifications to any players targeted that have their EMC changed.

Current workaround: Delete or comment out the following lines, then compile and install the mod as usual.
https://github.com/DonovanDMC/ProjectExpansion/blob/2cb263dd13c6dcf11a78daf128b789ca2d2a7458/src/main/java/cool/furry/mc/forge/projectexpansion/commands/CommandEMC.java#L111
https://github.com/DonovanDMC/ProjectExpansion/blob/2cb263dd13c6dcf11a78daf128b789ca2d2a7458/src/main/java/cool/furry/mc/forge/projectexpansion/commands/CommandEMC.java#L121
https://github.com/DonovanDMC/ProjectExpansion/blob/2cb263dd13c6dcf11a78daf128b789ca2d2a7458/src/main/java/cool/furry/mc/forge/projectexpansion/commands/CommandEMC.java#L131

Added a "Notify EMC Changes" in 1.0.11

Backported to 1.15 in [1.16] 1.0.11


Update initiate-autoir-investigation.md

Updated requirements for AIR
reference : - https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/automated-investigations?view=o365-worldwide#requirements-for-air

@JohanFreelancer9 Please copy review

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/5800


Desktop app on Linux

Thanks for building the desktop app, its a very nice UI! I've also been using the cli for a little while now instead of manually managing symlinks and find it very helpful.
Doing a quick check I built and ran on Linux desktop (on master) without any issues.
Would be nice to add Linux desktop builds for future releases here on GH and update the Readme to mention that it works on Linux too.

@maks thanks  for checking in on that. There is one behavior which it held me from checking on Linux which was a watcher on directory for changes.
When you make changes to versions outside of e app, like using the CLI or removing the directory.
I will check on that and update the documentation. Thanks

I think the main limitation with Linux compared with MacOS and Win is that it doesn't support recursive dir watching

Actually apologies, you are already using the watcher package so I think that does support recursive even on linux.

Just have to implement the linux build as part of the CI process

You could count me in as on of your first happy Linux users. Beside @maks obviously. :wink:


[Nextra-theme-docs] react-hydration-error prop className nav logo

Please provide more info or reproduction

...

After I deleted the .next folder on the project, the above error no longer appeared

Currently I am using the latest version of Nextra.

I get this error when using pnpm dev:website

@tuanducdesign I don't have this warning while running pnpm dev:website
did you take the latest changes from main branch?

I have changed, I deleted nextra folder in packages folder and customized nextra-theme-docs

I have changed, I deleted nextra folder in packages folder and customized nextra-theme-docs

I mean I replace "nextra": "workspace:*" to "nextra": "latest"

This is not the right place for asking general questions or deep diving into your warnings while customization Nextra themes


Test Mode

I am trying to use the Test Mode and I can't figure out how to use it. Can someone please make some documentation on this.

When I've tested it I've used some Paypal sand box accounts:
https://developer.paypal.com/developer/accounts/
I actually think I used two sandbox accounts, one for the merchant and one as the customer.
The email addresses for sandbox accounts look something like this:
<EMAIL_ADDRESS>However for testing on live sites I still always like to do a real transaction, a test product for $1 or something.


Anyone who has handled this error?

| Intel(R) Core (TM) i7-3630QM CPU @ 2.4GH | Memory 4.00 GB |
|64 bit|NVIDIA GeForce GTX 770M|
|librealsense|2.40.0 RELEASE|
|OS|Windows 10 Pro|
Intel RealSense Viewer / Depth Quality Tool has crashed with the following error message:
GLFW Driver Error: WGL: The driver does not appear to support OpenGL
Could not initialize offscreen context!

It could have not worked because of I used Remote Desktop maybe.


fix: python rel wf dispatch input for tag

#105  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tazarov and the rest of your teammates on  Graphite


Regulation group shoud have a lower case G

Codecov Report

Merging #258 (b26c76d) into master (7a77380) will decrease coverage by 0.18%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #258      +/-   ##
==========================================
- Coverage   62.56%   62.37%   -0.19%
==========================================
  Files         188      190       +2
  Lines       11691    11825     +134
  Branches      893      917      +24
==========================================
+ Hits         7314     7376      +62
- Misses       4220     4289      +69
- Partials      157      160       +3

Impacted Files
Coverage Δ

importer/management/commands/patterns.py
18.36% <0.00%> (-19.73%)
:arrow_down:

importer/management/commands/import_countries.py
21.42% <0.00%> (-11.91%)
:arrow_down:

additional_codes/views.py
88.46% <0.00%> (-11.54%)
:arrow_down:

measures/patterns.py
87.33% <0.00%> (-3.44%)
:arrow_down:

importer/management/commands/utils.py
55.55% <0.00%> (-2.28%)
:arrow_down:

importer/management/commands/doc_importer.py
13.00% <0.00%> (-1.00%)
:arrow_down:

quotas/business_rules.py
28.92% <0.00%> (-0.83%)
:arrow_down:

measures/parsers.py
92.10% <0.00%> (-0.83%)
:arrow_down:

measures/util.py
100.00% <0.00%> (ø)

workbaskets/urls.py
100.00% <0.00%> (ø)

... and 18 more

Continue to review full report at Codecov.

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


Question: Version 1.1.4 (equal stops)

When you will publish a new version with equal stops support?
Thanks.

done


Depth Of Field

I cannot seem to enable the DOF in my scene. Is there a procedure that I am  not following?
Thanks,
Mark

It's there but it's subtle.  You are enabling the Depth of Field checkbox in the RenderMan Camera section of the camera tab, right?  You might have to lower the f-stop down pretty low to see it.

jdent02, Got it! Lowered to 1 and see the effect.The default aperture of f/4 is low for most cameras.
Thanks!

Yeah, I usually have to go under 1 to see anything.  Personally I don't think RenderMan's F-Stop scale matches up at all to a real camera, but it works.

I think it has something to do with the way we're translating focal
distances.  Might be a bug
Focal lengths, sorry
On Thu, Oct 8, 2015 at 5:57 PM, jdent02<EMAIL_ADDRESS>wrote:

Yeah, I usually have to go under 1 to see anything. Personally I don't
think RenderMan's F-Stop scale matches up at all to a real camera, but it
works.
—
Reply to this email directly or view it on GitHub
https://github.com/bsavery/PRMan-for-Blender/issues/148#issuecomment-146728301
.

--
<EMAIL_ADDRESS>508-274-8700

If I get some time I'll run a comparison of how cycles Fstops compare to RenderMan

After running a full size render I've noticed the centre of interest is not
sharp. I'd like to move the focus to the middle of the subject. Is there
any way to define a spot to focus on other than just guessing or is the
"distance" (which doesn't seem to do anything) and re-rendering?
On Fri, Oct 9, 2015 at 8:29 AM, jdent02<EMAIL_ADDRESS>wrote:

If I get some time I'll run a comparison of how cycles Fstops compare to
RenderMan
—
Reply to this email directly or view it on GitHub
https://github.com/bsavery/PRMan-for-Blender/issues/148#issuecomment-146851196
.

There are two ways to set it: You can enter the name of an object in the 'focus' box, or you can manually set the distance using the numbered slider.  If you do this you should enable the 'limits' checkbox in the camera 'display' tab.  That will make the focal distance visible as a big yellow cross.

Did some comparing and the F-Stop scaling seems to be pretty much identical between Cycles and PRMan so I don't think there's a bug here:
Cycles:

PRMan:


Feature Request: Can this be distributed via krew?

I saw the request for brew, just putting my two cent in for a krew distribution

Do you want the binary to be distributed as-is with brew so you would run
kubectl eks-node-viewer

or would you rather it be a subcommand of something like the kubectl-eks plugin so the command would be
kubectl eks node-viewer

cc @surajincloud

i would say eks-node-viewer, as some people may just need this one and not use the eks plugin


Unable to download any image

Expected behavior
After launching the toolbox docker (kitematic), I would download an image.
Actual behavior
There seems to be an error.
Information about the Issue
Error while pulling image: Get https://index.docker.io/v1/repositories/alexeiled/docker-oracle-xe-11g/images: dial tcp: lookup index.docker.io on <IP_ADDRESS>:53: no such host
Steps to reproduce the behavior

Launch kitematic
Try to download image "docker-oracle-xe-11g:latest

Are you behind a firewall or VPN?
See our wiki for possible solutions:
https://github.com/docker/kitematic/wiki/Common-Proxy-Issues-&-Fixes

Hello FrenchBen,
As I'm behind a corporate firewall, I'll follow your wiki to fixe my issue.
Thank for your help.


feat(pmp-api): log in to bitbucket

Resolves #PMP-15

Could you also provide something to the Reademe how to set up bitbucket client?

Done


Missing documentation for bytes defaults

Nanopb documentation does not indicate how to set default values in the proto file for a field of type 'bytes'.
For example:
message testbytes {
required bytes trial = 1 [default = "\xDEADBEEF", (nanopb).max_size = 4, (nanopb).fixed_length=true];
}
Expected result:
{{0xDE, 0xAD, 0xBE, 0xEF}}
Actual result:
{{0x5c,0x33,0x33,0x36,0x41,0x44,0x42,0x45,0x45,0x46}}

Seems like a duplicate of issue #316. Can you try newest git version?

Just pulled down the latest updates. I still get the same incorrect result.

Indeed, looks like fixed_length option is still broken.

I added some notes to docs also, https://jpa.kapsi.fi/nanopb/docs/concepts.html#default-values
The correct syntax to use is like \xDE\xAD\xBE\xEF, same as in C.


Issue 19842 - only class member functions must be used be used as slots

From the bug report:
import std.signals;
import std.stdio;

class Test
{
    mixin Signal!(int);

    void run ()
    {
        emit (1);
    }
}

class Tester
{
    void initialize ()
    {
        Test test = new Test ();
        test.connect ((int a) => trigger (a));
    }

    void trigger (int a)
    {
        writeln (a);
    }
}

Because (int a) => trigger (a) is not referring to any variable in initialize, it's easy to think it's the same as &this.trigger, but it's not. I'm attempting to be more clear on this.

Oops, forgot to target stable. Let's try again.


Set common tags for trees

Added important fields for trees identification: genus, species, taxon.
Added others common fields

Thanks @tyrasd. I just created the missing files. Please review them 👍

Great! Thank @tyrasd! Have a nice day 🚀


Add "Forgot password?" link to Sign In screen

Megaspec ID
1.6.4

Oh oops, yep, this link was already done. Ends up just needing a string change instead.


Validate with function, allow duplicattes

This is the best I can do. I don't get why some code does not reformat to your initial code.
I think using prettier can give more stable results. I can add it to work with eslint, if you want.
It must be I used prettier to get this result, but then I removed it from dependencies, but now eslint can't reformat it back.
This is instead of #70

This result (code) i get by running npm run lint:fix

Thanks :)


Special character for mode

Right now there isn't special character for mode in match and apply:
match .foo content {
    "Hello"
    apply .bar content
}

Maybe we need one. Like this:
match .foo #content {
    "Hello"
    apply .bar #content
}

I vote for this. It would prevent accidental errors
match /selector now equivalent match / selector
and in match .selector[ cond ]oops the oops is mode.

match .foo.longbar vs match .foo.long bar

Yes, some delimiter for mode is better than no delimiters, imho.

I don't like # cause it potentially conflicts with #15. Maybe we should use double quotes?
match / "mode" { // always static mode
    apply .foo "mode" // static mode
    apply .bar "mode-{ mode() }" // dynamic mode
}

"mode" does not look like mode...

backticks, bang?
Well, it'll be perl style :)

apply #static-mode
apply #"mode-{ mode }" // ugly!
apply "mode-{ mode }" // different syntax for dynamic modes? I don't like it.


icloud login page not loading

Describe the bug
icloud.com login page load with an error - idmsa.apple.com refused to connect.
To Reproduce
Steps to reproduce the behavior:

Go to 'https://www.icloud.com/'
See error

Expected behavior
instead of the idmsa error, the login page should load.
Screenshots

Environment (please complete the following information):

OS/Platform and version: Windows 10 20H2
ungoogled-chromium version: 86.0.4240.183 (Developer Build) (64-bit)

Additional context
I suspect the issue is because in the network tab, a request to the following URL fails with status code: 421 and error - "Missing X-APPLE-WEBAUTH-TOKEN cookie"
URL - https://setup.icloud.com/setup/ws/1/validate?clientBuildNumber=2019Project47&clientMasteringNumber=2019B35&clientId=8f85dcf4-10ab-4d2d-9677-9ecdaafa2163

Works on my machine.

Could you also show dev tools when trying to load the page, that could help.

Like I said previously, all other requests had 200 status.
request response -
configBag: {urls: {,…}, accountCreateEnabled: "true"} accountCreateEnabled: "true" urls: {,…} accountAuthorizeUI: "https://idmsa.apple.com/appleauth/auth/authorize/signin?client_id=d39ba9916b7251055b22c7f910e2ea796ee65e98b2ddecea8f5dde8d9d1a815d" accountCreate: "https://setup.icloud.com/setup/ws/1/createLiteAccount" accountCreateUI: "https://appleid.apple.com/widget/account/?widgetKey=d39ba9916b7251055b22c7f910e2ea796ee65e98b2ddecea8f5dde8d9d1a815d#!create" accountLogin: "https://setup.icloud.com/setup/ws/1/accountLogin" accountLoginUI: "https://idmsa.apple.com/appleauth/auth/signin?widgetKey=d39ba9916b7251055b22c7f910e2ea796ee65e98b2ddecea8f5dde8d9d1a815d" accountRepairUI: "https://appleid.apple.com/widget/account/?widgetKey=d39ba9916b7251055b22c7f910e2ea796ee65e98b2ddecea8f5dde8d9d1a815d#!repair" downloadICloudTerms: "https://setup.icloud.com/setup/ws/1/downloadLiteTerms" getICloudTerms: "https://setup.icloud.com/setup/ws/1/getTerms" repairDone: "https://setup.icloud.com/setup/ws/1/repairDone" vettingUrlForEmail: "https://id.apple.com/IDMSEmailVetting/vetShareEmail" vettingUrlForPhone: "https://id.apple.com/IDMSEmailVetting/vetSharePhone" error: "Missing X-APPLE-WEBAUTH-TOKEN cookie" requestInfo: [{country: "IN", timeZone: "GMT+5.50", region: "DL"}] 0: {country: "IN", timeZone: "GMT+5.50", region: "DL"} country: "IN" region: "DL" timeZone: "GMT+5.50" success: false

Update it loaded fine in the incognito window. Also, initially, I thought it might be due to delugesiphon extension but after removing that still same error in the normal window.

Update: It loaded fine in incognito which got me thinking if some extension was interfering with the site.
On further investigation, I found out PIA VPN extension was the issue. works fine after removing that.


kubectl-gadget/ig-k8s: change connection to gadget service from exec to port-forward

This PR changes the default connection method used by kubectl-gadget to connect to the gadget-service running on the gadgettracermgr.
Until now, we executed a socat binary (using the exec method of the Kubernetes API server) inside the gadget pod to be able to forward gRPC traffic to a unix socket, to be able to talk to the gRPC endpoint of the gadget-service.
After this PR, the gadget-service will listen on a tcp socket by default (<IP_ADDRESS>:8080) and kubectl-gadget will connect to it using the port-forward method of the Kubernetes API server.
The reason that we used a unix socket in the past, was to properly secure the socket. As the gadget pod was running in the host network namespace, running our service on a tcp port would have exposed it on the host, making it accessible from unknown sources. Now that we're running in our own network namespace, we're not exposing it anymore outside of our own pod.
Advantages are:

granting the previously required privilege to exec things on our gadget pod can be much more dangerous than just allowing a port forwarding to the gadget service
removes the requirement of having to use (and bundling) the socat binary to actually connect to the previously used unix socket

I tested it and I think the connection timeout is too high

I changed the default to 5 seconds and made it configurable with --connection-timeout.

Forgot to say: thanks for the reviews and great feedback! ❤


Rebrand/top buttons

What (if any) features are you implementing?

Add the Back to screener and Save my results buttons.

NOTE: I renamed the Results' Header file to ResultsHeader so that it's easier to pull up the correct header file and not confuse it with the app's actual header.
 We can discuss in person if easier, but on the side with the text for both of them there seems to be less padding. can we center the icons/text so that we don't have uneven padding on the left/right of the buttons?

@sydney-devine Let me know if this works:

@sydney-devine can this be merged? @ivonne-hernandez can you pull from feat/results_redesign

@sydney-devine can this be merged? @ivonne-hernandez can you pull from feat/results_redesign

Yea we're good on this


chore(main): release 0.2.17

:robot: I have created a release beep boop
0.2.17 (2024-11-10)
Bug Fixes

调试使用Github的环境变量25 (fa1b5a6)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.2.17
:sunflower:


shouldStopAnimation() always returning false when using Motion

I'm trying to use the onRest callback on Motion, but it's never called, because shouldStopAnimation is always returning false, which will then call it again endlessly. I've figured out that the problem is inside shouldStopAnimation, because in spite saying in the comments that the stepper will take care of floats, that isn't the case. So currentStyle[key] !== styleValue will always be evaluated to true, and return false.
My current implementation is the following:
<ReactMotion.Motion
  defaultStyle={{ 'stroke-dashoffset': defaultCircle }}
  style={{ 'stroke-dashoffset': ReactMotion.spring(setProgress, { stiffness: 90, damping: 35 }) }}
  onRest={() => { console.log('animation finished'); }}>
    {(interpolatingStyle) => <circle
      cx={circleCenter}
      cy={circleCenter}
      r={radius}
      className="speed-gauge-meter__progress"
      style={{ ...defaultStyle, ...interpolatingStyle }} />
    }
</ReactMotion.Motion>

This was happening because I was passing in values as strings.


Difference between RaGOO and RagTag

Hello,
Could you tell me what's the difference between RaGOO and RaGOO's successor, RagTag?

Hi there,
For now, the fundamental functionality is the same. I hope to have a formal description of the differences somewhere soon. In the meantime, here are some differences.

The scaffolding and correction accuracy has improved.

Many features are much faster (sequence IO) or use much less memory (e.g. contig correction with validation)

There are some new features. One can use Nucmer instead of Minimap2, and one can pass custom parameters to the aligner. Alignments can also be filtered in more ways. One can also infer gap sizes from the reference genome alignments. There some others as well.

The software design has improved. The intermediate output is especially cleaner. There is also a new testing suite (though I am working on making the test data public).

RagTag is available on conda and PyPI

Aside from those differences, there are two primary reasons why one should switch to RagTag:

RaGOO will eventually be deprecated

We will be adding new features to RagTag

The new RagTag feature I am working on currently is the ability to use multiple reference genomes for scaffolding. And once it is ready, you can use the AGP files generated today to use the feature. So I definitely recommend using RagTag and saving output in case it can be used for future features.
Thanks,

Thank you so much for your detailed explanation.
It's super clear after your explanation.


Binomial Sampler replaced by Poisson Sampler

All variants of binomial samplers are replaced by one single poisson sampler.

We shouldn't be doing lazy sampling anymore because we want to allow duplicate samples (as that's what Poisson distribution requires). The current code is asking for unique samples (in the eager case).


WIP: cmd/webui: create client-side parsing of ICL files

This PR introduces a web UI which can parse ICL files from Go->WASM cross-compiling of our library. It lets us host a tool/demo for the community.
To run / dev locally run:
make build-webui && go run ./cmd/webui/

Then open http://localhost:8083/ in a browser. You can use some of our test files as examples.
Issue: https://github.com/moov-io/imagecashletter/issues/109

@joshsadler I'm seeing something strange.. After clicking "Parse ICL File" the URL has ?jsoninput=... appended with the file contents and the page seems to refresh clearing the input/output boxes. The parsed file response is lost.

Oh dang, I forgot to set event.preventDefault() when moving the handler from button click to form submit

Gotcha. I added it locally and that fixes the redirect.

@adamdecaf good call on adding a header. I tweaked it :)


Expose TestcontainersContainer client

Please can you expose the client in TestcontainersContainer?
I need to extend the TestcontainersContainer to add copying files from the container and I want to re-use the client instead of creating a different client.
[Edit]: How can we re-use the dockerclient in out extension method?
Please!!!

Can you contribute and create a pull request?

Ok

I don't know the parameters, but maybe something like ReadFileAsync would be nice. If you have any other ideas, I'm happy to discuses them. Thanks in advance.

@HofmeisterAn I have sent in a quick PR, please can you take it up from there? #418

@HofmeisterAn How can we also set the container resource? I can find the Resource model here https://github.com/dotnet/Docker.DotNet/blob/c71df18a0f76f30160f61f908353ad1e53677377/src/Docker.DotNet/Models/Resources.Generated.cs#L1-L102 but I did not see how to use it.
I know this is outside the scope of this issue.

How can we also set the container resource? I can find the Resource model here

This is not supported right now. I think Resources gets passed to HostConfig. Java offers to customize the configuration like this. First we need a proper concept.

I'll close this in favor of #430.


MODELIX-467 Caching in model-api-gen does not add new concepts on rebuild

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


worked on issue 881 regarding improving readme for content editors

Changes

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


Drag & Drop containers, error handling & others

Implemented The Aaron's API_Meta error handling.
Added senderId override capability as id immediately after !magic & before 1st --cmd.
Added Drag & Drop containers to the Drag & Drop system, using the Race-DB-Containers & Locks-Traps-DB databases.
Made reSpellSpecs, reClassSpecs & reAttr accessible by other APIs from the library.
Made –initialise command automatic on startup if the defined GM macros have changed.
Enhanced parseDesc() to cater for both creatures and containers, locks & traps.
Removed potential setTimeout() issues with asynchronous use of variable values – passed as parameters instead

This pull request can only be merged if the RPGMaster Library v2.2 is also merged


ng-transclude does not work inside of an included template

We have a directive that uses ng-transclude, but it also needs to switch its template dynamically so we are using ng-include for that. The problem is that ng-translude block defined in the template is not expanded. Instead Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found is thrown.

This happens because the included template is compiled before it is appended to the DOM, which means ngTransclude cannot find the transclusion parent directive. At this point, this works as expected.
Can you explain / show why you need ngInclude in the directive template? Can't you use a dynamic templateUrl function and load the template directly?

I'm going to close this issue because we haven't got any feedback. Feel free to reopen this issue if you can provide new feedback.


Uncaught TypeError: Super expression must either be null or a function, not undefined in prod

I ran into a problem today I wanted to share.
My app was working for a week in dev mode with no errors but when I built it with no problems and tried to run it on local, it gives me:
Uncaught TypeError: Super expression must either be null or a function, not undefined:

I looked again over all my code for typos in class extends but the fact that it was happening only after build means that there's something wrong with packaging.
I changed dev-tools to inline in webpack config to inspect the error stack and it seems that redux-form was the source. I already patched and updated the exact issue https://github.com/mxstbr/react-boilerplate/issues/868 but it seems like to get fixed only in dev. after swapping
      'main',
      'jsnext:main',

lines it gets fixed in prod too, so the problem is still around. I think this might be relative to https://github.com/mxstbr/react-boilerplate/issues/950 fix but I haven't checked yet.

Ran into the same issue. #952 also seems to resolve the issue.
Adding the line below to app/reducers.js causes the issue:
import { reducer as formReducer } from 'redux-form/immutable';`

Interestingly the line below does not cause this issue, but then you have to write your own reducer to convert JS object to immutable:
import { reducer as formReducer } from 'redux-form';`

@samit4me Thanks, same issue here. Can you show me an example of how to write my own reducer to convert the JS object (for redux-form)?

@meilers That was almost 2 months ago now, so I'm struggling to remember, but I think redux-form fixed this in later versions. The reducer to convert the JS Object was something like the following:
import { fromJS } from 'immutable';
import { reducer as formReducer } from 'redux-form';

const immutableize = (reducer) => (state = {}, action) => fromJS(reducer(state.toJS(), action));
const immutableFormReducer = immutableize(formReducer);

...

see this comment for further details

@sourcesoft solution worked great

This seems to be happening again back to this issue https://github.com/erikras/redux-form/issues/1637

On erikras/redux-form#1637 they are suggesting to change the order of preference of jsnex vs main at internals/webpack/webpack.base.babel.js. So they suggest going from
mainFields: [
  'browser',
  'jsnext:main',
  'main',
]

to:
mainFields: [
  'browser',
  'main',
  'jsnext:main',
]

What is the impact of such change? I don't have much experience on that area but I'm afraid that it is not a good thing. Someone (@jacobk )mentioned lack of tree shaking.
A bit off-topic but, could someone point me to an example about how to manage the form submission using redux-form + react-boilerplate?


New namespace template

Setup namespace templating

Fix device naming to accept devices like /dev/xvda9 (based on http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html)

@gianrubio, thank you for contribution!
Not sure about device=~\"^/dev/(sd|hd|xvd).*$\", as it will allow other partitions (different from 9) to be included.
I decided to use /dev/[sf]da9 strictly because of CoreOS Disk Layout, as far as I'm using CoreOS.
Would you be so kind to comment this moment more wide?  However you can mount devices as /dev/xvd.
Look on my current cluster

What do you think to use /dev/([sf]|xv)da9 ?

What do you think to use /dev/([sf]|xv)da9 ?

@gianrubio 👍👍👍

@gianrubio I've dived into it a bit closely and found some problems:

Unlike Node templating, the namespace label is not present on every metric. Actually, it is present only on k8s containers. So I removed Namespace templating from queries not related to k8s.
cAdvisor's container abstraction is based on lmctfy's so containers are inherently nested hierarchically.
That means that containers metrics with id="/" show total system usage, and we are using that in our "Total Usage" stats. Those metrics do not have namespace label. So for templating by Namespace in "Total Usage" stats we need to sum per-container usage now, like id=~"^/[^/]+/[^/]+$".  It's okay when we choose concrete Namespace, but numbers differ when we choose Namespace: All, because now queries do not collect system usage that is not related to containers:# This is not 0
sum(container_fs_usage_bytes{device=~"^/dev/([sf]|xv)da9$",id="/"}) - sum(container_fs_usage_bytes{device=~"^/dev/([sf]|xv)da9$",id=~"^/[^/]+/[^/]+$"})

Ideally, we need to use id="/" for Namespace: All, and id=~"^/[^/]+/[^/]+$" in other cases. But Grafana templating does not provide such capabilities.
I think we need to customize Prometheus relabel_config a bit more here.


[WIP] Add remote_address to HTTP::Server::Context

Would appear to close #453 and #5784.
This PR adds support for remote_address by pulling it from the underlying IO.
I'm currently unsure if adding this as a separate field to Context is appropriate. It may make more sense to provide a Context::Info or Context::Metadata, which could contain remote_address and local_address, or other useful information that would be relevant in some cases, with functionality similar to #1722.
Example use:
# A very basic HTTP server
require "http/server"

server = HTTP::Server.new do |context|
  context.response.content_type = "text/plain"
  context.response.print "Hello to #{context.remote_address}!"
end

address = server.bind_tcp 8080
puts "Listening on http://#{address}"
server.listen

$ curl http://<IP_ADDRESS>:8080
Hello to <IP_ADDRESS>:37024!

This PR also patches OpenSSL::SSL::Socket so the IPAddress can be determined for servers with SSL enabled.
It might be good to change this line to a warning or safer default.
Still needs tests.

this is so needed

IMHO this PR is premature. We should continue the discussion about how to expose and implement this in #5784.

I agree it's premature, that's why it's marked as [WIP].
This comment #453 is mostly the reason for this PR. What is implemented here is minimal functionality with the expectation that it will be expanded to include support for e.g. X-Forwarded-For similar to #1722.
My hope for this PR is to further discussion. There doesn't appear to be much consensus reached in #5784, although I would be happy to move this functionality into HTTP::Server::Response if that is more appropriate.

A couple thoughts:
In #1722 there's an option to use headers to determine the IP, namely X-Forwarded-For, Client-Ip, and several others were mentioned. Would it make sense to leave this to the user to implement? There appear to be a pretty varied list of headers in use that would likely need to be supported, while the user would have a better understanding of what they need.
This example exposes client_ip, which is determined from headers, so it might make sense to implement that here. So for example, if a client is connecting to a server via proxy, client_ip would return the result of X-Forwarded-For, and remote_ip would return the proxy.
It makes sense to me that this should belong in HTTP::{Server,Client}::Response, since there are already several other methods for handling the socket itself, namely close, flush, and write. I would consider this PR a way of providing information about the socket. It is also keeps HTTP::Server::Context clean. I'd be interested in other thoughts.
Currently this PR supports HTTP servers, with and without SSL. Are there any other protocols/sockets that need to be supported?

@omarroth

In #1722 there's an option to use headers to determine the IP, namely X-Forwarded-For, Client-Ip, and several others were mentioned. Would it make sense to leave this to the user to implement?

As you state in the next paragraph, these are two different concepts: a) The remote address of the immediate network connection. b) The client address of a HTTP connection which may be equal to the remote address, but that could also be some kind of proxy or other intermediary.
I think both should be made available in stdlib's HTTP implementation, but this PR focuses on a) which needs to come first. b) is the next step.

Currently this PR supports HTTP servers, with and without SSL. Are there any other protocols/sockets that need to be supported?

The server is specific to HTTP, so no other application servers need to be supported. But obviously all kinds of HTTP transport streams, i.e. TCP and Unix sockets with and without SSL.

Thanks for taking a look at this @ysbaddaden and @Sija.
I moved remote_address into HTTP::Server:Response, and it now will raise an exception on unsupported socket types.
Currently it's handling the socket twice. Once to unwrap it if necessary and then again to determine the underlying type. It may be necessary to delegate it to SSLSocket if it's possible for a socket to be wrapped multiple times, but otherwise it seems cleaner to handle that in one place.

Where would you suggest exposing this?

The request object. Later we can implement #client_ip on the request, that will use the remote address and the x-forwarded request headers to return a client ip.

That was essentially the consensus in #5784 and why previous attempts like #5870 failed. It just didn't work out yet because HTTP::Request is used in both the client and server and we need to agree whether we want to split it into two separate classes (HTTP::{Client,Server}}::Request) like it is already the case for Response.

Apologies for not giving this PR as much attention. I moved remote_address into HTTP::Request and made a minor change to HTTP::Request to allow for pulling it from the underlying IO.
I'll add specs when I have a free moment.

Closing in favor of #7610.


fix incorrect handling canonical. path w/wildcards

Once the fix for #3 landed, I noticied that canonical was failing duplicating a bracket directory ([lang]) in the output.
Testing special directories [foo] (..)bar directly in dirname did not fail, so I guess the issue is due to the recursion in canonical calling dirname.
The dirname expansion has no quotes, and I've applied the same fix than abf9e0456e66992081972723e68c4d69d95c5104. I did it also to relative, making shellcheck happy. Now all passes!
Did I miss something?

It looks like only the realpath.dirname change is needed to make your new tests pass.  It's not obvious to me what test(s) would make realpath.relative fail, even though it looks vulnerable to the same issue.

ok, I reverted the relative quoting.

Uh, actually I was hoping you would add more tests instead.  Sorry for not being clear.  :grin:

Got it!
Without quoting in relative, this test fails
     $ @assert y             realpath.relative 'a/[f]/(.)x/y' 'a/[f]/(.)x'
+    realpath.relative a/[f]/(.)x/y a/[f]/(.)x: expected 'y', got '../../[f]/(.)x/y'

Thanks!


Project doesnt persist when using Postgres database

I saw your great project when i was looking for how to write an ecommerce springboot app, when i tried to run it using postgres database , it fails to persit the category.

Hi. I've been very busy lately to try out this project w/ postgres.
Could you please show me the configuration that you changed to make it work w/ postgres and also the exception that you are getting so I can help you? Thanks!

Hi. I've been very busy lately to try out this project w/ postgres.
Could you please show me your app config that you try for postgres and also the exception that you are getting so I can help you? Thanks!

Hi. I've been very busy lately to try out this project w/ postgres.
Could you please show me your app config that you tried for postgres and also the exception that you are getting so I can help you? Thanks!


How to ignore nodejs modules?

I'm trying to use "upnode" with webpack. However, upnode requires nodejs modules that are not used client side. However, webpack refuses to create the bundle since it cannot resolve e.g. require('net') which is not used through the client side api.
Suggestions on workaround?

Having the same problem with route-parser. Though working fine in the browser, route-parser utilises a jison parser which provides a cli and is accessing node's fs-module therefore. Using IgnorePlugin to ignore fs modules seem to break style-loader and/or css-loader.
Any suggestions how to fix this problem?

Jison is only used by scripts/compile_parser.js which isn't required anywhere afaict. So that shouldn't be a problem.

+1, How does one simply flag a node require to be ignored?

https://gist.github.com/defunctzombie/4339901#ignore-a-module

So, I've created a page loader which effectively shows webpack how to break my react components into discreet chunks based on certain react-router routes.
https://github.com/adjavaherian/webpack-react-router/blob/master/app/PageLoader.jsx
This works well, but now my server side rendering is different than client, so I'd like to be able to require.ensure at one point and then require.ignore that same module, so it doesn't get added to the require graph.  I think what I'm trying to do is different than using the browser : { module: false } method which appears to globally ignore a module when bundling.  Something like this would be great.
var ServerFront  = require('./pages/FrontPage');
/*  I would like ServerFront to be ignored, so the the ensure below, properly chunks the FrontPage
require graph.  But notice that they are the same module.
*/

var FrontPageLoader = React.createClass({

    componentDidMount: function() {
        var that = this;
        require.ensure(['./pages/FrontPage'], function(require) {
            FrontPage = require('./pages/FrontPage');
            that.forceUpdate();
        });
    },
    render: function() {
        if (FrontPage) {
            return <FrontPage {...this.props} />;
        } else {
            return <ServerFront {...this.props} />;
        }
    }
});

You can set the node built-in to be ignored by setting it to "empty" here in your config: http://webpack.github.io/docs/configuration.html#node


Fixed possibly misunderstand in Interaction.original_message documentation.

Summary
This pull request fixes possibly misunderstand in original_message documentation.
I will create this PR as draft since I would like someone to review it. (My English isn't the best)
Linked issue: #61

Checklist

[ ] If code changes were made then they have been tested

[ ] I have updated the documentation to reflect the changes
[ ] I have formatted the code properly by running black .

[ ] This PR fixes an issue
[ ] This PR adds something new (e.g. new method or parameters)
[ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
[x] This PR is not a code change (e.g. documentation, README, ...)

Clarifying the wording here is a good idea, however the original message returned after .defer differs between view interaction responses and application command responses:
For interactions, you get the message containing the view. For application commands, you instead get the (empty) message which shows the "[bot] is thinking..." text in clients.


[WIP] Email link sign in

Most of email link sign in (phase 1, meaning the flow needs to be completed on the same device)

@lsirac let me know when you want code review to start (even if it's just on some parts)

Things to look for:

All UI stuff (seriously, I never really do any UI stuff, so there may be bugs)
EmailLinkSignInHandler - here's where everything happens (signing in, linking, anonymous upgrade)
EmailActivity - added some new fragments to this, just something to look at when I'm registering them
When catching the link, we open a lot of activities e.g. AuthUI->KickOff->Catcher, etc, I don't see a way around that
TroubleSigningInFragment - I made sure that we don't resend the emails on rotations, but maybe I missed something

Some notes from playing around with this PR within the sample app:

The button says "sign in with email" but shouldn't it say "sign in with email link" or something to distinguish it?
When I tried to use email link sign in without the provider enabled in my FIrebase project, I saw the EmailLinkFragment very briefly flicker into existence which left me confused.  I wonder if we're not waiting for the email sending to finish before showing that?
Once I did enable the provider but did no other config, I ran into "UNAUTHORIZED_DOMAIN:Domain not whitelisted by project" however that was only higher up in the logs.  The error that bubbled up was com.firebase.ui.auth.data.model.UserCancellationException: Unknown error but I believe we should be sending back some sort of "developer error" message, not user cancellation.
This is more of a product issue, but I was surprised to get com.google.firebase.auth.FirebaseAuthException: Please activate Dynamic Links in the Firebase Console and agree to the terms and conditions. [ FDL domain is not configured ].  We should probably do that for the developer!

In the end the flow does work (woot!) but there was a big flickering activity stack.  I think you mentioned that in one of your self-review comments and I'll dig in and see if we can try to make that look nicer.

I was able to get a crash by doing the following:

Sign in with email link
Go back try to sign in with the same email, but with email+password

2018-10-18 09:46:08.085 25713-25713/com.firebase.uidemo E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.firebase.uidemo, PID: 25713
    java.lang.IllegalStateException: User has no providers even though we got a collision.
        at com.firebase.ui.auth.viewmodel.email.EmailProviderResponseHandler$StartWelcomeBackFlow.onSuccess(EmailProviderResponseHandler.java:101)
        at com.firebase.ui.auth.viewmodel.email.EmailProviderResponseHandler$StartWelcomeBackFlow.onSuccess(EmailProviderResponseHandler.java:91)

Some UI feedback on the "trouble signing in" flow:

The "trouble signing in" link doesn't seem to show any sort of pressed/clicked state when I tap it, which seems janky.  It's also styled differently than the ToS/PP links (no underline, different color) which makes me think it's not clickable.  Maybe we should make it a borderless button?
There's no transition to the "Trouble getting email?" screen, which felt strange.
Hitting the back button at the "Trouble getting email" screen takes me back to the NASCAR screen rather than back to the "email sent" screen, which seems too harsh.

@lsirac by the way:
com.firebase.ui.auth.viewmodel.EmailLinkEmailHandlerTest > testSendSignInLinkToEmail_expectSuccess FAILED
    org.mockito.exceptions.verification.TooManyActualInvocations at EmailLinkEmailHandlerTest.java:77
com.firebase.ui.auth.viewmodel.EmailLinkEmailHandlerTest > testSendSignInLinkToEmail_expectFailure FAILED
    org.mockito.exceptions.verification.TooManyActualInvocations at EmailLinkEmailHandlerTest.java:98

(review assuming tests pass)

Some notes from playing around with this PR within the sample app:

The button says "sign in with email" but shouldn't it say "sign in with email link" or something to distinguish it?
When I tried to use email link sign in without the provider enabled in my FIrebase project, I saw the EmailLinkFragment very briefly flicker into existence which left me confused.  I wonder if we're not waiting for the email sending to finish before showing that?
Once I did enable the provider but did no other config, I ran into "UNAUTHORIZED_DOMAIN:Domain not whitelisted by project" however that was only higher up in the logs.  The error that bubbled up was com.firebase.ui.auth.data.model.UserCancellationException: Unknown error but I believe we should be sending back some sort of "developer error" message, not user cancellation.
This is more of a product issue, but I was surprised to get com.google.firebase.auth.FirebaseAuthException: Please activate Dynamic Links in the Firebase Console and agree to the terms and conditions. [ FDL domain is not configured ].  We should probably do that for the developer!

In the end the flow does work (woot!) but there was a big flickering activity stack. I think you mentioned that in one of your self-review comments and I'll dig in and see if we can try to make that look nicer.

Thanks Sam!
To quickly respond:

From the DD, looks like we're keeping the same button
This should be fixed now
This should also be fixed

Done. :+1:

I will add the documentation in a separate PR


Weird behavior of interpreter for union objects

Reason/Context
For something like the following JSON Schema
{type: "object", properties: {"test": {type: ["object", "string"]}}}

Will the property test be split out? and what happens with string type? 🤔

At the moment test would be split out into its own CommonModel and then depending on the generator, render incorrect object type (non referenced) as a simple type or as a separate object. Need to investigate further how to solve this.

Still relevant

Current status on the next branch gives the following output:
class Root {
  private _test?: Test;
  private _additionalProperties?: Map<string, any>;

  constructor(input: {
    test?: Test,
    additionalProperties?: Map<string, any>,
  }) {
    this._test = input.test;
    this._additionalProperties = input.additionalProperties;
  }

  get test(): Test | undefined { return this._test; }
  set test(test: Test | undefined) { this._test = test; }

  get additionalProperties(): Map<string, any> | undefined { return this._additionalProperties; }
  set additionalProperties(additionalProperties: Map<string, any> | undefined) { this._additionalProperties = additionalProperties; }
}
class Test {
  private _additionalProperties?: Map<string, any>;

  constructor(input: {
    additionalProperties?: Map<string, any>,
  }) {
    this._additionalProperties = input.additionalProperties;
  }

  get additionalProperties(): Map<string, any> | undefined { return this._additionalProperties; }
  set additionalProperties(additionalProperties: Map<string, any> | undefined) { this._additionalProperties = additionalProperties; }
}

Which means the string type as a union is not being preserved.


Tech refresh & migrate from Travis to GitHub Actions

Stuff outstanding:

[x] Upgrade to JUnit5 - finally!
[x] Powermock not playing with JUnit 5 when mocking final classes - stuck on JUnit4 for tests using Powemock. See: https://github.com/powermock/powermock/issues/929
[x] Maven assembly plugin fix.
[x] Fix rogue Javadoc errors in Maven build.
[x] Gradle build.
[x] README updates etc
[x] Fix Gradle SpotBugs task on 7.3.3
[x] H2 version bump.
[x] Fix circular ref in WebSecurityConfig bean.
[x] Fix for missing Spring Cloud Restart bean.
[x] Fix for missing LogFileWebEndpoint bean.

Bot is now up and running on Boot 2.6.4 :-)

[x] Verify OpenAPI docs (+ app config props) look ok?
[x] Fix broken BotLogfileServiceImpl - latest Actuator LogFileWebEndpoint::logFile() is returning null Resource :-( Probably related to #144
[x] Verify test coverage % is consistent in maven + gradle builds. Can it be increased?
[x] Verify all FIXMEs and TODOs done?
[x] Verify Docker build ok?

All the deps need updating.
Spring Boot 2.6.x etc...
Also binning Travis - crazy OSS 'pricing' model...
Moving to Gradle build run by GitHub Actions + integration with SonarQube.

Undergoing live testing with exchanges - releasing shortly...

Released: https://github.com/gazbert/bxbot/releases/tag/v1.3.0


frontend, multiples fix and enhancements

Purpose
Multiples issues were found on the frontend for a live:

title not truncated and without arial-label
viewers list hiding content when there is no participants
a bug on smartphone for teachers
join discussion anonymously for students
an unpleasant style for buttons

Proposal

[x] truncate titles and set title and a11nTitle
[x] show a message alerting there is no body currently on the stream for sections
[x] fix the bug
[x] ask students for a display name if none is present in the live session when trying to join the discussion
[x] improve the buttons style

And a last one:
In the viewers panel, while there is no demand we have a large block between the on stage part and the top of the panel. It should be great to remove it while there is no demand to join the discussion. WDYT ?


Automatically refresh journaling on table alter

Postgres 9.5 allows us to leverage event triggers for this
Make sure function is backwards compatible, where nothing occurs in
earlier versions

@mbryzek @paololim This might be of interest to you guys.


[Storage] Datalake - add coverage for larger payloads.

Guard against https://github.com/Azure/azure-sdk-for-net/issues/20032

/azp run net - storage - ci

/check-enforcer override


Add MADV constants for Redox

Required for memmap2 crate

r? @JohnTitor
(rust-highfive has picked a reviewer for you, use r? to override)

@bors r+

:pushpin: Commit f9d1f3ed1dc336a5673688060a9f9c606e279c8c has been approved by JohnTitor
It is now in the queue for this repository.

:hourglass: Testing commit f9d1f3ed1dc336a5673688060a9f9c606e279c8c with merge 7e8f84c2bbf41d3ac0785e7aa52f1369c4a5e24c...