[feature] support multiple-tables & rebase commits

Purpose of this pull request

Check list

[ ] Code changed are covered with tests, or it does not need tests for reason:
[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/incubator-seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update change log that in connector document. For more details you can refer to connector-v2
Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist

[ ] Update the release-note.

The comparison is completed with the original unrebase branch. https://github.com/apache/incubator-seatunnel/pull/4239


Platypus steals .php file association

It seems like every other day, I have to reset the file association of .php files from Platypus back to TextMate.
Just having the program on my system (even if I don't run it) causes launchservices to re-associate .php files with Platypus.
Not sure if it's happening for other file types, but .php is the one I notice the most (as a web developer).

Just get info on a .php file, change the opening application to your editor and press change all.  That should fix it.  Platypus does nothing magical to "own" .php files, it just declares itself capable of opening them, which should affect your launch services configuration.

I find I'm changing the opening application constantly. I chance it to TextMate, but a short while later later (usually after a reboot) it switches back to Platypus.

You're doing the "Change All" constantly and it doesn't take effect?  Looks like you're having trouble with launch services.  Get this and install:  http://www.rubicode.com/Software/RCDefaultApp/
It allows you to modify entries in Launch Services directly in System Preferences.


Support for double volume

Hi All,
Recently we are rendering a double type volume. However this volume has a very strange value range: (1e-15 to 1e-13). Values outside this region are not looking good so we simply want to remove them.
When I put this volume in OSPRay (OSPRay supports double I know), I was getting wired, noisy images. The reason was that, the transfer function API cannot correctly understand my value range. I can only have the volume correctly rendered if I manually scale the volume up by a factor of 1e15.
I know ISPC might not like double, which is probably why we does not have a ospSet1d call in the API. But logically if we say ospray supports double, we should at least have a double-typed transfer function support.
So here I simply want to open a discussion about this issue and potential solutions.
Best
Qi

Although OSPRay accepts double as data type when the volume is created, during rendering/sampling only float is used internally. Thus, supporting only float for the transferfunction is "fine". Also, the values around 1e-15 can be well represented in (even normalized) float. Which means we need to have a closer look what produces the noise artifacts.

I agree with you. 1e-15 is actually not that small. That was something confused me as well. I can make a dummy test case to see if I can repeatedly produce this error.

Hmm I think when I am looking at this issue again, the problem actually disappeared. Maybe it was caused by a totally different bug I wrote ... I will let you guys know if I can confirm this is actually a problem with ospray. Thanks.


Get Translation

Adds function I18n.getTranslation, which takes a t (key) and this.props and returns the translation of the specified key. This is useful when the string value of a translation is needed to be passed to an element.

I made the changes you suggested and all works properly. The only issue now is that the linter the error 2:22  error  Unable to resolve path to module 'react-test-renderer'  import/no-unresolved in the withLocale and createI18n test files.

 I'm guessing that after the rebase, there were some dependencies in package.json that you didn't have installed locally.
You should also run yarn test -u then run all the tests. The snapshot tests are failing (which they should since we made a change) and we need to re-record them.

Thanks, you were right about needing to run yarn install and I updated the snapshots.


Release cosmos v0.4.2

High Level Description
What features does this change enable? What bugs does this change fix? High-Level description of how things changed.
Related Issues

DCOS_OSS-1650 Release Cosmos (Open & EE).

Checklist for all PR's

[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[x] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[x] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

PLEASE FILL IN THE TEMPLATE ABOVE / DO NOT REMOVE ANY SECTIONS ABOVE THIS LINE
Instructions and Review Process
What is the review process and when will my changes land?
All PRs require 2 approvals using github's pull request reviews.
Reviewers should be:

Developers who understand the code being modified.
Developers responsible for code that interacts with or depends on the code being modified.

It is best to proactively ask for 2 reviews by @mentioning the candidate reviewers in the PR comments area. The responsibility is on the developer submitting the PR to follow-up with reviewers and make sure a PR is reviewed in a timely manner. Once a PR has 2 ship-it's, no red reviews, and all tests are green it will be included in the next train.

@mesosphere-mergebot bump-ee

@mesosphere-mergebot label Ready For Review

@jsancio

@takirala In the description. Add the PRs/Issues that were back ported.

@mesosphere-mergebot label  ship-it

@jgehrcke I filled the template in a previous PR (https://github.com/dcos/dcos/pull/1951) that I had to close for a different reason. Forgot to copy over when i created this. Thanks for pointing out, i updated the description now :)


use inline-block to maintain line-break on copy-paste scene

by using display: inline-block and min-width:100% instead removing the whole line break,
it will keeps the line break (while avoid the double line break issue, of course) so the pasted result doesn't wrapped into one line.

Hmm, this is close—thank you!
I see this on one of the examples though:

See https://www.11ty.io/docs/data-js/#example%3A-using-graphql (and related open issue https://github.com/11ty/eleventy-plugin-syntaxhighlight/issues/9)
I think moving the min-width prop into something like this instead could work?
.highlight-line:not(:last-child) {
	min-width: 100%;
}

Hmm, this is close—thank you!
I see this on one of the examples though:

See https://www.11ty.io/docs/data-js/#example%3A-using-graphql (and related open issue 11ty/eleventy-plugin-syntaxhighlight#9)
I think moving the min-width prop into something like this instead could work?
.highlight-line:not(:last-child) {
	min-width: 100%;
}

Nice, I also tested on a case when the syntax wrapped into .token.template-string>.token.string like in https://prismjs.com/test.html, and it works too. I'll pick that.

Thank you!


⚠ Bofrost.fr has degraded performance

In a78d134, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 802 ms

Resolved: Bofrost.fr performance has improved in 552e30b.


Reset form validation on each input change

This is a feature request (maybe a but)
Description
I use the following case in a form:

Select with Business Type: Business or Consumer available
If Business selected field organization is required
If Consumer selected firstname and lastname are required

Steps to Reproduce

Open Form
Select Business Type = Business
Add entry
Error: Organization is required (OK)
Change Business Type to Consumer
Error on organization field stays
It's not possible to resubmit form until you enter something for organization and remove this again

Expected behavior

If you change something in Form after submit a value every error message should be removed

Actual behavior

If you change something in Form all error messages stay until you change each error-marked field

I don't know if this is a bug or a feature request, but in daily use it's annoying.

The expected behaviour is what is happening now.
We want the user to have a visual notification about what he needs to address in a form. Imagine a form with 30 fields, and 16 validation errors. The user will have to submit every 2 or 3 corrections, because it will be impossible for him to remember all 16 errors.
However, for your specific implementation you can easily address the inconvenience. Just set the appropriate fields as custom, and in the scoped-slot will have access to the errors object. From here you can implement whatever logic you need. You can manually clear just some of the validations, or you can use errors.empty() and clear all.

Have you implemented something like this anywhere in the system?

nop. Give it a go and if you hit a wall paste the code here.


Return relocation map for both push and pull

This PR continues #639 and returns the relocation map for the push and pull operations.
It does not use the relocation yet - hence the draft status of the PR.
Up to you whether you think this should be implemented in this PR, or a follow-up.

@radu-matei I'm doing this in #719


Privacy state not showing the right value on settings pop up

@jeroenooms The privacy state of 3182015 campaign is private but the privacy state on the Settings pop up shows "off"

Can we changed the label on/off to something else?
For privacy state: it should be shared or private.. On/off is confusing.
Running is ok.
On Wed, Mar 18, 2015 at 3:43 PM, ctrance<EMAIL_ADDRESS>wrote:

@jeroenooms https://github.com/jeroenooms The privacy state of 3182015
campaign is private but the privacy state on the Settings pop up shows "off"
[image: capture]
https://cloud.githubusercontent.com/assets/1034174/6720953/8de826b6-cd85-11e4-8992-bd7c41cb257c.PNG
—
Reply to this email directly or view it on GitHub
https://github.com/mobilizingcs/campaign_mgmt/issues/1.

@jeroenooms - Also if I turn off the privacy and save the changes, the state didn't reflect on the server.

I have changed this to use the same layout and labels as the survey tool.

@ctrance it should now also update the running state in the campaign table after you click 'save' (I assume that is what you meant). Could you test again when you have a chance?

fixed


[DNM] add experiment of training torsion energies

Do not merge: this is only a very partial, bare-bones experiment to see how much work it would be to use NAGL to a) train to non-atom properties (not so bad) and b) incorporate geometric information (more work...) and c) incorporate another trained parameter (quite a lot). My general conclusion is that b) and c) is likely not worth porting to the overall library, although open to anything as usual.
All the maths is very ad-hoc and absolutely needs double-checking and testing, especially the geometry functions. Everything currently is only implemented with the DGL backend.
cc @BenCree -- there's an example notebook here that runs through a very short example of what I think you and Danny were describing to me in our call, if you're interested. Happy to chat more if you want to discuss!
P.S. the Dataset code was a huge pain and very repetitive -- it probably needs refactoring.
PR Checklist

[ ] Tests?
[ ] Docs?
[ ] CHANGELOG updated?
[ ] Issue raised/referenced?

This is amazing!! cheers. I'll dive into it now.

Hi Lily, thanks again for doing this - it's been a massive help.
I just wanted to ask a verify/ask a (nooby) question about how the c_ij's are calculated for a given molecule.
My current understanding is that for ComputeSCoefficients() a molecule and a tensor of c_ij values is required (e.g. for ClCCCl there are 9, one for each dihedral).
How exactly are the c_ij values calculated? Is it a unique representation of the dihedral using e.g. all the local environments of the atoms in the dihedral?
Initially I thought maybe _SymmetricPoolingLayer(PoolingLayer)'s _get_pooled_representations was doing it, but that seems to do the whole molecule. Is there a function somewhere that takes 4 indices of a dihedral and generates a c_ij value for it?
This is probably a very obvious question, so apologies!
I've just started validating all the geometry/maths, and otherwise the notebook you provided looks like it's doing exactly what we want. Cheers.

Hi Ben, sorry for the delay, I was on leave. You're totally right _SymmetricPoolingLayer(PoolingLayer)'s _get_pooled_representations takes an entire molecule and generates representations for each dihedral term. This representation gets passed through the dense feed-forward readout module layers which learns the c_ij tensor that arrives as input to ComputeSCoefficients. If you wanted to pass in a molecule and get out the c_ij tensor, I think you would need to run something like (totally off-the-cuff and untested):
from openff.nagl.molecule._dgl.molecule import DGLMolecule

