Change stdlib transaction to use the required fields from transaction instead of whole tx

Include modifications from pr #44
Includes Breaking Changes for current std lib usage.

I went through the discussion on Discord.
I wanted to do small analysis myself. So I've tried to compare the upgrade you've created here vs the #44
aiken check -m find_own_input
Current branch stats:
PASS [mem: 14525, cpu:  5577274] find_own_input_none
PASS [mem: 11497, cpu:  4573044] find_own_input_other_than_spend_purpose
PASS [mem: 33547, cpu: 14709083] find_own_input_some

#44 branch stats:
PASS [mem: 14825, cpu:  5646274] find_own_input_none
PASS [mem:  8667, cpu:  3468432] find_own_input_other_than_spend_purpose
PASS [mem: 33547, cpu: 14709083] find_own_input_some

Disclaimer: the mem and cpu are measured in resources used i.e. the less the better.
For find_own_input_none testcase it gives slight decrease in mem and cpu on this branch.
However, for the find_own_input_other_than_spend_purpose it give a more significant increase in mem and cpu.
For the find_own_input_some the stats are the same.
So the difference between using field access vs not using is not that deterministic between the 2 compared branches 🤔
I've also tried to pass just ScriptContext to the find_own_input (the initial version of the function).
pub fn find_own_input(ctx: ScriptContext) -> Option<Input> {
  when ctx.purpose is {
    Spend(own_ref) ->
      find_input(ctx.transaction, own_ref)
    _ ->
      None
  }
}

stats:
PASS [mem: 23757, cpu:  9087152] find_own_input_none
PASS [mem: 14401, cpu:  5744945] find_own_input_other_than_spend_purpose
PASS [mem: 43775, cpu: 18646088] find_own_input_some

This change seems to make negative impact on the stats which is as predicted. But the other 2 seem to be non related to the field access that much 🤔
Opinions, ideas?

@KtorZ let me know what you think. I restricted this pr to just existing stdlib functions.


fix: Adding ConnectionError to retry mechanism

As described in https://github.com/googleapis/google-api-python-client/issues/558 current retry mechanism does not catch ConnectionError (and ConnectionResetError which inherits from it). That pull request fixes the issue by adding the python3 specific ConnectionError into the mechanism.

We've noticed ConnectionResetError not being retried for BigQuery, Storage, and Redis / Memorystore clients.  If this PR fixes any of those we'll be very grateful!  Happens about once per day on all of our deployed cloud functions.

Also noticed gzp, base64, sys, and http_client from six.moves are imported but unused.

@damgad Any idea how these modifications could be made "in place" until this PR is merged?

@dylancaponi Sure, you can always monkeypatch the _retry_request function which handles retrying. There are multiple ways of doing that (one dirtier than another ;) ) Before importing the googleapiclient write that:
`import googleapiclient.http
from googleapiclient.http import LOGGER, _ssl_SSLError, _should_retry_response
def _patched_retry_request(
http, num_retries, req_type, sleep, rand, uri, method, *args, **kwargs
):
resp = None
content = None
exception = None
for retry_num in range(num_retries + 1):
    if retry_num > 0:
        # Sleep before retrying.
        sleep_time = rand() * 2 ** retry_num
        LOGGER.warning(
            "Sleeping %.2f seconds before retry %d of %d for %s: %s %s, after %s",
            sleep_time,
            retry_num,
            num_retries,
            req_type,
            method,
            uri,
            resp.status if resp else exception,
        )
        sleep(sleep_time)

    try:
        exception = None
        resp, content = http.request(uri, method, *args, **kwargs)
    # Retry on SSL errors and socket timeout errors.
    except _ssl_SSLError as ssl_error:
        exception = ssl_error
    except socket.timeout as socket_timeout:
        # It's important that this be before socket.error as it's a subclass
        # socket.timeout has no errorcode
        exception = socket_timeout
    except ConnectionError as connection_error:
        # Needs to be before socket.error as it's a subclass of
        # OSError (socket.error)
        exception = connection_error
    except socket.error as socket_error:
        # errno's contents differ by platform, so we have to match by name.
        if socket.errno.errorcode.get(socket_error.errno) not in {
            "WSAETIMEDOUT",
            "ETIMEDOUT",
            "EPIPE",
            "ECONNABORTED",
        }:
            raise
        exception = socket_error
    except httplib2.ServerNotFoundError as server_not_found_error:
        exception = server_not_found_error

    if exception:
        if retry_num == num_retries:
            raise exception
        else:
            continue

    if not _should_retry_response(resp.status, content):
        break

return resp, content

googleapiclient.http._retry_request = _patched_retry_request`
That will just overwrite the the function from the library. You can also do it in shorter way:
`import googleapiclient.http
import inspect
exec(
inspect.getsource(
googleapiclient.http._retry_request
).replace("socket.timeout", "(socket.timeout, ConnectionError)"),
googleapiclient.http.dict
)`
I would also suggest to make sure that you've pinned the version of google-api-python-client in your requirements, as consequences of the automatic update may be unpredictable.

@busunkim96 Any progress? This causes problems for Apache Airflow. Apache Airflow is used by the Cloud Composer service.

@busunkim96 Hello. Thanks for accepting this change. Do you know when it will appear in the new release?

@damgad We've implemented the shorter monkeypatch for a few weeks.  It seems to retry the call in question but not reestablish the connection.  So we just get connectionRetryError 3x now instead of once per call.  Wondering if I implemented something wrong or misunderstood the purpose of this PR.

@dylancaponi Seems that you've correctly applied the patch and it works how it should work. However, the aim of the whole retry mechanism is to overcome single occurring errors - temporary issues that may disappear with the next try.
In your case, you should either investigate why ConnectionRetryError really happens and try to fix the root cause or you can also increase the num_retries parameter to some lucky, larger value. That may help if the error cause is temporary as the retry mechanism uses exponential backoff with each consecutive try.
But, if you increase the num_retries, you may also get ConnectionRetryError even more times.

A new release has been released that includes this fix.
https://github.com/googleapis/google-api-python-client/pull/868


invalid mock-api schemas

Do you want to request a feature or report a bug?
Bug
Bug Report
It appears that the schemas for the mock-api might be outdated?
The current schema in users.yaml is:
displayName: _firstname_ _lastname_
id: _firstname_._lastname_
email<EMAIL_ADDRESS>created: _createdtimestamp_
lastAccess: _itemtimestamp_
siteAdmin: _admin_

which produces:
[{"created":"_createdtimestamp_","displayName":"_firstname_ _lastname_","email":"_firstname_._lastname_@_company_.com","id":"_firstname_._lastname_","lastAccess":"_itemtimestamp_","siteAdmin":"_admin_"},{"created":"_createdtimestamp_","displayName":"_firstname_ _lastname_","email":"_firstname_._lastname_@_company_.com","id":"_firstname_._lastname_","lastAccess":"_itemtimestamp_","siteAdmin":"_admin_"},{"created":"_createdtimestamp_","displayName":"_firstname_ _lastname_","email":"_firstname_._lastname_@_company_.com","id":"_firstname_._lastname_","lastAccess":"_itemtimestamp_","siteAdmin":"_admin_"},{"created":"_createdtimestamp_","displayName":"_firstname_ _lastname_","email":"_firstname_._lastname_@_company_.com","id":"_firstname_._lastname_","lastAccess":"_itemtimestamp_","siteAdmin":"_admin_"},{"created":"_createdtimestamp_","displayName":"_firstname_ _lastname_","email":"_firstname_._lastname_@_company_.com","id":"_firstname_._lastname_","lastAccess":"_itemtimestamp_","siteAdmin":"_admin_"}]
The documentation here shows a different syntax:
displayName: {{.firstname}} {{.lastname}}
id: {{toLower(.firstname)}}.{{toLower(.lastname)}}
email<EMAIL_ADDRESS>created: {{.createdtimestamp}}
lastAccess: {{.itemtimestamp}}
siteAdmin: {{randomNumber(1)}}

which produces:
[{"created":"10/01/2015 11:05 AM","displayName":"Aaron Burke","email":"aaron.burke@teradata.com","id":"aaron.burke","lastAccess":"7/23/2016 12:05 AM","siteAdmin":0},{"created":"10/01/2015 11:06 AM","displayName":"Olive Park","email":"olive.park@hotmail.com","id":"olive.park","lastAccess":"7/23/2016 12:05 AM","siteAdmin":0},{"created":"10/01/2015 11:05 AM","displayName":"Benjamin Davidson","email":"benjamin.davidson@gmail.com","id":"benjamin.davidson","lastAccess":"7/23/2016 12:05 AM","siteAdmin":0},{"created":"10/01/2015 11:07 AM","displayName":"Edward Gonzales","email":"edward.gonzales@outlook.com","id":"edward.gonzales","lastAccess":"7/23/2016 12:05 AM","siteAdmin":0},{"created":"10/01/2015 11:06 AM","displayName":"Carl Kim","email":"carl.kim@yahoo.com","id":"carl.kim","lastAccess":"7/23/2016 12:05 AM","siteAdmin":0}]
The other two (features.yaml and items.yaml) suffer the same issue.  I'd just fix it and create a pull request, but I'm not sure how...

Not valid anymore since we are repurposing the repo.


