feat: add formatting methods

This PR was generated using Autosynth. :rainbow:
Log from Synthtool
2020-04-02 03:12:23,791 synthtool > Executing /tmpfs/src/git/autosynth/working_repo/SecurityCenter/synth.py.
2020-04-02 03:12:23,843 synthtool > Ensuring dependencies.
2020-04-02 03:12:23,848 synthtool > Pulling artman image.
latest: Pulling from googleapis/artman
Digest: sha256:ef1a5b367dbe1e37cea1c7c814c801a638473e8dd66f87f4a2b8c2a146013673
Status: Image is up to date for googleapis/artman:latest
2020-04-02 03:12:25,148 synthtool > Cloning googleapis.
2020-04-02 03:12:25,467 synthtool > Running generator for google/cloud/securitycenter/artman_securitycenter_v1.yaml.
2020-04-02 03:12:31,855 synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/php/google-cloud-securitycenter-v1.
2020-04-02 03:12:31,877 synthtool > No files in sources /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/php/google-cloud-securitycenter-v1/proto/src/GPBMetadata/Google/Cloud/SecurityCenter were copied. Does the source contain files?
2020-04-02 03:12:31,877 synthtool > Running generator for google/cloud/securitycenter/artman_securitycenter_v1p1beta1.yaml.
2020-04-02 03:12:37,959 synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/php/google-cloud-securitycenter-v1p1beta1.
2020-04-02 03:12:37,980 synthtool > No files in sources /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/php/google-cloud-securitycenter-v1p1beta1/proto/src/GPBMetadata/Google/Cloud/SecurityCenter were copied. Does the source contain files?
2020-04-02 03:12:37,981 synthtool > Replaced "'serviceAddress' =>" in src/V1p1beta1/Gapic/SecurityCenterGapicClient.php.
2020-04-02 03:12:37,982 synthtool > Replaced "'serviceAddress' =>" in src/V1/Gapic/SecurityCenterGapicClient.php.
2020-04-02 03:12:37,984 synthtool > Replaced '@type string \\$serviceAddress\\n\\s+\\*\\s+The address' in src/V1p1beta1/Gapic/SecurityCenterGapicClient.php.
2020-04-02 03:12:37,985 synthtool > Replaced '@type string \\$serviceAddress\\n\\s+\\*\\s+The address' in src/V1/Gapic/SecurityCenterGapicClient.php.
2020-04-02 03:12:37,986 synthtool > Replaced '\\$transportConfig, and any \\$serviceAddress' in src/V1p1beta1/Gapic/SecurityCenterGapicClient.php.
2020-04-02 03:12:37,987 synthtool > Replaced '\\$transportConfig, and any \\$serviceAddress' in src/V1/Gapic/SecurityCenterGapicClient.php.
2020-04-02 03:12:37,989 synthtool > Replaced '^(\\s+\\*\\n)?\\s+\\*\\s@experimental\\n' in src/V1/SecurityCenterClient.php.
2020-04-02 03:12:37,991 synthtool > Replaced '^(\\s+\\*\\n)?\\s+\\*\\s@experimental\\n' in src/V1/Gapic/SecurityCenterGapicClient.php.
2020-04-02 03:12:37,996 synthtool > Replaced 'Copyright \\d{4}' in src/V1/SecurityCenterGrpcClient.php.
2020-04-02 03:12:37,997 synthtool > Replaced 'Copyright \\d{4}' in src/V1/SecurityCenterClient.php.
2020-04-02 03:12:38,000 synthtool > Replaced 'Copyright \\d{4}' in src/V1/Gapic/SecurityCenterGapicClient.php.
2020-04-02 03:12:38,002 synthtool > Replaced 'Copyright \\d{4}' in tests/Unit/V1/SecurityCenterClientTest.php.
2020-04-02 03:12:38,007 synthtool > Replaced 'Copyright \\d{4}' in src/V1p1beta1/SecurityCenterGrpcClient.php.
2020-04-02 03:12:38,007 synthtool > Replaced 'Copyright \\d{4}' in src/V1p1beta1/SecurityCenterClient.php.
2020-04-02 03:12:38,011 synthtool > Replaced 'Copyright \\d{4}' in src/V1p1beta1/Gapic/SecurityCenterGapicClient.php.
2020-04-02 03:12:38,013 synthtool > Replaced 'Copyright \\d{4}' in tests/Unit/V1p1beta1/SecurityCenterClientTest.php.
2020-04-02 03:12:38,013 synthtool > No replacements made in src/V1/Gapic/SecurityCenterGapicClient.php for pattern Finding_State, maybe replacement is no longer needed?
2020-04-02 03:12:38,014 synthtool > Replaced 'will be removed in the next major release' in src/V1p1beta1/ListAssetsResponse_ListAssetsResult.php.
2020-04-02 03:12:38,015 synthtool > Replaced 'will be removed in the next major release' in src/V1p1beta1/NotificationConfig_StreamingConfig.php.
2020-04-02 03:12:38,015 synthtool > Replaced 'will be removed in the next major release' in src/V1p1beta1/Asset_SecurityCenterProperties.php.
2020-04-02 03:12:38,015 synthtool > Replaced 'will be removed in the next major release' in src/V1p1beta1/RunAssetDiscoveryResponse_State.php.
2020-04-02 03:12:38,016 synthtool > Replaced 'will be removed in the next major release' in src/V1p1beta1/ListAssetsResponse_ListAssetsResult_StateChange.php.
2020-04-02 03:12:38,016 synthtool > Replaced 'will be removed in the next major release' in src/V1p1beta1/NotificationConfig_EventType.php.
2020-04-02 03:12:38,016 synthtool > Replaced 'will be removed in the next major release' in src/V1p1beta1/Finding_State.php.
2020-04-02 03:12:38,017 synthtool > Replaced 'will be removed in the next major release' in src/V1p1beta1/ListFindingsResponse_ListFindingsResult_StateChange.php.
2020-04-02 03:12:38,017 synthtool > Replaced 'will be removed in the next major release' in src/V1p1beta1/Asset_IamPolicy.php.
2020-04-02 03:12:38,017 synthtool > Replaced 'will be removed in the next major release' in src/V1p1beta1/OrganizationSettings_AssetDiscoveryConfig.php.
2020-04-02 03:12:38,017 synthtool > Replaced 'will be removed in the next major release' in src/V1p1beta1/ListFindingsResponse_ListFindingsResult_Resource.php.
2020-04-02 03:12:38,018 synthtool > Replaced 'will be removed in the next major release' in src/V1p1beta1/ListFindingsResponse_ListFindingsResult.php.
2020-04-02 03:12:38,018 synthtool > Replaced 'will be removed in the next major release' in src/V1p1beta1/OrganizationSettings_AssetDiscoveryConfig_InclusionMode.php.
2020-04-02 03:12:38,018 synthtool > Replaced 'will be removed in the next major release' in src/V1/ListAssetsResponse_ListAssetsResult.php.
2020-04-02 03:12:38,019 synthtool > Replaced 'will be removed in the next major release' in src/V1/NotificationConfig_StreamingConfig.php.
2020-04-02 03:12:38,019 synthtool > Replaced 'will be removed in the next major release' in src/V1/Asset_SecurityCenterProperties.php.
2020-04-02 03:12:38,019 synthtool > Replaced 'will be removed in the next major release' in src/V1/RunAssetDiscoveryResponse_State.php.
2020-04-02 03:12:38,020 synthtool > Replaced 'will be removed in the next major release' in src/V1/ListAssetsResponse_ListAssetsResult_StateChange.php.
2020-04-02 03:12:38,020 synthtool > Replaced 'will be removed in the next major release' in src/V1/Finding_State.php.
2020-04-02 03:12:38,020 synthtool > Replaced 'will be removed in the next major release' in src/V1/ListFindingsResponse_ListFindingsResult_StateChange.php.
2020-04-02 03:12:38,021 synthtool > Replaced 'will be removed in the next major release' in src/V1/Asset_IamPolicy.php.
2020-04-02 03:12:38,021 synthtool > Replaced 'will be removed in the next major release' in src/V1/OrganizationSettings_AssetDiscoveryConfig.php.
2020-04-02 03:12:38,021 synthtool > Replaced 'will be removed in the next major release' in src/V1/ListFindingsResponse_ListFindingsResult_Resource.php.
2020-04-02 03:12:38,021 synthtool > Replaced 'will be removed in the next major release' in src/V1/ListFindingsResponse_ListFindingsResult.php.
2020-04-02 03:12:38,022 synthtool > Replaced 'will be removed in the next major release' in src/V1/OrganizationSettings_AssetDiscoveryConfig_InclusionMode.php.
2020-04-02 03:12:38,023 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/GetNotificationConfigRequest.php.
2020-04-02 03:12:38,024 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/CreateSourceRequest.php.
2020-04-02 03:12:38,024 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/ListNotificationConfigsRequest.php.
2020-04-02 03:12:38,024 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/SecurityMarks.php.
2020-04-02 03:12:38,025 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/GetOrganizationSettingsRequest.php.
2020-04-02 03:12:38,025 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/ListAssetsResponse.php.
2020-04-02 03:12:38,025 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/GroupAssetsRequest.php.
2020-04-02 03:12:38,026 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/NotificationMessage.php.
2020-04-02 03:12:38,026 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/ListFindingsResponse.php.
2020-04-02 03:12:38,027 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/ListSourcesRequest.php.
2020-04-02 03:12:38,027 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/Source.php.
2020-04-02 03:12:38,027 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/OrganizationSettings.php.
2020-04-02 03:12:38,028 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/DeleteNotificationConfigRequest.php.
2020-04-02 03:12:38,028 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/RunAssetDiscoveryRequest.php.
2020-04-02 03:12:38,029 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/GroupAssetsResponse.php.
2020-04-02 03:12:38,029 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/RunAssetDiscoveryResponse.php.
2020-04-02 03:12:38,029 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/GroupFindingsRequest.php.
2020-04-02 03:12:38,030 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/ListAssetsRequest.php.
2020-04-02 03:12:38,030 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/UpdateSecurityMarksRequest.php.
2020-04-02 03:12:38,031 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/SetFindingStateRequest.php.
2020-04-02 03:12:38,031 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/UpdateFindingRequest.php.
2020-04-02 03:12:38,031 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/ListFindingsRequest.php.
2020-04-02 03:12:38,032 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/ListNotificationConfigsResponse.php.
2020-04-02 03:12:38,032 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/CreateFindingRequest.php.
2020-04-02 03:12:38,033 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/GroupResult.php.
2020-04-02 03:12:38,033 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/UpdateSourceRequest.php.
2020-04-02 03:12:38,034 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/UpdateOrganizationSettingsRequest.php.
2020-04-02 03:12:38,034 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/ListSourcesResponse.php.
2020-04-02 03:12:38,035 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/NotificationConfig.php.
2020-04-02 03:12:38,035 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/Finding.php.
2020-04-02 03:12:38,036 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/GroupFindingsResponse.php.
2020-04-02 03:12:38,036 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/Asset.php.
2020-04-02 03:12:38,037 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/CreateNotificationConfigRequest.php.
2020-04-02 03:12:38,037 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/GetSourceRequest.php.
2020-04-02 03:12:38,038 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/UpdateNotificationConfigRequest.php.
2020-04-02 03:12:38,038 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/Asset/SecurityCenterProperties.php.
2020-04-02 03:12:38,038 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/Asset/IamPolicy.php.
2020-04-02 03:12:38,039 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/OrganizationSettings/AssetDiscoveryConfig.php.
2020-04-02 03:12:38,040 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/ListAssetsResponse/ListAssetsResult.php.
2020-04-02 03:12:38,041 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/ListFindingsResponse/ListFindingsResult.php.
2020-04-02 03:12:38,041 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/ListFindingsResponse/ListFindingsResult/Resource.php.
2020-04-02 03:12:38,042 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1p1beta1/NotificationConfig/StreamingConfig.php.
2020-04-02 03:12:38,042 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/GetNotificationConfigRequest.php.
2020-04-02 03:12:38,043 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/CreateSourceRequest.php.
2020-04-02 03:12:38,043 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/ListNotificationConfigsRequest.php.
2020-04-02 03:12:38,043 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/SecurityMarks.php.
2020-04-02 03:12:38,044 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/GetOrganizationSettingsRequest.php.
2020-04-02 03:12:38,044 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/ListAssetsResponse.php.
2020-04-02 03:12:38,044 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/GroupAssetsRequest.php.
2020-04-02 03:12:38,045 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/NotificationMessage.php.
2020-04-02 03:12:38,045 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/ListFindingsResponse.php.
2020-04-02 03:12:38,046 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/ListSourcesRequest.php.
2020-04-02 03:12:38,046 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/Source.php.
2020-04-02 03:12:38,046 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/OrganizationSettings.php.
2020-04-02 03:12:38,047 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/DeleteNotificationConfigRequest.php.
2020-04-02 03:12:38,047 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/RunAssetDiscoveryRequest.php.
2020-04-02 03:12:38,048 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/GroupAssetsResponse.php.
2020-04-02 03:12:38,048 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/RunAssetDiscoveryResponse.php.
2020-04-02 03:12:38,048 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/GroupFindingsRequest.php.
2020-04-02 03:12:38,049 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/ListAssetsRequest.php.
2020-04-02 03:12:38,050 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/UpdateSecurityMarksRequest.php.
2020-04-02 03:12:38,051 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/SetFindingStateRequest.php.
2020-04-02 03:12:38,051 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/UpdateFindingRequest.php.
2020-04-02 03:12:38,052 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/ListFindingsRequest.php.
2020-04-02 03:12:38,052 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/ListNotificationConfigsResponse.php.
2020-04-02 03:12:38,052 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/CreateFindingRequest.php.
2020-04-02 03:12:38,053 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/GroupResult.php.
2020-04-02 03:12:38,053 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/UpdateSourceRequest.php.
2020-04-02 03:12:38,054 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/UpdateOrganizationSettingsRequest.php.
2020-04-02 03:12:38,054 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/ListSourcesResponse.php.
2020-04-02 03:12:38,055 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/NotificationConfig.php.
2020-04-02 03:12:38,055 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/Finding.php.
2020-04-02 03:12:38,056 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/GroupFindingsResponse.php.
2020-04-02 03:12:38,056 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/Asset.php.
2020-04-02 03:12:38,057 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/CreateNotificationConfigRequest.php.
2020-04-02 03:12:38,057 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/GetSourceRequest.php.
2020-04-02 03:12:38,058 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/UpdateNotificationConfigRequest.php.
2020-04-02 03:12:38,058 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/Asset/SecurityCenterProperties.php.
2020-04-02 03:12:38,058 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/Asset/IamPolicy.php.
2020-04-02 03:12:38,059 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/OrganizationSettings/AssetDiscoveryConfig.php.
2020-04-02 03:12:38,060 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/ListAssetsResponse/ListAssetsResult.php.
2020-04-02 03:12:38,061 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/ListFindingsResponse/ListFindingsResult.php.
2020-04-02 03:12:38,061 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/ListFindingsResponse/ListFindingsResult/Resource.php.
2020-04-02 03:12:38,062 synthtool > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1/NotificationConfig/StreamingConfig.php.
2020-04-02 03:12:38,080 synthtool > No replacements made in src/**/V*/**/*.php for pattern final class, maybe replacement is no longer needed?
2020-04-02 03:12:38,099 synthtool > No replacements made in src/**/V*/**/*.php for pattern public function ([s|g]\w{3,})Unwrapped, maybe replacement is no longer needed?
2020-04-02 03:12:38,544 synthtool > No replacements made in src/**/V*/**/*.php for pattern (.{0,})\]\((/.{0,})\), maybe replacement is no longer needed?
2020-04-02 03:12:38,550 synthtool > Wrote metadata to synth.metadata.