all_molecule_dihedrals = sorted(molecule.propers) # I think this will be a list of tuples of ints
dihedral_index = all_molecule_dihedrals.index((0, 1, 2, 3))  # where 0, 1, 2, 3 is the atom indices of the dihedral
dglmol = DGLMolecule.from_openff_config(
            molecule,
            model.config,
            model=model,
        )
c_ij_tensor = model._forward_unpostprocessed(dglmol)["alpha"]  # skips the post-processing layer

Is it a unique representation of the dihedral using e.g. all the local environments of the atoms in the dihedral?

Hopefully yes, the representations pooled in _get_pooled_representations pool the representation of each atom in the dihedral post-convolution, so should incorporate the local atom environment.


feat(cilium): added BPF/XDP and support for encryption

This PR adds a few Cilium features to improve the network performance and security:

Enabled eBPF-based host-routing and masquerading
Enabled XDP Acceleration for LoadBalancer and NodePort
Added support for Pod-to-Pod traffic encryption in Cilium

Before:
# kubectl exec -n kube-system ds/cilium -- cilium status --verbose
Host Routing: Legacy
Masquerading: IPTables [IPv4: Enabled, IPv6: Disabled]
[...]
KubeProxyReplacement Details:
  XDP Acceleration: Disabled
[...]
Encryption: Disabled

After:
# kubectl exec -n kube-system ds/cilium -- cilium status --verbose
Host Routing: BPF
Masquerading: BPF [eth0, eth1] <IP_ADDRESS>/20 [IPv4: Enabled, IPv6: Disabled]
[...]
KubeProxyReplacement Details:
  XDP Acceleration: Native
[...]
Encryption: Wireguard [NodeEncryption: Disabled, cilium_wg0 (Pubkey: 70TbXMoHvbEtRmsvDck+io/bK1M+QA3y2cBczPWou08=, Port: 51871, Peers: 4)]

Info: endpointRoutes is excluded here due to https://github.com/cilium/cilium/issues/28812. Additionally, this configuration will automatically become the default in one of the upcoming releases of Cilium (https://github.com/cilium/cilium/issues/14955).
Force Cilium to apply changes: kubectl -n kube-system rollout restart ds/cilium