Add events to timeline without implementing an isnpector domain

Please delete src/debugging/Inspector/scripts/generate.pyc and add a .gitignore entry for .pyc files.


Add doucumentation for Security app

Please can there be some documentation on the Sentry web app: https://github.com/cloudera/hue/blob/master/apps/security/src/security/static/security/help/index.html

You can see http://gethue.com/apache-sentry-made-easy-with-the-new-hue-security-app/
And a big revamp of the doc is planned for Hue 4:
https://issues.cloudera.org/browse/HUE-2890

Until then, the Sentry blog posts detail the App http://gethue.com/category/security-2/


Remove-Fleet does not re-enable CSV Balancer

After removing feelt with Remove-Fleet, CSV Balancer remains 0
(Get-Cluster $ClusterName).CsvBalancer

the default value is 0 of CsvBalancer on my lab.

Fresh install? I just installed fresh AzSHCI 20H2 cluster and default value is 1.

I believe this has changed over releases; I will check and get back.

I'm able to confirm that as of Server 2019/based products that CsvBalancer is automatically disabled when S2D is enabled. This is due to the cost of read cache rebuild if CSVs are freely relocated in the cluster.
@jaromirk : when did you look during the process of installation with 20H2?

Gosh, big facepalm. Of course you are right, CSV Balancer is disabled. I was under impression it was enabled before and I did check before enable-clusterS2D.

Thanks for confirming


about micrometer

Hi, i am reading your project, why do you use Micrometer for collecting metric ? why don't you use Grafana + Prometheus to collect log and metric ? Do you know about pros and cons of Micrometer, can you tell me about it

Please read https://micrometer.io/ - in short, Micrometer is an API that lets you generate metrics in many formats including Prometheus. Changing from one format to another does not involve rewriting all your metrics code.


chore: migrate to cli-table3

@DanielRuf could you check why the CI is failing? Also you might want to rebase with master.

I'm on it.

Codecov Report

Merging #49 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master      #49   +/-   ##
=======================================
  Coverage   97.43%   97.43%
=======================================
  Files           5        5
  Lines          78       78
  Branches        9        9
=======================================
  Hits           76       76
  Misses          2        2

Impacted Files
Coverage Δ

cmd/search.js
93.33% <100%> (ø)
:arrow_up:

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 479815d...a47e383. Read the comment docs.

@DanielRuf does this solves https://github.com/npms-io/npms-cli/issues/18?

Not sure what exactly you mean because cli-table3 is compatible with cli-table2 and personally I do not know if this was proposed as PR and merged in cli-table3 (if there is any patch).
The upgrade to cli-table3 mainly solves vulnerabilities and is actively maintained.

@DanielRuf alright, was just checking :p

Thanks!


Generated hashCode() for OneOf classes must not depend on Enum.hashCode()

All PBJ objects have auto-generated hashCode() implementation. For OneOf fields, hash codes are calculated like this:
        return (31 + kind.hashCode()) * 31 + (value == null ? 0 : value.hashCode());

kind above is a enum, so its hash code is actually Enum.hashCode(). Here is the problem: this method is not deterministic, it returns different values across process runs:
        int hc = hash;
        if (hc == 0) {
            hc = hash = System.identityHashCode(this);
        }
        return hc;

Since we use hash codes in long-term storage, they must be the same across node runs. It means Enum.hashCode() must not be used anywhere in our code. There may be other usages than in OneOf.
One quick option is to use kind.ordinal() (or some derivative) instead of kind.hashCode(), but there may be better solutions.

Using kind.ordinal() seems risky. If somebody adds an entry or reorders the elements, the code will break in unexpected ways. Is there a way to define this number explicitly in protobuf?

Using kind.ordinal() seems risky. If somebody adds an entry or reorders the elements, the code will break in unexpected ways. Is there a way to define this number explicitly in protobuf?

Enum.name().hashCode() should be good, I think, and not require any explicit definitions. Please see the linked PR.

Using kind.ordinal() seems risky. If somebody adds an entry or reorders the elements, the code will break in unexpected ways. Is there a way to define this number explicitly in protobuf?

Might be worth noting that adding, removing, or reordering an enum in protobuf breaks compatibility, and should not, ever, be done if you want to use the definition between versions.


ci/macos: Increase timeout to 120s

when caches are blown this CI takes longer than the current 90s allowed

cc @asedeno who has been blowing caches recently


[BUG] 2 Gang Tuya Light Switch - Toggle Switches Both Lights

Bug description
Bug is as per issue [zigpy/zha-device-handlers] ts0012 - new firmware (Issue #1744)
Steps to reproduce

Add 2 gang Tuya switch to ZHA
Issue command from HA via ZHA to toggle one of the two switches
ZHA will toggle both switches

Expected behavior
Toggling a single switch in ZHA should toggle the single corrisonding switch only.
Screenshots/Video
Screenshots/Video
[Paste/upload your media here]

Device signature
Device signature
{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0100",
      "in_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006"
      ],
      "out_clusters": [
        "0x0019"
      ]
    },
    "2": {
      "profile_id": 260,
      "device_type": "0x0100",
      "in_clusters": [
        "0x0004",
        "0x0005",
        "0x0006"
      ],
      "out_clusters": []
    }
  },
  "manufacturer": "_TZ3000_18ejxno0",
  "model": "TS0012",
  "class": "zhaquirks.tuya.ts001x.TuyaDoubleNoNeutralSwitch_2"
}

Diagnostic information
Diagnostic information
{
  "ieee": "**REDACTED**",
  "nwk": 60050,
  "manufacturer": "_TZ3000_18ejxno0",
  "model": "TS0012",
  "name": "_TZ3000_18ejxno0 TS0012",
  "quirk_applied": true,
  "quirk_class": "zhaquirks.tuya.ts001x.TuyaDoubleNoNeutralSwitch_2",
  "manufacturer_code": 4417,
  "power_source": "Battery or Unknown",
  "lqi": 36,
  "rssi": null,
  "last_seen": "2023-05-06T16:22:15",
  "available": true,
  "device_type": "EndDevice",
  "signature": {
    "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
    "endpoints": {
      "1": {
        "profile_id": 260,
        "device_type": "0x0100",
        "in_clusters": [
          "0x0000",
          "0x0003",
          "0x0004",
          "0x0005",
          "0x0006"
        ],
        "out_clusters": [
          "0x0019"
        ]
      },
      "2": {
        "profile_id": 260,
        "device_type": "0x0100",
        "in_clusters": [
          "0x0004",
          "0x0005",
          "0x0006"
        ],
        "out_clusters": []
      }
    }
  },
  "active_coordinator": false,
  "entities": [
    {
      "entity_id": "button.tz3000_18ejxno0_ts0012_identify",
      "name": "_TZ3000_18ejxno0 TS0012"
    },
    {
      "entity_id": "light.tz3000_18ejxno0_ts0012_light",
      "name": "_TZ3000_18ejxno0 TS0012"
    },
    {
      "entity_id": "light.tz3000_18ejxno0_ts0012_light_2",
      "name": "_TZ3000_18ejxno0 TS0012"
    }
  ],
  "neighbors": [],
  "routes": [],
  "endpoint_names": [
    {
      "name": "ON_OFF_LIGHT"
    },
    {
      "name": "ON_OFF_LIGHT"
    }
  ],
  "user_given_name": null,
  "device_reg_id": "cf35eb0d04f1bbf928d5e240c01aa321",
  "area_id": null,
  "cluster_details": {
    "1": {
      "device_type": {
        "name": "ON_OFF_LIGHT",
        "id": 256
      },
      "profile_id": 260,
      "in_clusters": {
        "0x0000": {
          "endpoint_attribute": "basic",
          "attributes": {
            "0x0004": {
              "attribute_name": "manufacturer",
              "value": "_TZ3000_18ejxno0"
            },
            "0x0005": {
              "attribute_name": "model",
              "value": "TS0012"
            }
          },
          "unsupported_attributes": {}
        },
        "0x0003": {
          "endpoint_attribute": "identify",
          "attributes": {},
          "unsupported_attributes": {}
        },
        "0x0004": {
          "endpoint_attribute": "groups",
          "attributes": {},
          "unsupported_attributes": {}
        },
        "0x0005": {
          "endpoint_attribute": "scenes",
          "attributes": {},
          "unsupported_attributes": {}
        },
        "0x0006": {
          "endpoint_attribute": "on_off",
          "attributes": {
            "0x0000": {
              "attribute_name": "on_off",
              "value": 1
            },
            "0x4001": {
              "attribute_name": "on_time",
              "value": 0
            },
            "0x4002": {
              "attribute_name": "off_wait_time",
              "value": 0
            },
            "0x8001": {
              "attribute_name": "backlight_mode",
              "value": 1
            },
            "0x8002": {
              "attribute_name": "power_on_state",
              "value": 0
            }
          },
          "unsupported_attributes": {}
        }
      },
      "out_clusters": {
        "0x0019": {
          "endpoint_attribute": "ota",
          "attributes": {},
          "unsupported_attributes": {}
        }
      }
    },
    "2": {
      "device_type": {
        "name": "ON_OFF_LIGHT",
        "id": 256
      },
      "profile_id": 260,
      "in_clusters": {
        "0x0004": {
          "endpoint_attribute": "groups",
          "attributes": {},
          "unsupported_attributes": {}
        },
        "0x0005": {
          "endpoint_attribute": "scenes",
          "attributes": {},
          "unsupported_attributes": {}
        },
        "0x0006": {
          "endpoint_attribute": "on_off",
          "attributes": {
            "0x0000": {
              "attribute_name": "on_off",
              "value": 1
            },
            "0x4001": {
              "attribute_name": "on_time",
              "value": 0
            },
            "0x4002": {
              "attribute_name": "off_wait_time",
              "value": 0
            }
          },
          "unsupported_attributes": {}
        }
      },
      "out_clusters": {}
    }
  }
}