@googlebot I consent.


Can we include Material Ui instead of bootstrap components

is there any way to generate form fields using material ui ? redux-form-material-ui

No, and i do believe this repository is a bit obsolete since redux-form 6.


Slide left once moves all slides

Hi, first of all thank you for building and sharing this plugin.
I'm having an issue with the transform of the VueCarousel-inner.
At pageload 4 slides are visible. When I click to slide left, all 10 slides slide left and none are visible.
What I want to achieve is that only a single slides moves when navigation is clicked.
And the flex-basis should be fixed because the content of my slides is fixed, it is not responsive.
I found issue 14 and tried that solution but I am unable to get the desired result.

.VueCarousel-inner, .VueCarousel-slide{
  flex-basis: 15rem;
}

Also, for some reason the slides get handled weird. Two slides always have the class VueCarousel-slide-active where in fact 4 of the slides are visible.

Can someone help please

Hey @simbilim, any chance you could send a repoduction over? I'm having a hard time visualizing what the desired result is. I can help debug further with a jsFiddle or a repo you have up that I can clone


Web UI does not refresh with a clean browser cache

UI does not auto-refresh if any actions are run from outside. This only happens if the UI is launched once the browser cache/cookies are all cleaned up.
Here are the steps to reproduce the issue:
1/ Open Firefox, with a blank page. Clear all history, cache, everything. Restart Firefox (current GA version)
2/ Go to https://<st2_ip>/, login.
3/ Open SSH session. Run st2 run core.local cmd=date. Run it a few times.
4/ Watch history tab in background. Observe that it does not update with recent executions.
5/ Go to Firefox. Refresh the page. See that recent executions are now displayed
6/ Go back to CLI. Run st2 run core.local cmd=date again.
7/ See that Firefox is now updating to show those new executions without needing to reload the page

Check out above. Firefox on the left, Chrome in the middle, terminal on the right.
When I run the action via CLI, it promptly shows up on Chrome. It does not show up on Firefox.
But the key thing here is that if I manually refresh the tab in firefox, it then starts auto-refreshing

I encounter the same behavior on Chrome Version 75.0.3770.100 (Official Build) (64-bit).
I also use the workaround of a refresh to fix this behavior.


Account ui

Coverage remained the same at 91.14% when pulling e2f3a50f3e993da743bf081dd88731ae879a735d on account-ui into a6ee7c4e417a4aca366ef8b25f9212fe7cf0db0c on mobile-staging.


Server gets wedged in a 404 state

Sometimes the server starts giving 404 to everything and I need to restart it.  I haven't yet looked into why this happens

maybe try https://uwsgi-docs.readthedocs.io/en/latest/Tracebacker.html


zoom in QT

Hi, in
https://github.com/TheImagingSource/tiscamera/blob/master/tools/tcam-capture/tcam_capture/TcamScreen.py
you show how you can zoom into a live picture.
I try to add this to your stereo example:
https://github.com/TheImagingSource/IC-Imaging-Control-Samples/blob/master/Python/tisgrabber/samples/40-qt-stereo.py
but I do not understand qt enough.
For me it seems I need to use a QGraphicsView:
#LeftVideo = qt5.QWidget()
LeftVideo = PyQt5.QtWidgets.QGraphicsView()
And I do not get an error when I change the scale, but nothing happens.
Do I need to map the live picture to something else?
Where is this in tcam_capture?
Thanks!

Hello
That is a question for QT programmers, not a question for the camera. Therefore, I can am not really of help here. I do not even know, what you mean by "change the scale". I looked at Stackoverflow for how to show an image in a Widget, without going deeper into that QT graphics possibilities.
I am sorry for not being the QT expert.
Stefan

Thanks for the quick answer.
I just want to zoom into the picture in order to focus manually.
I think what happens is that qt just takes the camera feed and overlays it into its widget and thus cannot scale/zoom it.
Pass the window handles to the left and right camera.
    ic.IC_SetHWnd(LeftCamera,  LeftVideo.winId())

Hello

I think what happens is that qt just takes the camera feed and overlays it into its widget and thus cannot scale/zoom it.