Hi @M4t7e, thank you very much for this PR!
Could you please add a DCO to your commit? (https://github.com/hcloud-talos/terraform-hcloud-talos/pull/34/checks?check_run_id=26549766936)

And maybe we should use best-effort for loadBalancer.acceleration?

acceleration is the option to accelerate service handling via XDP Applicable values can be: disabled (do not use XDP), native (XDP BPF program is run directly out of the networking driver’s early receive path), or best-effort (use native mode XDP acceleration on devices that support it).

I played around with it a bit today. Unfortunatelybpf.masquerade=true caused  that coredns could no longer connect to external DNS servers... i/o timout. Do you have any experience with this?

Hi @mrclrchtr, thanks for the review! :slightly_smiling_face:

And maybe we should use best-effort for loadBalancer.acceleration?

XDP should always be supported by Talos and Hetzner VMs but it would also not hurt to use best-effort instead. If you prefer that, I can change it.

I played around with it a bit today. Unfortunatelybpf.masquerade=true caused that coredns could no longer connect to external DNS servers... i/o timout. Do you have any experience with this?

Good catch! It seems the Talos forwardKubeDNSToHost feature does not work together with Cilium BPF based routing (enabled by bpf.masquerade=true). See: https://github.com/siderolabs/talos/issues/8836
I would rather deactivate forwardKubeDNSToHost as it brings just very limited benefits and on the other hand side the BPF based routing is the no 1 selling point and performance boost of Cilium.

Could you please add a DCO to your commit? (https://github.com/hcloud-talos/terraform-hcloud-talos/pull/34/checks?check_run_id=26549766936)

I'm not very into that DCO stuff as I see it a bit redundant and tbh annoying here on Github. I would also not put any real name or working mail address into it. Additionally many projects interpret it differently and I have seen no definition in this project. From legal/license perspective it means nothing than there is a sign-off in the commit message, whatever that means.

XDP should always be supported by Talos and Hetzner VMs but it would also not hurt to use best-effort instead. If you prefer that, I can change it.

Yes, you are right, we can leave it as is.

Good catch! It seems the Talos forwardKubeDNSToHost feature does not work together with Cilium BPF based routing (enabled by bpf.masquerade=true). See: siderolabs/talos#8836 I would rather deactivate forwardKubeDNSToHost as it brings just very limited benefits and on the other hand side the BPF based routing is the no 1 selling point and performance boost of Cilium.

Hmm.. yesterday I also disabled forwardKubeDNSToHost because I already thought that was the reason. But then unfortunately there were also i/o timeouts in the direction of the Hetzner DNS server. I could see from the IPs that these were requested. I then even switched to cloudflare DNS server. There were also i/o timeouts.
Maybe I have to try again and restart coredns.

I'm not very into that DCO stuff as I see it a bit redundant and tbh annoying here on Github. I would also not put any real name or working mail address into it. Additionally many projects interpret it differently and I have seen no definition in this project. From legal/license perspective it means nothing than there is a sign-off in the commit message, whatever that means.

Ok, I think you are right. Maybe I should disable the check.

Hmm.. yesterday I also disabled forwardKubeDNSToHost because I already thought that was the reason. But then unfortunately there were also i/o timeouts in the direction of the Hetzner DNS server. I could see from the IPs that these were requested. I then even switched to cloudflare DNS server. There were also i/o timeouts.

How did you find the timeouts? I tried to reproduce them, but so far everything looks fine. By the way, are you using a K8s version compatible with Cilium? I think the current default with Talos 1.7 is K8s 1.30, and Cilium 1.15 is not compatible with K8s 1.30. They will add support in the upcoming 1.16 release.

With cilium 1.16 and k8s 1.30 everything looks good to me. forwardKubeDNSToHost seems to work,too. @M4t7e do you have any complaints? Otherwise we can merge.

This configuration has been running for 2 weeks without any problems. That's why I think it looks good. Thanks again!

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

There were problems again... unfortunately I can't figure out why and how to solve them... I revert to masquerade: false

What problems did you observe @mrclrchtr? I tried a similar configuration and can still see the timeout logs in coreDNS.

Yes I observed the timeout logs 😕


All entities grayed out after adding integration

System Health details
System Information

version
core-2024.1.2

installation_type
Home Assistant OS

dev
false

hassio
true

docker
true

user
root

virtualenv
false

python_version
3.11.6

os_name
Linux

os_version
6.1.71-haos

arch
x86_64

timezone
America/New_York

config_dir
/config

Home Assistant Community Store

GitHub API
ok

GitHub Content
ok

GitHub Web
ok

GitHub API Calls Remaining
4840

Installed Version
1.33.0

Stage
running

Available Repositories
1376

Downloaded Repositories
24

Home Assistant Cloud

logged_in
true

subscription_expiration
December 18, 2024 at 7:00 PM

relayer_connected
true

relayer_region
us-east-1

remote_enabled
true

remote_connected
true

alexa_enabled
false

google_enabled
false

remote_server
us-east-1-2.ui.nabu.casa

certificate_status
ready

instance_id
599a136f6ea74e00b69aacb75e70d4c1

can_reach_cert_server
ok

can_reach_cloud_auth
ok

can_reach_cloud
ok

Home Assistant Supervisor

host_os
Home Assistant OS 11.4

update_channel
stable

supervisor_version
supervisor-2023.12.0

agent_version
1.6.0

docker_version
24.0.7

disk_total
58.3 GB

disk_used
20.2 GB

healthy
true

supported
true

board
ova

supervisor_api
ok

version_api
ok

installed_addons
MariaDB (2.6.1), Studio Code Server (5.15.0), Samba share (12.2.0), Home Assistant Google Drive Backup (0.112.1), ESPHome (2023.12.5), Mosquitto broker (6.4.0), PS5 MQTT (1.3.1), Frigate Proxy (1.4), Zigbee2MQTT Proxy (0.2.0), Matter Server (5.0.2), chrony (3.0.1), Scrypted (18-jammy-full.s6-v0.80.0)

Dashboards

dashboards
5

resources
14

views
28

mode
storage

Recorder

oldest_recorder_run
January 1, 2024 at 4:24 PM

current_recorder_run
January 11, 2024 at 9:11 PM

estimated_db_size
1781.08 MiB

database_engine
mysql

database_version
10.6.12

Spotify

api_endpoint_reachable
ok

Checklist

[X] I have enabled debug logging for my installation.
[X] I have filled out the issue template to the best of my ability.
[X] This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
[X] This issue is not a duplicate issue of currently previous issues..

Describe the issue
PitBoss grill is recognized briefly however after adding the integration, entities are grayed out and say unavailable. I have 3 ESP32 Bluetooth proxies, one of which I had hanging over the grill so it's not a range issue. Logs seem to indicate that it cannot make a connection. Active scanning is enabled on all proxies.
Reproduction steps

Wait for grill to be auto discovered (takes a LONG time and is not instant. Adding manually doesn't work)
Select model (my model is the PB700FBW2)
All entities grayed out and unavailable
...

Debug logs
2024-01-11 20:40:34.945 DEBUG (MainThread) [custom_components.pitboss] Bluetooth device detected: <habluetooth.models.BluetoothServiceInfoBleak object at 0x7fad7e187ec0> (BluetoothChange.ADVERTISEMENT)
2024-01-11 20:40:34.946 DEBUG (MainThread) [custom_components.pitboss] Resetting device: 4F:91:BA:B0:62:94: PBC-0FA79A8
2024-01-11 20:40:34.946 DEBUG (MainThread) [custom_components.pitboss] Resetting device: 4F:91:BA:B0:62:94: PBC-0FA79A8
2024-01-11 20:40:34.946 DEBUG (MainThread) [pytboss] Resetting device to: 4F:91:BA:B0:62:94: PBC-0FA79A8
2024-01-11 20:40:34.946 DEBUG (MainThread) [pytboss] Disconnecting from device.
2024-01-11 20:40:34.947 INFO (MainThread) [custom_components.pitboss] Found PitBoss smoker: PBC-0FA79A8 @ 4F:91:BA:B0:62:94
2024-01-11 20:44:24.909 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aioesphomeapi/client.py", line 568, in bluetooth_device_connect
    await connect_future
TimeoutError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/bleak_esphome/backend/client.py", line 77, in _async_wrap_bluetooth_operation
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/bleak_esphome/backend/client.py", line 297, in connect
    await self._client.bluetooth_device_connect(
  File "/usr/local/lib/python3.11/site-packages/aioesphomeapi/client.py", line 588, in bluetooth_device_connect
    raise TimeoutAPIError(
aioesphomeapi.core.TimeoutAPIError: Timeout waiting for connect response while connecting to 4F:91:BA:B0:62:94 after 20.0s, disconnect timed out: True,  after 20.0s

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/bleak_retry_connector/__init__.py", line 363, in establish_connection
    await client.connect(
  File "/usr/local/lib/python3.11/site-packages/habluetooth/wrappers.py", line 295, in connect
    connected = await super().connect(**kwargs)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/bleak/__init__.py", line 605, in connect
    return await self._backend.connect(**kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/bleak_esphome/backend/client.py", line 79, in _async_wrap_bluetooth_operation
    raise asyncio.TimeoutError(str(err)) from err
TimeoutError: Timeout waiting for connect response while connecting to 4F:91:BA:B0:62:94 after 20.0s, disconnect timed out: True,  after 20.0s

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/config/custom_components/pitboss/coordinator.py", line 62, in reset_device
    await self.conn.reset_device(device)
  File "/usr/local/lib/python3.11/site-packages/pytboss/ble.py", line 125, in reset_device
    await self.connect()
  File "/usr/local/lib/python3.11/site-packages/pytboss/ble.py", line 87, in connect
    self._ble_client = await bleak_retry_connector.establish_connection(
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/bleak_retry_connector/__init__.py", line 387, in establish_connection
    _raise_if_needed(name, device.address, exc)
  File "/usr/local/lib/python3.11/site-packages/bleak_retry_connector/__init__.py", line 327, in _raise_if_needed
    raise BleakNotFoundError(msg) from exc
bleak_retry_connector.BleakNotFoundError: PBC-0FA79A8 - 4F:91:BA:B0:62:94: Failed to connect after 11 attempt(s): Timeout waiting for connect response while connecting to 4F:91:BA:B0:62:94 after 20.0s, disconnect timed out: True,  after 20.0s

Diagnostics dump
No response

Upon some further tests with the PitBoss app itself, it seems like the radio on my unit is defective. Standing 6ft line of sight with the grill and I cannot connect to Bluetooth using the official app. Trying to get it to connect to WiFi from inside my garage (which has many WiFi devices all connected) and it doesn’t see a single network nor will it connect manually. I am going to try to get a replacement and test that out then report back if I still have the same issues.

Yeah the radio components (both WiFi and Bluetooth) in the grills are generally pretty flaky. The boards are based on the ESP32 chipset but I get the impression that there's not a good antenna connected to them. There's not a whole lot I can do on my end to improve this.

I know this is closed but I took the front off the controller and installed it just hanging while wiggling the antenna (which to me. the cable seems a bit loose) and it seems to have both connected to my Wifi as well as register with HA. I've ordered an IPEX antenna extender along with an antenna that I will mount to the side of my grill to give it better range. Sucks you have to do this but it's a cheap upgrade that will hopefully solve people's connection issues if they come across this.

This is closed but now having same issue. I added a proxy and everything worked great, ESPHome updated and I lost it. I deleted it and it re added and seemed to be working. Then ESPhome updated again and now everything says unavailable. I have an esp32 presence and it is seeing the pitboss so I know the bluetooth is working. When i delete the integration it recognizes its there and re adds it but all the entities are unavailable. Sucks I had it working for one cook and absolutely loved it. I would like to use it over the actual pb app. Has anyone seen this with the updates?

What works for me is refreshing the integration until it connects. I built a script that I can run from my grill dashboard that refreshes it every 15 sec until it sees the grill and times out after 20 tries. I can post the script here but that’s what works for me if it’s not connecting automatically.

Awesome the refresh worked. I haven’t got a chance to work with the script but I am deficient going to. Thanks for sharing!


A step towards dependent types

I'm upset that I have to write Unqualifiers in C++ and not in hobbes.  So upset I made this mess.
This adds two Unqualifiers, TypeValueLower, and TypeApply.
Let's start with TypeValueLower.  It lowers a TLong to a long, TString to a [char], and (quote a) to a.  This allows us to write recordHeadLabel as
recordHeadLabel :: (r={h*t}) => r -> [char]
recordHeadLabel r = typeValueLower(((\_.unsafeCast()) :: (r={lbl:h*t}) => r -> lbl)(r)) :: (TypeValueLower _ [char]) => [char]

Great, but we still can't write recordHeadValue.  Hence TypeApply.
TypeApply a `f` b c .. n

will lower any types after the second to ExprPtr's, apply them to f, and raise the result to a MonoTypePtr stored in a.  For the arguments: TLongs to longs, TStrings to [char], (quote a) to a, and an arbitrary non-type variable to an encoding as a recursive variant named Type that stores that type information.   For the result: long to TLong, [char] to TString, Type to its MonoType counterpart, and anything else to a quoted expression.
So we can do this
data Z a = ()
instance Show (Z a) where
  show x = "Z " ++ show(typeValueLower(unsafeCast(()) :: a))

zZero = unsafeCast(()) :: ((Z false))
zSucc :: (TypeApply b `\x.x+1` a) => ((Z a)) -> ((Z b))
zSucc = unsafeCast

Then
> zSucc(zZero)
Z 1

But also
instance (TypeApply c `(+)` a b) => Add (Z a) (Z b) (Z c) where
  l + r = unsafeCast()

instance (TypeApply c `(*)` a b) => Multiply (Z a) (Z b) (Z c) where
  l * r = unsafeCast()

mkZ :: (TypeApply b `\x.convert(x)::long` a) => a -> ((Z b))
mkZ _ = unsafeCast(())

Using the quote conversion to do
> mkZ(`2`) + mkZ(`3`)
Z 5

Let's now do something with the ExprPtr representation of a type, and write recordHeadLabel
// hide any fields that aren't the head, and rename the head field to "head"
rhvInner :: ([[char] * Type], int, [[char] * Type], bool) -> [[char] * Type]
rhvInner ms idx nms sf = if idx == size(ms) then nms else
  if sf then
    rhvInner(ms, idx+1, nms ++ [(".p" ++ ms[idx].0, ms[idx].1)], sf)
  else
    if (size(ms[idx].0) > 1 and ms[idx].0[0:2] == ".p") then
      rhvInner(ms, idx + 1, nms ++ [ms[idx]], sf)
    else rhvInner(ms, idx + 1, nms ++ [("head", ms[idx].1)], true)

rhv :: Type -> Type
rhv tyd = match unroll(tyd) with
  | |Record=ms| -> roll(|Record=rhvInner(ms, 0, [], false)|)
  | _ -> roll(|Prim=("unit", nothing::(() + Type))|)

rhvt :: (TypeApply b `rhv` a) => a -> b
rhvt = unsafeCast

recordHeadValue_ :: (r={h*t}) => r -> h
recordHeadValue_ r = rhvt(r).head

This is a fairly large lump of code, but it would allow moving a fair amount of the logic currently in c++ in unqualifiers into the language itself.
It hasn't been tested thoroughly, and needs tidying, but I wanted to get your view on if this is worth pursuing.
And we need some cacheing in here, that recordHeadLabel example above takes a noticeable amount of time to run each time.

I am sorry if the Unqualifier business in C++ really did upset you.  The main reason that I added those was to connect hobbes to existing systems where we could stage evaluation, but structured data files and network connections are good examples of where you'd want something like that (one stage to load a file and check what types it has in it, then another stage to evaluate its data).
I think that moving hobbes to a dependent type system is a really great idea.  There are a lot of things that we could do with such a type system.  It doesn't even have to be homotopy type theory, but we can always benefit from more descriptive types.
One thing that I struggle with a little bit is how to reconcile qualified types (like we have here where constraints in types get eliminated with Unqualifiers) with dependent types, so your proposal here is well timed and very interesting.

I am sorry if the Unqualifier business in C++ really did upset you.

I'm not being serious.  Unqualifiers are great, I use one as a type provider for sql queries for instance.  But it does do my head in a bit moving back between hobbes and c++, and since quote type existed already, I thought I sh^H^Hcould abuse them.  I like the staged evaluation, I just want to do it one place.  With this approach, I can in the 1st stage create the type sig from the TString or whatever, then in the second use type classes on it to create the value I need.

Let's now do something with the ExprPtr representation of a type, and write recordHeadLabel
// hide any fields that aren't the head, and rename the head field to "head"
rhvInner :: ([[char] * Type], int, [[char] * Type], bool) -> [[char] * Type]
[...]
And we need some cacheing in here, that recordHeadLabel example above takes
a noticeable amount of time to run each time.

This gets at something that I think is really important and subtle about PLs like this, which is this phase distinction between types and terms (and I guess it goes all the way up the universe hierarchy, so types are prior to terms but "kinds" are prior to types, etc).
The reason that "recordHeadLabel" can be very efficient in its Unqualifier right now is that it's decided at compile-time.  That's a kind of caching that I think we could capture in the language, but it's subtle.  Having the hard division between types and terms is a little bit of a crutch because it gives us something to point to in order to decide when something will run.  But compilers have always done a similar thing for terms where "constants" are involved (e.g. rewriting 7*7-7 at compile-time to 42).  Maybe the answer is that we treat these Type constructions like constants (which they are) and have some better story for how to evaluate constants early.

Let's now do something with the ExprPtr representation of a type, and write recordHeadLabel
// hide any fields that aren't the head, and rename the head field to "head"
rhvInner :: ([[char] * Type], int, [[char] * Type], bool) -> [[char] * Type]
[...]
And we need some cacheing in here, that recordHeadLabel example above takes
a noticeable amount of time to run each time.

This gets at something that I think is really important and subtle about PLs like this, which is this phase distinction between types and terms (and I guess it goes all the way up the universe hierarchy, so types are prior to terms but "kinds" are prior to types, etc).
The reason that "recordHeadLabel" can be very efficient in its Unqualifier right now is that it's decided at compile-time. That's a kind of caching that I think we could capture in the language, but it's subtle. Having the hard division between types and terms is a little bit of a crutch because it gives us something to point to in order to decide when something will run. But compilers have always done a similar thing for terms where "constants" are involved (e.g. rewriting 7*7-7 at compile-time to 42). Maybe the answer is that we treat these Type constructions like constants (which they are) and have some better story for how to evaluate constants early.

The recordHeadValue_ I provide is still executed at compile time (I meant lag in the repl), it is just compile takes longer, as we call into the llvm as part of the compile.  The problem is the lack of fundeps.  This could be solved if I wrote TypeApply a f (arg1 * arg2 * ...), then 3 -> 1, but that makes me sad.

Oh I see, that's awesome!  Yeah it should only need to compile and run once then, and maybe we turn down back-end optimizations a little (if the LLVM step is very expensive).

Oh I see, that's awesome! Yeah it should only need to compile and run once then, and maybe we turn down back-end optimizations a little (if the LLVM step is very expensive).

Yeah, llvm is not fast.  Maybe your standalone jit is what we need.  Sadly looking at :x we see the llvm doesn't inline my version, but the timings aren't that different
> :e recordHeadValue_({a=2})
average over 1000 runs: 27ns
minimum runtime: 25ns
maximum runtime: 104ns
> :e recordHeadValue({a=2})
average over 1000 runs: 27ns
minimum runtime: 25ns
maximum runtime: 92ns

BTW, I'm sorry but it is 9pm here on a Friday, I'm not going to fix the build now.  I hope you can try out whatever the nix version is, which does build, to play around with this

No problem, it was a small issue on some platforms/compilers and I fixed it.
We use hobbes in a variety of different projects with different levels of strictness, so I've tried to capture as many of those as I can to avoid finding out about them when those projects can't use a new version of hobbes.
I still need to look at this more closely, but I think that it's a very good idea and probably a step in the right direction.

Just for fun, here's an example using this that isn't just a re-implementation of existing c++ code.  This is a very simple printf type thing, where we use a TString to generate a Type that then processes the arguments correctly.
primty x = roll(|Prim=(x, nothing :: (() + Type))|) :: Type
arrayty x = roll(|Array=x|) :: Type
tstringty x = roll(|TString=x|) :: Type
mktuplety x = roll(|Record=map(\v.(".f"++show(v.0), v.1), zip([0L..size(x)-1], x))|) :: Type

process :: ([char], int) -> ^x.(() + ((Type * Type * Type) * x))
process x idx = match x with
 | '(?<pre>[^%]*)(?<fmt>%s)(?<suf>.*)' -> cons((tstringty(pre), tstringty(".f" ++ show(idx)), arrayty(primty("char"))), process(suf, idx+1))
 | '(?<pre>[^%]*)(?<fmt>%d)(?<suf>.*)' -> cons((tstringty(pre), tstringty(".f" ++ show(idx)), primty("int")), process(suf, idx+1))
 | _ -> cons((tstringty(x), primty("unit"), primty("unit")), nil())

doPrintf x = let t = toArray(process(x, 0)) in mktuplety(map(\x.mktuplety([x.0, x.1, x.2]), t))

class PrintF a t where
  printf :: (a, t) -> ()

instance (a=((str * () * ()) * ())) => PrintF a _ where
  printf r t = putStr(typeValueLower(unsafeCast(())::str))

instance (a=((str * acc * [char]) * t)) => PrintF a _ where
  printf r t = do{putStr(typeValueLower(unsafeCast(())::str)); putStr(fieldValue(t)::(_/acc::_)=>_); printf(tupleTail(r), t);}

instance (a=((str * acc * int) * t)) => PrintF a _ where
  printf r t = do{putStr(typeValueLower(unsafeCast(())::str)); putStr(showInt(fieldValue(t)::(_/acc::_)=>_)); printf(tupleTail(r), t);}

helloType :: (TypeApply a `doPrintf` "Hello %s %d!") => a
helloType = unsafeCast()

printf(helloType, ("World", 3))

That printf example is excellent.  I see how it stages evaluation so that format string processing happens at compile-time (and the format string type is equivalent to the unit type in runtime representation, so it has no cost at run-time).
I wonder if the quote brackets are worthwhile or if it'd be better to avoid them (I'm just wondering, not saying that quote brackets aren't worthwhile).  I added that quote syntax to do remote code execution, but have heard differing opinions about how clear it is to use (and have had a few people tell me that they have a hard time understanding "what happens when").
One good thing about the quote brackets is that it makes staging obvious (and people reading the code can have something to point to).
Another way we could do it would be to make something like a pi-type where named arguments could be implicitly quoted.
It's kind of tangential, but I'm curious to know what you think of working with quoted expressions versus alternatives.

a hard time understanding "what happens when"
where named arguments could be implicitly quoted

;)  I don't think that's going to help matters.
I see that quotes were introduced for rpc, but I think they are underappreciated and more widely useful. (inputFile could take an arg of a quoted string for instance, and remove the need for the specific unqualifier constraint boilerplate).
As for your question, in afraid the answer is, as a pragmatic end-user, I don't really mind. I made this pr as functionality I wanted was annoyingly close, all the pieces were there, just needed joining. I don't have a well enough developed PLT sense of aesthetics to really be able to take an opinion. Quotes have the advantage of at least being very clear that something different is happening.
Some modification to the language to make this more integrated might look nicer, but if it hides the staged nature of the computation, I, at least, might find it confusing. But again, I really don't know.

That's good to hear, maybe the quote syntax is helpful as a visual cue that this part happens at an earlier stage.
This is a really good start and we will probably want to iterate on it for a while.  I don't know if it's better to keep it open or merge it and iterate with future PRs (generally I tend to merge and iterate with new PRs).
There are cases for dependent types where you don't want the "quoted part" to go away at run-time.  For example, you could have a dependent record type like {n:long, arr:[:t|n:]} where the n in the first field value appears in the type of the arr field (as the length of the array).  This is basically what the hobbes variable-length array type does, but the dependent type is a more basic building block for that kind of thing -- "column storage" for example looks like {n:long, col0:[:t0|n:], col1:[:t1|n:], col2:[:t2|n:]} (ie: the length prefix is shared among all of the "column" arrays).
There are other cases like that where we can use dependent types to relate multiple values.  Another useful one is for decidable equality, where a check x==y can give a type (x=y)+(x!=y) where the "shape" is equivalent to bool and the quoted variables have no run-time representation, but the result type carries information about the significance of the test (so we know either that x=y or that x!=y).
I hope that isn't discouraging to point out, but it's just to say that there's still some additional behavior we'd have to capture before we really said that we "have dependent types".  This is a good step though.

I think that we should add some tests around this, given that it's kind of a subtle feature and we want to capture the valuable things you've highlighted here.  Maybe your examples could be turned into tests?  That printf one especially is a great test, the type-level arithmetic also.

That's good to hear, maybe the quote syntax is helpful as a visual cue that this part happens at an earlier stage.
This is a really good start and we will probably want to iterate on it for a while. I don't know if it's better to keep it open or merge it and iterate with future PRs (generally I tend to merge and iterate with new PRs).
There are cases for dependent types where you don't want the "quoted part" to go away at run-time. For example, you could have a dependent record type like {n:long, arr:[:t|n:]} where the n in the first field value appears in the type of the arr field (as the length of the array). This is basically what the hobbes variable-length array type does, but the dependent type is a more basic building block for that kind of thing -- "column storage" for example looks like {n:long, col0:[:t0|n:], col1:[:t1|n:], col2:[:t2|n:]} (ie: the length prefix is shared among all of the "column" arrays).
There are other cases like that where we can use dependent types to relate multiple values. Another useful one is for decidable equality, where a check x==y can give a type (x=y)+(x!=y) where the "shape" is equivalent to bool and the quoted variables have no run-time representation, but the result type carries information about the significance of the test (so we know either that x=y or that x!=y).
I hope that isn't discouraging to point out, but it's just to say that there's still some additional behavior we'd have to capture before we really said that we "have dependent types". This is a good step though.

Oh yes, this is far from full dependent types, (see PR title ;) ), but it allows us to write lots of things that dependent types would.  The "quoted part" is available at run-time, through typeValueLower.  Here is an array that knows its length at compile time, the size is taken from the type
data SA n t = [t]

emptySA _ = unsafeCast([]::[t]) :: ((SA false t))

instance Array (SA n t) t where
  size a = typeValueLower(unsafeCast(()) :: n)
  element a i = (unsafeCast(a)::[t])[i]
  elements a l u  = (unsafeCast(a)::[t])[l:u]

pushSA :: (TypeApply b `\x.x+1` a) => ((SA a t), t) -> ((SA b t))
pushSA a v = unsafeCast((unsafeCast(a)::[t]) ++ [v])

This seems close to the functionality (but not syntax) you mention above.  (And we can add static lookup constraints)
class SAL a i t | a i -> t where
  element_ :: (a, i) -> t

instance (TypeApply 1 `\i n.if i < n then 1L else 0L` i n) => SAL (SA n t) i t where
  element_ a i = (unsafeCast(a)::[t])[typeValueLower(unsafeCast(()) :: i)]

Then
x = pushSA(emptySA(), 3)
> element_(x, `0`)
3
> element_(x, `1`)
stdin:1,1-16: Unsatisfiable predicate: SAL (SA 1L int) (quote 1) a

My plan here is to work from what can be easily added to allow a dependently typed program to be mechanically translated into something that compiles.  Once every thing can be done like that, the final step is just syntatic sugar.

I do get what you say though, for instance loooking over an array and pushing elements onto such a static array does not work, let alone if we did pushed to two arrays and then demanded proof they were equal. But by adding this limited type level application here, I think it might be become a bit clearer how to solve that in the current framework. The other option is to rewrite an just do it, but that seems more work

printf("Hello %s %d!", ("World", 3))

Trying this example with an LLVM 3.5 debug mode build on macOS, for some reason the process hangs and eventually gets killed.  But when I run it under lldb, it runs reasonably quickly and prints the expected result.  Did you see anything like that?

I hope you don't mind me poking around your PR, but I added a unit test based on your printf example (changed to sprintf, so I get a value back I can validate).  For new features like this, I think it's helpful to have some tests to show how it's supposed to work.

printf("Hello %s %d!", ("World", 3))

Trying this example with an LLVM 3.5 debug mode build on macOS, for some reason the process hangs and eventually gets killed. But when I run it under lldb, it runs reasonably quickly and prints the expected result. Did you see anything like that?
ETA: Tried it with LLVM 6 debug mode, ran totally fine (much faster to compile actually). This might be an issue with 3.5, kind of annoying. I'll see if I can put a test in at least.

I'm afraid I haven't seen anything like that, somewhat to my surprise this whole thing went very smoothly.

I hope you don't mind me poking around your PR, but I added a unit test based on your printf example (changed to sprintf, so I get a value back I can validate). For new features like this, I think it's helpful to have some tests to show how it's supposed to work.

Please feel free to do make whatever modifications make sense.  I've got no great attachment to the code other than I like what can be done with it.  Totally agree that tests for this sort of thing is necessary.  If the overall approach makes sense, I'll try to add a couple more when I get time.

Are you happy with this change?  I think that it's pretty small and isolated, basically just adding these two functions and a type definition.  If you'd like to use it, I'm ok with merging it.

Re: caching, I did something like this on an internal change, might be pushing it to github fairly soon.  You can rely on the fact that type structural equality implies pointer equality and vice versa -- which makes it easy to cache by type.

Thinking about this a little bit more, I think that this could actually be very useful for us to squeeze even more efficiency out of the case where we want to convert our structured logs back to text (maybe not the most exciting use-case, but a valuable use-case anyway).
For structured logs (as produced by the header-only fregion.H lib) we consume this giant variant type over all possible log statements, passed through variantApp to do efficient generic deconstruction (basically the same as what you'd get with a non-generic match or case deconstruction).  This is already very efficient, but we have some overhead by using closures for this and capturing as much context out of the "static" format string (static at the point that the file is loaded), when we could instead map those format strings into functions that are as efficient as possible (up to just the dynamic data that decides per-statement what the output string should look like).

This is a sweet, the ability for hobbes to support dependent types is fantastic. @adam-antonik, will you mind adding a section about this in our documentation as well ?
:+1: for choosing printf to demonstrate the use-case here, they succ (pun intended) less than the usual peano numbers demos.

Sorry for disappearing from this recently.  I hope to have time to get back to this soonish.  This isn't abandoned by me at all, but boring work has taken priority this month.

No rush!

I just noticed that it appears that the builds/tests are stuck for this PR although if you click through you'll see that they all ran and passed.
I think that the reason is that you sent the PR from the master branch of your fork.  I have hit this same problem before, and have found that I can't get travis-ci to indicate status correctly unless I submit from a non-master branch off of my fork.


Webserver & GPIO

Hi, I just discover this microserver, but i don't find a way to interact with GPIO.
I mean, putting a button in my webpage, and interact with my pycom pin through this button.

If the button posts to an endpoint then you would just use the normal Pycom APIs inside your route handler. So create an endpoint that handles a POST to /toggle, and then in that handler use the Pin class from machine to change the output of the GPIO. https://docs.pycom.io/chapter/firmwareapi/pycom/machine/Pin.html


[ENG-2107] Clean up withdrawn preprint and registration files

Purpose
This PR is meant to address the fate of files of withdrawn registration, it also fixes a few TODOs that were left in the code base surrounding withdraws.
Changes

make periodic task to make withdrawn files as deleted
make periodic task to ensure deleted files are purged after 30 days
add tests with mock google cloud drive, changes dome settings to that effect.=

TODOS:

clean-up/optimize get_descendants_recursive
Remove unused parent param on BaseFIleNode .delete

QA Notes
Please make verification statements inspired by your code and what your code touches.

Verify that withdrawn files are marked as deleted
Verify deleted withdrawn files are purged

Documentation

New behavior, no docs.
Side Effects
This purges files and effects Product sensitive behavior.
Ticket
https://openscience.atlassian.net/browse/https://openscience.atlassian.net/browse/ENG-2107

closed in favor of https://github.com/CenterForOpenScience/osf.io/pull/9598


Fix clang-format

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

cc @henryiii

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Nice, was just trying this. This is what I was about to try:
#!/bin/bash
set -x -e
source install_clang_tools.sh

for f in ${PREFIX}/bin/*; do
    if [[ "$f" !=  "*clang-format-${MAJOR_VERSION}" ]]; then
        rm $f
    fi
done

https://github.com/conda/conda-build/pull/4281

Looks like this is failing:
/Users/runner/miniforge3/conda-bld/clang_packages_1631807490112/test_tmp/run_test.sh: line 7: clang-format-12: command not found

Fantastic, this is now small enough to run in pre-commit.ci! :tada:
local:--channel=conda-forge,clang-format==12.0.1 (15.4KiB) (cached)
  envs:
  - conda@default (202.2MiB) (built)

For now:
  - id: clang-format
     name: Clang Format
     language: conda
     types: [c++]
     entry: clang-format
     args: [-style=file, -i]
     additional_dependencies: [--channel=conda-forge, clang-format==12.0.1]

Looking at making a proper hook repo somewhere next.


Comment out a line that segfaults the app

Segfault occurring as soon as log level reach TCAM_LOG=WARNING.

Hi,
Thank you for the pull request.
How can this be reproduced?
Testing with various usb cameras I am unable to reproduce a segfault with gst-launch-1.0 or tcam-ctrl.

Unable to reproduce


Fix allowSameDateSelection prop in DateRangePicker

[ ] I have followed (at least) the PR section of the contributing guide.

Fixes #2113

@abk182 We plan to make the date range picker non-MIT, we will need you to sign a Contributor License Agreement in order to get your changes in. Would it be OK with you? Also, mind that we are moving the component in the lab of the main repository.

@oliviertassinari I'm ready to sign a Contributor License Agreement

@abk182 Thanks for the pull request. Unfortunately, we can't accept it here. On-going work was moved to v5 in the main repository: https://next.material-ui.com/components/date-picker/.
I have transferred the linked issue to https://github.com/mui-org/material-ui/issues/23603.


Update existing AB3 command formats in the UG

The proposed features require different command words from the ones currently in the AB3. Hence, the command words and terminology have been updated.

i ended up adding my own portion below the template UG area so this is no longer needed


HID, Device Set Feature Report (wrong Len)

File: ux_device_class_hid_report_set.c, function: _ux_device_class_hid_report_set
I have a setup with an USBX HID as device.
I Use Feature Reports.
The Reported Data size is always: UX_DEVICE_CLASS_HID_EVENT_BUFFER_LENGTH
In my case i have a report size of 101, Endpoint size 64
When the device receive a feature Report, the fuction: _ux_device_class_hid_report_set
is called before the callback "hid -> ux_device_class_hid_callback" is called.
The reported size in the result is wrong. ux_slave_transfer_request_actual_length is always 0.
This looks wrong:
id_event.ux_device_class_hid_event_length = transfer_request -> ux_slave_transfer_request_actual_length -1;
this:
hid_event.ux_device_class_hid_event_length = host_length - 1; make more sense.
ux_slave_transfer_request_actual_length  is the actual current amount of data in the endpoint, not the total transfered data len.

Feature request is sent through control request, the host_length is from wLength in SETUP packet, but host may still issue short packet to make data shorter than the wLength.
So check _actual_length which is actual data received from host after the SETUP should be better.
I think the issue here is in DCD, where in control endpoint interrupt service the length of actual data received is not correctly written to _actual_length.

the property ux_slave_transfer_request_actual_length is only set in the host class:
/* Add to the actual payload length.  */ slave_transfer_request -> ux_slave_transfer_request_actual_length += td_length;
but never in the the device class:
/* Reset the number of bytes sent/received.  */         transfer_request -> ux_slave_transfer_request_actual_length =  0;
when you search over the complete usbx stack: ux_slave_transfer_request_actual_length is never set in a device class to an other value than 0.
THe value is evaluated in several device classes, but never set.

Looks like maybe an issue with the Renesas USBX low level implementation.
During the control transfer no sizes updated in &device->ux_slave_device_control_endpoint.ux_slave_endpoint_transfer_request;


Transfer existing persona documentation within the Getting Started section

In GitLab by @tauriedavis on Dec 24, 2017, 02:40

Include documentation from the UX guide docs regarding personas

In GitLab by @tauriedavis on Jan 5, 2018, 02:30
changed title from {-Add personas-} to {+Transfer existing persona documentation within the Getting Started section+}

In GitLab by @tauriedavis on Jan 5, 2018, 02:30
changed the description

In GitLab by @tauriedavis on Jan 5, 2018, 02:31
added to epic gitlab-org&30

In GitLab by @tauriedavis on Mar 2, 2018, 06:59
mentioned in merge request !15

In GitLab by @jschatz1 on Mar 19, 2018, 22:46
closed via merge request !15

In GitLab by @jschatz1 on Mar 19, 2018, 22:46
mentioned in commit 92045a751372c4a64579b1549776d7c09580495a


One corrupt manifest should not wedge model operations

One potential failure mode is an empty file which bubbles up as an EOF error, leading to all attempts to pull anything failing, and listing operations failing.  Instead, continue and warn about the corrupt manifest, and allow re-pulling the model to clean up the corruption.
Fixes #7393
Fixes #6920

In an example scenario where llava:7b has a zero length manifest on disk:
At startup the log shows
time=2024-11-05T18:31:52.978Z level=WARN source=manifest.go:159 msg="bad manifest" name=registry.ollama.ai/library/llava:7b error=EOF

Listing and pulling other models now works and does not show the corrupt model.
Attempting to repull the corrupted model also works:
time=2024-11-05T18:31:55.469Z level=WARN source=manifest.go:159 msg="bad manifest" name=registry.ollama.ai/library/llava:7b error=EOF
time=2024-11-05T18:31:55.469Z level=WARN source=images.go:857 msg="pulling model with bad existing manifest" name=llava:7b error=EOF
[GIN] 2024/11/05 - 18:31:56 | 200 |  749.393734ms | <IP_ADDRESS> | POST     "/api/pull"

After which the model shows up in listing operations and runs.

During startup, it will now skip pruning operations to avoid deleting blobs and give the user a chance to re-pull to clear up the corrupt manifest
time=2024-11-05T19:32:48.991Z level=WARN source=manifest.go:166 msg="bad manifest" name=registry.ollama.ai/library/llava:7b error=EOF
time=2024-11-05T19:32:48.991Z level=WARN source=routes.go:1214 msg="corrupt manifests detected, skipping prune operation.  Re-pull or delete to clear" error="registry.ollama.ai/library/llava:7b EOF"


zsh-bench runs indefinitely long

My .zshrc is incredibly nonstandard, so I'll try to trim it down and see what causes the issue.
on that note, how much time should it take for it to finish running / output something else ?

how much time should it take for it to finish running / output something else ?

On my machine ~/zsh-bench/zsh-bench --iters 1 takes 13s.

By the way, if your username contains sensitive information, consider changing it. Then you won't have to censor it.

By the way, if your username contains sensitive information, consider changing it. Then you won't have to censor it.

too lazy right now : )
Thanks for the advise - maybe later

seems like these lines cause the issue:
if $ZDOTDIR/plugins/iterm2/utilities/it2check; then
  is_iterm=True
fi

(I use that var to enable iterm2 specific things)
it's crucial to note that it is that script that causes issues - merely setting the variable causes no issues
here is the file in question:
it2check.txt

I can see how that script can break things. It doesn't just break zsh-bench, it breaks your shell, too. If you start zsh and start typing, that script may read stuff from the TTY it wasn't supposed to. To add insult to injury, this script is very slow.
Consider removing that check and simply doing stuff unconditionally.

I can see how that script can break things. It doesn't just break zsh-bench, it breaks your shell, too. If you start zsh and start typing, that script may read stuff from the TTY it wasn't supposed to. To add insult to injury, this script is very slow.
Consider removing that check and simply doing stuff unconditionally.

ouch, thanks.
Should I file a bug ? would this even be considered as one - as this 'breaking stuff' seems to be part of its function ?
(BTW, thanks for your work in the zsh field - I am currently using one of your diy configs and it works extremely well for me !)

Sure, You can file a bug, but I'm not sure how useful that will be. Basically, apart from being slow, this script has these issues:

It consumes pending input. If you start typing while this script is running (while for you means typing while zsh is initializing), a portion of that input may silently disappear.
It assumes that no input comes between dropping all buffered input and reading the response to the DSR. It's a race condition.

In general, reading TTY input and dropping it on the floor is a bad idea.
It is possible to implement this script correctly and make it fast, at least in zsh, but it's non-trivial.

I am currently using one of your diy configs as a base

Just to clarify: the existence of this config in my repo does not mean that I endorse it. If you like it, by all means.

Sure, You can file a bug, but I'm not sure how useful that will be. Basically, apart from being slow, this script has these issues:
1. It consumes pending input. If you start typing while this script is running (while for you means typing while zsh is initializing), a portion of that input may silently disappear.

2. It assumes that no input comes between dropping all buffered input and reading the response to the DSR. It's a race condition.

In general, reading TTY input and dropping it on the floor is a bad idea.
It is possible to implement this script correctly and make it fast, at least in zsh, but it's non-trivial.

guess I'll more back to reading the env variables.

I am currently using one of your diy configs as a base

Just to clarify: the existence of this config in my repo does not mean that I endorse it. If you like it, by all means.

ofc - but it does work well for my workflow - and I dont see any large drawbacks.
Thanks again !


Repo sync for protected CLA branch

The pull request is created from main637817545448496250 to main to fix git push error for protected CLA branch

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


No error when multiple step implementations exist

Refer https://github.com/getgauge/gauge-csharp/issues/55

The changes required on Java side are done, thanks to PR #60 by @maquessime. We now need to change Gauge core to identify duplicate step implementation validation error.

Updated proto messages in Gauge core. This is dev complete.
The changes should be available in nightly >= 2016-06-27.
P.S. @sguptatw Please use the nightly >= 2016-06-27 of both Gauge as well as gauge-java for testing this.

@mahendrakariya : The Gauge nightly 2016-06-27 is not available yet.

It's available now.

The functionality is working as per the current expectation.
However it will be more useful if the error message had the details of the code files where these duplicate step implementations can be found.


required strapi version 4.9.2?

But strapi version is 4.25.5 now

When doing install, this plugin
node_modules/@strapi/strapi
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/strapi-plugin-wysiwyg-react-md-editor
npm ERR<EMAIL_ADDRESS>from the root project

Show error message.
I was forced to install it. ( option -> --forece)
How do I install it?

@hozunlee it should be working on any strapi version > 4.9.2. I have released a new version, please give it a try.


fix: remove category tag on composite attribute

bes to squash commits only keeping the first message

All done here?

these are only the ones for the minecraft-vanilla. When trying the larger codebase with compat etc, there were way more. So many I didn't start it by hand. Should consider writing a tool for it lol

but for minecraft-vanilla stuff, this is complete.

Good work!


detect constants in conjugacy and fix at setup rather than recomputing

Per discussion of DT and CP:
we could try to detect cases in the mvnorm where we have
y ~ MVN(a + B*mu, C)
mu  ~ MVN(foo, bar)
where a, B are RHS only and bake the values into offset & coeff in setup code as member data ratehr than recomputing at each iteration. This would be done in the dynamically generated conjugate sampler nf's.
Similar things could be done with scalar conjugacies to avoid unneeded calculations.
Open issue is that with new nodeFunctions, there are no more vector constants so in theory a RHS-only variable value could change within the course of an algorithm.

Closing and moving to nimbleCoreTeam.


Program not found or is not executable --custom_out: protoc-gen-custom

My apologies for using a close issue. However, it's the only post I found about issues running run_protoc.sh
In my case, it cannot generate the plugins.  The server builds and works fine, but I'm not sure why run_protoc.sh fails.
[+] Installing the DronecodeSDK autogenerator
Processing /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/proto/pb_plugins
Requirement already satisfied: protobuf in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from dcsdkgen==0.1a0) (3.7.0)
Requirement already satisfied: jinja2 in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from dcsdkgen==0.1a0) (2.10)
Requirement already satisfied: six>=1.9 in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from protobuf->dcsdkgen==0.1a0) (1.12.0)
Requirement already satisfied: setuptools in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from protobuf->dcsdkgen==0.1a0) (40.8.0)
Requirement already satisfied: MarkupSafe>=0.23 in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from jinja2->dcsdkgen==0.1a0) (1.1.0)
Installing collected packages: dcsdkgen
  Found existing installation: dcsdkgen 0.1a0
    Uninstalling dcsdkgen-0.1a0:
      Successfully uninstalled dcsdkgen-0.1a0
  Running setup.py install for dcsdkgen ... done
Successfully installed dcsdkgen-0.1a0
[+] Done
[+] Generating plugins from
 -> [+] Generated protobuf and gRPC bindings for action
: program not found or is not executable
--custom_out: protoc-gen-custom: Plugin failed with status code 1.
mv: rename /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/Action.py to /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/action.py: No such file or directory
 -> [+] Generated plugin for action
 -> [+] Generated protobuf and gRPC bindings for calibration
: program not found or is not executable
--custom_out: protoc-gen-custom: Plugin failed with status code 1.
mv: rename /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/Calibration.py to /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/calibration.py: No such file or directory
 -> [+] Generated plugin for calibration
 -> [+] Generated protobuf and gRPC bindings for camera
: program not found or is not executable
--custom_out: protoc-gen-custom: Plugin failed with status code 1.
mv: rename /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/Camera.py to /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/camera.py: No such file or directory
 -> [+] Generated plugin for camera
 -> [+] Generated protobuf and gRPC bindings for core
: program not found or is not executable
--custom_out: protoc-gen-custom: Plugin failed with status code 1.
mv: rename /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/Core.py to /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/core.py: No such file or directory
 -> [+] Generated plugin for core
 -> [+] Generated protobuf and gRPC bindings for discovery
: program not found or is not executable
--custom_out: protoc-gen-custom: Plugin failed with status code 1.
mv: rename /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/Discovery.py to /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/discovery.py: No such file or directory
 -> [+] Generated plugin for discovery
 -> [+] Generated protobuf and gRPC bindings for gimbal
: program not found or is not executable
--custom_out: protoc-gen-custom: Plugin failed with status code 1.
mv: rename /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/Gimbal.py to /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/gimbal.py: No such file or directory
 -> [+] Generated plugin for gimbal
 -> [+] Generated protobuf and gRPC bindings for info
: program not found or is not executable
--custom_out: protoc-gen-custom: Plugin failed with status code 1.
mv: rename /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/Info.py to /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/info.py: No such file or directory
 -> [+] Generated plugin for info
 -> [+] Generated protobuf and gRPC bindings for mission
: program not found or is not executable
--custom_out: protoc-gen-custom: Plugin failed with status code 1.
mv: rename /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/Mission.py to /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/mission.py: No such file or directory
 -> [+] Generated plugin for mission
 -> [+] Generated protobuf and gRPC bindings for telemetry
: program not found or is not executable
--custom_out: protoc-gen-custom: Plugin failed with status code 1.
mv: rename /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/Telemetry.py to /Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/other/tools/../..//dronecode_sdk/plugins/telemetry.py: No such file or directory
 -> [+] Generated plugin for telemetry
[+] Done

Originally posted by @IeiuniumLux in https://github.com/Dronecode/DronecodeSDK-Python/issues/48#issuecomment-470845052

Did you install the prerequisites before running ./other/tools/run_protoc.sh?
I just ran the following successfully on my computer:
cd /tmp
git clone https://github.com/dronecode/dronecodesdk-python --recursive
cd dronecodesdk-python
pip3 install -r requirements.txt -r requirements-dev.txt
./other/tools/run_protoc.sh

@JonasVautherin, thank you for creating this a new issue.   Yes, I ran successfully all those steps, except for the last one (./other/tools/run_protoc.sh). I'm using Python 3.6.8 and pip 18.1. In the instructions, it's not clear if DronecodeSDK-Python needs to be cloned underneath the DronecodeSDK repo or parallel to it. I did both, and run_protoc.sh still fails.

git clone https://github.com/dronecode/dronecodesdk-python --recursive
cd dronecodesdk-python
pip3 install -r requirements.txt -r requirements-dev.txt

In the instructions, it's not clear if DronecodeSDK-Python needs to be cloned underneath the DronecodeSDK repo or parallel to it.

It is a separate repo, and should be treated as such. Otherwise I guess it would either be part of DronecodeSDK, or at least a submodule :-). Just clone them separately, that's better :+1:.
From your screenshot, I see that jmavsim is running, the backend succeeded in discovering it, and the python module is not there (obviously, because run_protoc.sh failed).