Logs
Logs
[Paste the logs here]

Additional information
No response

I have the same problem. Zigbee2MQTT solved the problem on their own. They haven't fixed it on ZHA yet.  https://github.com/Koenkk/zigbee2mqtt/issues/13656

I have the same problem with some moes 2 gang switches. pls help

Looks like I've got the same device as issue author.
 "signature": {
      "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
      "endpoints": {
        "1": {
          "profile_id": "0x0104",
          "device_type": "0x0100",
          "input_clusters": [
            "0x0000",
            "0x0003",
            "0x0004",
            "0x0005",
            "0x0006"
          ],
          "output_clusters": [
            "0x0019"
          ]
        },
        "2": {
          "profile_id": "0x0104",
          "device_type": "0x0100",
          "input_clusters": [
            "0x0004",
            "0x0005",
            "0x0006"
          ],
          "output_clusters": []
        }
      },
      "manufacturer": "_TZ3000_18ejxno0",
      "model": "TS0012"
    },

Already tried a bunch of quirks from the internet

I was adding the tuya magic spell to the ZHA quirks in January and if using then it shall working OK but need adding the device new in ZHA.
If using custom quirk it must having the spell casting i it or its not working.
Also need deleting and waiting one minute and adding the device new or the device is not getting the spell and not working OK.
https://github.com/zigpy/zha-device-handlers/pull/2049

@NicolasIonut thanks for a quick reply! Probably I know why we have to do this manually:
However zhaquirks.tuya.ts001x.TuyaDoubleNoNeutralSwitch_2 already derives from EnchantedDevice https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/tuya/ts001x.py#L285 the spell will not be invoked as device uses Identify.cluster_id https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/tuya/__init__.py#L538

Hola @javicalle Have you time taking one fast look how to fixing this device ??
Thank in advance !
MW

Hi
Any joy on this one? It's the most popular ZigBee switch on ebay.

There are quite different devices signatures and not all match the TS0012 quirk.
In the current version there are 5 quirks for the TS0012 devices, all of them of type EnchantedDevice.
If your device is loading any quirk, you can try to fix it with the 'reconfigure' option from the device view.
If your device is not loading any quirk, open a new issue with the device signature or attach it here.

Any hopes of this being fixed soon? -i am switching to Home Assistant Yellow and have to migrate my entire Zigbee network. Thought I'd take the plunge and switch to ZHA while I'm at it, but this is a dealbreaker for me..
Also makes me wonder if there are other traps like this with any of my other 61 devices 😅

Probably I know why we have to do this manually: However zhaquirks.tuya.ts001x.TuyaDoubleNoNeutralSwitch_2 already derives from EnchantedDevice https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/tuya/ts001x.py#L285 the spell will not be invoked as device uses Identify.cluster_id https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/tuya/__init__.py#L538

The test checks that every quirk merged into this repo would successfully cast a spell when used with Home Assistant.
However, the quirks in ts001x.py had SKIP_CONFIGURATION set which would prevent ZHA to bind any cluster (thus also not "casting the spell").
This was fixed with https://github.com/zigpy/zha-device-handlers/pull/2524 (and tests now check for that)
So for those devices (including the original post/issue), a fix should (hopefully) be in Home Assistant Core 2023.9.0

Everyone who has the issue and does NOT have "class": "zhaquirks.tuya.ts001x. in the quirk (so either no "class" section or just zigpy.device.Device showing for a device which needs the spell), please open a new issue and fill-out the issue template.

Works fine for me with both devices with 2gang TS0012 and 3gang TS0013. I had 1x2gang and 1x3gang (newer revisions) that when switched from ZHA it would switch on all lights of the same switch as mentioned here (working fine when triggered by touch). The older ones TS0011/TS0012/TS0013 all worked fine. Tried with the modified quirk as bellow, and now older ones and also new ones work as expected 👍
https://raw.githubusercontent.com/zigpy/zha-device-handlers/6a2693f9fd179124cf09d2f204c9b714ecc077f4/zhaquirks/tuya/ts001x.py

Yep finally the "new" Moes   2 Gang TS0012 works as it should  -  running HA 2023.10.1
"older" TS0012 worked fine before - as others have said.  They still work now on 2023.10.1
Thank you soooo much


Support for Code Flow PKCE with Refresh tokens

As far as I see, the oidc-client-js library supports only silent renewal with a silent renew callback URL.
Is there a way to make it work with refresh token mechanism? If not, are there any plans to support it in the future?

It supports refresh tokens and renewal already.

It supports refresh tokens and renewal already.

Cool, how can we configure it? I don't see that in the documentation.

Request offline_access as a scope, as per the spec. https://openid.net/specs/openid-connect-core-1_0.html#OfflineAccess

@brockallen Perfect, thanks a lot. It works when using offline_access scope. 🎉
Could you please mention it in the Wiki documentation?
That would be helpful for other developers too.

You know refresh tokens in the browser are not really recommended, though, right?
https://pragmaticwebsecurity.com/talks/xssoauth.html

That's what I thought at first.
But recently, Auth0 recommends refresh token rotation as more secure than silent renewal with iframe.
See https://auth0.com/docs/tokens/refresh-tokens#for-single-page-apps

Did you watch the video above?

I just watched the video. Thanks for sharing.
I understand the attacking vectors on refresh token rotation now.
Could you please explain how silent renewal with iFrame is still better than refresh token rotation?
Is silent renewal with iFrame not vulnerable to XSS?

@keth-dev Were you able to get enlightened on that? I was wondering about the same. From what I understand from the video there is no way to avoid browser vulnerabilities aside from using BFF, which essentially means once someone busts your SPA with XSRF it doesn't really matter whether you use refresh token rotation or silent renewal.

which essentially means once someone busts your SPA with XSRF it doesn't really matter whether you use refresh token rotation or silent renewal.

The difference is the amount of damage in what amount of time. A leaked refresh token will allow an attacker much longer and potentially infinite time if there's no absolute limit on the RT.

which essentially means once someone busts your SPA with XSRF it doesn't really matter whether you use refresh token rotation or silent renewal.