This is correct.
That means, you must get the images, convert into a qpixmap or how it is named and display it on your own. Using the callback is tricky. because the callback runs in a different thread, than the main program. But the sample https://github.com/TheImagingSource/IC-Imaging-Control-Samples/blob/master/Python/tisgrabber/samples/41-qt-triggering.py shows, how to convert the image to a cv::Mat and display it in the main thread. Maybe that is a good start.
I suppose, you use Python in Windows, right? Not in Linux?
Stefan

Thank you both very much!
If I fail, I can still use your software to zoom and focus, and then use the python digital app to take numerated pictures.

ok. Please let me know, when you fail. Maybe I can find some spare time for the QT programming.

Closed due to inactivity.


Closed consumers remain in websocket proxy

Expected behavior
After websocket clients are closed, consumers connected with them in websocket proxy should be closed and removed.
Actual behavior
After the clients are closed, some consumers remain in websocket proxy.
The consumers remain until websocket proxies restart.
Findings of research

According to heap dump, their reference from ConsumerHandler is removed but they exist in consumers (properties of ClientCnx).
closeAsync() of the consumers seems to finish properly since error messages like Failed to close consumer are not in logs.

Steps to reproduce
We tried but haven't reproduced yet.
That occurred with two topics.

Situation

Clients connect with websocket proxies again every time recieve messages.
SubscriptionType: Shared.

System configuration
Pulsar version: 2.2.1
Java version: 1.8
OS: Linux

Closed as stale for a long time, and no one works on it.


Roll Flutter Engine from 5a824e22deb2 to 412ce8a6d7fa (2 revisions)