I did both, and run_protoc.sh still fails.

Do you always get exactly the same message as you pasted above? Did pip install run successfully?

Do you always get exactly the same message as you pasted above? Did pip install run successfully?

Yes, I do always get exactly the same message and 'pip install'  ran successfully without reporting any issues. I tried to run 'python -m grpc_tools.protoc' from the prompt, but it fails since files were not generated by run_protoc.sh

It's a good idea to checkout the latest release v0.14.2 instead of master :+1:.

I tried to run 'python -m grpc_tools.protoc' from the prompt, but it fails since files were not generated by run_protoc.sh

So this runs protoc, which requires some arguments (including input files). So this error message is normal (you could run e.g. python3 -m grpc_tools.protoc -h).
The error message says:

: program not found or is not executable

I am wondering if $(which dcsdkgen) just does not find our plugin (dcsdkgen, in proto/pb_plugins), and results in "", which then gets executed by protoc. So the error message says that "" is not executable, which makes sense. And dcsdkgen is supposed to be installed by run_protoc.sh (here).
What do you think?

dcsdkgen was indeed installed:

dcsdkgen was indeed installed:

This doesn't mean it was installed. It means that the submodule is there. I guess which dcsdkgen says something like dcsdkgen not found, doesn't it?
Are you installing stuff on the system or in a venv?