The difference is the amount of damage in what amount of time. A leaked refresh token will allow an attacker much longer and potentially infinite time if there's no absolute limit on the RT.
The BFF approach we suggest (if you're using ASP.NET) is this one: https://blog.duendesoftware.com/posts/20210326_bff/

@brockallen I see, but once the length of sessions kept with the ID provider for silent renewal surpasses refresh token lifetime it should be virtually the same if I am not mistaken.


Add 'Throw()..XYZ().OnlyIfDebug()'

Codecov Report

Merging #14 (831e43d) into main (3c7091c) will decrease coverage by 0.27%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main      #14      +/-   ##
==========================================
- Coverage   94.16%   93.88%   -0.28%
==========================================
  Files          27       28       +1
  Lines         685      687       +2
==========================================
  Hits          645      645
- Misses         40       42       +2

Impacted Files
Coverage Δ

...ns/ValidatableExtensions.ConditionalCompilation.cs
0.00% <0.00%> (ø)

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 3c7091c...831e43d. Read the comment docs.


tsd link --implicit proposal

In my project, many dependencies defined in bower.json and package.json have definition files existing in this repository, but I still have to install all those dependencies manually.
I've finally manage to write a gulp script that retrieves all dependency names from bower and npm json files, and tsd install them based on their name.
It would be great if such features exists in tsd as a new command, or maybe an additionnal option to tsd link command, maybe tsd link --implicit.
FYI, here's the gulp task that handles this.
  var bower = require(path.join(process.cwd(), 'bower.json'));
  var npm = require(path.join(process.cwd(), 'package.json'));

  var dependencies = [].concat(
    Object.keys(bower.dependencies),
    Object.keys(bower.devDependencies),
    Object.keys(npm.dependencies),
    Object.keys(npm.devDependencies)
  );

  gutil.log('> tsd install ' + dependencies.join(' ') + ' -ros');
  exec('tsd install ' + dependencies.join(' ') + ' -ros', function (err, stdout, stderr) {
    gutil.log(stdout);
    gutil.log(stderr);
    if (!err) {
      gutil.log('Required d.ts files have been installed in typings/ directory');
    }
    done(err);
  });

This would be a fantastic feature, as you could set up npm and bower to run tsd as a post-install / uninstall to keep your definition files up to date.


2D support

Would be very useful for level editing.
Should just need to remove a couple of handles.

@aevyrie assign me and I'll make a PR!


Add length check when traverse certchain in libspdm_x509_verify_cert_chain

libspdm_x509_verify_cert_chain() assumes the input certchain is "One or more ASN.1 DER-encoded X.509 certificates" but it didn't traverse the whole certchain with the code below.
https://github.com/DMTF/libspdm/blob/ddfd7a1080cdbeffbe02267e6a164a0a3149be1a/os_stub/cryptlib_mbedtls/pk/x509.c#L711-L716
Should it add more check to make sure there is no more data left unchecked? E.g.
if (ret != 0) {
if (current_cert < cert_chain + cert_chain_length)
verify_flag = false;
break;
}

This is a case where the length field in the SPDM Certificate Chain Struct says the size of the certificate chain is X, but when the certificate chain is actually parsed the value is Y, where Y < X? And if that happens then that is considered an error? If we can't come up with any good reason why that should be allowed, then yeah, seems like an OK check.

This is a case where the length field in the SPDM Certificate Chain Struct says the size of the certificate chain is X, but when the certificate chain is actually parsed the value is Y, where Y < X?

Yes, or maybe there are gaps between certificates in the certificate chain, this function will stop before the gap and could also return true without traversing all the certificates down.

And if that happens then that is considered an error?

Yes, I think it should be an error.

Agree. If cert chain length is X, but only size Y (where Y < X) is parsed, then it should be treated as an error.

And before calling libspdm_x509_verify_cert(), it should also check if current cert exceeds the end of certchain
if (current_cert + libspdm_x509_verify_cert > cert_chain + cert_chain_length)
https://github.com/DMTF/libspdm/blob/ddfd7a1080cdbeffbe02267e6a164a0a3149be1a/os_stub/cryptlib_mbedtls/pk/x509.c#L718-L727

@rw8896 are you interested in adding this check?

Sure, will do.


"Assigned weight to components to make icon visible"

Description (required)
Fixes #3434
What changes did you make and why?
I have assigned the width of the text and the icon in terms of weight of the layout so that icon and text will get percentage of the layout and icon doesn't become visible.
{
At line 305 I have assigned width=0
At line 306 I have assigned weight=0.8
At line 316 I have assigned width=0
At line 317 I have assigned weight=0.1
remaining code is same
}
Tests performed (required)
Tested on Pixel with API level 28.
Screenshots (for UI changes only)
Before solving  at 320 (smallest width)
https://photos.app.goo.gl/vV4rg4wsHcBU6hdv7
After solving at 320(smallest width)
https://photos.app.goo.gl/Xa5NCVozzNnN5vkd8
Note: Please ensure that you have read CONTRIBUTING.md if this is your first pull request.

Codecov Report

Merging #4023 (0cd1479) into master (71d200e) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #4023   +/-   ##
=========================================
  Coverage     10.39%   10.39%
  Complexity      466      466
=========================================
  Files           343      343
  Lines         12792    12792
  Branches        995      995
=========================================
  Hits           1330     1330
  Misses        11395    11395
  Partials         67       67

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 71d200e...0cd1479. Read the comment docs.

@neslihanturan We have the requested changes. Kindy review them.

@neslihanturan We have the requested changes. Kindy review them.

Seems like this PR is sleeping, feel free to reopen if needed.


Allow setting custom failure messages

PHPUnit's asserts (and all asserts provided by Symfony) allow you to specify a custom failure message as last argument. This gives you the possibility to add some more context to an otherwise vague error.
Would it be an idea to also add this feature to Browser?

I thought about this but decided against for the following reasons:

Dusk doesn't provide this option
Some assertions make multiple "sub" assertions - should I use the message to override all these?
Removes the possibility of adding extra optional method arguments in the future
I don't think I've ever used custom messages in phpunit

This all being said I don't have a strong opinion on this.

I thought about this but decided against for the following reasons:

Dusk doesn't provide this option
Some assertions make multiple "sub" assertions - should I use the message to override all these?
Removes the possibility of adding extra optional method arguments in the future
I don't think I've ever used custom messages in phpunit

This all being said I don't have a strong opinion on this.

I also rarely use this feature with PHPUnit, but in some cases it's very handy to help my future self.
I understand why you've decided against, but is there another way to output a message, perhaps with a method that follows the assertion? Something like:
->assertSee('23rd January 2023')
->reportOnFailure('The date of the reservation is not correct')

It's just an idea and it's not the end of the world if we can't do this - just have to add a comment in the test source code and then go look that up on failure so no drama really.

I'm fine adding extra optional messages to the assertion methods.

Some assertions make multiple "sub" assertions - should I use the message to override all these?

Still not sure how we'd handle these.

Removes the possibility of adding extra optional method arguments in the future

The api is pretty stable so this isn't much of a concern anymore.

perhaps with a method that follows the assertion

That would be tough because the assertion happens in the method above. Do you have an idea on how this could work??

That would be tough because the assertion happens in the method above. Do you have an idea on how this could work??

Not at all it was just a throwaway suggestion :)


Please help me on JMH test

I'm a Java beginner and made a connection pool(BeeCP),
then test it with HikariCP's Benchmark test code, but its score is too high,I think must exists some problems. I have no enough ability to find out the reason in long time so,I hope to get help from grand master. please visit : https://github.com/Chris2018998/BeeCP

Please add the follow method to :com.zaxxer.hikari.benchmark.hikari.BenchBase
private void setupBee() {
try {
JdbcPoolConfig sourceInfo = new JdbcPoolConfig("com.zaxxer.hikari.benchmark.stubs.StubDriver",jdbcUrl,"brettw","");
sourceInfo.setPoolMaxSize(maxPoolSize);
sourceInfo.setPoolInitSize(MIN_POOL_SIZE);
sourceInfo.setConnectionMaxWaitTime(8000);
sourceInfo.setStatementCacheSize(20);
sourceInfo.setConnectionTestQuerySql("SELECT 1");
BeeDataSource datasource = new BeeDataSource(sourceInfo);
DS = datasource;
} catch (SQLException e) {
e.printStackTrace();
}
}
Download BeeCP :https://github.com/Chris2018998/Bee/blob/master/Doc/jmin_bee_0.5.jar

@Chris2018998 Congratulations on undertaking writing a connection pool.  Unfortunately, there is no source code at the repository link provided.
A key part of writing a robust pool is handling the many edge cases that exist and adherring to JDBC compliance.  Feel free to copy my junit tests and modify them to fit you needs.  I think at least 50-60% of them are not dependent on HikariCP implementation details, and could be run for any pool.
Most of the tests that can be adapted to your pool simply require replacing the HikariDataSource with your own.

Thanks , I have found the  reason.


Adding other helpful functions to GPIOZero

If your going down the path of blinkin LEDs threading, then maybe worth considering other often needed functions.
Ultrasonic is 1st that springs to mind.
Motor wheel encoder counting is another
GetIP would be a non-gpio thingy  worth doing?

Thanks for the suggestions. Could you expand?
Do you mean an ultrasonic sensor? That's definitely the sort of thing I want to add. If you can point me at a decent one I'll get hold of one and implement it.
I'm not sure what you mean by motor wheel encoder?
GetIP as in letting the user know what the Pi's IP address is without attaching a monitor? How would it convey the information?

The standard HC - SR04
Some motors have quadrature rotation encoders to give pulses as they turn so that you can count the turns
https://shop.pimoroni.com/products/optical-encoder-pair-kit-for-micro-metal-gearmotors-3-3v?utm_medium=cpc&utm_source=googlepla&variant=798892261&gclid=Cj0KEQjwkeiwBRCzmo-wiKL49pEBEiQAhvGKYTMRoIXFhhUTBMFw6z0WhRr0nkYVfXptTUVAzNrT-C4aAk_Y8P8HAQ
GetIP instead of having to parse ifconfig - just simple active IP address (preferenece given to interface currently connected to LAN as opposed to non-active static assigned one)

The standard HC - SR04

Thanks Simon. I'll see if I can get hold of an ultrasonic sensor and add it to the list.

Some motors have quadrature rotation encoders to give pulses as they turn so that you can count the turns

I'll also see if I can get hold of one of these here fancy motors. Can you point me in the direction of some code that does what you'd expect it to do?

GetIP instead of having to parse ifconfig - just simple active IP address

You just mean a function to return the IP address? I'll look into it.
The easiest way to get your IP address on the command line is hostname -I (that's capital i) rather than using ifconfig. I bet there's a way of getting it quite easily in Python.

em - I have some code to do the encoders in ScratchGPIO but its down to my usual standard but I think MartinH has done some good work in this area
Re IP - yes - just simply return IP address


Feature/integration title update

Update integration page title style

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 1

See the complete overview on Codacy


compile file into opcache

Fixes #45
Note: it could be slow on large datasets (addressed in #43)

Thanks for your contribution, its part of release 3.1.0.


Wrong Preview for Apple Website Ui clone

The preview given on main page for apple website ui clone is wrong. I would like to work on this under gssoc'22.

The preview given on main page for apple website ui clone is wrong. I would like to work on this under gssoc'22.

Sure!


Update keycloak-adapter-core, ... to 19.0.3

Updates

org.keycloak:keycloak-adapter-core
org.keycloak:keycloak-admin-client
org.keycloak:keycloak-core

from 18.0.2 to 19.0.3.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (18.0.2).
You might want to review and update them manually.
src/main/scala/akkahttp/oidc/OIDCKeycloak.scala

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.keycloak" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.keycloak" }
}]