https://github.com/flutter/engine/compare/5a824e22deb2...412ce8a6d7fa
2024-04-09<EMAIL_ADDRESS>Roll Dart SDK from 7a5e410f982e to db99af14c4bc (1 revision) (flutter/engine#51986)
2024-04-09<EMAIL_ADDRESS>Roll Dart SDK from 78174b41ab0f to 7a5e410f982e (1 revision) (flutter/engine#51980)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC chinmaygarde@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


chore(protocol): halt(), commitBlock() + proposeBlock() integration tests for TaikoL1

First PR for protocol integration tests for TaikoL1. TODO in upcoming PR: verifyBlocks and proveBlocks

I think this PR deserves a better name.


Modify addDocument -> addDocuments method (to support multiple documents)

To add documents to MeiliSearch the API requires a JSON object composed of an array of documents, either if you are sending one or multiple documents in the same request. In this case we need a method called addDocuments taking a list of documents as a parameter. This method can handle a single document in the exact same way. It would probably be better to replace the addDocument method

Duplicate of #26


[$500] mWeb - Workspace - Nothing happens when user tried to upload a workspace avatar from Google Drive

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Navigate to https://staging.new.expensify.com/
Create a workspace
Upload a workspace avatar image from Google Drive

Expected Result:
User should be able to upload  a workspace avatar rom Google Drive
Actual Result:
Nothing happens when user tried to upload a workspace avatar from Google Drive
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/93399543/404f8b7f-51bc-416b-b0ea-73ae50eebee8
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0136cd78f29b78d09a
Upwork Job ID:<PHONE_NUMBER>669427712
Last Price Increase: 2024-01-03

I don't see this option when I try this on a Google Pixel 6 Pro. I think it's more likely that we just don't support native image upload for workspace avatars from Google Drive on Android Mobile web Chrome. This doesn't really seem like something we need to prioritize, since most people will just upload an avatar from their photos. Closing this.


Build(deps-dev): Bump @types/react-dom from 18.0.9 to 18.0.10 (#4485)

Pull request opened by the merge tool on behalf of #4485

Merged in 7e5fe9c6bdcdb2028e454e48645b447774d52770


Dates in site.yaml and Frontmatter metadata aren't handled correctly

Dates in the site.yaml and Frontmatter metadata aren't being correctly promoted from Yaml date-format strings to Swift Date instances at build-time. This means that they're not correctly being handled as dates during render and can't be correctly formatted.

The reading list on jbmorley.co.uk (https://jbmorley.co.uk/reading-list/) is a pretty good example of how additional dates can be used in metadata.


Added tooltips to the Field boxes in Ingestion

-Changed the component Fieldtype's labelTooltip prop value to a customize string that describes the functionality and purpose of each Field box in the following files:
client\src\pages\Ingestion\components\SubjectItem\index.tsx
client\src\pages\Ingestion\components\SubjectItem\SearchList.tsx
-Reformatted the conditional template in FieldType.tsx so that the Help icon appears after the FieldType component label.

Added more tooltips to the Unit, Subject, and Media Groups' details page.  Commented out the Typography component to insert LabelTooltipText.tsx component as a replacement, so that I can put a tooltip on a non FieldType component.


containerd network is too slow?

What did you do?

How was the cluster created?

k3d cluster create demo --servers 1 --agents 2  -i rancher/k3s:v1.18.6-k3s1 -p "80:80@loadbalancer" -p "443:443@loadbalancer"

What did you do afterwards?

kubectl apply -f  xxx-deployment.yaml

What did you expect to happen?
The POD should be up and running soon
Screenshots or terminal output

Almost all images failed to pull，k3s runtime use at containerd
It returned to normal after about 20 minutes, which was absolutely unbearable
I try to use docker for pull image at host, It worked very well
Why is the containerd so slow?

Which OS & Architecture?

MacOS

Which version of k3d?
➜  project k3d --version
k3d version v3.0.0
k3s version latest (default)

Which version of docker?
➜  project docker -v
Docker version 19.03.12, build 48a66213fe

Hi @herozabbix , thank for opening this issue!
Do you have the logs of the k3d nodes? Or the output of kubectl describe pod <some-pod> for ImagePullBackOff? :thinking:
This look weird and should not be caused by a slow network (docker itself uses containerd under the hood).
You can also try to docker exec into the k3d nodes and then use ctr to test/debug image pulls.
If it's really caused by containerd or any other k3s component, it'd probably be worth opening an issue in https://github.com/rancher/k3s :+1:

Heyho, any update on this? If not, I'm going to close this task soon.

@vincent-herlemont , but you seem to see real failures there and not slow connections, right? :thinking:
One of the messages even looks like it couldn't even resolve the name of your external registry?
Feel free to open a new issue for this independently, as I think this one went stale a while ago.


docs(readme): use with_name for subcommands

::new doesn't exist anymore

Good catch, thanks! :+1:

Good catch, thanks! :+1:


Use ancpbids Artifact for BIDSFile operation

Only outstanding issue is the ability to create a BIDSFile without an anpbids.Artifact, as we need to extract entities, etc

Also adding some missing methods (NotImplementedError), such as get_nearest, and writing related methods.

Also, this is not pertinent to mocking the current API, but the naming convention around path, filename, etc is a mess
My current understanding:

BIDSFile.path: a path passed in (either a string or pathlib.Path), converted to string (which is equivalent to .name in ancpbids)
BIDSFile._path: path is converted back to pathlib.Path
BIDSfile.filename: the name attribute of a pathlib.Path (final path component). This seem particularly confusing to me since the input to BIDSFile.__init__ is called filename. but here refers to something else.

Other clarifications / assumptions:

filename argument used to create BIDSFile are relative to the bids root (equivalent to Artifact.name)
since Artifact objects don't keep track of the root, can't produce a truly absolute path.

I also added parse_file_entities and get_nearest


About AMP and batch size

Hi,
I'm very impressed by your excellent work! Thanks for sharing your code.
I have questions about the training protocol.
In your paper,

"We train all models with a global batch size of 2048 with the NVIDIA Automatic Mixed Precision(AMP) enabled."

but the training script denotes the batch size of 256, instead of 2048.
I wonder two points from here.

Can I re-produce the result accuracy in this repo by using this command (batch size=256, instead of 2048)?

Does this repo contains AMP?

Thanks in advance :)

Hi @youngwanLEE, than you for your interest in our work!

For your batch size concern, actually 256 means the batch size per GPU. The 8-GPU setting is used in the default training command and it has a total batch size 2048. You should be able to re-produce the result accuracy (similar to our reported ones) using the command provided in this repo.

Yes. The AMP is enabled at default.

@xwjabc Thanks for your quick reply :)


New Test Cases for Full_BLE_HAL_Integration & Refactoring BLE_HAL_integration for scalability

New Test Cases for Full_BLE_HAL_Integration & Refactoring BLE_HAL_integration for scalability
Description
Changes in .c and .py files for ble_hal testing for scalability

Gather all common Cb and vars on testClass
Create test groups to create end-to-end test cases
New Test Cases
BLE_Integration_Connection_Timeout
BLE_Advertise_With_16bit_ServiceUUID
BLE_Send_Data_After_Disconected

Checklist:

[x] I have tested my changes. No regression in existing tests.
[x] My code is Linted.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/bot run checks


feat: add haskell to the list of languages harper supports

Harper now has haskell support in it's newest release: https://github.com/Automattic/harper/pull/332

Why not combine the PRs?

Why not combine the PRs?

Typst language support hasn't been merged yet, so I figure it's best not to add that to the list of languages yet. Haskell support is merged already and included in the most recent release (today).
If you think it's best to combine them I can do so.


Add unit tests for defect workflows

I merged in @rwexler's WIP PR #586 to help ensure that it continues to be kept up-to-date with the main branch of quacc. However, there is only one very simple functional test for the added recipes and more thorough unit tests are needed for the following functions:

quacc.recipes.emt.defects
quacc.atoms.defects

For the former, here is the pre-existing minimal test suite:

https://github.com/Quantum-Accelerators/quacc/blob/main/tests/core/recipes/emt_recipes/test_emt_defect_recipes.py

For the latter, there are no specific unit tests at the moment.

Hello i want to participate at your project.  Can you attribute to me the issue please ? Thank you.

Feel free to give it a go! PRs are always welcome.

Thanks, @rwexler! That's correct.

Bonjour, j'ai utilisé les bibliothéques :
Import pytest
From ase import Atoms
Numpy  et  array ,
mais le résultat s'affiche pas , est-ce que vous proposez une autre bibliothéque ?

Hello we use the library : Import pytest
From ase import Atoms
Numpy  et  array ,but we can't show the result do you have any recommandation ? thank you

Thank you for the translation. However, I do not understand your question.

Hello, I would like to participate in your project, however, to run the entire project after installing dependencies, I still get errors. Can you run it with an exit code 0?
The Error message is :
File "c:\Users\Joell\Downloads\Bureau\DLL-PROJET-3\quacc\src\quacc\recipes\emt\defects.py", line 8, in
from quacc import fetch_atoms, flow, job, subflow
File "C:\Users\Joell\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\quacc_init_.py", line 11, in
from quacc.settings import QuaccSettings
File "C:\Users\Joell\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\quacc\settings.py", line 26, in
import_module(wflow_engine)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\importlib_init_.py", line 126, in import_module
return bootstrap.gcd_import(name[level:], package, level)
File "C:\Users\Joell\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\parsl_init.py", line 22, in
from parsl.app.app import bash_app, join_app, python_app
File "C:\Users\Joell\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\parsl\app\app.py", line 12, in
from parsl.dataflow.dflow import DataFlowKernel
File "C:\Users\Joell\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\parsl\dataflow\dflow.py", line 26, in
from parsl.config import Config
File "C:\Users\Joell\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\parsl\config.py", line 8, in
from parsl.executors.base import ParslExecutor
File "C:\Users\Joell\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\parsl\executors_init.py", line 3, in
from parsl.executors.high_throughput.executor import HighThroughputExecutor
File "C:\Users\Joell\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\parsl\executors\high_throughput\executor.py", line 20, in
from parsl.executors.high_throughput import interchange
File "C:\Users\Joell\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\parsl\executors\high_throughput\interchange.py", line 24, in
from parsl.monitoring.message_type import MessageType
File "C:\Users\Joell\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\parsl\monitoring_init_.py", line 1, in
from parsl.monitoring.monitoring import MonitoringHub
File "C:\Users\Joell\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\parsl\monitoring\monitoring.py", line 11, in
import parsl.monitoring.remote
File "C:\Users\Joell\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\parsl\monitoring\remote.py", line 7, in
from parsl.multiprocessing import ForkProcess
File "C:\Users\Joell\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\parsl\multiprocessing.py", line 15, in
ForkProcess: Type = multiprocessing.get_context('fork').Process
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\multiprocessing\context.py", line 243, in get_context
return super().get_context(method)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\multiprocessing\context.py", line 193, in get_context
raise ValueError('cannot find context for %r' % method) from None
ValueError: cannot find context for 'fork'
Thank you for your reply

@JoelleNdiriraMusangie: Parsl, which you have chosen as your workflow engine, is not compatible with Windows. You have to use WSL (Ubuntu) instead.

good morning , i wanna ask you about the result ! what'll be in the end
i was trying but just i wanna know the result like label or what !


Basic tag index

in this pr:

make tags in footer a link to tag list page
add taxonomy term template page; display term and count only (don't display pages); link to pages with that term/tag
minimal content styles to make leaf and tag list pages a bit more readable

testing instructions:
view minimal tag index on PR render site at https://lenape-timetree-dev-pr-39.onrender.com/tags/

[ ] confirm that all tags are listed (as far as you can tell)
[ ] tags are listed in alphabetical order
[ ] each tag has a count listed and counts are accurate (as far as you can tell)
[ ] clicking a tag takes you to a list of leaves with that tag (layout and styles are provisional, just confirm you see the correct leaf content)

This is so helpful, @rlskoeser thank you! It makes sense to me. Do we want to keep the list in alphabetical order? Will that be helpful?

I agree with Gissoo that alpha order is a good default. It's great to see. A couple terms also bring up branches on the list. Is that the expected behavior? E.g. reservations. If we want to avoid, we should not use Branch titles as tags. Right?

@jhimpele thank you for reviewing!

I agree with Gissoo that alpha order is a good default. It's great to see. A couple terms also bring up branches on the list. Is that the expected behavior? E.g. reservations. If we want to avoid, we should not use Branch titles as tags. Right?

I'm not sure what you mean, we don't actually have pages for branches. I am currently including the branch label for each leaf in the summary view you see on the tag list page, is that what you mean?
I do think we discussed not duplicating branch names/information with tags, since it would be redundant information.

P.S. The checkboxes were not active, so I could not tick them.

Ah, sorry! I've adjusted your permissions — please let me know if that works (make sure you are logged in to your GitHub account).

I think that is exactly what I'm seeing - branch names for each leaf in the summary. But because it's not formatted the hierarchy or the separation between discrete entries are not yet clear....

@jhimpele Yes, I see, sorry about that — it's much harder to scan without good information design and visuals! I've added some minimal formatting to delimit records as an interim fix term. Please take another look if you'd like, and let me know if you agree we can call this good enough for a preliminary tag index implementation.


How to save the annotation details and display on the image on the next session?

onChange prop can pass details as params.


python version suggestion

Is it possible to specify the python version at the time of installation? Instead of installing python3.10 by default

@cnsino is this about the version that Rye installs itself? You can tell the installer to pick a different version:
curl -sSf https://rye-up.com/get | RYE_TOOLCHAIN="3.11" bash

Not as expected, it still installed 3.10

Indeed. Currently it only lets you pick an already installed version. I will have a look at changing this.

Relatedly, I think the script now allows you to specify a particular toolchain but then ignores that command:
This script will automatically download and install rye (latest) for you.
######################################################################## 100.0%
Welcome to Rye!

This installer will install rye to /home/ubuntu/.rye
This path can be changed by exporting the RYE_HOME environment variable.

Details:
  Rye Version: 0.27.0
  Platform: linux (x86_64)

✔ Continue? · yes
✔ Select the preferred package installer · uv (quick but experimental)
✔ What should running `python` or `python3` do when you are not inside a Rye managed project? · Run a Python installed and managed by Rye
✔ Which version of Python should be used as default toolchain? ·<EMAIL_ADDRESS>Installed binary to /home/ubuntu/.rye/shims/rye
Bootstrapping rye internals
Downloading<EMAIL_ADDRESS>Checking checksum
Unpacking
Downloaded<EMAIL_ADDRESS>Updated self-python installation at /home/ubuntu/.rye/self

I can take a look at this later.


proof of concept: use upng-js to generate animated PNGs instead of GIFs

hello! While trying to make my generated GIFs smaller I ended up prototyping using upng-js to generate an animated PNG instead of a GIF. APNGs are supported by just about everything these days (unlike webp), and embedding seems to work just fine in slack & github, the main places I use terminalizer gifs.
I can't share my original test case for this as it contains stuff that's private to my employer, but file size went from a ~3mb GIF (~2mb when uploaded to gifoptimizer) to ~800kb as a PNG with a 128 colour colourspace.
I can share the following, though, although it is a bit contrived:

That's a 1.2mb png quantised to 256 colours (unquantised is 4mb). It took ~80s on my 2017 MBP to generate.
The GIF version is 16.2mb and took 12 minutes to generate.
As this is a proof of concept, there's a lot of changes here that I wouldn't normally put in a PR: running prettier over the files, not following your coding conventions, upgrading electron. There's also no option to generate a GIF and the quality flag does nothing - it's currently hardcoded in render.js to 256 colors max.
If there's interest in getting this as a feature, let me know how you'd see it working, and I'll see if I can tidy this up.

@mipearson
Super cool, but replacing is probably not what everybody wants.
Why not make it as an option?
Also a lot of your PR is about changing the code formatting... That is never a popular thing to do.
(And I also don't agree with your prettyfying, making code much longer and using narrow screen width. Totally opposite of my own coding std's... IMHO.)

@eabase from the PR:

As this is a proof of concept, there's a lot of changes here that I wouldn't normally put in a PR: running prettier over the files, not following your coding conventions, upgrading electron.

Also why it's a draft PR - I'd like to see if there's interest from the maintainer before doing this properly. This was a couple of hours of hacking I chucked up here as a proof of concept only rather than a mergeable artefact.

@eabase are you still working on it toward merge?  png output can be optional based on output format /config file


Key Usages and Extended Key Usages are not included in CertificateRequest Base64 encoded CSR

Describe the bug:
We're trying to implement external cert-manager issuer for one CA vendor and face some challenges namely related to the fact that cert-manager does not put KUs and EKUs defined in the CertificateRequest resource definition into the final base64 encoded CSR.
Let me explain the issue on the self-signed issuer example.  If I apply certificate resource yaml it results in a certificate with all the KUs and EKUs I have defined in the yaml, but at the same time all those KUs and EKUs are missing from the base64 encoded spec CSR.
Now if I use the same certificate resource towards external issuer, the CA cannot get those KUs and EKUs from the CSR as it is missing in the CertificateRequest resource Base64 encoded CSR. It looks like the only way is to pass it to the CA in some out-of-band way (like dedicated REST API parameter), but not CSR. Unfortunately the CA we're trying to integrate does not have a way to define KUs or EKUs in any other way then having it in CSR which is somehow a very typical scenario for example in telco and IoT envs where CAs have policies defined making decisions based on few factors and ACLs mapped to the authenticated API user being used.
I basically try to mimic following behaviour of openssl:
openssl req -new -newkey rsa:2048 -sha256 -keyout pkey1.pem -nodes -out csr1.pem -subj "/O=Org/CN=test1.test.local" -reqexts REQEXTS -extensions REQEXTS -config <(cat /etc/pki/tls/openssl.cnf <(printf "[REQEXTS]\nextendedKeyUsage = serverAuth, clientAuth\nkeyUsage = dataEncipherment\nsubjectAltName=DNS:test1.test.local,DNS:test2.test.local"))
So that when I display the CSR it includes all the "wishes" from the client in terms of KUs and EKUs, just like CN or SANs are put into the CSR:
openssl req -noout -text -in csr1.pem
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: O=Org, CN=test1.test.local
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    cut .... not relevant
                Exponent: 65537 (0x10001)
       Attributes:
        Requested Extensions:
            X509v3 Extended Key Usage:
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Key Usage:
                Data Encipherment
            X509v3 Subject Alternative Name:
                DNS:test1.test.local, DNS:test2.test.local

Expected behaviour:
All KUs and EKUs should be included in the encoded CSR the same way CN or SANs are.
Steps to reproduce the bug:

Install cert-manager

kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.15.2/cert-manager.yaml

Create self-signed Issuer resource file (self-signed-resource.yaml):

apiVersion: cert-manager.io/v1alpha2
kind: Issuer
metadata:
  name: selfsigned-issuer
spec:
  selfSigned: {}

Create certificate resource file (simple-cert-test-resource.yaml):

apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
  name: simple-cert1
spec:
  secretName: selfsigned-cert-tls
  duration: 2160h
  renewBefore: 360h
  organization:
  - Org
  commonName: test1.test.local
  isCA: false
  keySize: 2048
  keyAlgorithm: rsa
  keyEncoding: pkcs1
  usages:
    - server auth
    - client auth
    - data encipherment
  dnsNames:
  - test1.test.local
  - test2.test.local
  issuerRef:
    name: selfsigned-issuer
    kind: Issuer
    group: cert-manager.io

Apply your definitions:

kubectl create namespace cert-manager-test2
kubectl apply -n cert-manager-test2 -f self-signed-resource.yaml
kubectl apply -n cert-manager-test2 -f simple-cert-test-resource.yaml

Check the issued certificate, all the details (KUs, EKUs, CN, SANs) are indeed there:

kubectl -n cert-manager-test2 get secret selfsigned-cert-tls -ojson | jq '.data."tls.crt"'|tr -d '"'|base64 -d|openssl x509 -text
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            b5:be:94:f2:e7:2a:eb:ef:77:4d:03:bc:77:f1:b0:0d
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: O=Org, CN=test1.test.local
        Validity
            Not Before: Aug  2 22:20:55 2020 GMT
            Not After : Oct 31 22:20:55 2020 GMT
        Subject: O=Org, CN=test1.test.local
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                        cut .... not relevant
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Key Usage: critical
                Data Encipherment
            X509v3 Extended Key Usage:
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Subject Alternative Name:
                DNS:test1.test.local, DNS:test2.test.local

Get the name of your certificaterequest resource (in my case it is simple-cert1-3851082441):

kubectl get certificaterequest -n cert-manager-test2

Check the base64 encoded CSR - it includes CN and SANs, but KUs and EKUs are missing:

kubectl get certificaterequest -n cert-manager-test2 simple-cert1-3851082441 -o json|jq '.spec.csr'|tr -d '"'|base64 -d|openssl req -noout -text
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: O=Org, CN=test1.test.local
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                        cut .... not relevant
                Exponent: 65537 (0x10001)
        Attributes:
        Requested Extensions:
            X509v3 Subject Alternative Name:
                DNS:test1.test.local, DNS:test2.test.local

Environment details::

Kubernetes version 1.18.6
Kubernetes setup with 1 master + 2 workers based on CentOS 7.8.2003 with all the newest patches
cert-manager version - confirmed on 0.15.1, 0.15.2 and 0.16.0
Install method - static manifests

/kind bug

stumbled across the same issue during my tests. Is there any specific reason for not putting KUs and EKU into the CSR?

/remove-kind bug
/kind feature
/priority important-soon
/assign
So the reason is the following: https://github.com/jetstack/cert-manager/blob/0cb8cf66fbd2861d995b556a3c651c5d2306c253/pkg/util/pki/csr.go#L218 it was a TODO item
I think with the commit @wallrj mentioned we have a strong reference on how we should handle this now.


The settings do not work for high accuracy time.

Not only do these settings not change anything about the way the WindowsTime service operates. The few registry keys mentioned here are not even half of the total number available of actual registry settings on windows 10 or on server 2016 for that matter. I ended up installing a 3rd party tool http://www.timesynctool.com/ because windows absolutely cannot deal with time in an acceptable fashion anytime you need better than a +-500ms time synchronization between two machines 2 feet away from each other. This has caused me a week of troubleshooting the windows time service only to throw Microsoft solution in the garbage and go to a 3rd party tool because its 2018 and Microsoft still cannot deal with time correctly in an operating system.

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

ID: e54ff244-1d40-1f7d-16d9-53c0b31481fe
Version Independent ID: 8d078d58-34fc-0048-8e77-8b9bbd7d7ca1
Content: Configuring Systems for High Accuracy
Content Source: WindowsServerDocs/networking/windows-time-service/configuring-systems-for-high-accuracy.md
Product: windows-server-threshold
GitHub Login: @shortpatti
Microsoft Alias: dacuo

Hi - The registry keys listed in the article are those required to reach "high accuracy time."  If configured properly we fully support up to 1ms of accuracy.  If you didn't see anything change, then that's something needing troubleshooting and we can help with that.
If you are interested in troubleshooting this please update this thread with the output of:

The OS of one of your clients and Time source.  If this is a virtual machine the OS of the hypervisor is also interesting

w32tm /query /configuration /verbose

w32tm /query /peers /verbose

w32tm /stripchart /computer:time.windows.com /rdtsc /period:1 /samples:300

Considering the holidays, please realize response times will be delayed.

I followed these instructions and still got drift up to a second off after about 9 hours of testing.
w32tm /query /configuration /verbose
[Configuration]

EventLogFlags: 2 (Local)
AnnounceFlags: 10 (Local)
TimeJumpAuditOffset: 28800 (Local)
MinPollInterval: 6 (Local)
MaxPollInterval: 6 (Local)
MaxNegPhaseCorrection:<PHONE_NUMBER> (Local)
MaxPosPhaseCorrection:<PHONE_NUMBER> (Local)
MaxAllowedPhaseOffset: 300 (Local)

FrequencyCorrectRate: 2 (Local)
PollAdjustFactor: 5 (Local)
LargePhaseOffset: 50000000 (Local)
SpikeWatchPeriod: 900 (Local)
LocalClockDispersion: 10 (Local)
HoldPeriod: 5 (Local)
PhaseCorrectRate: 1 (Local)
UpdateInterval: 100 (Local)

FileLogName:  (Undefined or NotUsed)
FileLogEntries:  (Undefined or NotUsed)
FileLogSize: 0 (Undefined or NotUsed)
FileLogFlags: 0 (Undefined or NotUsed)

[TimeProviders]

NtpClient (Local)
DllName: C:\WINDOWS\system32\w32time.dll (Local)
Enabled: 1 (Local)
InputProvider: 1 (Local)
CrossSiteSyncFlags: 0 (Undefined or NotUsed)
AllowNonstandardModeCombinations: 1 (Local)
ResolvePeerBackoffMinutes: 15 (Local)
ResolvePeerBackoffMaxTimes: 7 (Local)
CompatibilityFlags:<PHONE_NUMBER> (Local)
EventLogFlags: 1 (Local)
LargeSampleSkew: 3 (Local)
SpecialPollInterval: 64 (Local)
Type: NTP (Local)
NtpServer: ntp0.as34288.net,0x9 (Local)

NtpServer (Local)
DllName: C:\WINDOWS\system32\w32time.dll (Local)
Enabled: 0 (Local)
InputProvider: 0 (Local)

w32tm /query /peers /verbose
#Peers: 1

Peer: ntp0.as34288.net,0x9
State: Active
Time Remaining: 40.7908749s
Mode: 3 (Client)
Stratum: 2 (secondary reference - syncd by (S)NTP)
PeerPoll Interval: 17 (out of valid range)
HostPoll Interval: 6 (64s)
Last Successful Sync Time: 20-Feb-19 09:05:59
LastSyncError: 0x00000000 (Succeeded)
LastSyncErrorMsgId: 0x00000000 (Succeeded)
AuthTypeMsgId: 0x0000005A (NoAuth )
Resolve Attempts: 0
ValidDataCounter: 2
Reachability: 6

I ran the sampler first to see what was up:
w32tm /stripchart /computer:ntp0.as34288.net /rdtsc /period:1 /samples:300
Tracking ntp0.as34288.net [<IP_ADDRESS>:123].
Collecting 300 samples.
The current time is 20-Feb-19 08:59:18.

Collecting 300 samples.
The current time is 20-Feb-19 09:08:17.
 I will test again tonight.

An hour and a half later, it drifts:
w32tm /stripchart /computer:ntp0.as34288.net /rdtsc /period:1 /samples:300
Tracking ntp0.as34288.net [<IP_ADDRESS>:123].
Collecting 300 samples.
The current time is 20-Feb-19 10:39:32.
RdtscStart, RdtscEnd, FileTime, RoundtripDelay, NtpOffset
854761480225078,<PHONE_NUMBER>01788,<PHONE_NUMBER>25919686, +00.0140848, +00.0641892
854763913660287,<PHONE_NUMBER>55879,<PHONE_NUMBER>36081820, +00.0151353, +00.0652117
854766352788711,<PHONE_NUMBER>35708,<PHONE_NUMBER>46267727, +00.0140120, +00.0653491
854768786758511,<PHONE_NUMBER>10335,<PHONE_NUMBER>56432096, +00.0180989, +00.0669025
854771232099972,<PHONE_NUMBER>96700,<PHONE_NUMBER>66643951, +00.0166290, +00.0637399
854773673580323,<PHONE_NUMBER>13271,<PHONE_NUMBER>76839676, +00.0150167, +00.0651324
854776109606304,<PHONE_NUMBER>00296,<PHONE_NUMBER>87012630, +00.0136671, +00.0646691
854778545697253,<PHONE_NUMBER>85563,<PHONE_NUMBER>97185852, +00.1206497, +00.0117994
854781237447180,<PHONE_NUMBER>89976,<PHONE_NUMBER>08426719, +00.0312986, +00.0563942
854783716110859,<PHONE_NUMBER>12924,<PHONE_NUMBER>18777728, +00.0133548, +00.0645347
854786149803385,<PHONE_NUMBER>91082,<PHONE_NUMBER>28940935, +00.0138050, +00.0650342
854788582810429,<PHONE_NUMBER>83736,<PHONE_NUMBER>39101280, +00.0142108, +00.0653106
854791020983863,<PHONE_NUMBER>84751,<PHONE_NUMBER>49283200, +00.0145265, +00.0651931
854793461587291,<PHONE_NUMBER>05776,<PHONE_NUMBER>59475268, +00.0219779, +00.0660359

A few things:

The #1 requirement listed in this set of documentation is a stable and reliable time source.  Your time source times out on a regular basis in the stripcharts you've supplied and this is also indicated in the "reachability" value of "6" in your "/query /peers /verbose" output - "reachability" should stabilise on 255 after a while if you have a reliable time source.
The guidance in this set of documentation explicitly state that you should use symmetric active mode, yet you forced your time sync type to 0x9, which combines special poll interval (0x1) with client mode (0x8) - which is also reflected in your output of "w32tm /query /peers".  Leaving NTP to figure the correct mode out for itself (0x1) or explicitly configuring symmetric active mode (0x5) should help.
Configuring multiple time sources will help NTP distill a more stable time from them.  Having a single reliable NTP source is good - having multiple reliable NTP sources is better.
You were asked for information about your platform, but provided none.  If you are synchronising a VM on a Hyper-V host to an external source, and the Hyper-V host is synchronising its clock to the VM, you will very likely see drift simply because the VMIC time provided by default serves as an input into the clock of the VM.  This can be disabled, and is documented elsewhere.

I agree with you that the NTP documentation for Windows is contradictory at worst and unclear at best, but these pages have been the most authoritative and sensible source on NTP configuration in Windows I've seen in a long time.  They've worked well for me.

Thanks for the info, and apologies, I am not the OP so didn't properly parse all the questions in your the first Msft response. My omission of host details was not malice, it was an oversight. The host is Win 10 Pro 1809.
The information you provided will give me a lot of pointers on how to narrow in on the desired behaviour. Knowing what reachability should stabilise on gives one point of guidance. The #1 requirement on this documentation (you're referring to https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/accurate-time, not the page that this issue was opened against) doesn't actually say anything about what reachability should stabilise on. How should we know that 6 is bad and 255 is good?
I didn't explicitly set time sync type to 0x9, but knowing it shouldn't be 0x9 is again, useful information. However, I didn't force it. Where does that leave me?
I thought this is something I failed at, so I wanted to go back and really figure out where I missed the information you stated so clearly.
I went searching in the documentation for symmetric, symmetrical: no results. OK, so I went to the page that is called Accurate Time for Windows Server 2016, I actually omitted that page since I'm not on Windows Server 2016. Turns out that isn't just for Windows 2016, its for Applies to: Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 10 or later. That would have been nice to know.
Now I found something about symmetrical:

Symmetrical NTP communication - It is critical that the connection for NTP communication is symmetrical. NTP uses calculations to adjust the time that assume the network patch is symmetrical. If the path the NTP packet takes going to the server takes a different amount of time to return, the accuracy is affected. For example, the path could change due to changes in network topology, or packets being routed through devices that have different interface speeds.

That's not what you were talking about I presume, since that's more related to actual network topology than a regkey setting? Or is it? How can I know, it doesn't describe the setting you referred to anywhere.
 To be clear  though, the page states 0x4, not 0x5, for SymmetricActive. Unless we need 0x1 & 0x4 ? Who knows. There's a link there about what SymmetricActive is, takes me to: http://www.bytefusion.com/products/ntm/pts/3_3modesofoperation.htm
OK, so I'm still looking for the page that says I need SymmetricActive for high resolution time synchronization. I don't see it, but at the top of the page that describes the SymmetricActive info

Prior to Windows Server 2016, the W32Time service was not designed to meet time-sensitive application needs. However, updates to Windows Server 2016 now allow you to implement a solution for 1ms accuracy in your domain. See Windows 2016 Accurate Time and Support boundary to configure the Windows Time service for high-accuracy environments for more information.

On https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings, which is telling me about Server 2016 again.
Maybe I should read the entire page titled "How the Windows Time Service Works", https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/how-the-windows-time-service-works... nope, no symmetric there. But it does point me back to the page that was reported in this issue (and its the page that most people would imagine tells them how to configure the time service):

This topic explains only how the Windows Time service (W32Time) works. For information about how to configure Windows Time service, see Configuring Systems for High Accuracy.

https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/configuring-systems-for-high-accuracy?tabs=MinPollInterval
And we're back :)
So, from the two pieces of information you provided, how can we users find that information? I really tried, and from your response that information is already giving two smoking guns.
That's why this issue was opened in the beginning I presume. Based on the article it seems hard to configure the time service to behave as desired. Based on your further response, it seems like I can't find that information on any article. This is an issue of documentation, and since documentation isn't immutable for all of eternity, there is a hope that it can be improved.

I'm a peer.  I am not a Microsoft employee, nor am I professionally associated with Microsoft in any way.
The documentation you have referenced (and where you left your comment) relates to Windows Server.  Although some of the pages make mention of Windows 10, I'm not sure how authoritative the pages are for client operating systems.  YMMV.
Understanding NTP behaviour comes as much from understanding the protocol (which Microsoft understandably does not re-document in its own documentation) as it does form understanding Microsoft's implementation (which until now has been sparsely documented at best.) I do have the benefit of having struggled with implementations on other platforms, which has helped understanding/troubleshooting Windows NTP. "Reachability" is a "left-shifted bitmap" for lack of a better term where connection attempts are appended to the right of the bitmap in sequence.  See here: https://www.linuxjournal.com/article/6812
Your time sync was explicitly configured by someone (or something) for 0x9, per the output of w32tm /query /configuration /verbose:
NtpServer: ntp0.as34288.net,0x9 (Local)
The 0x1, 0x2, 0x4, 0x8 values for NTP server type are flags, not values.  Hence 0x1 means "use special poll interval" and 0x5 (0x1 + 0x4) means "use special poll interval and symmetric active mode."  The implied guidance in the documentation appears to be to use 0x1 unless you have a specific reason not not.  It is implied (not stated though) that 0x0 or 0x4 means that special poll interval will not be used, resulting in a standalone client Windows polling once a day or possibly once a week (depending on version) to make sure it's still on track, attempting to keep the clock "honest" by using skew statistics between connections.
Perhaps as a starting point, when selecting NTP servers, choose one or two good local sources and add some from pool.ntp.org: https://www.ntppool.org/en/use.html

I agree with @janhanekom who stated that a key requirement is a stable and accurate time source.  I would add that this excludes internet time sources because A) internet latency is high B) internet latency is not symmetric C) you have no idea what quality clock is behind the time source particularly for pooled servers.
Further, you should not believe when a client (linux, windows, etc.) tells you its own accuracy.  It is estimating based on the same characteristics that makes its time incorrect.  You need a tertiary system with symmetric network latency to validate its accuracy.  Yes, some might be more accurate than others, but if the goal is truly accuracy and not who has the best tools, then you'll need to perform a proper test.
Lastly, the high accuracy settings mentioned in the thread are what we recommend for "high accuracy support" e.g. 1ms of accuracy given the supportability requirements.  While tweaking other settings may incur an accuracy benefit, this is not what's required nor recommended to hit the high accuracy targets we've established in our supportability documentation.