you could try the following:
cd proto/pb_plugins
pip install -r requirements.txt
pip install -e .
which dcsdkgen

Outputs below:
[abencomo: pb_plugins]$ pip install -r requirements.txt
Requirement already satisfied: protobuf in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from -r requirements.txt (line 1)) (3.7.0)
Requirement already satisfied: jinja2 in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from -r requirements.txt (line 2)) (2.10)
Requirement already satisfied: setuptools in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from protobuf->-r requirements.txt (line 1)) (40.8.0)
Requirement already satisfied: six>=1.9 in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from protobuf->-r requirements.txt (line 1)) (1.12.0)
Requirement already satisfied: MarkupSafe>=0.23 in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from jinja2->-r requirements.txt (line 2)) (1.1.0)

pip install -e .
Obtaining file:///Users/abencomo/git/DronecodeSDK/DronecodeSDK-Python/proto/pb_plugins
Requirement already satisfied: protobuf in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from dcsdkgen==0.1a0) (3.7.0)
Requirement already satisfied: jinja2 in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from dcsdkgen==0.1a0) (2.10)
Requirement already satisfied: six>=1.9 in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from protobuf->dcsdkgen==0.1a0) (1.12.0)
Requirement already satisfied: setuptools in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from protobuf->dcsdkgen==0.1a0) (40.8.0)
Requirement already satisfied: MarkupSafe>=0.23 in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from jinja2->dcsdkgen==0.1a0) (1.1.0)
Installing collected packages: dcsdkgen
  Found existing installation: dcsdkgen 0.1a0
    Uninstalling dcsdkgen-0.1a0:
      Successfully uninstalled dcsdkgen-0.1a0
  Running setup.py develop for dcsdkgen