labels: library-update, early-semver-major, semver-spec-major, old-version-remains, commit-count:1

Superseded by #493.


watchContentBase Equivalent

The watchContentBase functionality of webpack-dev-server has been removed as a built-in feature of webpack-serve in moving towards the add-on philosophy. We need to create an example of wiring up chokidar and utilizing sockets provided by webpack-contrib/webpack-hot-client, as we need a way to tell the page to reload.

I am waiting on this!

@nakoo I'll look into creating an add-on recipe for that feature this week. stay tuned!


Responsive issue

I have used TimelineCalendar in my app.
i did not have full screen timeline calendar, due to we have some padding and stick drawer.
See attached have only 6 day fit to screen.

I added calendarWidth in v1.12.0


internal error while creating updates - object has not attribute 'close'

When i run with downloaded files and a live connection to intuit i get a dialog box with the following error
Error:Internal error while creating updates: Message: stale element reference: element is not attached to the page document (session info:chrome=96.0.4664.110)
stdout
DevTools listening on ws://<IP_ADDRESS>:57715/devtools/browser/6be55401-584c-436f-bcf3-3d50e6350fbf
[42556:36612:0102/162639.509:ERROR:chrome_browser_main_extra_parts_metrics.cc(226)] crbug.com/1216328: Checking Bluetooth availability started. Please report if there is no report that this ends.
[42556:36612:0102/162639.510:ERROR:chrome_browser_main_extra_parts_metrics.cc(229)] crbug.com/1216328: Checking Bluetooth availability ended.
[42556:36612:0102/162639.510:ERROR:chrome_browser_main_extra_parts_metrics.cc(232)] crbug.com/1216328: Checking default browser status started. Please report if there is no report that this ends.
[42556:43456:0102/162639.527:ERROR:device_event_log_impl.cc(214)] [16:26:39.527] Bluetooth: bluetooth_adapter_winrt.cc:1075 Getting Default Adapter failed.
[42556:36612:0102/162639.527:ERROR:chrome_browser_main_extra_parts_metrics.cc(236)] crbug.com/1216328: Checking default browser status ended.
[43776:33416:0102/162833.379:ERROR:gpu_init.cc(457)] Passthrough is not supported, GL is disabled, ANGLE is
[42556:43456:0102/163649.988:ERROR:device_event_log_impl.cc(214)] [16:36:49.987] USB: usb_service_win.cc:261 Failed to get device driver name: Element not found. (0x490)
[43396:43408:0102/165155.876:ERROR:socket_tcp.cc(329)] Error when reading from TCP socket: -101

@indygreg2 Thanks for the report!
The error messages you posted are pretty normal and are part of the chromedriver / selenium stack. Unfortunately they do not capture the stack trace of the issue you ran into.
Do you mind:

Describing which part of the flow you encountered this issue (ie, what's on the browser window when the failure happens).
Can you check your user/home directory for additional logs? By default, the tagger tool tries to store extra debug info here: ~/MintAmazonTagger/Tagger Logs.

Thanks!
Jeff

you know if it is selenium i wonder if i boogered something up.  last year i installed selenium basic for something else.  i never got selenium basic to work but i wonder if i did something to your selenium install.  is there a way to check the version of selenium?
there is no directory under C:\Program Files (x86)\MintAmazonTagger called tagger and no log files that i can see.  with the latest version i did not see any kind of install.  just the exe file which i copied to the directory which already had a lot of dlls and pyds in it.  perhaps i did something wrong there?
greg

If you downloaded the exe from github (which I'm guessing is what you've done), then everything is self contained and there's no way to get the wrong selenium version or configuration. The latest versions do not have installers, so I would be curious if you've tried the latest version (1.40).
For the logs, you'll want to be looking under C:\Users\your_username\MintAmazonTagger/Tagger Logs.

2022-01-02_17-45-07.log
ok here is the log.  I am using 1.4
i suspected the new install was self contained but wondered if any of the old files would cause an issue.

I've also gotten that error Error: Internal error while sending updates: 'MintClient' object has not attribute 'close'. as well...but also agree that it seems to have worked, so not a huge deal in the end.

Thanks for the update. I have a good idea of how to fix the close issue, thanks!

Okay, it's fixed at head but I wont cut a new release just for this since it's not a very fatal error. Thanks for the report!


Fix typos in readme, @xtate -> @xstate × 2

Let's see if I get this right this time.

Heyyyy check me out with the changeset. 😎

It's actually @xtato, an upcoming potato-based state management library 🥔

Oh man, I'm British. Don't tease me like that.

XTATERS? WHAT'S... XTATERS?

Nice, I'll merge this. There's actually a duplicated readme inside the package file too, but I'll fix it locally meself.
Thanks @jen729w!

Available on latest version of the 'next' branch


Fix for WFLY-13050, metrics should be optional in observability layer

Layer spec: Optional dependencies
Doc: Moved observability aggregation layer to decorator sections. Updated description.

@jfdenise Can you rebase and move this change to the file that is now in ee-galleon-pack?

@bstansberry , thank-you for having done it.


(doc) minor javadoc fix

Just a trivial change to TarArchiveEntry#getModTime()

Coverage decreased (-0.004%) to 86.997% when pulling bfc1473fca0501a82f7dfdcdceb64a802d947195 on DPUkyle:km/doc-fix into 0fb2815e78851e4537eff56c04071d06cd8a3c8b on apache:master.

Thanks @DPUkyle !


java.lang.IllegalArgumentException

Hi I updated  kafka-ui 0.4.0 to 0.5.0 and I have this error
INFO  [main] o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker: Bean 'org.springframework.security.config.annotation.method.configuration.ReactiveMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.ReactiveMethodSecurityConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2023-02-01 17:51:22,973 WARN  [main] o.s.b.w.r.c.AnnotationConfigReactiveWebServerApplicationContext: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'OAuthLogoutSuccessHandler' defined in URL [jar:file:/kafka-ui-api.jar!/BOOT-INF/classes!/com/provectus/kafka/ui/config/auth/logout/OAuthLogoutSuccessHandler.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultOidcLogoutHandler' defined in class path resource [com/provectus/kafka/ui/config/auth/OAuthSecurityConfig.class]: Unsatisfied dependency expressed through method 'defaultOidcLogoutHandler' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'clientRegistrationRepository' defined in class path resource [com/provectus/kafka/ui/config/auth/OAuthSecurityConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.security.oauth2.client.registration.InMemoryReactiveClientRegistrationRepository]: Factory method 'clientRegistrationRepository' threw exception; nested exception is java.lang.IllegalArgumentException: registrations cannot be null or empty
I'm using AUTH_TYPE: OAUTH2 param for sso

I found the same issue in v0.5.0 and it seems to be fixed in master.
Could we get a FIX release for this bug ?
For reference, my OIDC login configuration via a Keycloak instance:
auth.type: OAUTH2
spring.security.oauth2.client:
  registration:
    keycloak:
      clientid: kafka-ui
      clientsecret: <secret>
      scope: openid
      provider: keycloak
  provider:
    keycloak:
      issuer-uri: https://<keycloak_instance>/auth/realms/<realm>

@Dugong42  @systemctl-reload
Update:
You need to change the way you do the config, see "breaking changes" for details
https://github.com/provectus/kafka-ui/releases/tag/v0.5.0

I moved issuer-uri to auth.oauth2.client.keycloak, since it was the only one I had defined in the provider.
I got it working with the following config:
auth:
  type: OAUTH2
  oauth2:
    client:
      keycloak:
        clientId: kafka-ui-local
        clientSecret: <secret>
        scope: openid
        issuer-uri: https://<keycloak_instance>/auth/realms/<realm>
        user-name-attribute: preferred_username
        client-name: keycloak
        provider: keycloak
        custom-params:
          type: keycloak

This could be added to the examples in OAuth Configuration documentation . Although I believe it would be better to add some documentation about what fields are actually required in the general case.

See breaking changes in the latest changelog
https://github.com/provectus/kafka-ui/releases/tag/v0.5.0
I plan to make the app fail with a clear message since nobody does actually read changelogs.

How do I change the environment variables?
    environment:
      - AUTH_TYPE=OAUTH2
      - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_AUTH0_CLIENTID=xxxx
      - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_AUTH0_CLIENTSECRET=xxxx
      - SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_AUTH0_ISSUER_URI=https://sso.com/oidc
      - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_AUTH0_SCOPE=openid
      - SERVER_FORWARDHEADERSSTRATEGY=native

If I understood correctly, you're asking how to convert your config that uses environment variables to the new 0.5.0 format.
If so, I think you just need to migrate to the new format (lookup the docs and changelog mentioned earlier) and replace child relationships as well as special characters with "_"
For instance in your case your provider name seems to be "auth0":
auth:
  oauth2:
    client:
      auth0:
        clientId: kafka-ui
        ...

Becomes:
environment:
  - AUTH_OAUTH2_CLIENT_KEYCLOAK_CLIENTID=kafka-ui

@lework in your example there's a little typo:
instead of
SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_AUTH0_ISSUER_URI
do
SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_AUTH0_ISSUER-URI

@Haarolean I got it working with multiple solutions: i.e with or without dashes, underscore, or no separator in the property name.
It seems that Spring Boot implements relaxed binding rules to match configuration properties.
The following are equivalent:

AUTH_OAUTH2_CLIENT_AUTH0_ISSUER-URI
AUTH_OAUTH2_CLIENT_AUTH0_ISSUER_URI
AUTH_OAUTH2_CLIENT_AUTH0_ISSUERURI

You do need to include a separator for child relationships though.

The documentation references a webtool you can use to convert yaml configuration to Spring Boot env variables.

I moved issuer-uri to auth.oauth2.client.keycloak, since it was the only one I had defined in the provider. I got it working with the following config:
auth:
  type: OAUTH2
  oauth2:
    client:
      keycloak:
        clientId: kafka-ui
        clientSecret: <secret>
        scope: openid
        issuer-uri: https://<keycloak_instance>/auth/realms/<realm>
        user-name-attribute: preferred_username
        client-name: keycloak
        provider: keycloak
        custom-params:
          type: keycloak

This could be added to the examples in OAuth Configuration documentation . Although I believe it would be better to add some documentation about what fields are actually required in the general case.

I've just submitted a documentation PR about the configuration of Keycloak as OIDC provider : #3863


Compiled Win exe won't run

I compiled the script as described and when I run the exe I get the following error:
Traceback (most recent call last):
File "panhunt.py", line 251, in < module >
File "panhunt.py", line 193, in hunt_pans
File "filehunt.py", line 263, in find_all_files_in_directory
AttributeError: 'module' object has no attribute 'Percentage'
Failed to execute script panhunt
I have been unable to determine what the issue is.  This is an awesome tool that could be very useful for me.  I appreciate you sharing it and any help getting it to work if you can.  -Matt

I think I have this resolved.   I am not sure I understand why, but I ran the panhunt.py script in python in Windows.  Doing so, I saw that it created some files as it ran.  After it ran successfully I tried compiling it again and now my EXE works.


chore: chare block hash table address

This change is

#1768  👈
main

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

Join @ArniStarkware and the rest of your teammates on  Graphite


[Feature]: Docker setup

Is your feature request related to a problem? Please describe.
We are developing a visualization tool that needs to use docker
Describe the solution you'd like
That there exists a basic docker setup from which I can start a localhost
Describe alternatives you've considered
Developing without docker and implement this later
Additional context
We use wasm (C++), React (tsx)

The container will have react with typescript and c++ compiled with emscripten. There will be a basic configuration where the combination of these can be tested, meaning c++ code can be called from typescript.

This should be moved to the pum04 repository


fix the C implementation on big endian, and add CI coverage for that case

Previously we were covering the Rust implementation on big endian, but not C. With this change their testing stories will be pretty similar. (There's plenty of duplicated code in blake3_c_rust_bindings that I'm not excited to maintain, not to mention another hacky cross_test.sh script, but it works.)

This fix will merit a new "release" for our C code, which at this point is just a git tag. Will make a note to self to do that within the next couple days.


CNV-map bug fix and speed-up

Current version has a bug: CNV map will not work with more than 1 entry per chromosome per sample.
Suppose the CNV-map looks like this:
chr1    0  100  sample1  4
chr1  100  200  sample1  6

All positions after position 100 will break on the first iteration and will get the default ploidy instead of 6.

Additionally speed-up search of the CNV regions by using binary search instead of simple iteration.

Thank you, this is really helpful. And damning. It suggests that testing was limited to cases where there was one CNV region on a chromosome (like on the human sex chromosomes).
Would you please add a test case to confirm that this doesn't regress? Let me know if you need a tip. The tests are in test/t.

I added one test, but perhaps it is too hard to read.

Looks great. Thank you very much for this!


Enforce branch policies on the repository

To improve the security of the ORAS project we need to enforce the branch policies for this repository. I propose that we enforce the policies as follows:

Use the following rules for main and release/* branches:

Require PR before merging

[ ] Require 3 approvals
[ ] Dismiss stale PR approvals when new commits are pushed
[ ] Require review from Code Owners
[ ] Require status checks to pass before merging
[ ] Require conversation resolution before merging
[ ] Require signed commits
[ ] Do not allow bypass the above settings

Please add your comments and proposals for additional changes to this issue.

I think 2 approvals from maintainers/owners would be good enough regardless of who submitted the PR.


refactor how metricPersist messages are sent.

Sending many hundreds of thousands of persist messages in a short
time interval is putting too much load on our nsqd servers. This
change now batches the messages and just flushes once every second.

When we do a clean shutdown we should ensure pending msgs are sent @woodsaj

Also we should make sure msgs stay within nsq max msg size


Updating Default Solution to Core Solution

Better understanding that we are talking about Core Components in Coe starter kit, because there is no "Default Solution"

Hello,
that is incorrect. Environment Variables can not be updated from the managed Core solution, and have to updated through the environments Default Solution that is present in every environment and called Default solution.
Rejecting the change.
Manuela


[Import Service] Initiate an import using Spacecat service

Use the Spacecat import endpoint to initiate a bulk import operation.

add an option within Import- Bulk to use service
include api key as additional input
include status (status, url count, success count, failed count)
include a button to download ZIP file

Should there be a button to check / refresh the status? Or will the importer UI poll the service?

Should there be a button to check / refresh the status? Or will the importer UI poll the service?

I think there should be a button to refresh the status. Polling could be explored as well.
Also, we should consider managing multiple import jobs and how each job can be tracked separately.

One import job per API key is a restriction we have in place currently to prevent abuse of the service.

I'd suggest a slow status poll (every 5 minutes?) with a refresh button.  If it takes hours, we don't need constant updates.

Closing since https://labs.aem.live/import is now available.


Linear scaling dipolar network analysis

dipolar_linear.m leverages the conmat.m function for a speedup of the connectivity matrix creation, thus determining which atomic spins interact based on a given proximity cutoff. Have also run a small experiment to check the improvements compared to the previous dipolar function (see graph below, hope it renders).
I still have some issues in running the comparison experiments as I generates spins at random in a cube and sometimes pairs of spins start to collide and violate PBC constraints. This experiment is not included in the pull request atm.

This cannot be merged. The function is a cental part of Spinach kernel. It cannot be partially correct with something still left to do because the entire kernel would break. Either it is functionally identical to the original, or it cannot exist.


Cannot build on Illumos

Trying to build on Illumos results in the following error:
root@build_env:/tmp# go get -u github.com/gofrs/flock
go: downloading golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57
# github.com/gofrs/flock
/root/go/pkg/mod/github.com/gofrs/flock@v0.8.0/flock_unix.go:28:22: undefined: syscall.LOCK_EX
/root/go/pkg/mod/github.com/gofrs/flock@v0.8.0/flock_unix.go:39:22: undefined: syscall.LOCK_SH
/root/go/pkg/mod/github.com/gofrs/flock@v0.8.0/flock_unix.go:57:12: undefined: syscall.Flock
/root/go/pkg/mod/github.com/gofrs/flock@v0.8.0/flock_unix.go:67:12: undefined: syscall.Flock
/root/go/pkg/mod/github.com/gofrs/flock@v0.8.0/flock_unix.go:97:12: undefined: syscall.Flock
/root/go/pkg/mod/github.com/gofrs/flock@v0.8.0/flock_unix.go:97:42: undefined: syscall.LOCK_UN
/root/go/pkg/mod/github.com/gofrs/flock@v0.8.0/flock_unix.go:119:21: undefined: syscall.LOCK_EX
/root/go/pkg/mod/github.com/gofrs/flock@v0.8.0/flock_unix.go:131:21: undefined: syscall.LOCK_SH
/root/go/pkg/mod/github.com/gofrs/flock@v0.8.0/flock_unix.go:151:9: undefined: syscall.Flock
/root/go/pkg/mod/github.com/gofrs/flock@v0.8.0/flock_unix.go:151:44: undefined: syscall.LOCK_NB
/root/go/pkg/mod/github.com/gofrs/flock@v0.8.0/flock_unix.go:151:44: too many errors

This seems to present a solution.

@francescocarzaniga I'm personally not very familiar with Illumos, so I presume it doesn't have the same system call capabilities as other systems so the symbols are missing when attempting to build.
Considering that you have a Illumos system, would you have the spare cycles to contribute support for that OS? Alternatively, do you have any personal recommendations for where I could get access to one without having to get some local VM running?

@theckman I have a personal server with OmniOS where I could spin up a zone for this, it's not particularly powerful but it should do. AFAIK there are no (affordable, Joyent is quite expensive) cloud solutions.

Hi
I solved the compilation error by using the environment variable:
export GOOS=illumos
so flock is compiling fine.
I hope it helps someone.
Paolo

Currently flock compiles on Illumos:
$ GOOS=illumos GOARH=amd64 go build
$

So I close this issue.


No new pins

Hey, the installation was quite easy, but the output :
[11:14:33] INFO: Starting download...
[11:14:33] INFO: Stopped, no new pins found. Skipped 0 pins.
Not a single picture was downloaded. I tried this with different sites. Can you help me?

I have a same problem

Sorry for responding so late, I'll try to reproduce this in the next week.

This should only happen if the folder you are downloading to already contains all the images in the board.

You also get this error if you are trying to download a private board


Data fetching in 1.0.0’s onEnter — possible? Good idea in the first place?

I'm wondering what the recommended practice for fetching data necessary for rendering a route is in 1.0.0. Let’s say a user browses to /post/123, I'd like to make a call to my API to make sure that this Post is in my stores and ready to go.
At the moment I've been firing these API actions in componentWillMount, but part of me wonders if it would be better to do this kind of work in 1.0.0 Route’s onEnter? I can't get that to work as my API actions return Promises and I can’t see anyway to trigger a transition manually, but then again, how would I display any visual indication that the app is loading something this way?
To sum it up, can onEnter be used to defer a transition until a promise is fulfilled, and is this a good idea in the first place? Thanks very much.

I think it is a valid example how onEnter should be used. Please check the code of the transition hooks. There you get a callback. You have to maintain the transition object with your navigation decission and call that callback to inform the router, that your async task is over (e.g. when your promise is resolved).
https://github.com/rackt/react-router/blob/master/modules/RoutingUtils.js#L187

No, do not fetch data in onEnter. This is always a bad idea because the UI will not be responsive while you're fetching data.
Please see the AsyncProps code (still experimental) for some ideas we have around how to do this properly.

Great, I was hoping for a clarification like this. Thank you for being so attentive to this repo’s issues!

Any update on async-loading in 1.0? I have noticed that the AsyncProps and async-data example have been removed from master...

@mjackson can you clarify what you mean by "UI will not be responsive while you're fetching data"?  I come from an Angular.js background used the ui-router which followed the paradigm of data being loaded asynchronously in the routes.  When the 'resolve' promises  either all resolved or one rejected, there would be a route transition.
I'm trying to accomplish this with react-router but it feels like I'm fighting it. Programmatically, having the data injected into the top-level components in the router is desirable to me. What is it about the designed of react-router that makes this undesirable? Is it a deliberate choice?

@freshtonic onEnter is your chance to redirect, not fetch data. We should probably just call the method doYouWantToRedirect because everyone tries to use it to fetch data :P
If you don't mind waiting for your data to load before you transition, you can use onEnter to fetch data. But your page will feel sluggish because the router doesn't attempt to update state until all onEnter hooks are finished (so it knows if it needs to redirect or not).

@mjackson IMHO having top-level components load their own data is both more complex from a programming perspective (because at least two states are needed: loading/loaded) and transitioning before data is loaded is janky as components all resize to accommodate data as it arrives.  I'd much rather have route transitions take a little longer. The perception of slowness can be solved with visual feedback such as loading indicators.
If it is indeed possible to do async data loading with onEnter then I suggest that you retain the name and not rename it :) Might I also suggest that this becomes an officially supported use case - instead of advocating not data loading in onEnter how about just explaining the trade-offs? Not everybody shares the opinion that data loading must not be async.

@mjackson FWIW, I'd be more than happy to document the trade offs if this becomes an officially supported use case.

Is there any best practice solution for fetching data both server side and client side in 1.0 ?

Is there any update on it in 2.0 release? Is it still considered bad practice to use onEnter to fetch data required to display the page? In both Angular 1.x (using route's resolve property) and in Ember (using route's model property) there's a built-in way of fetching data asynchronously before rendering the template. If one is not supposed to use onEnter for it, then what's the alternative? If fetching data is async then it shouldn't really cause UI to be unresponsive, right?

@szimek You might want to look at async-props, as it handles both data loading at component entrance and all the server rendering nonsense too.

@timdorr Thanks!

@timdorr But why is this solution better than onEnter ? Pausing transition before necessary data loaded makes sense because sometimes after this you no need to render the component. Suppose api responses with 404 so it is very likely you want to redirect to your NotFoundPage component.

You should show something while the data loads. Just freezing your app entirely while some async side effect resolves doesn't make for a good UX. Your components should be able to show a "loading" view of some sort to give the user feedback while it's working.

Is there any way to solve this not using onEnter?
I'm using Firebase and it uses a token in local storage to sign the user in (or out if the token is not present). This takes a second or two and I want react-router to wait for this to happen before displaying any route.
Is this possible?

This is how I have solved it for the time being.
https://gist.github.com/PierBover/220b2f7d5f790158790d3adb55f0a140
A rudimentary approach that does the job in case you are desperate for a solution as I was.

@mjackson please provide a working link to the proper pattern for reference before closing thx. current link is 404


Connection refused from destination server..

Hi @clue,
I have been using this scripts for months for my asynchronous process http submit and request, but suddenly it has been a week that my destination server was refused to receive connection for it.
My question is what kind of specific trouble for connection refused? it was close off tcp port?
The Exception file show that error from react tcpconnector.php?
Regards,
Roy

HI @royhg! It sounds like there may be a problem with your remote server side, not this project. This project creates a TCP/IP connection to the remote server to send an HTTP request over this connection and await an HTTP response.
If your remote server is offline or actively refusing connections (perhaps you may have ended up on some firewall list?), then you'll start seeing connection issues.
I hope this helps :+1:


b1rc challenge by @jeevjyot

Check List:

[ x] Tests pass (./test.sh <username> shows no differences between expected and actual outputs)
[x ] All formatting changes by the build are committed
[x ] Your launch script is named calculate_average_<username>.sh (make sure to match casing of your GH user name) and is executable
[x ] Output matches that of calculate_average_baseline.sh

Execution time: 34 seconds
Execution time of reference implementation: 2mins

Machine:
Chip:	Apple M3 Max
Total Number of Cores:	14 (10 performance and 4 efficiency)
Memory:	36 GB

01:07.101, i.e. quite a bit slower than the 10 sec as requested in the README and PR template. Still gonna merge it, as you've put in the effort already. But any updates should be up somewhere there, so as to keep things manageable. Thx for participating!


removing unnecessary mkdirs

Following: https://github.com/facebookresearch/habitat-sim/pull/630

It indeed passes CI tests!


Points for Questions

If a student answers a question incorrectly, the blue circle shouldn't fill - maybe a half-filled circle?

Will try to fix this.

Duplicate issue.


Germplasm Advanced Search

This issue is for discussion of an advanced germplasm search call.
this call is not yet ready to implement and will need more discussion and support by the community.
we will need more use cases and community members who are willing to implement this call before adding it to the official spec.
New Germplasm Advanced Search Call
Requirements

Search for Germplasm entities based on any key in the germplasm object
Allows for And/Or/Not logic combinations between keys
Allows wildcard on text fields
Allows ranges/max/min on number and date fields
Allows single search string (elasticSearch etc)

@BrapiCoordinatorSelby Have a look at https://www.genesys-pgr.org/swagger-ui.html#/accession/listUsingPOST. Or see it in action at https://beta.genesys-pgr.org/a
We support the following types of filters:

property: string[]|number[] for where we exactly match the property to provided values.
property: StringFilter for String matching ops: eq contains startsWith
property: NumberFilter for number matching ops: ge le lt le eq

That basically covers all our needs.
Then we support NOTNULL: string[] as a way to indicate you want some properties to be not null. NULL: string[] does the oposite.
We also support NOT: Filter that negates the filtering operations. Only 1 level NOT is allowed.
Example filter in JSON to get all Oryza accessions except from PHL001 that have latitude in Genesys would be:
{
 "NOT": {
   "holder.code": [ "PHL001" ]
  },
 "NOTNULL": [ "geo.latitute" ],
 "taxonomy.genus": [ "Oryza" ]
}

Making the UI for all these options is quite a challenge.

@BrapiCoordinatorSelby

Allows ranges/max/min on number and date fields

I think this would be useful also for other entity searches like POST /search/observationunits for example, specifically in the context of the BrAPI Graphical Filtering tool, to be able to filter trait data server-side. Without this, the client is forced to ask for all records or go through all pages, to then be able to filter traits. Another option is to use BrAPI.js which already abstracts this and let's you retrieve all pages in a single command. But this could be a problem for servers with a large amount of data.
A standard for filtering will have a lot of value for BMS, where we also have a custom (internal API) filtering approach for different entities, specifically  wildcard on text fields and ranges/max/min on number and date fields.
cc @jeback1 @mcrimi @lukasmueller


It'd be very neat to have another example as well

That's for the scenario where FindType="FindBySubjectName"

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

ID: b416b884-a4c2-f64b-8646-c272d2f2aa39
Version Independent ID: 6279b3df-55c3-32e6-bb21-33a4013edd29
Content: Configure secure Azure Service Fabric cluster connections - Azure Service Fabric
Content Source: articles/service-fabric/service-fabric-visualstudio-configure-secure-connections.md
Service: service-fabric
GitHub Login: @CawaMS
Microsoft Alias: cawa

Thanks for your dedication to our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response. Though the scope of our feedback channel here on GitHub covers specific documentation fixes, we can help redirect you to the right support channel to get an answer to your question: [reference to alternative product/service or community endpoint]. Because this issue does not relate to documentation, we are closing this issue. #please-close


ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10 64 bit
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: Surface Pro
TensorFlow installed from (source or binary):
TensorFlow version:2
Python version:3.7.9
Installed using virtualenv? pip? conda?:PIP

Can't import

import tensorflow as tf
Traceback (most recent call last):
File "C:\Users\rache\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\pywrap_tensorflow.py", line 64, in
from tensorflow.python._pywrap_tensorflow_internal import *
ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\rache\AppData\Roaming\Python\Python37\site-packages\tensorflow_init_.py", line 41, in
from tensorflow.python.tools import module_util as module_util
File "C:\Users\rache\AppData\Roaming\Python\Python37\site-packages\tensorflow\python_init.py", line 40, in
from tensorflow.python.eager import context
File "C:\Users\rache\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\eager\context.py", line 35, in
from tensorflow.python import pywrap_tfe
File "C:\Users\rache\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\pywrap_tfe.py", line 28, in
from tensorflow.python import pywrap_tensorflow
File "C:\Users\rache\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\pywrap_tensorflow.py", line 83, in
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:\Users\rache\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\pywrap_tensorflow.py", line 64, in
from tensorflow.python._pywrap_tensorflow_internal import *
ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/errors
for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

@HiImAri
What is make/model of your cpu?
I suspect your cpu model does not support AVX instructions sets.See hardware requirements
Make sure to download the latest microsoft visual c++ redistributable from here.
.Also, please follow the instructions from to install from Tensorflow website.
Please, check Your CPU/Python is on 32 bits?Please, refer #42751 and see if it helps you.Please, refer similar issues #36167 #36151 #36138 #36054 #36045 #36020 #36003 #35988 #35903 #35880 #35865 #35805 #35789 #35773 #35772 #35767 #35766 #35749 #35721 #35618 #35204
Thanks!

Running on 64 bits and im running Intel(R) Atom(TM) x7-Z8700 CPU@160GHz and i already downloaded the Microsoft visual c++ while following the instructions through Tensorflow website

@HiImAri
Looking at specification of your cpu seems like avx is not supported.Please, refer the link here.
In this case you can build Tensorflow from source or use Google colab as an alternative. Thanks!

I faced the same issue with tensorflow-1.12.0 what i did was :
Install anaconda open anaconda prompt conda create -n tf20 python=3.6 activate tf20 conda install tensorflow python
Now check by importing tensorflow
the version i used was 3.6, but you can also try with 3.7 Hope it helps!


fix(deletionPolicy): wrong case

As discussed during SIG Storage COSI meeting on 6/1/2023, this is fix of default value of case sensitive field DeletionPolicy.

/ok-to-test
/lgtm

/ltgm
/approve

/lgtm


refactor: Work on property descriptions and make sure default is declared in the description

Bump
On Sun, Dec 19, 2021, 8:23 PM github-actions[bot] @.***>
wrote:

This issue is now marked as stale because it hasn't seen activity for a
while. Add a comment or it will be closed soon.
—
Reply to this email directly, view it on GitHub
https://github.com/RenovoSolutions/cdk-library-managed-instance-role/issues/6#issuecomment-997512750,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADDGQ6W3EPPSVKWGOWPLPNDUR2ASNANCNFSM5GMKA43A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
<RenovoSolutions/cdk-library-managed-instance-role/issues/6/997512750@
github.com>


Offensive Team

I'm using the following code to obtain updated scores and game time for games in progress.
weekNum=10
s_t='Regular'
yr=2016
import csv
with open('Refresh_Scores.csv', 'wb') as csvfile:
	import nfldb
	db = nfldb.connect()
	q = nfldb.Query(db)
	q.game(season_year=yr, season_type=s_t, week=weekNum)
	writer = csv.writer(open("C:/Python27/temp/Refresh_Scores.csv", 'wb'))
	for game in q.as_games():
		if game.is_playing:
			writer.writerow ([game, game.finished, game.plays[-1].time, game.gsis_id])

I'd also like to be able to retrieve who has possession of the football.
Tried adding drive.pos_team and game.drive.pos_team to no avail.
Is this do-able??
Thanks

Looks like you're already accessing the last play with game.plays[-1].time.  The information you are after is attached to that as well.
import nfldb

db = nfldb.connect()
q = nfldb.Query(db)
q.game(season_year=2016, week=10)

for game in q.as_games():
    if game.is_playing:
        print game
        print 'Last play:', game.plays[-1]
        print 'Possession team:', game.plays[-1].pos_team

Regular 2016 week 10 on 11/10 at 07:25PM, CLE (7) at BAL (13)
Last play: (CLE, OWN 27, Q3, 2 and 8) (8:58) (Shotgun) J.McCown pass incomplete short middle to I.Crowell.
Possession team: CLE

ochawkeye,
Thanks for all your help.
Rather than getting the name of the team with the ball, is it possible to return if it's the home team or the away team?
Your code will work fine for me, just trying to keep my VBA program that processes the .csv file as streamlined as possible.

import nfldb

def full_team_name(team):
    for teams in [nfldb.team.teams2, nfldb.team.teams1]:
        for variants in teams:
            for variant in variants:
                if team == variant:
                    return variants[3]
    return 'Unknown'

db = nfldb.connect()
q = nfldb.Query(db)
q.game(season_year=2016, week=10)

for game in q.as_games():
    if game.is_playing:
        print game
        print 'Last play:', game.plays[-1]
        print 'Possession team:', game.plays[-1].pos_team
        print 'Possession team (full):', full_team_name(game.plays[-1].pos_team)

        print 'Last *completed* drive:', game.drives[-1]
        print 'Possession team:', game.drives[-1].pos_team
        print 'Possession team (full):', full_team_name(game.drives[-1].pos_team)

Regular 2016 week 10 on 11/10 at 07:25PM, CLE (7) at BAL (13)
Last play: (CLE, OWN 27, Q3, 2 and 8) (8:58) (Shotgun) J.McCown pass incomplete short middle to I.Crowell.
Possession team: CLE
Possession team (full): Cleveland Browns
Last *completed* drive: [Punt        ] BAL from OWN 17 to OWN 31 (lasted 02:47 - Q1 00:00 to Q1 12:13)
Possession team: BAL
Possession team (full): Baltimore Ravens

I kind of feel like I'm doing your homework for you now :P

LOL!
Let me know if you need help with your book report.
Seriously, I really appreciate it...thanks!


unnecessary warning for exposure_schema_validity test

Describe the bug
given exposure_a and exposure_b,
each with just model_x in their depends_on,
each only specifying column_name.
running exposure_schema_validity will yield this warning for each exposure and column
Warning - missing node property for the exposure: <exposure> which not the only exposure depending on <model>, We're not able to verify the column level dependencies of this exposure

To Reproduce
create a simple setup with exposure_a, exposure_b and model_x as described above
Expected behavior
no warning, since model_x is the only model in the depends_on of each exposure, therefore no node property should be needed
Screenshots
n/a
Environment

Elementary CLI (edr) version: 0.15.1
Elementary dbt package version: 0.15.2
dbt version you're using: 1.8.7
Data warehouse: databricks
Infrastructure details: n/a

Additional context
the test passes despite the warning
Would you be willing to contribute a fix for this issue?
if time allows

Hi @data-blade !
Thanks for opening this issue, it indeed looks to me like a bug - it seems that what we're currently checking is whether or not there is more than one exposure depending on the same node, but I'm not sure why that is the check.
It may take us a bit of time to get to so if you're willing to contribute a fix will be happy to point to give pointers on where to look.


Tests crashing at "Cleaning up orphan processes"

This keeps happening and I don't know why.

Example:
Run npm install
npm install
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
npm WARN deprecated<EMAIL_ADDRESS>Please update to at least constantinople 3.1.1
npm WARN deprecated<EMAIL_ADDRESS>Deprecated, use jstransformer
npm WARN deprecated<EMAIL_ADDRESS>Jade has been renamed to pug, please install the latest version of pug instead of jade
added 618 packages, and audited 619 packages in 8s
86 packages are looking for funding
run `npm fund` for details
14 vulnerabilities (4 moderate, 6 high, 4 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
Run npx standard -v
npx standard -v
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
Post job cleanup.
/usr/bin/git version
git version 2.43.2
Temporarily overriding HOME='/home/runner/work/_temp/9a1e05c9-0c67-4a3d-84fe-419f00e093e7' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
/usr/bin/git config --global --add safe.directory /home/runner/work/logic_graph_scalable/logic_graph_scalable
/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
http.https://github.com/.extraheader
/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
Cleaning up orphan processes

Okay, I had this happen again but I left it alone for a while and when I came back the tests had passed. I think this step might just take an insanely long time or maybe the servers are super busy today? I'll close this for now, but I might re-open it in the future if it becomes a problem again.

Okay, tests that were taking forever to run earlier today now seem to be running smoothly. I think this was just GitHub's servers being weird.


:start-date not working for week picker

Hi i'm trying to set a :start-date for a week picker like so:
<template>
<Datepicker v-model="dates" :start-date="startDate" placeholder="Select Date" week-picker />
</template>
<script>
    data() {
        dates: [...],
        startDate: new Date(2020, 2),
    }
</script>

But this doesnt seem to work.
Start date with normal datepicker works fine.

Hello, I'm not sure if you're in a correct repository. This component doesn't allow picking multiple dates, doesn't have a week-picker prop, or a start-date prop. Maybe you're using one of the forks?


[wlog/watcher] read segment synchronously when not tailing

What does this PR do?
This PR makes wlog.Watcher replays segments synchronously when not tailing.
It adds a test that proves replaying a fixed amount of segments takes less time than a single timeout.
Relates to #13111
Supersedes #13188

@jlevesy can you add a changelog entry, imo this is an enhancement

Done!