Thank you for the further explanation. My test was to setup two machines and a queue of 1024 timestamps in the future in a custom app with an associated full frame colour to present at each time stamp, then record both with a high framerate camera and compare the delta between the flip on each display. I'm aware of the extra factors that come in (eg. missing vsync for example would cost me 16ms, but was easy to spot and measure). I realize this is probably not the same domain of accuracy as you would measure with the proper tooling.
For my accuracy requirements I was able to achieve satisfactory accuracy with third party tooling, unfortunately I wasn't able to arrive at a consistent clock state using the guide. But in any case I was able to measure synchronized flips between two independent machines over 12 hours, which was more than enough for me and lead to quite nice results for my experiment.

 I have 0x9 as well! And +00.8578214 drift! It is you problem!!! Realese an update witch will force new ntp codebase!!!

The default value on stand-alone clients and servers is time.windows.com,0x1.

This is bullshit! It is 0x9!
So, you need HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer time.google.com,0x5 time.cloudflare.com,0x1 at least 2 more (in your country and in your local IX or University) https://gist.github.com/mutin-sa/eea1c396b1e610a2da1e5550d94b0453
Now do this from all tabs
https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/configuring-systems-for-high-accuracy?tabs=MaxPollInterval#registry-settings
C:\WINDOWS\system32>w32tm /stripchart /computer:0.ru.pool.ntp.org /rdtsc /period:1 /samples:300
Отслеживание 0.ru.pool.ntp.org [<IP_ADDRESS>:123].
Сбор образцов 300.
Текущее время - 22.10.2019 5:45:16.
Начало RDTSC, окончание RDTSC, время файлов, задержка обмена пакетами (в обе стороны), смещение NTP
70507675541556,<PHONE_NUMBER>1942,<PHONE_NUMBER>65050044, +00.0337243, -00.0042825
70511195833806,<PHONE_NUMBER>7157,<PHONE_NUMBER>75403839, +00.0378282, -00.0021433
70514732171424,<PHONE_NUMBER>7426,<PHONE_NUMBER>85804827, +00.0348759, -00.0039778
70518258709528,<PHONE_NUMBER>7901,<PHONE_NUMBER>96176994, +00.0348319, -00.0043512
70521785999574,<PHONE_NUMBER>8672,<PHONE_NUMBER>06551371, +00.0362681, -00.0030645
70525317837785,<PHONE_NUMBER>4757,<PHONE_NUMBER>16939125, +00.0414450, -00.0005094
70528866299990,<PHONE_NUMBER>0812,<PHONE_NUMBER>27375773, +00.0340687, -00.0039357
70532390046777,<PHONE_NUMBER>2212,<PHONE_NUMBER>37739730, +00.0368061, -00.0032846
70535922139384,<PHONE_NUMBER>6147,<PHONE_NUMBER>48128245, +00.0357325, -00.0033697
70539451314558,<PHONE_NUMBER>5611,<PHONE_NUMBER>58508166, +00.0371840, -00.0041989
70542984818015,<PHONE_NUMBER>7286,<PHONE_NUMBER>68900819, +00.0350235, -00.0044193
70546508451444,<PHONE_NUMBER>1807,<PHONE_NUMBER>79264440, +00.0341198, -00.0041862
70550029328249,<PHONE_NUMBER>3464,<PHONE_NUMBER>89619955, +00.0437705, -00.0006417
70553583494645,<PHONE_NUMBER>2507,<PHONE_NUMBER>00073381, +00.0356813, -00.0032249
70557112074234,<PHONE_NUMBER>5846,<PHONE_NUMBER>10451551, +00.0380993, -00.0026843
70560646152974,<PHONE_NUMBER>4825,<PHONE_NUMBER>20845895, +00.0372607, -00.0037040
70564177426337,<PHONE_NUMBER>2265,<PHONE_NUMBER>31231988, +00.0376073, -00.0024935
70567711342880,<PHONE_NUMBER>1408,<PHONE_NUMBER>41625855, +00.0403712, -00.0012727
70571256724157,<PHONE_NUMBER>6531,<PHONE_NUMBER>52053442, +00.0385272, -00.0047236
70574794036837,<PHONE_NUMBER>6452,<PHONE_NUMBER>62457298, +00.0407205, -00.0021255
70578336603329,<PHONE_NUMBER>2935,<PHONE_NUMBER>72876606, +00.0360598, -00.0037168
70581865854202,<PHONE_NUMBER>0374,<PHONE_NUMBER>83256751, +00.0351195, -00.0044359
70585393526386,<PHONE_NUMBER>4746,<PHONE_NUMBER>93632252, +00.0389292, -00.0018506
70588930329825,<PHONE_NUMBER>5258,<PHONE_NUMBER>04033269, +00.0502806, +00.0040798
70592507277187,<PHONE_NUMBER>3190,<PHONE_NUMBER>14551292, +00.0507569, +00.0045074
70596088769632,<PHONE_NUMBER>1725,<PHONE_NUMBER>25082838, +00.0566818, -00.0149726