Successfully installed dcsdkgen

[abencomo: pb_plugins]$ which dcsdkgen

nothing when enter which dcsdkgen

Hmm. And can you find it on your system somewhere? You are on the master branch of DronecodeSDK-Python, right?
Maybe you could also try to install it in a venv instead of the system?

By default I don't have dcsdkgen in my path and I always need to do:
export PATH=$PATH:$HOME/.local/bin

which dcsdkgen
~/.local/bin/dcsdkgen

By default I don't have dcsdkgen in my path and I always need to do:
export PATH=$PATH:$HOME/.local/bin

That did it.  Thanks @julianoes
@JonasVautherin, feel free to close this issue and thank you.
Requirement already satisfied: protobuf in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from dcsdkgen==0.1a0) (3.7.0)
Requirement already satisfied: jinja2 in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from dcsdkgen==0.1a0) (2.10)
Requirement already satisfied: setuptools in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from protobuf->dcsdkgen==0.1a0) (40.8.0)
Requirement already satisfied: six>=1.9 in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from protobuf->dcsdkgen==0.1a0) (1.12.0)
Requirement already satisfied: MarkupSafe>=0.23 in /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from jinja2->dcsdkgen==0.1a0) (1.1.0)
Installing collected packages: dcsdkgen
  Running setup.py install for dcsdkgen ... done
