hubble.metrics.port 9091 and prometheus.port 9090 failed

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
when i cilium config set hubble.metrics.port 9091 and prometheus.port 9090，pod can not start 9090 or 9091 port after restarted.
Cilium Version
cilium-cli: v0.10.4 compiled with go1.17.7 on linux/amd64
cilium image (default): v1.11.2
cilium image (stable): v1.11.3
cilium image (running): v1.11.2
Kernel Version
5.16.8-1.el7.elrepo.x86_64
Kubernetes Version
v1.22.3
Sysdump
No response
Relevant log output
No response
Anything else?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

when i cilium config set hubble.metrics.port 9091 and prometheus.port 9090，pod can not start 9090 or 9091 port after restarted.

Could you clarify what you mean? Do you have pods who are using those ports on the host? Or is it the Cilium pods that can't start? If it's the second case, could you please upload a Cilium sysdump?

sorry . Cilium pods is running well.
(https://gz-yp.oss-cn-beijing.aliyuncs.com/cilium-sysdump-20220406-113248.zip?Expires=1649216480&OSSAccessKeyId=TMP.3KhRD7Nhe6pG1Jj6yawZmRDdKQvzC5484sFBcu5ttRxUtcpNbhRsRmc9QYaQ5HB1U1gXVpBk7P1kJnQuZYcsGVhWkrfpPK&Signature=1x0cpJbVYB%2F9vUvK09SHJ9JRNKM%3D&response-content-type=application%2Foctet-stream)

[root@wf-zhuwei-test-1 ~]# kubectl -n kube-system exec -it  cilium-2cz2s -- cilium status --all-controllers --all-health --all-redirects --debug Defaulted container "cilium-agent" out of: cilium-agent, mount-cgroup (init), clean-cilium-state (init) KVStore:                Ok   Disabled Kubernetes:             Ok   1.22 (v1.22.2) [linux/amd64] Kubernetes APIs:        ["cilium/v2::CiliumClusterwideNetworkPolicy", "cilium/v2::CiliumEndpoint", "cilium/v2::CiliumNetworkPolicy", "cilium/v2::CiliumNode", "core/v1::Namespace", "core/v1::Node", "core/v1::Pods", "core/v1::Service", "discovery/v1::EndpointSlice", "networking.k8s.io/v1::NetworkPolicy"] KubeProxyReplacement:   Strict   [eth0 <IP_ADDRESS> (Direct Routing)] Host firewall:          Disabled Cilium:                 Ok   1.11.2 (v1.11.2-17b0dbd) NodeMonitor:            Listening for events on 2 CPUs with 64x4096 of shared memory Cilium health daemon:   Ok    IPAM:                   IPv4: 8/254 allocated from <IP_ADDRESS>/24,  BandwidthManager:       EDT with BPF   [eth0] Host Routing:           Legacy Masquerading:           IPTables [IPv4: Enabled, IPv6: Disabled] Controller Status:      51/51 healthy   Name                                          Last success   Last error    Count   Message   bpf-map-sync-cilium_lxc                       7s ago         never         0       no error      bpf-map-sync-cilium_throttle                  6s ago         never         0       no error      cilium-health-ep                              26s ago        never         0       no error      dns-garbage-collector-job                     39s ago        never         0       no error      endpoint-1018-regeneration-recovery           never          never         0       no error      endpoint-1158-regeneration-recovery           never          never         0       no error      endpoint-1429-regeneration-recovery           never          never         0       no error      endpoint-391-regeneration-recovery            never          never         0       no error      endpoint-426-regeneration-recovery            never          never         0       no error      endpoint-51-regeneration-recovery             never          never         0       no error      endpoint-720-regeneration-recovery            never          never         0       no error      endpoint-897-regeneration-recovery            never          never         0       no error      endpoint-gc                                   4m39s ago      never         0       no error      ipcache-inject-labels                         1h9m34s ago    1h9m38s ago   0       no error      k8s-heartbeat                                 9s ago         never         0       no error      mark-k8s-node-as-available                    1h9m27s ago    never         0       no error      metricsmap-bpf-prom-sync                      3s ago         never         0       no error      resolve-identity-1018                         4m27s ago      never         0       no error      restoring-ep-identity (1158)                  1h9m28s ago    never         0       no error      restoring-ep-identity (1429)                  1h9m28s ago    never         0       no error      restoring-ep-identity (391)                   1h9m28s ago    never         0       no error      restoring-ep-identity (426)                   1h9m28s ago    never         0       no error      restoring-ep-identity (51)                    1h9m28s ago    never         0       no error      restoring-ep-identity (720)                   1h9m28s ago    never         0       no error      restoring-ep-identity (897)                   1h9m28s ago    never         0       no error      sync-endpoints-and-host-ips                   28s ago        never         0       no error      sync-lb-maps-with-k8s-services                1h9m28s ago    never         0       no error      sync-policymap-1018                           16s ago        never         0       no error      sync-policymap-1158                           17s ago        never         0       no error      sync-policymap-1429                           17s ago        never         0       no error      sync-policymap-391                            18s ago        never         0       no error      sync-policymap-426                            16s ago        never         0       no error      sync-policymap-51                             18s ago        never         0       no error      sync-policymap-720                            4s ago         never         0       no error      sync-policymap-897                            17s ago        never         0       no error      sync-to-k8s-ciliumendpoint (1018)             6s ago         never         0       no error      sync-to-k8s-ciliumendpoint (1158)             7s ago         never         0       no error      sync-to-k8s-ciliumendpoint (1429)             7s ago         never         0       no error      sync-to-k8s-ciliumendpoint (391)              7s ago         never         0       no error      sync-to-k8s-ciliumendpoint (426)              7s ago         never         0       no error      sync-to-k8s-ciliumendpoint (51)               7s ago         never         0       no error      sync-to-k8s-ciliumendpoint (720)              7s ago         never         0       no error      sync-to-k8s-ciliumendpoint (897)              7s ago         never         0       no error      template-dir-watcher                          never          never         0       no error      update-k8s-node-annotations                   1h9m38s ago    never         0       no error      waiting-initial-global-identities-ep (1158)   1h9m28s ago    never         0       no error      waiting-initial-global-identities-ep (1429)   1h9m28s ago    never         0       no error      waiting-initial-global-identities-ep (391)    1h9m28s ago    never         0       no error      waiting-initial-global-identities-ep (426)    1h9m28s ago    never         0       no error      waiting-initial-global-identities-ep (51)     1h9m28s ago    never         0       no error      waiting-initial-global-identities-ep (897)    1h9m28s ago    never         0       no error    Proxy Status:                    OK, ip <IP_ADDRESS>, 0 redirects active on ports 10000-20000 Hubble:                          Ok   Current/Max Flows: 4095/4095 (100.00%), Flows/s: 10.72   Metrics: Disabled Encryption:                      Disabled Cluster health:                  3/3 reachable    (2022-04-06T03:40:06Z)   Name                           IP               Node        Endpoints   wf-zhuwei-test-3 (localhost)   <IP_ADDRESS>   reachable   reachable   wf-zhuwei-test-1               <IP_ADDRESS>   reachable   reachable   wf-zhuwei-test-2               <IP_ADDRESS>   reachable   reachable

[root@wf-zhuwei-test-1 ~]# kubectl -n kube-system exec -it  cilium-2cz2s -- cilium status --all-controllers --all-health --all-redirects --debug
Defaulted container "cilium-agent" out of: cilium-agent, mount-cgroup (init), clean-cilium-state (init)
KVStore:                Ok   Disabled
Kubernetes:             Ok   1.22 (v1.22.2) [linux/amd64]
Kubernetes APIs:        ["cilium/v2::CiliumClusterwideNetworkPolicy", "cilium/v2::CiliumEndpoint", "cilium/v2::CiliumNetworkPolicy", "cilium/v2::CiliumNode", "core/v1::Namespace", "core/v1::Node", "core/v1::Pods", "core/v1::Service", "discovery/v1::EndpointSlice", "networking.k8s.io/v1::NetworkPolicy"]
KubeProxyReplacement:   Strict   [eth0 <IP_ADDRESS> (Direct Routing)]
Host firewall:          Disabled
Cilium:                 Ok   1.11.2 (v1.11.2-17b0dbd)
NodeMonitor:            Listening for events on 2 CPUs with 64x4096 of shared memory
Cilium health daemon:   Ok
IPAM:                   IPv4: 8/254 allocated from <IP_ADDRESS>/24,
BandwidthManager:       EDT with BPF   [eth0]
Host Routing:           Legacy
Masquerading:           IPTables [IPv4: Enabled, IPv6: Disabled]
Controller Status:      51/51 healthy
Name                                          Last success   Last error    Count   Message
bpf-map-sync-cilium_lxc                       7s ago         never         0       no error
bpf-map-sync-cilium_throttle                  6s ago         never         0       no error
cilium-health-ep                              26s ago        never         0       no error
dns-garbage-collector-job                     39s ago        never         0       no error
endpoint-1018-regeneration-recovery           never          never         0       no error
endpoint-1158-regeneration-recovery           never          never         0       no error
endpoint-1429-regeneration-recovery           never          never         0       no error
endpoint-391-regeneration-recovery            never          never         0       no error
endpoint-426-regeneration-recovery            never          never         0       no error
endpoint-51-regeneration-recovery             never          never         0       no error
endpoint-720-regeneration-recovery            never          never         0       no error
endpoint-897-regeneration-recovery            never          never         0       no error
endpoint-gc                                   4m39s ago      never         0       no error
ipcache-inject-labels                         1h9m34s ago    1h9m38s ago   0       no error
k8s-heartbeat                                 9s ago         never         0       no error
mark-k8s-node-as-available                    1h9m27s ago    never         0       no error
metricsmap-bpf-prom-sync                      3s ago         never         0       no error
resolve-identity-1018                         4m27s ago      never         0       no error
restoring-ep-identity (1158)                  1h9m28s ago    never         0       no error
restoring-ep-identity (1429)                  1h9m28s ago    never         0       no error
restoring-ep-identity (391)                   1h9m28s ago    never         0       no error
restoring-ep-identity (426)                   1h9m28s ago    never         0       no error
restoring-ep-identity (51)                    1h9m28s ago    never         0       no error
restoring-ep-identity (720)                   1h9m28s ago    never         0       no error
restoring-ep-identity (897)                   1h9m28s ago    never         0       no error
sync-endpoints-and-host-ips                   28s ago        never         0       no error
sync-lb-maps-with-k8s-services                1h9m28s ago    never         0       no error
sync-policymap-1018                           16s ago        never         0       no error
sync-policymap-1158                           17s ago        never         0       no error
sync-policymap-1429                           17s ago        never         0       no error
sync-policymap-391                            18s ago        never         0       no error
sync-policymap-426                            16s ago        never         0       no error
sync-policymap-51                             18s ago        never         0       no error
sync-policymap-720                            4s ago         never         0       no error
sync-policymap-897                            17s ago        never         0       no error
sync-to-k8s-ciliumendpoint (1018)             6s ago         never         0       no error
sync-to-k8s-ciliumendpoint (1158)             7s ago         never         0       no error
sync-to-k8s-ciliumendpoint (1429)             7s ago         never         0       no error
sync-to-k8s-ciliumendpoint (391)              7s ago         never         0       no error
sync-to-k8s-ciliumendpoint (426)              7s ago         never         0       no error
sync-to-k8s-ciliumendpoint (51)               7s ago         never         0       no error
sync-to-k8s-ciliumendpoint (720)              7s ago         never         0       no error
sync-to-k8s-ciliumendpoint (897)              7s ago         never         0       no error
template-dir-watcher                          never          never         0       no error
update-k8s-node-annotations                   1h9m38s ago    never         0       no error
waiting-initial-global-identities-ep (1158)   1h9m28s ago    never         0       no error
waiting-initial-global-identities-ep (1429)   1h9m28s ago    never         0       no error
waiting-initial-global-identities-ep (391)    1h9m28s ago    never         0       no error
waiting-initial-global-identities-ep (426)    1h9m28s ago    never         0       no error
waiting-initial-global-identities-ep (51)     1h9m28s ago    never         0       no error
waiting-initial-global-identities-ep (897)    1h9m28s ago    never         0       no error
Proxy Status:                    OK, ip <IP_ADDRESS>, 0 redirects active on ports 10000-20000
Hubble:                          Ok   Current/Max Flows: 4095/4095 (100.00%), Flows/s: 10.72   Metrics: Disabled
Encryption:                      Disabled
Cluster health:                  3/3 reachable    (2022-04-06T03:40:06Z)
Name                           IP               Node        Endpoints
wf-zhuwei-test-3 (localhost)   <IP_ADDRESS>   reachable   reachable
wf-zhuwei-test-1               <IP_ADDRESS>   reachable   reachable
wf-zhuwei-test-2               <IP_ADDRESS>   reachable   reachable

kubectl -n kube-system exec -it  cilium-2cz2s -- cilium status --all-controllers --all-health --all-redirects --debug

Defaulted container "cilium-agent" out of: cilium-agent, mount-cgroup (init), clean-cilium-state (init)
KVStore:                Ok   Disabled
Kubernetes:             Ok   1.22 (v1.22.2) [linux/amd64]
Kubernetes APIs:        ["cilium/v2::CiliumClusterwideNetworkPolicy", "cilium/v2::CiliumEndpoint", "cilium/v2::CiliumNetworkPolicy", "cilium/v2::CiliumNode", "core/v1::Namespace", "core/v1::Node", "core/v1::Pods", "core/v1::Service", "discovery/v1::EndpointSlice", "networking.k8s.io/v1::NetworkPolicy"]
KubeProxyReplacement:   Strict   [eth0 <IP_ADDRESS> (Direct Routing)]
Host firewall:          Disabled
Cilium:                 Ok   1.11.2 (v1.11.2-17b0dbd)
NodeMonitor:            Listening for events on 2 CPUs with 64x4096 of shared memory
Cilium health daemon:   Ok
IPAM:                   IPv4: 8/254 allocated from <IP_ADDRESS>/24,
BandwidthManager:       EDT with BPF   [eth0]
Host Routing:           Legacy
Masquerading:           IPTables [IPv4: Enabled, IPv6: Disabled]
Controller Status:      51/51 healthy
Name                                          Last success   Last error    Count   Message
bpf-map-sync-cilium_lxc                       7s ago         never         0       no error
bpf-map-sync-cilium_throttle                  6s ago         never         0       no error
cilium-health-ep                              26s ago        never         0       no error
dns-garbage-collector-job                     39s ago        never         0       no error
endpoint-1018-regeneration-recovery           never          never         0       no error
endpoint-1158-regeneration-recovery           never          never         0       no error
endpoint-1429-regeneration-recovery           never          never         0       no error
endpoint-391-regeneration-recovery            never          never         0       no error
endpoint-426-regeneration-recovery            never          never         0       no error
endpoint-51-regeneration-recovery             never          never         0       no error
endpoint-720-regeneration-recovery            never          never         0       no error
endpoint-897-regeneration-recovery            never          never         0       no error
endpoint-gc                                   4m39s ago      never         0       no error
ipcache-inject-labels                         1h9m34s ago    1h9m38s ago   0       no error
k8s-heartbeat                                 9s ago         never         0       no error
mark-k8s-node-as-available                    1h9m27s ago    never         0       no error
metricsmap-bpf-prom-sync                      3s ago         never         0       no error
resolve-identity-1018                         4m27s ago      never         0       no error
restoring-ep-identity (1158)                  1h9m28s ago    never         0       no error
restoring-ep-identity (1429)                  1h9m28s ago    never         0       no error
restoring-ep-identity (391)                   1h9m28s ago    never         0       no error
restoring-ep-identity (426)                   1h9m28s ago    never         0       no error
restoring-ep-identity (51)                    1h9m28s ago    never         0       no error
restoring-ep-identity (720)                   1h9m28s ago    never         0       no error
restoring-ep-identity (897)                   1h9m28s ago    never         0       no error
sync-endpoints-and-host-ips                   28s ago        never         0       no error
sync-lb-maps-with-k8s-services                1h9m28s ago    never         0       no error
sync-policymap-1018                           16s ago        never         0       no error
sync-policymap-1158                           17s ago        never         0       no error
sync-policymap-1429                           17s ago        never         0       no error
sync-policymap-391                            18s ago        never         0       no error
sync-policymap-426                            16s ago        never         0       no error
sync-policymap-51                             18s ago        never         0       no error
sync-policymap-720                            4s ago         never         0       no error
sync-policymap-897                            17s ago        never         0       no error
sync-to-k8s-ciliumendpoint (1018)             6s ago         never         0       no error
sync-to-k8s-ciliumendpoint (1158)             7s ago         never         0       no error
sync-to-k8s-ciliumendpoint (1429)             7s ago         never         0       no error
sync-to-k8s-ciliumendpoint (391)              7s ago         never         0       no error
sync-to-k8s-ciliumendpoint (426)              7s ago         never         0       no error
sync-to-k8s-ciliumendpoint (51)               7s ago         never         0       no error
sync-to-k8s-ciliumendpoint (720)              7s ago         never         0       no error
sync-to-k8s-ciliumendpoint (897)              7s ago         never         0       no error
template-dir-watcher                          never          never         0       no error
update-k8s-node-annotations                   1h9m38s ago    never         0       no error
waiting-initial-global-identities-ep (1158)   1h9m28s ago    never         0       no error
waiting-initial-global-identities-ep (1429)   1h9m28s ago    never         0       no error
waiting-initial-global-identities-ep (391)    1h9m28s ago    never         0       no error
waiting-initial-global-identities-ep (426)    1h9m28s ago    never         0       no error
waiting-initial-global-identities-ep (51)     1h9m28s ago    never         0       no error
waiting-initial-global-identities-ep (897)    1h9m28s ago    never         0       no error
Proxy Status:                    OK, ip <IP_ADDRESS>, 0 redirects active on ports 10000-20000
Hubble:                          Ok   Current/Max Flows: 4095/4095 (100.00%), Flows/s: 10.72   Metrics: Disabled
Encryption:                      Disabled
Cluster health:                  3/3 reachable    (2022-04-06T03:40:06Z)
Name                           IP               Node        Endpoints
wf-zhuwei-test-3 (localhost)   <IP_ADDRESS>   reachable   reachable
wf-zhuwei-test-1               <IP_ADDRESS>   reachable   reachable
wf-zhuwei-test-2               <IP_ADDRESS>   reachable   reachable

i got this question soloved.

What was the issue?


Pydantic validation error provides no information on what failed

My guess is that a path is wrong in my dataset.toml, but the error doesn't say so:
(dsgrid) ehale@EHALE-32272S:~/dsgrid$ dsgrid registry --path=$DSGRID_REGISTRY_PATH --offline datasets register $US_DATA_REPO/dsgrid_project/datasets/sector_models/comstock/dataset.toml -l "initial registration"
2021-05-21 10:02:52,087 - INFO [dsgrid.registry.registry_manager registry_manager.py:199] : Loaded local registry at /home/ehale/.dsgrid-test-registry offline_mode=True dry_run_mode=False
Traceback (most recent call last):
  File "/home/ehale/miniconda3/envs/dsgrid/bin/dsgrid", line 33, in <module>
    sys.exit(load_entry_point('dsgrid', 'console_scripts', 'dsgrid')())
  File "/home/ehale/miniconda3/envs/dsgrid/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/ehale/miniconda3/envs/dsgrid/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/ehale/miniconda3/envs/dsgrid/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/ehale/miniconda3/envs/dsgrid/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/ehale/miniconda3/envs/dsgrid/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/ehale/miniconda3/envs/dsgrid/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/ehale/miniconda3/envs/dsgrid/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/ehale/miniconda3/envs/dsgrid/lib/python3.8/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context().obj, *args, **kwargs)
  File "/home/ehale/dsgrid/dsgrid/cli/registry.py", line 265, in register_dataset
    manager.register(dataset_config_file, submitter, log_message)
  File "/home/ehale/dsgrid/dsgrid/registry/dataset_registry_manager.py", line 82, in register
    self._register(config_file, submitter, log_message, force=force)
  File "/home/ehale/dsgrid/dsgrid/registry/dataset_registry_manager.py", line 85, in _register
    config = DatasetConfig.load(config_file, self._dimension_mgr)
  File "/home/ehale/dsgrid/dsgrid/config/dataset_config.py", line 157, in load
    config = cls._load(config_file)
  File "/home/ehale/dsgrid/dsgrid/config/config_base.py", line 29, in _load
    model = cls.model_class().load(config_file)
  File "/home/ehale/dsgrid/dsgrid/data_models.py", line 40, in load
    cfg = cls(**load_data(os.path.basename(filename)))
  File "pydantic/main.py", line 400, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 1 validation error for DatasetConfigModel
path
  /home/ehale/.dsgrid-registry/data/efs-comstock/1.0.0 does not contain load_data.parquet (type=value_error)
(dsgrid) ehale@EHALE-32272S:~/dsgrid$

@mooneyme the underlying cause for this error (bad data syncing) has been fixed. Do we still want a more informative message if the dataset.toml data path and the actual location of the data file get out of sync and/or the data file goes missing?

I think you can close this. The message at the end is informative I think: "  /home/ehale/.dsgrid-registry/data/efs-comstock/1.0.0 does not contain load_data.parquet (type=value_error)"


nested object queries

Is there a way to write filters that can query nested objects?
Also, is there a way to write custom elastic search queries that elast alert can execute as filters?

Sure. You can do something like
filter:
 - term:
     apache.request.method: "post"

You should be able to use any Elasticsearch query you want. It is passed as a filtered query. For example, with query_string query type
filter:
  - query:
      query_string:
        query: "foo AND bar"
        default_field: "baz"
        analyzer: "my_analyzer"

Guys, I have the same issue

If you're seeking help, ask a question.


🎨 error improvements

refs #7597
Very small PR with 2 commits:

add unique id to each error instance
delete TODO for decouple req.err - didn't find a nice alternative solution
add some more descriptions to error-handler

ready for review


Split transaction calculator

Defective ToolKit Feature Name: split transactions
Expected Behavior
Enter total transaction amount (i.e., 40)
Enter total transaction amount/number of splits (i.e., 40/2)
First split is 20
Actual Behavior
Enter total transaction amount
Enter total transaction amount/number of splits
No calculation made
Steps to Reproduce the Behavior

see above (sorry, didn't understand the format)

Export of Toolkit Settings (Bottom Left of Settings Page)
[{"key":"CustomFlagNames","value":false},{"key":"ShowCategoryBalance","value":false},{"key":"TargetBalanceWarning","value":false},{"key":"accountTransactionSearch","value":false},{"key":"accountsClearSelection","value":true},{"key":"accountsDisplayDensity","value":"0"},{"key":"accountsEmphasizedOutflows","value":false},{"key":"accountsRowHeight","value":"0"},{"key":"accountsSelectedTotal","value":true},{"key":"accountsStripedRows","value":false},{"key":"activityTransactionLink","value":true},{"key":"betterScrollbars","value":"0"},{"key":"budgetBalanceToZero","value":true},{"key":"budgetProgressBars","value":"0"},{"key":"budgetQuickSwitch","value":false},{"key":"budgetRowsHeight","value":"0"},{"key":"calendarFirstDay","value":"0"},{"key":"categoryActivityPopupWidth","value":"0"},{"key":"changeEnterBehavior","value":false},{"key":"checkCreditBalances","value":true},{"key":"checkNumbers","value":false},{"key":"closeReconcileWindow","value":false},{"key":"collapseExpandBudgetGroups","value":true},{"key":"collapseSideMenu","value":true},{"key":"colourBlindMode","value":false},{"key":"compactIncomeVsExpense","value":false},{"key":"currentMonthIndicator","value":true},{"key":"daysOfBuffering","value":true},{"key":"daysOfBufferingHistoryLookup","value":"0"},{"key":"editButtonPosition","value":"2"},{"key":"enableRetroCalculator","value":true},{"key":"enlargeCategoriesDropdown","value":true},{"key":"enterInRegisterNow","value":true},{"key":"exportTransactions","value":false},{"key":"goalIndicator","value":false},{"key":"goalIndicatorWarningColor","value":false},{"key":"googleFontsSelector","value":"0"},{"key":"hideAOM","value":true},{"key":"hideAccountBalancesType","value":0},{"key":"hideHelp","value":false},{"key":"highlightNegativesNegative","value":true},{"key":"importNotification","value":"0"},{"key":"incomeFromLastMonth","value":"0"},{"key":"l10n","value":"0"},{"key":"largerClickableIcons","value":false},{"key":"monthlyNotesPopupWidth","value":"0"},{"key":"navDisplayDensity","value":"0"},{"key":"options.dark-mode","value":false},{"key":"pacing","value":"0"},{"key":"popupCalculator","value":true},{"key":"printingImprovements","value":true},{"key":"privacyMode","value":"0"},{"key":"reconciledTextColor","value":"0"},{"key":"removePositiveHighlight","value":true},{"key":"removeZeroCategories","value":true},{"key":"reports","value":false},{"key":"resizeInspector","value":true},{"key":"rightClickToEdit","value":true},{"key":"runningBalance","value":false},{"key":"seamlessBudgetHeader","value":false},{"key":"showIntercom","value":true},{"key":"spareChange","value":false},{"key":"splitKeyboardShortcut","value":true},{"key":"splitTransactionAutoAdjust","value":true},{"key":"squareNegativeMode","value":false},{"key":"stealingFromNextMonth","value":true},{"key":"swapClearedFlagged","value":false},{"key":"toBeBudgetedWarning","value":false},{"key":"toggleSplits","value":true},{"key":"toggleTransactionFilters","value":"0"},{"key":"warnOnQuickBudget","value":false}]

System Settings
ToolKit Version: most recent?
Operating System (Mac/Windows/Etc): mac
Browser (Chrome/Firefox/Safari): chrome
Browser Version: Version 58.0.3029.110 (64-bit)
Other Extensions:

@rockmysocks I'm not sure I understand. Are you entering 40/2 in the Outflow field and expecting the result of dividing 40 by 2 to be placed in the Outflow field of each split? If so, that is not supported behavior.

Oh, I thought when the feature said it would be behave like the calculator
in old YNAB it would also do simple multiplication and division the way
that calculator did. My mistake! Thanks.
On Fri, May 12, 2017 at 5:56 AM David Baldon<EMAIL_ADDRESS>wrote:

@rockmysocks https://github.com/rockmysocks I'm not sure I understand.
Are you entering 40/2 in the Outflow field and expecting the result of
dividing 40 by 2 to be placed in the Outflow field of each split? If so,
that is not supported behavior.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/toolkit-for-ynab/toolkit-for-ynab/issues/763#issuecomment-301069182,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQS4D1XRzejElJocDqBiis9DRZXt43qAks5r5FcYgaJpZM4NYt7y
.

In the budget window you can enter operators but not in an account register. For whatever reason native YNAB code doesn't work the same way between the two areas.
Closing.


Documentation Question: Needing guidance on proper SDK usage for creating Frontdoor and WAF

It seems a bit confusing as to which classes to use when trying to manage Azure Frontdoors.
There are three types of Frontdoor's: Classic (deprecating in 2027?), Standard and Premium.
There are objects for CDN's, which appear to create the Standard and Premium services, and Frontdoor using the following Python SDK libraries:
azure-mgmt-frontdoor:
https://learn.microsoft.com/en-us/python/api/azure-mgmt-frontdoor/azure.mgmt.frontdoor.operations.frontdoorsoperations?view=azure-python#azure-mgmt-frontdoor-operations-frontdoorsoperations-begin-create-or-update
azure-mgmt-cdn:
https://learn.microsoft.com/en-us/python/api/azure-mgmt-cdn/azure.mgmt.cdn.operations.afdprofilesoperations?view=azure-python
I presume the CDN library should be used for creating the Premium and Standard Frontdoor services...however, when you start to get down into the WAF Policies, it gets a bit more confusing as the CDN Policies class:
https://learn.microsoft.com/en-us/python/api/azure-mgmt-cdn/azure.mgmt.cdn.operations.policiesoperations?view=azure-python#azure-mgmt-cdn-operations-policiesoperations-begin-create-or-update
..seems to be throwing the following error:
Error Creating/Updating Azure AFD Policy instance: (BadRequest) Web Application Firewall Policy creation fails due to CDN WAF retirement.
Now, for WAF there is also the following:
azure-mgmt-network:
https://learn.microsoft.com/en-us/python/api/azure-mgmt-network/azure.mgmt.network.operations.webapplicationfirewallpoliciesoperations?view=azure-python#azure-mgmt-network-operations-webapplicationfirewallpoliciesoperations-create-or-update
So...

Which Python SDK classes should be used for Frontdoor Classic, Standard and Premium respectively?
Which Python SDK class should be used for a Web Application Firewall for Frontdoor Standard and Premium?
Is there additional documentation that makes all of the above clearer?

Thanks!

When creating a WAF for a Frontdoor Standard it shows as "Microsoft.Network/frontdoorwebapplicationfirewallpolicies", which would imply that I should use the azure-mgmt-network library?
It would be good to update the various documents to provide guidance on which to use and which should not be used, if possible?

Here are three distinct WAF library references:
azure-mgmt-frontdoor:
https://learn.microsoft.com/en-us/python/api/azure-mgmt-frontdoor/azure.mgmt.frontdoor.operations.policiesoperations?view=azure-python#azure-mgmt-frontdoor-operations-policiesoperations-begin-create-or-update
azure-mgmt-network:
https://learn.microsoft.com/en-us/python/api/azure-mgmt-network/azure.mgmt.network.operations.webapplicationfirewallpoliciesoperations?view=azure-python#azure-mgmt-network-operations-webapplicationfirewallpoliciesoperations-get
azure-mgmt-cdn:
https://learn.microsoft.com/en-us/python/api/azure-mgmt-cdn/azure.mgmt.cdn.models.cdnwebapplicationfirewallpolicy?view=azure-python
I believe the CDN WAF is retired?

Digging further, I think the answer is the following:
Azure Frontdoor Classic:
azure-mgmt-frontdoor in the FrontDoorManagementClient using FrontDoorsOperations class to manage Front doors
azure-mgmt-frontdoor in the FrontDoorManagementClient using the PoliciesOperations class to manage WAFs
Azure Frontdoor Standard & Premium:
azure-mgmt-cdn in the CDNManagementClient using the AFDProfilesOperations class for managing Front doors
azure-mgmt-frontdoor in the FrontDoorManagementClient using the PoliciesOperations class to manage WAFs
It seems the azure-mgmt-network module is for managing Application Gateway WAFs, unless I am missing something.

@ChenxiJiang333 Please help on this issue

got it

Digging further, I think the answer is the following:
Azure Frontdoor Classic: azure-mgmt-frontdoor in the FrontDoorManagementClient using FrontDoorsOperations class to manage Front doors azure-mgmt-frontdoor in the FrontDoorManagementClient using the PoliciesOperations class to manage WAFs
Azure Frontdoor Standard & Premium: azure-mgmt-cdn in the CDNManagementClient using the AFDProfilesOperations class for managing Front doors azure-mgmt-frontdoor in the FrontDoorManagementClient using the PoliciesOperations class to manage WAFs
It seems the azure-mgmt-network module is for managing Application Gateway WAFs, unless I am missing something.

Hi @jartoo, this answer is almost right.
Azure Front Door Classic has its resource provider as Microsoft.Network while Standard & Premium has its resource provider as Microsoft.CDN.
So, to create Azure Front Door Classic, you can follow https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/network/azure-mgmt-frontdoor/generated_samples/frontdoor_create.py using azure-mgmt-frontdoor.
To createAzure Front Door Standard & Premium, follow https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/cdn/azure-mgmt-cdn/generated_samples/profiles_create.py using azure-mgmt-cdn.
You can create WAF for all Frondoor tiers following https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/network/azure-mgmt-frontdoor/generated_samples/waf_policy_create_or_update.py using azure-mgmt-frontdoor.

Thanks for this clarity!  I hope the SDK documentation gets updated perhaps with this clarity.


Add check for input import before running FixInput

Check if from builtins import input is already present (result of raw_input fixer) and skip the input fixer if it does.
Fixes #427

The test TestFuturizeSimple::test_input_without_import fails on Py26, I don't know why.
@jmadler @anikamukherji any idea?

@Ionaru - The failure looks unrelated.  I'd prefer we not drop Py26 support until absolutely necessary.
I'll merge it in and follow-up on the Py26 test failure.


Cocos2d-JS

Hi,
This feature is supported for Cocos2d-JS?

I have not worked with Cocos2d-JS, and support is not intended. However you might be able to create JavaScript bindings for GameSharing, you would have to compile it with emscripten in order to run it on the web. I am however not sure whether that is actually possible.


HOTP returning always the same code

Summary
I have an HOTP stored in a secred, as follow:
fale@x250:~ $ gopass test/hotp
otpauth://hotp/OATH343174AA?secret=quokk1gtLnt2HplCHcyajSKD&counter=1&digits=6&issuer=MyCompany

Steps To Reproduce
Execute multple times:
gopass hotp test/hotp

Results
fale@x250:~ $ gopass hotp test/hotp
067379 lasts 25s 	|-----=========================|
fale@x250:~ $ gopass hotp test/hotp
067379 lasts 18s 	|------------==================|
fale@x250:~ $ gopass hotp test/hotp
067379 lasts 12s 	|------------------============|
fale@x250:~ $ gopass hotp test/hotp
067379 lasts 7s 	|-----------------------=======|
fale@x250:~ $ gopass hotp test/hotp
067379 lasts 2s 	|----------------------------==|
fale@x250:~ $ gopass hotp test/hotp
067379 lasts 28s 	|--============================|

Expected behavior
Have different hotp at every run
Environment

OS: Fedora 31(Linux x250.fale.io 5.5.5-200.fc31.x86_64 #1 SMP Wed Feb 19 23:28:07 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux)
gopass Version: gopass 1.8.6-git+HEAD go1.13.3 linux amd64
Installation method: copr repo

Additional context
I would expect the secret to change at every run, to account for the counter increase, while this does not happens
PS: Also, the count down has no sense in an HOTP

In the Readme, the HOTP is stated as supported: https://github.com/gopasspw/gopass/blame/master/README.md#L60
An idea could also be changing the README to remove this declaration as well as throwing an error if an HOTP token is requested

I have tested HOTP support and it seems to work, if you manually increment the counter. I will create a PR that clarifies this in the documentation.

I think that if we want to say that gopass supports it, gopass should increase the counter


Bill Division- HackerRank

Aim:
Two friends Anna and Brian, are deciding how to split the bill at a dinner. Each will only pay for the items they consume. Brian gets the check and calculates Anna's portion. You must determine if his calculation is correct.
For example, assume the bill has the following prices: bill=[ 2,4,6 ] . Anna declines to eat item k=bill[2] which costs 6 . If Brian calculates the bill correctly, Anna will pay (2+4)/2 =3. If he includes the cost of bill[2], he will calculate (2+4+6)/2= 6. In the second case, he should refund 3 to Anna.
Details:

Programming Language:

[x] C++
[ ] C
[ ] Java
[ ] Python

@ravikr126, please assign me this issue under the label LGM-SOC

@ravikr126 please assign me this issue under the label LGM-SOC

@sameeksharl please assign me this issue

@ravikr126 @sameeksharl please assign me this issue


Implement Linux Transport

This implements a Linux Transport for Kestrel based on the available information the Kestrel repo and the corefxlab pipeline implementation.
@davidfowl @halter73 could you do a review? The TransferThread.ReadFromSocket and TransferThread.WriteToSocket is where the socket and the pipelines meet. I know you are quite busy, so if I can get your input on the pipeline (ab)usage that would be great. If you can spare some more time, feel free to comment on the entire PR.

This is pretty darn cool. Do you have any feedback for us? I want to get to a place where we can start looking at the performance of kestrel on native transports like this one.

Do you have any feedback for us?

It's great Kestrel will support pluggable Transports. The abstractions for pipelines and transport are :+1:
Two things I missed when writing this Transport (I mentioned these elsewhere already):

support non-contiguous write on the WritableBuffer to reduce the number recvmsg kernel calls
a Transport being responsible to handle multiple listens to reduce the number of threads

I want to get to a place where we can start looking at the performance of kestrel on native transports like this one.

I am looking forward to this as well. I have no idea what the perf difference is atm.
When the Transport abstraction is added to Kestrel and benchmarks are setup. If it is doable, please include this one too. You can pick it of the MyGet feed.

Forgot this one:

Transport providing sendfile support


barcody.bas won't encode numbers

If a number with no characters included in it is input as the string to be encoded, the QR gen file does not encode any value at all into the QR code. Tested with values of 0 - 65535, ... no value is encoded into the QR code. Tested with all ECL's, no value is encoded into the QR code. If a single character is included into the string, then the QR code will correctly implement the string, but if it is strictly numbers it will not.

Hi, actually my fork had already fixed this bug for inputs from 10-65535 three weeks ago. I now also fixed it for single-digit numbers - you can find the updated code here: https://github.com/JonasHeidelberg/barcode-vba-macro-only/commits/quickfix-witwall-issue-4/barcody.bas
Note you need to download the barcody.bas file - the XLSX is not updated yet. Hope this helps!

... I now also updated the XLSX and merged into my Master https://github.com/JonasHeidelberg/barcode-vba-macro-only
Would love to hear if this solves your issue!

Worked great, I thought it might be an off-by-one, but it would have taken
me forever to find it. Would love an explanation of how his code is
working! Thank you. My company decided to go ahead and purchase a dll for
use as we were concerned about bugs showing up during production, but I'll
keep this as a back up in case we ever lose that driver due to upgrades,
issues, ....
Thanks again, nice job.
Kennard
On Fri, Dec 22, 2017 at 4:16 PM, JonasHeidelberg<EMAIL_ADDRESS>wrote:

... I now also updated the XLSX and merged into my Master
https://github.com/JonasHeidelberg/barcode-vba-macro-only
Would love to hear if this solves your issue!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/witwall/barcode-vba-macro-only/issues/4#issuecomment-353683194,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AhDk3RlhdfBrQDkcrp0EjS6aYfhiZp05ks5tDCpZgaJpZM4RGJhq
.

Glad to hear you liked it! For commercial production code I completely agree with your company‘s decision! Until someone has made a somewhat extensive code review, this thing is a nice-to-have where you should always check that the output is what you expect...

Am 26.12.2017 um 16:59 schrieb makulais<EMAIL_ADDRESS>Worked great, I thought it might be an off-by-one, but it would have taken
me forever to find it. Would love an explanation of how his code is
working! Thank you. My company decided to go ahead and purchase a dll for
use as we were concerned about bugs showing up during production, but I'll
keep this as a back up in case we ever lose that driver due to upgrades,
issues, ....
Thanks again, nice job.
Kennard
On Fri, Dec 22, 2017 at 4:16 PM, JonasHeidelberg<EMAIL_ADDRESS>wrote:

... I now also updated the XLSX and merged into my Master
https://github.com/JonasHeidelberg/barcode-vba-macro-only
Would love to hear if this solves your issue!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/witwall/barcode-vba-macro-only/issues/4#issuecomment-353683194,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AhDk3RlhdfBrQDkcrp0EjS6aYfhiZp05ks5tDCpZgaJpZM4RGJhq
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

QR gen
If a comma is included in the number
It cannot be recognized correctly.
Please..
Example: In excel
555,0123456789,550,9999999999

Add a CHR(13) or CHR(10) at the end your input text to encode it correctly with numeric value.


md-tab-nav-bar wraps tabs instead of adding scroll controls

Bug, feature request, or proposal:
Bug?
What is the expected behavior?
When md-tab-nav-bar's tabs cannot fit on one line, it should be styled the same as tabs in md-tab-group: Add scroll left and right buttons.
What is the current behavior?
md-tab-nav-bar's tabs wrap to next line, which wouldn't be too big of a problem (if somewhat unexpected) if the ink bar stayed immediately under the menu option. However, the ink bar stays underneath the menu option, but at the bottom of the nav bar.
What are the steps to reproduce?
md-tab-group behavior:
`import { Component, OnInit } from '@angular/core';
@Component({
selector: 'tab-group-tester',
template: '<md-tab-group>
<md-tab label="Tab 1">Content 1</md-tab>
<md-tab label="Tab 2">Content 2</md-tab>
<md-tab label="Tab 3">Content 3</md-tab>
<md-tab label="Tab 4">Content 4</md-tab>
<md-tab label="Tab 5">Content 5</md-tab>
<md-tab label="Tab 6">Content 6</md-tab>
<md-tab label="Tab 7">Content 7</md-tab>
</md-tab-group>
',
styleUrls: ['./tab-group-tester.component.styl']
})
export class TabGroupTesterComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
`
md-tab-nav-bar behavior (display on iPhone 5 portrait to see last tab fall to next line):
`import { Component, OnInit } from '@angular/core';
@Component({
selector: 'user-profile',
template: '<nav md-tab-nav-bar>
<a md-tab-link
*ngFor="let link of navLinks"
[routerLink]="link.route"
routerLinkActive #rla="routerLinkActive"
[active]="rla.isActive">
{{link.label}}
</a>
</nav>
<router-outlet></router-outlet>
',
styleUrls: ['./user-profile.component.styl']
})
export class UserProfileComponent implements OnInit {
navLinks = [
    {route: '/user/profile/basic-info', label: 'Basic Info'},
    {route: '/user/profile/photos', label: 'Photos'},
    {route: '/user/profile/interests', label: 'Interests'},
    {route: '/user/profile/questionnaires', label: 'Questionnaires'},
];

constructor() { }

ngOnInit() {
}

}
`
What is the use-case or motivation for changing an existing behavior?
Make tab nav bar look the same as tab group, or at least have the ink bar fall immediately below tab label (like a bottom border) instead of at the bottom of the nav container.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 4.2.4, Material 2.0.0-beta.10, Ubuntu, TS 2.3.3, Chrome (haven't checked others)
Is there anything else we should know?
Still super happy with this package. Great work!
Sorry about the formatting of my sample code. Still learning how Markdown works.

Duplicate of #2177

This seems like a much easier fix because the navbar doesn't need to control the body, only itself. If this gets rolled into the larger "make them identical" issue, will it take longer to develop? If so, I might just make the mods myself.


Ability to pick and choose conflicting mod files to give load priority to

What if we could pick and choose conflicting assets produced by the mod linter to give load priority to?

It's currently possible to set load priority on a per-mod basis. I could potentially see a case for needing per-asset basis, but I think that introduces more complexity than necessary. The mods themselves should be fixed (split into separate mods) to allow better interoperability.


Multi language app   android:supportsRtl="true"

I have a multi language app with has    android:supportsRtl="true" in the Manifest. This causes library to assume that app is in a RTL language.  Although app's language at first run is the default locale which may be RTL or LTR
Culprit seems to  be LayoutUtil class.
Is there any way to override this?

Yes, I can reproduce this. We're working on a fix ASAP.


LGPL License

Would you consider changing the license to MIT as that's the most common and permissive OSS license?

Changed to MIT


[#152670116] Bump UAA version to 52.1

What
In order to protect ourselves from CVE-2017-8031 exposure, we need to
upgrade the UAA release to at least version 52.1.
How to review

Make sure that the version used will cover us against this CVE

I haven't tested this yet. It's still deploying in my pipelines.

Looks good. From the CVE:

Releases that have fixed this issue include:
UAA: 30.6, 45.4, 52.1


go get done but nothing changes in src

What version of Go are you using (go version)?

$ go version
D:\go-test>go version
go version go1.13.4 windows/amd64

Does this issue reproduce with the latest release?
didnt try
What operating system and processor architecture are you using (go env)?
windows 7
go env Output
D:\go-test>go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\suzumiya\AppData\Local\go-build
set GOENV=C:\Users\suzumiya\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=D:\Go\code;D:\Users\administrator\go\src\awesomeProject
set GOPRIVATE=
set GOPROXY=https://goproxy.cn,direct
set GOROOT=D:\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=D:\go-test\go.mod
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config

What did you do?
D:\go-test>go get -t -v github.com/golang/protobuf/proto
go: finding github.com/golang/protobuf v1.3.2
go: downloading github.com/golang/protobuf v1.3.2
go: extracting github.com/golang/protobuf v1.3.2

What did you expect to see?
my code runs successfully.
What did you see instead?
still telling me cannot find and nothing new in src
D:\Go\code\src\k8s.io\client-go\discovery\discovery_client.go:28:2: cannot find package "github.com/golang/protobuf/proto" in any of:
D:\Go\src\github.com\golang\protobuf\proto (from $GOROOT)
D:\Go\code\src\github.com\golang\protobuf\proto (from $GOPATH)

Run the go get command from the directory your code is in or with GO111MODULE=off
For future questions please refer to https://github.com/golang/go/wiki/Questions

This issue seems to be a question about how to use Go, rather than a feature request or defect report about the Go language and/or toolchain.
We have decided that our experiment to allow questions on the issue tracker has not had the outcome we desired, so I am closing this issue. I'm sorry that we can't answer your question here.
There are many other methods to get help if you're still looking for answers:

The golang-nuts mailing list.

Stack Overflow, with questions tagged go.

The Go Forum, a web-based forum hosted by GoBridge.

The Gophers Slack hosted by GopherAcademy; use the invite app for access.
The #general channel is a good starting point.

Go Community on Hashnode with questions and posts tagged with "go"

IRC channel #go-nuts on Freenode

Thanks


Request: Batch Processing

Hello sleepy9090
I really like your tool and I thought maybe you could add batch processing for:
1- Detecting if the ROMs in a folder have headers (NES 1.0 or NES 2.0) and then removing them (to match No-Intro set)
2- Adding NES 1.0 or NES 2.0 headers based on this database HERE
3- Cleaning Junk data at the end of the ROMs
Note: In the program right now if I load a ROM with NES 2.0 header then load a ROM without a header, the header data of the first ROM are still displayed
I think Kitrinx's script can do some but it seems to have an issue with regions and not being able to detect and remove headers
Script
Issue
Thanks

Hi, glad you like the util Sam,
I will dive into it here in a few days. Thanks for reporting. I have to refresh my mind with this code.
-sleepy9090

Hi, glad you like the util Sam,
I will dive into it here in a few days. Thanks for reporting. I have to refresh my mind with this code.
-sleepy9090


Semaphore CI's webhook notifications don't work

It looks like the payload format for the webhook notifications has changed. The old format described here is expected by the webhook code. The test fixtures also have payloads that look very similar to what has been described here.
The new payload format is documented here

@zulipbot  claim

The notification payload seems less useful than what it was before - links to the commit/changes, and a link to the build are missing from the payload. :see_no_evil:

I've also done some research on this and i want to mention a few things :

There are two versions of semaphore - Semaphore classic and Semaphore 2.0, which are operating as two distinct products. Have a look on this page.
So, our existing code should work for semaphore classic (well, i'm not sure whether it's working or not) and we need to extend our support for semaphore 2.0. (The old payload corresponds to semaphore classic and the new one is for Semaphore 2.0).
For extending our support to semaphore 2.0, i think we need to understand the basic working concept behind it (I believe it's different from the classic one). Maybe, then we'll be able to extract the useful information from the new notification payload and send a notification.
And yes, i also think that the new payload is somewhat less useful. Anyway we can generate commit links using the commit id's but, maybe we cannot generate link to the build.

@punchagan I have two kinds of approach to this issue.
We can handle both the payloads in the existing view and trigger the notification according to the payload we'll receive or we can have a separate integration for Semaphore 2.0.
So, how should i proceed now ?

From a user's perspective, it might be best to just have a single integration and do the right thing in the webhook code.
But, the help instructions in the /integrations page would probably be slightly different for the two versions, since the UI in Semaphore would be different, and the notification in Zulip itself would be slightly different because the payloads are different.
Following from the Bitbucket example, having a separate integration might be the way to go.

@punchagan I've integrated Semaphore 2.0 and tested it locally (using devtools), tests are also running without any fail.
I've generated the links to commit/pull request using the commit-id/pull_request-number and this should work if we get correct data in payload.
Please review this PR.

I've spent some time working on this, and cleaned up the PR, and captured actual payload data. It seems like the Semaphore2.0 docs lie about the notification payload containing information about the pull request. They claim that the revision.pull_request key in the payload would contain more information for the payload of a pull-request, but it isn't there. Without this information, the pull-request notification is pretty useless.
I wonder if we should remove the notification, instead of sending one that is not really actionable.


Keep track of what series have new head chunks to avoid iterating over all timeseries every minute to mmap new chunks

This is another approach for https://github.com/prometheus/prometheus/pull/14610
We still can mmap chunks during head compaction but also now we keep track of the series with new chunks in order to avoid extra locks on the stripped series and also avoid iterating over all series every minute.

/prombench main

/prombench restart main

There were a bug where we could end up skipping mmap some series on a race but i think it did not influence a lot the bench results (fix: https://github.com/prometheus/prometheus/pull/14752/commits/c2a5bf25053b65d761158ddd2e6d71ef9170f3a0).
We can try to restart it if we think is worth it.

/prombench main

hum... seems that it did not pick the new code? i dont see any gap on the graphs of the prombench so far.

Looks a bit bigger

Seems pretty similar to me last 6 hours? Am I looking at the wrong place?

I could also simplify the code a bit and set seriesForMMap to nil instead of trying to reuse the slice.. this may be better and we make sure we dont keep this slice around when is not needed.
func (h *Head) mmapHeadChunks() {
	h.seriesForMMapLock.Lock()
	series := h.seriesForMMap
	h.seriesForMMap = nil
	h.seriesForMMapLock.Unlock()
	var count int
	for _, s := range series {
		s.Lock()
		count += s.mmapChunks(h.chunkDiskMapper)
		s.Unlock()
	}
	h.metrics.mmapChunksTotal.Add(float64(count))
}

/prombench cancel


net: DNS address resolution quirks (AAAA records inconsistency)

This bug reports is about an inconsistency on how resolution is handled between the Go resolver and the CGO one.
I do not expect a bugfix (although probably beneficial, but I leave that estimation to others) but at least an understanding of why the Go resolver behaves this way.
What version of Go are you using (go version)?
go version go1.10.1 linux/amd64

Does this issue reproduce with the latest release?
Latest release is 1.10.2 at the time of writing; not tested, by reading the release notes, nothing should have changed on the relevant code.
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCACHE="[...]"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="[...]"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build482647299=/tmp/go-build -gno-record-gcc-switches"

Test setup
issue25321.go can be obtained from https://play.golang.org/p/kE_Unq4VvkO
IPv6 is disabled on this box; the DNS server may or may not return AAAA records (I have a toggle for that).
When AAAA answers are allowed:
$ nslookup -query=AAAA www.googleapis.com
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
www.googleapis.com	canonical name = googleapis.l.google.com.
googleapis.l.google.com	has AAAA address 2a00:1450:4001:825::200a

Authoritative answers can be found from:

When they are not allowed:
$ nslookup -query=AAAA www.googleapis.com
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

*** Can't find www.googleapis.com: No answer

But in both cases, an A query works:
$ nslookup -query=A www.googleapis.com
;; Warning: Message parser reports malformed message packet.
;; Truncated, retrying in TCP mode.
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
www.googleapis.com	canonical name = googleapis.l.google.com.
Name:	googleapis.l.google.com
Address: <IP_ADDRESS>
[... amended ...]

Test results
Reminder: IPv6 is always disabled, only the netdns resolver and the responses of the DNS are varying for the below tests.

Command
DNS returns AAAA
DNS does not return AAAA

go run issue25321.go
:finnadie: 2018/05/10 00:52:01 dial failed www.googleapis.com Get http://[2a00:1450:4001:821::200a]:80/: dial tcp [2a00:1450:4001:821::200a]:80: connect: cannot assign requested address2018/05/10 00:52:11 HTTP failed www.googleapis.com Get http://www.googleapis.com/: dial tcp [2a00:1450:4001:821::200a]:80: connect: cannot assign requested address
:finnadie: 2018/05/10 00:43:23 dial failed www.googleapis.com lookup www.googleapis.com on <IP_ADDRESS>:53: read udp <IP_ADDRESS>:59700-><IP_ADDRESS>:53: i/o timeout2018/05/10 00:43:33 HTTP failed www.googleapis.com Get http://www.googleapis.com/: dial tcp: lookup www.googleapis.com on <IP_ADDRESS>:53: read udp <IP_ADDRESS>:43538-><IP_ADDRESS>:53: i/o timeout

GODEBUG=netdns=cgo go run issue25321.go
:feelsgood: 2018/05/10 00:47:23 dial failed www.googleapis.com Get http://[2a00:1450:4001:81d::200a]:80/: dial tcp [2a00:1450:4001:81d::200a]:80: connect: cannot assign requested address2018/05/10 00:47:23 OK www.googleapis.com <IP_ADDRESS>:57248 -> <IP_ADDRESS>:80
:suspect: 2018/05/10 00:43:07 OK www.googleapis.com <IP_ADDRESS>:57156 -> <IP_ADDRESS>:80

Forgive the horrible representation, but there are two log lines at most in those table cells, you can see them better by copy/pasting their content.
Worthy of note: in the case of CGO resolver and AAAA answers allowed, first there is a failure (dialer) and then a success (HTTP request).
Another note: resolving www.bing.com is not affected by this problem, so problem must be related to how the records are returned from the DNS.
Expected results
The expected result for all the 4 combinations would be (since IPv6 is disabled on this box): do not try AAAA and use an A record, like on the bottom-right cell of the tests matrix.
Questions arising from this test

how is the order of answers handled? is there a preference to AAAA records somehow? (I am inclined to think so)
how could ever the resolution timeout when no AAAA is returned? this would be somehow the most serious part of the bug (if acknowledged), although it should first be determined if it is not a problem of the DNS (server-side)

Related

#8453
https://github.com/ncw/rclone/issues/2302

/cc @mikioh

Can you test at tip? The Go resolver has been largely rewritten.

In your original report, resolution failed when there was only an A and the Go resolver was in use. This was likely caused by the Go resolver rejecting the response containing the A record for some reason. This appears to have been fixed in your update.
In both the original report and the update, Go prefers the IPv6 address over the IPv4 address and does not fall back to the IPv4 address if IPv6 is disabled.

Does that sound right? If so, I think the problem may be a bug in Dial's fallback logic.

@iangudger yes, I missed that but with 65c365b the top-right scenario has indeed been fixed.
As for the 2nd bug, I have dug a bit deeper. These are the relevant sysctl params (notice the second one):
$ sysctl net.ipv6.conf.all.disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 1
$ sysctl net.ipv6.bindv6only
net.ipv6.bindv6only = 0

For the records: on this (and similar) boxes no interface has any IPv6 address enabled/used.
I have patched a unit test to quickly determine what probe() is doing (it's a copy/paste from https://github.com/golang/go/blob/master/src/net/ipsock_posix.go with a few t.Log() added):
diff --git a/src/net/ipsock_test.go b/src/net/ipsock_test.go
index aede354..204cda3 100644
--- a/src/net/ipsock_test.go
+++ b/src/net/ipsock_test.go
@@ -7,6 +7,9 @@ package net
 import (
        "reflect"
        "testing"
+       "internal/poll"
+       "runtime"
+       "syscall"
 )

 var testInetaddr = func(ip IPAddr) Addr { return &TCPAddr{IP: ip.IP, Port: 5682, Zone: ip.Zone} }
@@ -280,3 +283,59 @@ func TestAddrListPartition(t *testing.T) {
                }
        }
 }
+
+// Probe probes IPv4, IPv6 and IPv4-mapped IPv6 communication
+// capabilities which are controlled by the IPV6_V6ONLY socket option
+// and kernel configuration.
+//
+// Should we try to use the IPv4 socket interface if we're only
+// dealing with IPv4 sockets? As long as the host system understands
+// IPv4-mapped IPv6, it's okay to pass IPv4-mapeed IPv6 addresses to
+// the IPv6 interface. That simplifies our code and is most
+// general. Unfortunately, we need to run on kernels built without
+// IPv6 support too. So probe the kernel to figure it out.
+func TestIPv6(t *testing.T) {
+       s, err := sysSocket(syscall.AF_INET, syscall.SOCK_STREAM, syscall.IPPROTO_TCP)
+       switch err {
+       case syscall.EAFNOSUPPORT, syscall.EPROTONOSUPPORT:
+       case nil:
+               poll.CloseFunc(s)
+               t.Log("p.ipv4Enabled = true")
+       }
+       var probes = []struct {
+               laddr TCPAddr
+               value int
+       }{
+               // IPv6 communication capability
+               {laddr: TCPAddr{IP: ParseIP("::1")}, value: 1},
+               // IPv4-mapped IPv6 address communication capability
+               {laddr: TCPAddr{IP: IPv4(127, 0, 0, 1)}, value: 0},
+       }
+       switch runtime.GOOS {
+       case "dragonfly", "openbsd":
+               // The latest DragonFly BSD and OpenBSD kernels don't
+               // support IPV6_V6ONLY=0. They always return an error
+               // and we don't need to probe the capability.
+               probes = probes[:1]
+       }
+       for i := range probes {
+               s, err := sysSocket(syscall.AF_INET6, syscall.SOCK_STREAM, syscall.IPPROTO_TCP)
+               if err != nil {
+                       continue
+               }
+               defer poll.CloseFunc(s)
+               syscall.SetsockoptInt(s, syscall.IPPROTO_IPV6, syscall.IPV6_V6ONLY, probes[i].value)
+               sa, err := probes[i].laddr.sockaddr(syscall.AF_INET6)
+               if err != nil {
+                       continue
+               }
+               if err := syscall.Bind(s, sa); err != nil {
+                       continue
+               }
+               if i == 0 {
+                       t.Log("p.ipv6Enabled = true")
+               } else {
+                       t.Log("p.ipv4MappedIPv6Enabled = true")
+               }
+       }
+}

Result of running this test:
go test -v -run TestIPv6 ./src/net/
=== RUN   TestIPv6
--- PASS: TestIPv6 (0.00s)
	ipsock_test.go:303: p.ipv4Enabled = true
	ipsock_test.go:338: p.ipv4MappedIPv6Enabled = true
=== RUN   TestIPv6MulticastListener
--- SKIP: TestIPv6MulticastListener (0.00s)
	listen_test.go:615: IPv6 is not supported
=== RUN   TestIPv6LinkLocalUnicastTCP
--- SKIP: TestIPv6LinkLocalUnicastTCP (0.00s)
	tcpsock_test.go:377: IPv6 is not supported
=== RUN   TestIPv6LinkLocalUnicastUDP
--- SKIP: TestIPv6LinkLocalUnicastUDP (0.00s)
	udpsock_test.go:283: IPv6 is not supported
PASS
Socket statistical information:
(inet4, stream|0x80800, tcp): opened=1 connected=0 listened=0 accepted=0 closed=1 openfailed=0 connectfailed=0 listenfailed=0 acceptfailed=0 closefailed=0
(inet6, stream|0x80800, tcp): opened=2 connected=0 listened=0 accepted=0 closed=2 openfailed=0 connectfailed=0 listenfailed=0 acceptfailed=0 closefailed=0

ok  	net	0.002s

Relevant lines:
	ipsock_test.go:303: p.ipv4Enabled = true
	ipsock_test.go:338: p.ipv4MappedIPv6Enabled = true

So in order to reproduce the bug(s), the machine must have IPv6 disabled but IPv6 can bind on IPv4.
To toggle AAAA functionality server-side (DNS) I am using unbound with a modified python filter (I got some clues from https://github.com/berstend/unbound-no-aaaa).
If needed I can reproduce the tests with Go 1.10.1 and master, however - before running further tests - I am also looking at identifying all the test matrix dimensions to eventually create some sort of tests suite.
Temptatively:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.all.disable_ipv6 = 0 (I have not tested this so far)
net.ipv6.bindv6only = 1 (I have not tested this so far)
net.ipv6.bindv6only = 0
DNS returns A, AAAA
DNS returns only A
using Go resolver
using CGO resolver
(add more dimensions here for other OSes if you want to go wild...only Linux tested so far)

Ideally we should be able to identify desired behaviour for all the (valid) permutations; for the records, on Linux all permutations are valid (might not be the case on Windows/BSD/etc).
Another relevant aspect is the total resolution time spent.

Probably this is why the golang apps compiled without CGO (netdns) enabled are throwing Post https://any.com/sdk: dial tcp: lookup any.com on [::1]:53: read udp [::1]:41165->[::1]:53: read: connection refused (see the two referenced terraform and minio client issues above this post)
my-samsung-s8$ sysctl net.ipv6.conf.all.disable_ipv6 net.ipv6.bindv6only
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.bindv6only = 0

Can the Go netdns be fixed in a way that it would be falling back to IPv4 if it fails to bind to IPv6? Or, rather, it would not even try IPv6 in the first place if it sees the net.ipv6.bindv6only = 0 or any other relevant to the IPv6 tunable?
There are more people starting to use Samsung DeX, they are going to get blocked by this issue, forced to recompile the software, rather than just directly using it.

+1.
FTR: I experience this on the Google Kubernetes Engine, where IPv6 is generally not available, when using pure Go applications from inside the cluster and connecting to some Google Cloud endpoints with IPv6 records (such as www.googleapis.com). We receive ever so sporadic »cannot assign requested address« errors from inside the cluster, and Google Cloud Support pointed us in the direction of this issue.
Using the cgo-based resolver would require a different build configuration, which is something I would rather avoid. Parallelly, an issue has been raised in the Google Kubernetes Engine issue tracker to teach kube-dns to drop the AAAA records if IPv6 is not available inside a cluster.

This has been affecting us in our environment as well, which is containerized linux/amd64 with IPv6 completely disabled:
→ sysctl net.ipv6.conf.all.disable_ipv6 net.ipv6.conf.default.disable_ipv6 net.ipv6.bindv6only
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.bindv6only = 0

For us, it occasionally manifests when calling the Lets Encrypt ACME API:
Post "https://acme-v02.api.letsencrypt.org/acme/chall-v3/REDACTED": dial tcp [2606:4700:60:0:f53d:5624:85c7:3a2c]:443: connect: cannot assign requested address

We've tried with CGO enabled and disabled at build time, with both resolvers (netgo vs cgo) at runtime, and also with/without setting FallbackDelay=-1 to disable Happy Eyeballs.
The issue persists for us, even with Go 1.16.
Debugging
Here's what I found when trying to dig in on the dial side, hopefully it helps other folks running into this:
Based on the discussion above, at first I thought it was an issue with ordering of the resolved addrs, and that the TCP dialer was not properly handling this case properly.
However, after reading through a lot of the dial{Parallel,Serial,Single} code, I've come to the conclusion that regardless of which dial path is taken (which is essentially driven by whether FallbackDelay > 0), the issue still persists. Both dialParallel and dialSerial will return the first valid connection and a nil error, regardless of the order.
To me, this implies that the Go resolver sometimes ONLY returns IPv6 addresses, when it should also return IPv4 in addition; it seems like the resolver sometimes just isn't including A records at all, leaving only the AAAA record's IPv6 address as the only option. Considering it's happening with both the netgo and cgo resolvers, it's also possible the environment's resolver was misbehaving.  Perhaps this situation just happens less frequently with the CGO resolver, however. It's hard to say if the A record actually failed to resolve, or something else is causing it to not be included in the returned list.
Possible workarounds
I considered working around this by setting the dialer's Control function to simply return an error if network == "tcp6", but that essentially is the same thing as what happens now - if the IPv6 address is considered the primary/first, that error would be returned from dialParallel/dialSerial, and so the overall Dial would still fail.
The one option that I do believe works is explicitly specifying the LocalAddr field in the Dialer to an IPv4 address that is NOT <IP_ADDRESS>, because it is used as a "hint" to filter out resolved addresses. When that field is not specified (nil) or is specified as <IP_ADDRESS>, the dialer's resolution code exits out early and doesn't do any filtering on the resolved addresses.
Further, setting a custom Resolver with StrictErrors: true can help to bubble up any resolution errors earlier, rather than masking them and just getting a partial addrs list back.

Yeah I meant to leave an update on my previous comment, that as of Go 1.17, explicitly passing tcp4 does result in the Go resolver not executing an AAAA lookup, so that was a nice optimization. It didn't really affect the tcp dialing, because tcp4 leads to IPv6 addresses getting filtered out right before the dial.
In our environment (IPv6 disabled), using tcp4 has helped a lot.


BeamNG Template

Hey,
I have made a BeamNG Template. As I am new to Github it would be very nice if someone could help me out, how to contribute.
BG
Paul

You made your pull request against the wrong branch, you checked out the v2 branch and are now trying to get that merged into the v1 branch, please reopen your pull request against the v2 branch, then you're good to go
It may take some time, but once you made a pull request against the correct branch we will need to review that and possibly give you comments on things we'd like to see changed, once all those are taken care of we can merge that and with that your contribution here will be available to all PufferPanel users


Radio buttons do not store boolean values in array

Radio buttons do not store value
Documentation contains example of radio buttons with titleMap that binds to boolean schema field and it works unless those radio buttons are in Array.
Dependency versions

angular 1.5.11
angular-sanitize 1.5.11
angular-schema-form 0.8.13
jquery 1.9.1
ObjectPath 1.1.0 (bower version)
TV4 1.2.7 (bower version)

Gist/Plunker/Demo
Plunker example showing the issue
Related issues
This is/maybe related to:

https://github.com/json-schema-form/angular-schema-form/issues/330 Checkbox inside an array for more than one level doesn't work #330
https://github.com/json-schema-form/angular-schema-form/issues/274 Deleting array item in multi-item array copies deleted invalid value to another array item #274

@json-schema-form/angular-schema-form-lead

I tried your example with schemaform.io example and it worked
http://schemaform.io/examples/bootstrap-example.html#/b253cb6f17d61e46eee2bbfe448b63d7
maybe you should change to 1.0 alpha

@ivarprudnikov @vinhthang this was an issue introduced by the new builder, it should be fixed within the alpha, but there are some issues still with add-ons, so if you aren't using any add-ons then you should be fine to go with the alpha now. Otherwise you may have to downgrade to 0.8.12 which I think is what the schemaform.io demo is using.

@john-latham is this one of the issues you have been having?

This should be working again in the latest alpha.

Updated plunker showing that it works in 1.0.0-alpha.4 https://plnkr.co/edit/vnyh4yWedQR7UD21yCI4?p=preview

@Anthropic could you point to the code which fixes the issue in 1.0.0-alpha.4 so that fix can be backported to 0.8 branch?

@ivarprudnikov that's a bit tricky, I expect that it is related to a combination of the field names, which now use a function to ensure that ids and names are unique and also that arrays now manage themselves using $$hashKey instead of $index. I never specifically fixed this issue, I just fixed so many array based issues it got lucky :)
The changelog should list all the issues and hopefully the commit either had the code in it or was within one or two commits that did. Sorry but that's the best I can offer for now.


Configure grunt-contrib-watch with livereload option for Devilbox

I would love to be able to use https://github.com/gruntjs/grunt-contrib-watch with the livereload option https://github.com/gruntjs/grunt-contrib-watch#optionslivereload alongside Devilbox and VS Code.
npm install grunt-contrib-watch --save-dev

In the Gruntfile.js, among other things, I have this.
watch: {
    scss: {
    files: [
        '/shared/httpd/projectabc/htdocs/scss/style_scss.scss'
    ],
    options: {
        livereload: true,
        // livereload: 1337,
        keepAlive: true
    },
    tasks: ['sass', 'postcss', 'cssmin']
},

The Gruntfile works fine inside Devilbox, I can compile scss to css, minify, uglify, etc.
Now when I run the watch task outside the Devilbox a live reload server will be started with the watch task per target. When I include the livereload script in the HTML it works fine for the site and page I am working on.
This works because the livereload script will be hosted at localhost:35729/livereload.js once the watch task is running.
However I would not know how to do this inside Devilbox. I cannot figure out where the watch task hosts the livereload script inside Devilbox. I tried different ports as well as setting the URL of the site I work on to the URL of the livereload script as well.
http://projectabc.loc:35729/livereload.js or https://projectabc.loc:35729/livereload.js or http://projectabc.loc:1337/livereload.js but when I check that URL it just gives me a 404.
Outside Devilbox I can see the livereload script just fine under the localhost:35729/livereload.js URL.
Is there a way to do this at all inside Devilbox? How would I be able to see where the watch task spins up the server and then "connect it" or make it "pass through" to Devilbox?
So far I have not tried using the web extensions 1, 2 or what is recommended here or links to here from the main livereload.com site under "Linux?".
@boumanb do you maybe have an idea? ;) If not what are you using to get livereload working in your projects?

Hi,
Thanks for the extensive write-up. Because of it I managed to do some testing, I'm not that familiar with Grunt etc. However, the good news is: I've managed to get it working! :smile:
Because you're visiting the project through the browser on the host it's not able to resolve <script src="//localhost:35729/livereload.js"></script> (because it is being hosted inside the php container). We need to tell docker to expose that particular port 35729 so that we can reach the livereload.js inside of the php container from our host system.
This is done like this:

Navigate to the Devilbox root directory (where .env and docker-compose.yml are located) and create a new file (if you don't have one already) called docker-compose.override.yml.
Copy the following into the file:

# IMPORTANT: The version must match the version of docker-compose.yml
version: '2.1'

services:
  php:
    ports:
      # ---- Format: ----
      # [HOST-ADDR : ] HOST-PORT : DOCKER-PORT
      - "35729:35729"

Now restart Devilbox and make sure the following is in the <head> of your project: <script src="//localhost:35729/livereload.js"></script>
Run grunt watch inside Devilbox
Make a change and if all is fine it should now livereload

Dear @boumanb
I can't thank you enough for helping me out on this one. Thank you! :hugs:
Saw this yesterday and it was like a Christmas present, quite neat. :heart:
Seeing how this works I can observe a pattern here, we are mainly doing work in the php container and any services that I might want/need would have to be connected from the host to the container. Well, if they are not already supplied with Devilbox. :wink:
p.s. went on to check your personal website but the certificate expired, get that sorted and all the best in your coding adventures. :+1:

Seeing how this works I can observe a pattern here, we are mainly doing work in the php container and any services that I might want/need would have to be connected from the host to the container. Well, if they are not already supplied with Devilbox. 😉

Exactly. 😄

p.s. went on to check your personal website but the certificate expired, get that sorted and all the best in your coding adventures. 👍

Thanks for notifying me. I forgot I had it.
You can resolve this issue if everything is working as supposed, thanks!


Change r2 put response encoding

Without this, the await env.MY_BUCKET.put(...) of https://developers.cloudflare.com/r2/api/workers/workers-api-usage/ hangs indefinitely
This problem matches the description in https://github.com/cloudflare/workers-sdk/issues/3688 and https://discord.com/channels/595317990191398933/1138945222873731264/1138945222873731264.

The tre branch seems to be where the currently released version of miniflare is? Are there any tests for this behaviour to verify?
I'm not completely sure why encodeResult doesn't work here, but with it I observed that writeResponse would be get stuck in this loop: https://github.com/cloudflare/miniflare/blob/cf080a81ff72902f3b2f86e344beeaeffddebfdd/packages/miniflare/src/index.ts#L350-L353

Thanks for the response! I was already getting a bit confused as I thought this had worked on wrangler v3 before but after returning to a project after a while it had suddenly stopped. Couldn't get it to work by downgrading wrangler/miniflare but didn't think node would have been the issue...
With my node fixed to the LTS version the old code seems to work again, I'll close this out and lets wait for the node fix then.


Add 5.1 playbook update ocp rhcos

This fix adds support to reinstall the cluster using an updated version of OCP and/or rhcos defined in the all.yaml without rebuilding the bastion node. The new playbook is 5.1_update_ocp_rhcos_version.yaml, deleting the ignition and rhcos img files and pull the specified OCP and rhcos versions again.
After destroying the cluster, running  5.1_update_ocp_rhcos_version.yaml the playbooks 6_create_nodes.yaml and 7_ocp_verification.yaml are rebuilding the cluster.
In addition the broken code links are being fixed, too.

Closing as this was repurposed for PR Add reinstall_cluster playbook #75


Proper String lexing

Following up on the recently closed #290, we actually decided to have proper string lexing and support across all backends. Ideally, we would have thorough string lexing/parsing without regex but with a custom "parser" (new Parser[String]) as it is currently done for the insertion of semicolons here:
https://github.com/effekt-lang/effekt/blob/cf3b7d1fa7eda3a92f74351d99fcd3de159c900f/effekt/shared/src/main/scala/effekt/Parser.scala#L595-L640
Currently, the all (potentially invalid) escape sequences are permitted by the lexer
https://github.com/effekt-lang/effekt/blob/cf3b7d1fa7eda3a92f74351d99fcd3de159c900f/effekt/shared/src/main/scala/effekt/Parser.scala#L737
but instead, we want to only permit these escape sequences for strings. This also entails implementing potential conversions of source language strings to strings that are semantically equivalent but supported by the respective backends (see https://github.com/effekt-lang/effekt/pull/290#issuecomment-1773157642).

This was resolved by #435.


http info api returns "isSyncing: true" even though the hub seems fully synced

What is the bug?
Me and one other user have left our Hubs running for a long time and it seems synced, however, the http info api returns isSyncing: true
How can it be reproduced? (optional)
Run hubble as a container, let it fully sync (?), disk usage is around 3.7GB (and growing slowly), call the /info http api and see the json response which includes isSyncing: true
Additional context (optional)
I use this api to let hub runners know that their Hub is syncing or fully synced, like so:

I have tried to resync from scratch but no change, isSyncing is true most of the time.

grafana seems to show me I have a p2p problem.
Here are some graph (CET time) from 2024-02-28 07:10:00 to 2024-02-28 11:10:00 (from=1709100600000&to=1709115000000)

2282 and 2283 ports are open in tcp.
Am i missing something ?
There are so much logs that I'm unable to guess if something important happening, I'm trying to filter on component SyncEngine.

There might be a misunderstanding about what isSyncing means.
Based on what I'm reading in the code, these are the conditions for isSyncing to be true:

Last sync was not unsuccessful (https://github.com/farcasterxyz/hub-monorepo/blob/d359ebcdfafdc1fd44c5eaf77700acd74e652519/apps/hubble/src/network/sync/syncEngine.ts#L663)
Hub has a peer ID (https://github.com/farcasterxyz/hub-monorepo/blob/d359ebcdfafdc1fd44c5eaf77700acd74e652519/apps/hubble/src/network/sync/syncEngine.ts#L151)

Therefore, we would expect isSyncing to usually be true, even if the hub's last sync with its peer didn't result in any changes.
Going to close as not a bug, but feel free to reopen if I've misunderstood the issue. Thanks!

Thanks for the info @sds! Just to confirm, it seems like isSyncing=true is a good thing and to be expected.
Some Ethereum node runners might be confused as Eth nodes have a sync API with a different meaning https://www.quicknode.com/docs/ethereum/eth_syncing

Thanks for the feedback! Looks like you're not alone. Another team member noticed this discrepancy as well and is including a fix in an unrelated PR. So stay tuned for when that lands.


Separate responsive controls from first column contents

WHY
BEFORE - What was wrong? What was happening before this PR?
It was not possible to have a link (<a href="...">) on the first column while having responsive table enabled.
I was always bugged by that, but didn't find the "motivation" to work on a solution for it.
Today while working on https://github.com/Laravel-Backpack/editable-columns/pull/79 I found out that editable columns had an "hacky" solution to address the before mentioned problem with responsive tables, introduced here: https://github.com/Laravel-Backpack/editable-columns/pull/14
This hacky solution had undesired side effects, like while trying to set the input to type=date for example, it wouldn't trigger the default input calendar for date selection as the click handler was hijacked.
Upon further investigation to datatables api I found out that it's possible to make the column "trigger the responsive modal" without displaying the "three dots" by using type: none in responsive table details configuration.
Also found that's possible for responsive table to configure the target that triggers the responsive functionality.
Connecting all the dots I came up with this solution, that only triggers the responsive modal when clicking in the target (three dots), and leaves the rest of the column free to have other behaviors, such an anchor 👍
AFTER - What is happening after this PR?
We can now have other triggers (clicks etc) in the first column content without interference from datatables responsive plugin.
It will allow me to remove the click hijack in the editable columns.
HOW
How did you achieve that, in technical terms?
Configured datatables to don't display the "controls" (three dots) for the responsive functionality.
Configured datatables to seek for a dtr-control class in the row to trigger the responsive functionality.
Manually added the "controls" similar to how we add the details row/bulk actions.
Is it a breaking change?
I don't think so.
How can we test the before & after?
Add a link in the first column and enable details row.

I've tested this on all themes, we are golden 👍

I'm not sure but I think this caused the 3 dots in the first column to disappear in all my list views on mobile, even if the first column is no custom column at all.


[Edit Event] Codeunit 5870 "Calculate BOM Tree" - OnAfterModifyBomBufferAfterTransferFromProdRouting

Hi,
please edit event OnAfterModifyBomBufferAfterTransferFromProdRouting in procedure GenerateProdCompSubTree
local procedure GenerateProdCompSubTree(ParentItem: Record Item; var BOMBuffer: Record "BOM Buffer") FoundSubTree: Boolean
    var
        CopyOfParentItem: Record Item;
        ProdBOMLine: Record "Production BOM Line";
        RoutingLine: Record "Routing Line";
        ParentBOMBuffer: Record "BOM Buffer";
        UOMMgt: Codeunit "Unit of Measure Management";
        VersionMgt: Codeunit VersionManagement;
        CostCalculationMgt: Codeunit "Cost Calculation Management";
        LotSize: Decimal;
        BomQtyPerUom: Decimal;
        IsHandled: Boolean;
    begin

        [...]

        if RoutingLine.ReadPermission then
            with RoutingLine do
                if (TreeType in [TreeType::" ", TreeType::Cost]) and
                   CertifiedRoutingVersionExists(ParentItem."Routing No.", WorkDate)
                then begin
                    repeat
                        if "No." <> '' then begin
                            BOMBuffer.SetLocationVariantFiltersFrom(ItemFilter);
                            BOMBuffer.TransferFromProdRouting(
                              EntryNo, RoutingLine, ParentBOMBuffer.Indentation + 1,
                              ParentBOMBuffer."Qty. per Top Item" *
                              UOMMgt.GetQtyPerUnitOfMeasure(ParentItem, ParentBOMBuffer."Unit of Measure Code"),
                              ParentBOMBuffer."Needed by Date",
                              ParentBOMBuffer."Location Code");
                            OnAfterTransferFromProdRouting(BOMBuffer, RoutingLine);
                            if TreeType = TreeType::Cost then begin
                                LotSize := ParentBOMBuffer."Lot Size";
                                if LotSize = 0 then
                                    LotSize := 1;
                                CalcRoutingLineCosts(RoutingLine, LotSize, ParentBOMBuffer."Scrap %", BOMBuffer, ParentItem);
                                BOMBuffer.RoundCosts(
                                  ParentBOMBuffer."Qty. per Top Item" *
                                  UOMMgt.GetQtyPerUnitOfMeasure(ParentItem, ParentBOMBuffer."Unit of Measure Code") / LotSize);
                                BOMBuffer.Modify();
                            end;

                            //old code
                            //OnAfterModifyBomBufferAfterTransferFromProdRouting(BOMBuffer, RoutingLine, LotSize);
                            //new code
                            OnAfterModifyBomBufferAfterTransferFromProdRouting(BOMBuffer, RoutingLine, LotSize, ParentItem, ParentBOMBuffer);
                            //end new code
                        end;
                    until Next = 0;
                    FoundSubTree := true;
                end;

        BOMBuffer := ParentBOMBuffer;
    end;

    [IntegrationEvent(false, false)]
    local procedure OnAfterModifyBomBufferAfterTransferFromProdRouting(var BOMBuffer: Record "BOM Buffer"; RoutingLine: Record "Routing Line";var LotSize: Decimal, ParentItem: Record Item, ParentBOMBuffer: Record "BOM Buffer")
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Homekit state changes

allow custom mapping for armed state
allow custom mapping for partially armed state
define used states only in Homekit: either Off / "Armed" or Off / "Partially Armed" / "Armed"

Thank you for your contribution, could you please add some instructions to the README on how to use the new feature?

Thank you for your contribution, could you please add some instructions to the README on how to use the new feature?

Done now


EU law sourcing datasets summary

Due to the recent EU laws being passed, I'd like to know what the dataset is that it's trained on. The applications of this is limited in my region if I cannot point out the datasets of the tool.

Not until "Open"AI releases info about what totally-non-copyrighted datasets they used to train their SORA model. 😊

Due to the recent EU laws being passed, I'd like to know what the dataset is that it's trained on. The applications of this is limited in my region if I cannot point out the datasets of the tool.

LMAO


Pasting "shortened link" is not recognized as a link (incorrect regex)

Describe the bug
See the rule: https://github.com/scrumpy/tiptap/blob/master/packages/tiptap-extensions/src/marks/Link.js#L53
It requires the domain before the TLD name to be at least 2 characters, but for example, Telegram style links are not
Steps to Reproduce / Codesandbox Example
Try the string https://www.google.com https://t.me/eosgo/9258 on regexpal, it fails to notice the t.me link
Fix
by changing {2,256} to {1,256} in the existing regex, this problem is resolved.
Additionally, until this is patched in the main branch, you can use Link2 in place of Link
import { pasteRule } from 'tiptap-commands';
import {
    Link,
} from "tiptap-extensions";

export default class Link2 extends Link {

    pasteRules({ type }) {
        return [
            pasteRule(
                /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z]{2,}\b([-a-zA-Z0-9@:%_+.~#?&//=]*)/g,
                type,
                url => ({ href: url }),
            ),
        ]
    }

}

Another follow up to this is that it doesn't recognize non-lowercase links, i.e. HTTP://www.GOogle.cOM which can easily be fixed by modifying the pasteRule regex to have the i flag. /gi

Thanks! Fixed.


chore(polkadot): upgrade types and polkadot API version

Also updated checkSettle compliance result types
BREAKING CHANGE: RequirementCompliance renamed to Compliance. There is now a new type called
RequirementCompliance which represents compliance to a specific asset requirement. Each condition
inside it has its own complies flag

:tada: This PR is included in version 2.0.0-alpha.44 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[SPARK-25179][PYTHON][DOCS] Document BinaryType support in Arrow conversion

What changes were proposed in this pull request?
This PR targets to document binary type in "Apache Arrow in Spark".
How was this patch tested?
Manually built the documentation and checked.

cc @BryanCutler and @gatorsmile.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4576/
Test PASSed.

Test build #98177 has started for PR 22871 at commit 34109bc.

Test build #98177 has finished for PR 22871 at commit 34109bc.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/98177/
Test PASSed.

Merged build finished. Test PASSed.

Thanks, @dongjoon-hyun and @gatorsmile

Thanks @HyukjinKwon , looks good!


Flluter can't create a file

Flutter crash report; please file at https://github.com/flutter/flutter/issues.
command
flutter create C:\Users\mh\Desktop\app
exception
ProcessException: ProcessException: The system cannot find the file specified.
Command: F:\برامج\Programming\flutter_windows_v1.12.13+hotfix.8-stable\flutter\bin\cache\dart-sdk\bin\pub.bat --verbosity=warning get --no-precompile
#0      _DefaultProcessUtils.stream (package:flutter_tools/src/base/process.dart:431:29)
<asynchronous suspension>
#1      _DefaultPub.batch (package:flutter_tools/src/dart/pub.dart:259:33)
#2      _DefaultPub.get (package:flutter_tools/src/dart/pub.dart:176:15)
#3      CreateCommand._generateApp (package:flutter_tools/src/commands/create.dart:588:17)
#4      CreateCommand.runCommand (package:flutter_tools/src/commands/create.dart:429:37)
<asynchronous suspension>
#5      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:615:18)
#6      _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:73:64)
#7      _rootRunUnary (dart:async/zone.dart:1134:38)
#8      _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#9      _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
#10     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
#11     Future._propagateToListeners (dart:async/future_impl.dart:709:32)
#12     Future._completeWithValue (dart:async/future_impl.dart:524:5)
#13     Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:554:7)
#14     _rootRun (dart:async/zone.dart:1126:13)
#15     _CustomZone.run (dart:async/zone.dart:1023:19)
#16     _CustomZone.runGuarded (dart:async/zone.dart:925:7)
#17     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:965:23)
#18     _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
#19     _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
#20     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#21     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:175:5)

flutter doctor
[✓] Flutter (Channel stable, v1.12.13+hotfix.8, on Microsoft Windows [Version 10.0.14393], locale en-US)
    • Flutter version 1.12.13+hotfix.8 at F:\برامج\Programming\flutter_windows_v1.12.13+hotfix.8-stable\flutter
    • Framework revision 0b8abb4724 (7 weeks ago), 2020-02-11 11:44:36 -0800
    • Engine revision e1e6ced81d
    • Dart version 2.7.0

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at C:\Users\mh\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.3
    • Java binary at: E:\IntelliJ\jbr\bin\bin\java
    ✗ Cannot execute E:\IntelliJ\jbr\bin\bin\java to determine the version

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/setup/#android-setup for detailed instructions).

[✓] Connected device (1 available)
    • AMN LX9 • 7YBNU19412118962 • android-arm • Android 9 (API 28)

! Doctor found issues in 2 categories.

Hi @mhsamih
does the file exists F:\برامج\Programming\flutter_windows_v1.12.13+hotfix.8-stable\flutter\bin\cache\dart-sdk\bin\pub.bat?

Flutter app development is known for speeding up the iOS app development process because of its Hot Reload feature. This function helps you transfer all changes from the code to a connected device or running an emulator instantly. It avoids rebuilding the app from scratch. Visit myappgurus(dot)com for great and speedy app development.

i have also got this same problem
I tried to install the new version also but it didn't worked out.
click on this link for more information:
https://github.com/flutter/flutter/issues/47071#issuecomment-604740810

@mhsamih
I hope you've solved the issue.
Closing as additional information isn't provided.
Could everyone who still has this problem please file a new issue with the exact descriptions what happens, logs and the output of flutter doctor -v please.


Upload to Microsoft Edge Store

Although MS Edge can add extensions downloaded from the Chrome store, these extensions will not be synced. It would be better if you can upload this extension to the Edge store as well.

Duplicate of https://github.com/refined-github/refined-github/issues/1914

these extensions will not be synced

What kind of sync are you referring to?

@fregante  I mean this: https://support.microsoft.com/en-us/microsoft-edge/why-are-some-of-my-extensions-missing-on-the-new-microsoft-edge-2cb5d2e3-72ce-0019-3fbf-ae4efd414d3a

However, only extensions found in the new Microsoft Edge add-ons website can be imported.

That's not "syncing", that page is about the user moving from Chrome to Edge. While nice, it takes little to re-install it from the Chrome Web Store as suggested on that page.

Oh, I'm sorry. Some of my extensions were not synced and I met this problem twice. I hurried to open a top search result but didn't read it carefully. My apologies. This problem might be caused by other factors.