Any comments?

@valzapod - the language is not necessary nor appreciated, particularly since it is directed at a community member (not a MSFT employee).
Furthermore, @janhanekom already provided feedback that you must have a stable and reliable time source.  *.pool.ntp.org (or any internet time source) does not qualify. If there is a problem with the documentation, please suggest or submit a PR.
Finally, the stripchart you showed indicates that your worst sample was 14ms from the time source rather than the 857ms you reported (-00.0149726). It's unclear what you're asking.
@adragoset - If your question was sufficiently answered, please close this issue.  Otherwise, please let us know what else we can do to assist.  Keep in mind, GitHub is not an ideal place for support on technical issues, but rather the content of the documentation your referencing.

I just used the program I linked too which worked with a few seconds of
configuration and is accurate to < 1ms jitter between my two servers that
are 1 stratum away from the time source. Overall it was a bad experience
getting Microsofts built in ntp to work and I never convincingly got it to
work. Was no longer worth the amount of time I burned on debugging the
feature.
On Mon, Oct 21, 2019, 10:11 PM Dan Cuomo<EMAIL_ADDRESS>wrote:

@ValZapod https://github.com/ValZapod - the language is not necessary
nor appreciated, particularly since it is directed at a community member
(not a MSFT employee).
Furthermore, @janhanekom https://github.com/janhanekom already provided
feedback that you must have a stable and reliable time source. *.
pool.ntp.org (or any internet time source) does not qualify. If there is
a problem with the documentation, please suggest or submit a PR.
Finally, the stripchart you showed indicates that your worst sample was
14ms from the time source rather than the 857ms you reported (-00.0149726).
It's unclear what you're asking.
@adragoset https://github.com/adragoset - If your question was
sufficiently answered, please close this issue. Otherwise, please let us
know what else we can do to assist. Keep in mind, GitHub is not an ideal
place for support on technical issues, but rather the content of the
documentation your referencing.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/windowsserverdocs/issues/2065?email_source=notifications&email_token=AANN5DQ3NNOK4FT4WXBDCW3QPZVM3A5CNFSM4GJRZBSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB4NDOY#issuecomment-544788923,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANN5DU3OLK5KGPLXXLD7DTQPZVM3ANCNFSM4GJRZBSA
.