Successfully installed dcsdkgen-0.1a0
[+] Done
[+] Generating plugins from
 -> [+] Generated protobuf and gRPC bindings for action
 -> [+] Generated plugin for action
 -> [+] Generated protobuf and gRPC bindings for calibration
 -> [+] Generated plugin for calibration
 -> [+] Generated protobuf and gRPC bindings for camera
 -> [+] Generated plugin for camera
 -> [+] Generated protobuf and gRPC bindings for core
 -> [+] Generated plugin for core
 -> [+] Generated protobuf and gRPC bindings for discovery
 -> [+] Generated plugin for discovery
 -> [+] Generated protobuf and gRPC bindings for gimbal
 -> [+] Generated plugin for gimbal
 -> [+] Generated protobuf and gRPC bindings for info
 -> [+] Generated plugin for info
 -> [+] Generated protobuf and gRPC bindings for mission
 -> [+] Generated plugin for mission
 -> [+] Generated protobuf and gRPC bindings for telemetry
 -> [+] Generated plugin for telemetry
[+] Done

Thanks for the feedback @IeiuniumLux.
@JonasVautherin I think we should add that to the docs.

@julianoes: Thanks a lot!
So installing a python package system-wide doesn't put it in the PATH? What's the point of installing it on the system then?

I don't install it system wide, I install it as a user, and that path is not added by default.


Update hashbrown to v0.15.0

https://github.com/cloudflare/lol-html/issues/218 describes the situation pretty well; I think a lot of downstream users would appreciate if this could be merged!
I've included a bump to criterion in this PR since it also indirectly depended on hashbrown 0.12.
Closes https://github.com/cloudflare/lol-html/issues/218

@kornelski I've found that they had to add support for it in this PR, but that version has not been released.
In the meantime, adding this to Cargo.toml works:
clap = { version = "*", features = ["help"] }

I've just added that to this PR.

Oh, if the problem is only limited to the --help flag then that's OK. I thought all flags were broken.


The market profile page needs a Datastreams filter

If the Datastream asset ever goes into production we'll need to add a Datastreams filter to the user Profile page.


Cams.py error

Hi,
When i Try to use the cams.py It returns the error:
'module' object has no attribute 'TimeoutExpired'
Error: 'module' object has no attribute 'TimeoutExpired

Hi,
you need to use python 3 for this to work.

I'm using the last version of Python. I have both 2 and 3 installed and, even if I put this code -
"#!/usr/bin/env python3"  - at first line of the script Iy returns the error.

Working fine for me when i do
python3 cams.py

Running on
Python 3.5.3 (default, Nov 23 2017, 11:34:05)


Feature Request: 528hz encoding

Hi,
I like the idea of having 528hz instead of 432hz. Could you please add it? Thank you!
Also, I wrote this small web app: (I thought you might be interested) I hope its not too "off-topic"
https://zen-wood-chime-generator.sourceforge.io/index.html

Under settings, you can set it to 528Hz already


REST API - Validation

Reference: https://www.strathweb.com/2018/07/centralized-exception-handling-and-request-validation-in-asp-net-core/


Confirm Content from old Wiki is in new Pages - Understanding When DLRS Calculates

https://github.com/SFDO-Community/declarative-lookup-rollup-summaries/wiki/Understanding-When-DLRS-Calculates

Exists here: https://sfdo-community-sprints.github.io/DLRS-Documentation/Architecture/calculates.html#understanding-when-dlrs-calculates


Talk2MSyncData does pass on correct basetype to InsertDataPoint

The code is using datapoint.dataType, while the correct syntax is tag.dataType.  Consequence is that all properties are updated with basetype = "NUMBER". The code is failing and the log is populated with "Unknown data type" for all values.
            // Get tag data type
            var tagType;
            if (datapoint.dataType === "Int") {
                tagType = TW_DATA_TYPE_INTEGER;
            } else if (datapoint.dataType === "Bool") {
                tagType = TW_DATA_TYPE_BOOLEAN;
            } else if (datapoint.dataType === "Float") {
                tagType = TW_DATA_TYPE_NUMBER;
            } else if (datapoint.dataType === "UInt") {
                tagType = TW_DATA_TYPE_NUMBER;
            } else {
                logger.warn("Unknown data type (" + datapoint.dataType + ") for tag: " + tag.name);
                tagType = TW_DATA_TYPE_NUMBER;
            }

@tom-roger
Thanks for bringing this to our attention.
Here's a link:
https://github.com/hms-networks/flexy-thingworx-connector/blob/03562d00143068f310a76a39b18950829c976149/thingworx-import/Entities.xml#L341