@dcuomo It was +00.8578214 BEFORE. And I think that in this case my "language" is necessary. It is just unacceptable.

you must have a stable and reliable time source.

 NTP was created for time sync in non stable and non reliable environment. I edited wikipedia here (added links in external links) https://en.wikipedia.org/wiki/Network_Time_Protocol and hope those people will tell you everything they think about you. I hope that will made you to release update which will change that 0x9 flag, which now obviouly can be on millions devices all over the world.

Yeah, now it looks like this, perfect. You can write good software after.
PS C:\Users\ZAQU> w32tm /stripchart /computer:1.ru.pool.ntp.org /rdtsc /period:1 /samples:300
Отслеживание 1.ru.pool.ntp.org [<IP_ADDRESS>:123].
Сбор образцов 300.
Текущее время - 22.10.2019 6:41:49.
Начало RDTSC, окончание RDTSC, время файлов, задержка обмена пакетами (в обе стороны), смещение NTP
82044462853744,<PHONE_NUMBER>6147,<PHONE_NUMBER>96349961, +00.0258433, +00.0000813
82047957450943,<PHONE_NUMBER>7436,<PHONE_NUMBER>06628113, +00.0281573, -00.0004334
82051458394368,<PHONE_NUMBER>3203,<PHONE_NUMBER>16924931, +00.0271804, +00.0003784
82054955877595,<PHONE_NUMBER>0544,<PHONE_NUMBER>27211572, +00.0277211, +00.0009962
82058458887921,<PHONE_NUMBER>2720,<PHONE_NUMBER>37514466, +00.0285541, +00.0003277
82061961858680,<PHONE_NUMBER>7682,<PHONE_NUMBER>47817246, +00.0256072, -00.0000487
82065456420558,<PHONE_NUMBER>2816,<PHONE_NUMBER>58095294, +00.0329486, +00.0005059
82068974388186,<PHONE_NUMBER>1532,<PHONE_NUMBER>68442182, +00.0273113, -00.0003733
82072472048814,<PHONE_NUMBER>8335,<PHONE_NUMBER>78729345, +00.0271250, -00.0006148
82075969777252,<PHONE_NUMBER>6652,<PHONE_NUMBER>89016705, +00.0265795, +00.0005978
82079463794675,<PHONE_NUMBER>2838,<PHONE_NUMBER>99293152, +00.0270780, -00.0006247
82082961930629,<PHONE_NUMBER>9616,<PHONE_NUMBER>09581712, +00.0261530, +00.0004018
82090059371942,<PHONE_NUMBER>1726,<PHONE_NUMBER>30456386, +00.0412193, +00.0064947
82093604038864,<PHONE_NUMBER>5212,<PHONE_NUMBER>40881801, +00.0275259, +00.0007558
82097101531554,<PHONE_NUMBER>8385,<PHONE_NUMBER>51168469, +00.0276272, -00.0007351
82100599094724,<PHONE_NUMBER>3426,<PHONE_NUMBER>61455344, +00.0284412, +00.0002290
82104115281099,<PHONE_NUMBER>4767,<PHONE_NUMBER>71796993, +00.0275058, +00.0007097
82107612758437,<PHONE_NUMBER>8450,<PHONE_NUMBER>82083616, +00.0278767, -00.0011142
82111113719669,<PHONE_NUMBER>3360,<PHONE_NUMBER>92380485, +00.0309633, +00.0025978
82114624810539,<PHONE_NUMBER>6864,<PHONE_NUMBER>02707148, +00.0269500, -00.0007491

Do you understand you can go to https://time.is and see the time drift in ±0,021? Accurate, BTW. Really when in Android one can sync time with GPS sattelites, you still only have mobile NITZ(( That is just wow. Just yesterday I argued with one guy that in modern Intel proccesors they already have clocks with picosecond precision. And you still have +0.8 second mistake with NTP!
About docs. I suppose we should add in bold red that on many PCs there is still 0x9 flag((

So what? Was there a fix for it?

So what? Was there a fix for it?
@dcuomo If you did not understand it is a console output after!
A conspiracy theory: you do not activate 0x1 flag, because in that case ntp servers will get crazy amount of trafic, your server time.microsoft.com inluding! Just saying! Disgusting!

I just found another bug. Apparently in some feature updates of windows "W32Time" service can switch from Automatic to Manual, that can lead to 0x1 flag also breaking. Very bad.

You may want to look elsewhere for answers, unless you have suggestions for improving one or more specific pages in the MS Docs repository.
Disclaimer: I am not affiliated with Microsoft or the Microsoft Docs teams here on GitHub.
The intention of this repository is to improve on the existing documentation by providing the users a way to report factual errors, improvement suggestions and request updates for new versions.
The MS Docs team members might not have time to answer your question, both due to the small size of the team and the big workload.
Try the following resources to get in touch with users who may be able to help you:

TechNet forums: https://social.technet.microsoft.com/Forums/en-US/home
MSDN: https://social.msdn.microsoft.com/Forums/en-US/home
Microsoft Community: https://answers.microsoft.com/

For questions or requests to the Microsoft developers, please consider using Feedback Hub to reach a more suitable audience.

For conclusion purposes:

Is there anyone following this issue ticket who still see a need to change the documentation, and in case of yes, have you got a suggestion for what the changed content should look like?
Is this issue discussed enough to reach a satisfactory conclusion?

Unless suggestions for actual change and content improvement appears, we should aim to close this issue ticket.

#please-close

Horrible, started happening again, has to once again change to automatic W32Time and wait a minute or two even! https://time.is/ agrees there is 0.5 seconds issue.
PS C:\Users\ZAQU> w32tm /stripchart /computer:ntp.msk-ix.ru /rdtsc /period:1 /samples:300
Отслеживание ntp.msk-ix.ru [[2001:6d0:ffd4::1]:123].
Сбор образцов 300.
Текущее время - 23.09.2022 1:41:34.
Начало RDTSC, окончание RDTSC, время файлов, задержка обмена пакетами (в обе стороны), смещение NTP
412591938945901,<PHONE_NUMBER>23479,<PHONE_NUMBER>43012045, +00.0070035, -00.4455806
412595399000260,<PHONE_NUMBER>34723,<PHONE_NUMBER>53188682, +00.0067589, -00.4459181
412598855140377,<PHONE_NUMBER>60367,<PHONE_NUMBER>63353807, +00.0073626, -00.4455052
412602316951104,<PHONE_NUMBER>29001,<PHONE_NUMBER>73535610, +00.0080159, -00.4457121
412605774514266,<PHONE_NUMBER>55059,<PHONE_NUMBER>83704920, +00.0070886, -00.4451988
412609206388707,<PHONE_NUMBER>99942,<PHONE_NUMBER>93798675, +00.0083563, -00.4447179
412612679694434,<PHONE_NUMBER>48758,<PHONE_NUMBER>04014287, +00.0083592, -00.4454857
412616150352572,<PHONE_NUMBER>97863,<PHONE_NUMBER>14222112, +00.0076891, -00.4454650
412619600255936,<PHONE_NUMBER>89474,<PHONE_NUMBER>24368894, +00.0090468, -00.4448360
412623037704528,<PHONE_NUMBER>71513,<PHONE_NUMBER>34479043, +00.0084055, -00.4450741

Please change the default. Meanwhile you are still using NTP, which cannot be Stratum 0, while Android uses GNSS or LTE network which is stratum 0. Samsung updates it not that often unofortunately.


Determine how to initiate ingest events

This problem is part policy and part technical. Determine how the event chain for acquiring new data should begin. Currently a lot of models are downloaded via cron scripts and the source URLs are stored in a database, and the scripts loop through available sources. We may be able to provide a better self-service model if data requests are pushed rather than pulled, but this shifts the responsibility to the data provider. For example, a script on the source machines could send the URL when new data is available.
For existing data in the cloud, how should we go about initiating that ingest process without moving the data? One problem is we can't guarantee its availability and consistency.

Our source events come from s3 for the purposes of the prototype. We may want a more formal event system in the future but this works for now.


Refactor Docs to CI

Changed files:
docs/ has been removed
README now indicates location of new developer docs
BEFORE APPROVING:
How do we want to indicate the current Hulse docs (which are really tutorials) as being different from the python docs? Or integrate the two together.
https://readthedocs.org/projects/hulse-py/builds/17033201/

https://github.com/readthedocs/readthedocs.org/issues/4065
See here:
Think you may have to set something up @sachalevy
It is very straightforward, but when I try to "re-sync" webhook I get an error.

Ok, we can just let these docs be the default, and I'll port the content from the tutorials' docs to this one (for the dev side of things), and write something either in a blog post or put it on the website for the more demo-ish aspect of the current docs.
My readthedocs username is sachalevy - do I need to setup anything else on that end?

No! The webhook is now running!!

Looks good to me!

This merge successfully activated the webhook :D
https://readthedocs.org/projects/hulse-py/builds/17033418/

Great, I'm wondering if there is a way we can add a feature to automatically discover the docstrings? Sphinx has a feature called apidoc which finds docstrings structured a certain way and builds the docs automatically. I'll check if we can add this through readthedocs.

Yea I will add you there! I have to set that up actually! I was careless and the docs haven't actually generated yet :O, the generated documentation doesn't pickup the doc-strings. Fixing now


Make appconfig IT to be independent for sb3

Description
Adjust the position of appconfiguration-config IT to make it an independent part
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

@mrm9084 @saragluna please help take a look, thanks!


Update backgroundtaskbuilder_isnetworkrequested.md

This change clarifies in the remarks that the WinMain component (i.e., the Win32, non-UWP-sidecar component) in Desktop Bridge applications do not execute code in standby today. Thereby, using the IsNetworkRequested flag in the BackgroundTaskBuilder has no net effect on the application's behavior when creating WinMain COM background tasks.

@aruproy14 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Thanks for your contribution! I've merged your changes and they should be live soon.


Improve Zafira Configurator initialization

For now you're loading ZafiraConfigurator implementation using reflection (Class.forName()) which is located in zafira.properties file.
Add possibility to load similar callbacks via ServiceLoader. It is original legal java extension mechanism.

new agent generation should follow this practive


Add version details to binaries, starting with Windows binaries

Add version information inside Windows binaries. Some resources:

About resource files
Some old answers from StackOverflow


feat(FX-3089): create saved search alert button

The type of this PR is: Feature

This PR resolves FX-3089
Description
As an admin with the saved search M2 feature flag enabled,
If I am viewing an artist artworks grid,
I always see the "create alert" button
Acceptance criteria:

This ticket includes introduction of a feature flag for M2 and hides these changes behind it
Button is disabled when no filters are applied
Button is enabled when filters are applied but no search criteria with those filters exists
Button is disabled when search criteria with existing filters exists

PR Checklist (tick all before merging)

[ ] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[ ] I have tested my changes on iOS and Android.
[ ] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[ ] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added an app state migration, or my changes do not require one. (What are migrations?)
[ ] I have added a changelog entry below or my changes do not require one.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Warnings

:warning:

❌ An error occurred while validating your changelog, please make sure you provided a valid changelog.

  Generated by :no_entry_sign: dangerJS against dab478bb9d3b6125f5dbed051fad38513a30f2e1

This PR contains the following changes:

Dev changes (Saved search banner M2 – dzmitry tratsiak)

  Generated by :no_entry_sign: dangerJS against 4f8db5298fdcde302778d45dc9bafd596d5f7a29


Use RViz node clock in tools

Precisely what the title says. Without this patch, a default clock (i.e. a clock hooked up to system time) is always used, not abiding to use_sim_time.
CI up to rviz_default_plugins:

Linux

it would be good to mention this in the release notes

Which release notes? Foxy's at index.ros.org? I plan to backport this to Eloquent (at least) too, should we also update those release notes?

try it out locally if you haven't done that already.

Timestamps look like they should locally :+1:

Yes the foxy release notes.
This changes ABI, so I wouldn’t push it to eloquent myself, why does it need that?

This changes ABI

Argh, yes, I changed a member field.
I'm using Eloquent elsewhere and having RViz tools working with Gazebo is practical at least. I can build from source though.

Argh, yes, I changed a member field.

As an ABI-compatible alternative, maybe you can not store clock_ and instead just always do raw_node_->get_clock() where you need it?

Good idea, I'll open another PR after merging this one that does that. Unless @wjwwood you'd rather have the non-ABI breaking change everywhere (despite extra indirections).

Good idea, I'll open another PR after merging this one that does that. Unless @wjwwood you'd rather have the non-ABI breaking change everywhere (despite extra indirections).

I don't have a strong preference. I guess having to fetch it each time might be a performance issue, but I don't know that for sure.

Ok, two patches then.

Release notes PR: https://github.com/ros2/ros2_documentation/pull/568

I'll go ahead and merge, as CI on other platforms won't reveal much.


Make the second layer hashmap more memory efficient

The bulk of IndexedSignature is taken up by the internal hashmap. The second layer of this hashmap almost always has 1 entry (when I was testing manually with over 7 million blocks, there were still only one value within +99.7% of the second layer hashmaps).
These changes optimize the second layer hashmap for the common case of a single entry where a std::mem::size_of::<SecondLayerMap<&[u8], u32>>() shows 24 bytes while std::mem::size_of<HashMap<&[u8], u32>>() shows 48 bytes on my machine.
This should also make .get() a bit faster with a single entry as well, but it was never a significant amount of time when I've been profiling, so I saw a less than 2% improvement on a couple benchmarks with no regressions.

Thanks for the fast review! I just pushed the changes for your suggestions

Good stuff!


Do not submit ... testing fix for failing validates container

Do not submit ... testing fix for failing validates container

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand:

[ ] What the pull request does
[ ] Why it does it
[ ] How it does it
[ ] Why this approach

[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Run ./gradlew build to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.


App crashing right after opening with FS2020 v<IP_ADDRESS>

Hello,
Thanks for this app, it was working great for me before the patch today of Flight Simulator 2020 v<IP_ADDRESS>.
After opening the app, after about 2 seconds the app exits.
I found these errors in the windows application log
Application: fs2ff.exe
CoreCLR Version: 4.700.20.41105
.NET Core Version: 3.1.8
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Net.Sockets.SocketException (10013): An attempt was made to access a socket in a way forbidden by its access permissions.
   at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at System.Net.Sockets.UdpClient..ctor(IPEndPoint localEP)
   at fs2ff.IpDetectionService.<>c__DisplayClass4_0.<<StartAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at fs2ff.IpDetectionService.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at fs2ff.App.OnStartup(StartupEventArgs e)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__139_0(Object state)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.Run()
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run()
   at fs2ff.App.Main()

Faulting application name: fs2ff.exe, version: <IP_ADDRESS>, time stamp: 0x5f3ed523
Faulting module name: KERNELBASE.dll, version: 10.0.18362.1049, time stamp: 0x1b835a75
Exception code: 0xe0434352
Fault offset: 0x0000000000043b29
Faulting process id: 0x1940
Faulting application start time: 0x01d6a1b6e02532f1
Faulting application path: D:\Media\Software\Games\MS Flight Simulator\fs2ff.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report Id: fc693af6-6cf7-4a23-905a-61ff0efe5139
Faulting package full name:
Faulting package-relative application ID:

Edit: Running as Administrator did not fix it.

Thanks, I'll have a look.

Odd update: today the app seems to start ok. It connects to FS2020 just fine. I don't think I installed any updates to the machine or even rebooted this machine since yesterday.  ¯_(ツ)_/¯

Did you restart the computer before it started working? It seems like a permission problem related to the IP auto-detect function. I'll update the app so that it doesn't crash, should it happen again.
/Andreas

Not that I know of, but I'm not 100% sure. Another data point if it helps: I have the auto detect IP setting turned off as I want to send the data to multiple devices. Thanks again!

Ok, thanks. I should be able to push out an anti-crash update soon-ish.

New version out, check it out here: https://github.com/astenlund/fs2ff/releases/latest
Please let me know if this fixes your issue.

Seems to work really well. Thanks!