Hi @tom-roger,
This issue has been resolved in version 1.1.1, which has just been released to GitHub releases (https://github.com/hms-networks/flexy-thingworx-connector/releases/tag/1.1.1).
Thank you for bringing this issue to our attention.


Keyboard only works with first UITextField

Hi,
I have multiple numeric textfields. The keyboard works normally with the first field I click on. On the second field pressing any key has no effect. Ie, numbers aren't placed in textfield and I can't lower (hide) the keyboard. This is how I'm setting up the keyboard:
MMNumberKeyboard *keyboardNoDecimal = [[MMNumberKeyboard alloc] initWithFrame:CGRectZero];
keyboardNoDecimal.allowsDecimalPoint = NO;
keyboardNoDecimal.delegate = self;

MMNumberKeyboard *keyboardDecimal = [[MMNumberKeyboard alloc] initWithFrame:CGRectZero];
keyboardDecimal.allowsDecimalPoint = YES;
keyboardDecimal.delegate = self;

self.hundredsCountTextField.inputView = keyboardNoDecimal;
self.fiftiesCountTextField.inputView = keyboardNoDecimal;
self.twentiesCountTextField.inputView = keyboardNoDecimal;
self.tensCountTextField.inputView = keyboardNoDecimal;
self.fivesCountTextField.inputView = keyboardNoDecimal;

self.eodFloatTextField.inputView = keyboardDecimal;
self.coinsTotalTextField.inputView = keyboardDecimal;
self.eftposTotalTextField.inputView = keyboardDecimal;

Am I doing it wrong?
Thanks in advance
Mikey

I'm afraid you're moving the same keyboard from one view to another each time you assign it to another text field. A quick StackOverflow search can confirm this is the expected behavior when using any UIView as an inputView.
You will need an instance for each text field. I suggest you subclass UITextField so you don't have to repeat yourself so much.
Cheers!

Awesome! Thanks!


Support building and testing on WIndows

Description
As a GH action user, I can build and run tests on Windows for my packages.
Test Plan

End to end integration test

Documentation Plan

README.md update

Release Plan

Release the impacted packages again, and update the workflows as needed.

Acceptance Criteria

[ ] Code has been implemented, reviewed and merged.
[ ] Test plan has been completed
[ ] Release plan has been completed

Once all above items are checked, this story can be moved to done.

See https://github.com/ros-tooling/setup-ros2/issues/23 instead


Coverage bugs when re-running same function

Describe the bug
It appears when re-running tests on the same function, only the last run test result is kept on conditionals.
It seems to be the same with Istanbul and C8 so I'm not sure where the issue lies.
Reproduction
My middleware:
import { defineNuxtRouteMiddleware, useNuxtApp } from '#app'

export default defineNuxtRouteMiddleware(async (to) => {
  const { $cwa } = useNuxtApp()

  if (to.meta.cwa === false) {
    return
  }

  await $cwa.fetcher.fetchRoute(to.path)
})

My tests:
import { afterEach, describe, expect, test, vi, beforeEach } from 'vitest'
import { RouteLocationNormalizedLoaded } from 'vue-router'
import * as nuxt from '#app'
import routeMiddleware from './route-middleware'

function createToRoute (cwa?: boolean|undefined): RouteLocationNormalizedLoaded {
  return {
    name: '',
    path: '/',
    fullPath: '/',
    query: {},
    hash: '',
    matched: [],
    params: {},
    meta: {
      cwa
    },
    redirectedFrom: undefined
  }
}

describe('Test route middleware', () => {
  const fetchRouteFn = vi.fn()
  // @ts-ignore
  vi.spyOn(nuxt, 'useNuxtApp').mockImplementation(() => {
    return {
      $cwa: { fetcher: { fetchRoute: fetchRouteFn } }
    }
  })
  // @ts-ignore
  vi.spyOn(nuxt, 'defineNuxtRouteMiddleware').mockImplementation(() => {
    return {}
  })

  afterEach(() => {
    fetchRouteFn.mockReset()
  })

  test('Test route middleware is enabled by default', () => {
    const toRoute = createToRoute()
    routeMiddleware(toRoute, toRoute)
    expect(fetchRouteFn).toHaveBeenCalledTimes(1)
    expect(fetchRouteFn).toHaveBeenCalledWith(toRoute.path)
  })
  test('Test route middleware can be set to true', () => {
    const toRoute = createToRoute(true)
    routeMiddleware(toRoute, toRoute)
    expect(fetchRouteFn).toHaveBeenCalledTimes(1)
    expect(fetchRouteFn).toHaveBeenCalledWith(toRoute.path)
  })
  test('Test route middleware can be disabled', () => {
    const toRoute = createToRoute(false)
    routeMiddleware(toRoute, toRoute)
    expect(fetchRouteFn).not.toHaveBeenCalled()
  })
})

Clover for the line:
if (to.meta.cwa === false) {

comes out as:
<line num="6" count="2" type="cond" truecount="1" falsecount="0"/>

If I run the test where the condition is false as the last test, then it shows as falsecount="1"
But as you can see, it was run multiple times so really the truecount and falsecount should equate to count
Any thoughts if this is a vitest bug or coverage providers?
System Info
System:
    OS: macOS 12.6
    CPU: (10) arm64 Apple M1 Max
    Memory: 656.52 MB / 64.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 16.16.0 - /usr/local/bin/node
    Yarn: 1.22.19 - ~/.npm-packages/bin/yarn
    npm: 8.11.0 - /usr/local/bin/npm
  Browsers:
    Chrome: 108.0.5359.94
    Safari: 16.0
  npmPackages:
    vitest: ^0.25.4 => 0.25.5

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Without reproduction setup it is hard to help, but could you try if setting test.coverage.cleanOnRerun as true fixes the issue? Maybe the results from earlier run are merged into the new ones.

Here is a minimal reproduction:
https://github.com/components-web-app/cwa-nuxt-module/tree/repro/coverage
You'll see clover is produced with
<line num="2" count="3" type="cond" truecount="1" falsecount="0"/>

So the truecount and falscount are being replaced and not increased each time the line is called.

@silverbackdan I haven't yet debugged this, but does this istanbul-reporter issue describe same problem? https://github.com/istanbuljs/istanbuljs/issues/695


Option to hide a field?

Is there an option we can pass to the ui schema that would result in a field being hidden?

that's currently not implemented, but if you're willing to add one, don't hesitate!

We should definitely add support for hidden fields (with static value). @chmac, would you want to start working on this?

@n1k0 :-) If you can point me in the right direction I'm happy to have a look, but we're using this package inside meteor which makes developing on it a little tricky. I'm not exactly sure where my node_modules/ folder is to start messing with the source while the code is running...

You should definitely clone this repo and work using the existing unit and DOM integration test suites available.
Basically the idea here would be to create a new kind of widget, eg. HiddenWidget which would simply hold the associated formData value it's attached to. Also we should add support for using it to override default widget used to render a given field using the uiSchema objecy and a hidden widget value for that field.
If that sounds super complicated no bif deal, you can either try or we'll take care of it. But if you want to work on this I'll provide guidance so you're not alone :)


Button with display: none breaks keyboard navigation in

🐛 Bug Report
Keyboard navigation breaks in a <FocusScope> with contain set when there's a button with display: none inside the focus scope.
🤔 Expected Behavior
In a focus scope with three buttons, where the middle one is hidden with display: none, you should be able to navigate to the first and the last button with your keyboard (navigation with tab key).
😯 Current Behavior

In a focus scope with three buttons, where the middle one is hidden with display: none, you get stuck on the first button unable to reach the last button when navigating with keyboard (navigation with tab key).
💁 Possible Solution

🔦 Context

We noticed this issue when using a modal component we've built with react-aria where we hide a button with display: none based on a media query. It's not possible to navigate past the hidden button, you can only go as far as the last button in the tab order before the hidden one.
💻 Code Sample

I have recreated the issue here in a simpler version without the modal.
🌍 Your Environment

Software
Version(s)

react-aria/focus
3.2.3

Browser
Safari 14.0.2 (166<IP_ADDRESS>.9)

Operating System
macOS 11.1

🧢 Your Company/Team

🕷 Tracking Issue (optional)

@augustalfredsson Thanks for filing this. We have this block of code to determine if a element is focusable, perhaps we can tweak it to avoid "display: none".

@augustalfredsson Thanks for filing this. We have this block of code to determine if a element is focusable, perhaps we can tweak it to avoid "display: none".

I think perhaps we make an assumption that with React, we would favor omitting the element from the render, over using display: none or [hidden]. We could add :not([hidden]) to the selectors, but we try to avoid DOM methods that force layout/reflow, like getComputedStyle() or element.offsetParent.

I think perhaps we make an assumption that with React, we would favor omitting the element from the render, over using display: none or [hidden]. We could add :not([hidden]) to the selectors, but we try to avoid DOM methods that force layout/reflow, like getComputedStyle() or element.offsetParent.

@majornista That would work, and that is how we bypass this issue currently, but it would be nice to still be able to use media queries in css to hide focusable content inside <FocusScope contain>.

@majornista That would work, and that is how we bypass this issue currently, but it would be nice to still be able to use media queries in css to hide focusable content inside <FocusScope contain>.


[Storage] [STG93] Fix Blob Recordings (sv= F&R)

Could have done this directly on the feature branch, but curiously enough I only omitted blob package recordings (the other two already have been F+R'd) 😮
Once this passes this should fix CI on the feature branch and then we can proceed w/ live test 😄

API change check
API changes are not detected in this pull request.


Stack Trace is displayed - selecting same col names in both x and y axis

Stack trace is displayed when mistakenly same column names are selected in both x and y axis

Updated and deployed. Issue fixed now


Add community standard features

GitHub recommends the following of which are absent:

[ ] Code of conduct
[ ] Contributing guidelines
[ ] Issue template
[ ] PR template

It's generally a good idea that we have them available, but we'll have to make them.

Now that tests are added, the contributing guide should explain how to use goconvey. My standard invocation is goconvey -excludedDirs vendor,img -port 8081. This opens the browser and shows test status.


Update link in troubleshoot-network-policy-server.md

Emerging and known issues part link not valid, update the link
Pull request guidance
Thank you for submitting your contribution to our support content! Our team works closely with subject matter experts in CSS and PMs in the product group to review all content requests to ensure technical accuracy and the best customer experience. This process can sometimes take one or more days, so we greatly appreciate your patience.
We also need your help in order to process your request as soon as possible:

We won't act on your pull request (PR) until you type "#sign-off" in a new comment in your pull request (PR) to indicate that your changes are complete.

After you sign off in your PR, the article will be tech reviewed by the PM or SME if it has more than minor changes. Once the article is approved, it will undergo a final editing pass before being merged.

@MSFT-HOZ The changes are live. This PR will be closed.


Update canonical link in previous versions built docs

Updates canonical links to point to the stable versions of the docs.
After merging, we'll need to run any CI that deploys docs to push these to Netlify.
Closes #397

Merged before #398 so these got deployed when that got merged. Checked live, and  I think we're good.


High availability configuration documentation

Is there any way to run the superset in high availability environment ? like common configuration in one instance and processing in another/multiple instances. I can't find the documentation related to this.

You can start as many web servers and Celery workers as you'd like. It's all stateless so it just works.
At Airbnb we run it as 2 namespaces in Kubernetes, one for the web servers and one for the workers so that we can scale them independently.
From my experience different companies have very different (but similar) ways to run their services (chef, puppet, ansible, kubernetes, docker swarm, ...) so it's hard to generalize anything.
We should make it clear in the docs that you can just start as many instances as needed.

Notice: this issue has been closed because it has been inactive for 220 days. Feel free to comment and request for this issue to be reopened.


pip doesn't install psutil dependency automatically

For me pip install psrecord did not install the psutil dependency automatically.
I think you have to put install_requires instead of requires in setup.py these days?
(and make a new release on PyPI so that this works).

Is the issue still open right now? If so,I would like to work on it

@souravsingh - yes, it's a simple fix, requires just needs to be changed to install_requires in setup.py - feel free to open a PR!


need some test case.

we need add more complex test case  for our convertor and adapter, to make convertor is complete.

I am trying to add more test case in #16 , you can merge all the test case after that PR is merged.


Set Requires: sailfish-version = 3.3

... because with "<= 3.3" (in this, "SFOS 3.3" branch) it is offered as an update when the Storeman variant (branch) for SailfishOS 3.2 is installed (under SFOS 3.2, logically).
Screenshot taken with harbour-storeman-0.2.2-1~sfos3.2.armv7hl.rpm installed on an<EMAIL_ADDRESS>Before taking this screenshot, all repositories were refreshed in Storeman and per devel-su pkcon refresh.

See also https://github.com/mentaljam/harbour-storeman/commit/c9f31527061f7832cb47f11a9e0003e103dcf5d7#commitcomment-43007118.


add info on what the acronym means

hey,
having a poke around after attending yesterday's demo - thanks for that!  still don't have a lot of time to try things, but I did notice a silly tiny thing - the acronym PROOF is not explained anywhere on the dashboard, as far as I can see.  I had to go to the DASL website to remind myself what it means.  Would be great to add that.
thanks!
Janet

Thanks @jayoung I think we can add that to the landing page of the app

@jayoung -- Not silly at all, surprised we didn't have the acronym explanation on there in the first place. Thanks for catching that!

@codebeaker had idea to replace the start of the paragraph on the landing page with the acronym definition, so instead of

This is a Shiny app

do

PROOF (Production Research On-ramp for Optimization and Feasibility) is a Shiny app

thoughts anyone?