[BUG] - IndexError during initialization with DigitalOcean provider

Describe the bug
When initializing Nebari with DigitalOcean as the cloud provider, an IndexError: list index out of range is encountered.
https://github.com/nebari-dev/nebari/actions/runs/11601903835/job/32305692369?pr=2795
https://github.com/nebari-dev/nebari/blob/88dfe2447c56689c3a9828e6abef4e1c02903faf/src/_nebari/provider/cloud/digital_ocean.py#L62-L70
This occurs because the HIGHEST_SUPPORTED_K8S_VERSION
https://github.com/nebari-dev/nebari/blob/88dfe2447c56689c3a9828e6abef4e1c02903faf/src/_nebari/constants.py#L15
Which is lower than the Kubernetes versions currently supported by DigitalOcean (['1.29.9', '1.30.5', '1.31.1']).
As a result, the version filtering logic fails, leading to an empty list and subsequent error.
Expected behavior
Init shoudl work as expected, and also, the error message should be more descriptive
OS and architecture in which you are running Nebari
Linux (CI)
How to Reproduce the problem?

Run a nebari init for the DO deployment, or check how the DO tests are performing

Here's a code snippet you can use to reproduce the error:
import os
import requests
import typing
import re

from _nebari.constants import HIGHEST_SUPPORTED_K8S_VERSION

DIGITALOCEAN_TOKEN = (
    "dop_v1_**********"
)

def digital_ocean_request(url, method="GET", json=None):
    BASE_DIGITALOCEAN_URL = "https://api.digitalocean.com/v2/"

    headers = {"Authorization": f"Bearer {DIGITALOCEAN_TOKEN}"}

    method_map = {
        "GET": requests.get,
        "DELETE": requests.delete,
    }

    response = method_map[method](
        f"{BASE_DIGITALOCEAN_URL}{url}", headers=headers, json=json
    )
    response.raise_for_status()

    return response

def _kubernetes_options():
    return digital_ocean_request("kubernetes/options").json()

def filter_by_highest_supported_k8s_version(k8s_versions_list):
    filtered_k8s_versions_list = []
    for k8s_version in k8s_versions_list:
        version = tuple(
            filter(None, re.search(r"(\d+)\.(\d+)(?:\.(\d+))?", k8s_version).groups())
        )
        print(f"version: {version}")
        if version <= HIGHEST_SUPPORTED_K8S_VERSION:
            print(
                f"version: {version} is less than or equal to HIGHEST_SUPPORTED_K8S_VERSION: {HIGHEST_SUPPORTED_K8S_VERSION}"
            )
            filtered_k8s_versions_list.append(k8s_version)
    return filtered_k8s_versions_list

def kubernetes_versions() -> typing.List[str]:
    """Return list of available kubernetes supported by cloud provider. Sorted from oldest to latest."""
    supported_kubernetes_versions = sorted(
        [_["slug"].split("-")[0] for _ in _kubernetes_options()["options"]["versions"]]
    )
    print(f"supported_kubernetes_versions: {supported_kubernetes_versions}")
    filtered_versions = filter_by_highest_supported_k8s_version(
        supported_kubernetes_versions
    )
    print(f"filtered_versions: {filtered_versions}")
    return [f"{v}-do.0" for v in filtered_versions]

if __name__ == "__main__":
    versions = kubernetes_versions()
    print(f"versions: {versions}")
    sorted(versions)[-1]

Command output
No response
Versions and dependencies used.
No response
Compute environment
Digital Ocean
Integrations
No response
Anything else?
No response

I am not entirely sure if this should be worked on, though, since we will be decommissioning DO soon. Addressing this requires a global update in the supported Kubertnes version across all providers. If we are happy with bumping it for all, then it becomes pretty straightforward to fix.

We decided not to work on this given that Digital Ocean support is deprecated and will be removed in the release after 2024.11.1.

closing as per above, tracking discussion for DO deprecation and removal can be found here ehttps://github.com/nebari-dev/nebari/issues/2749


(PUP-5967) Remove reference to nonexistent links value in file type

Previously, the description of the links parameter in the file type
included misleading references to a nonexistent ignore value. This
commit removes those references.

Let's target this at stable too.


Increase the number of verbs supported

Would it be a possible to remove the limit on the number of verbs supported?
Currently the limit is 16.
Ideal would be no limit if that's not possible due to the implementation 32 would be great.
In:
ParserExtensions
.ParseArguments<>
ParserResultExtensions
.MapResult()

This is already possible. I stumpled upon this while trying to use dependency injection with commandlineparser. I dont think that there is a real limit on the number of verbs by doing it this way:
using CommandLine;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

var services = new ServiceCollection()
.AddTransient<IController<FooOptions>, FooController>()
// ...
.AddTransient<IController<FooOptions17>, FooController17>()
.BuildServiceProvider();

Type[] optionTypes = [
    typeof(FooOptions),
// ...
    typeof(FooOptions17),
];

Parser.Default.ParseArguments(args, optionTypes)
.MapResult((IOptions o) => {
    Type t = typeof(IController<>).MakeGenericType(o.GetType());
    var controller = services.GetRequiredService(t);
    return t.GetMethod(nameof(IController<IOptions>.Run))?.Invoke(controller, [o]);
},
errs => 1);

The way we managed to get arround the limitation was to get the parserResult.Value as a specific type. This worked because all of our verbs are inherit from the same baseclass.
Examplecode:
`ParserResult parserResult = parser.ParseArguments(args, LoadVerbs());
ExampleBaseClass value = parserResult.Value as ExampleBaseClass ;
if (value == null)
{
ErrorCase(parserResult);
}
result = value.Execute();`


move ahead to latest @itwin npm packages

@jchick-bentley fixed the build, will have a follow up PR, would like to get other doc builds passing in core (and presentation,etc) first. Can this be merged so it can trigger a new build which publishes new docs?


Windows Community Toolkit 8.0 Docs

Testing the initial manual import of the docs from our main repo https://github.com/CommunityToolkit/Windows

Seen this both ways for with and without the .md with the .md is wrong, so changing back... not sure why I only see it here, maybe as it's not in main yet?


Remove check that moves minor to tags in variant JSON

This "precaution" if has been there since it was authored.
I can't understand why it is there. The code seems to work
without it. It seems to unintentionally be moving those
values for every non-milestone release. That is, the code
works for milestones only but for releases it moves minor
to tags.
eg. 0.29.0-m1 becomes 0, 29, 0, m1 which is correct
but 0.29.0 becomes 0, 0, 0, 29 which is incorrect
Related #2077
Signed-off-by: Adam Brousseau<EMAIL_ADDRESS>

It's also not clear to me from the original PR why this was added or what uses it. So I don't know if something will break with this change. I don't seem to find anything in the API related to variant_version other than some test code.

It would be nice to hear from original author @austin0 but I don't think he's active on the projects at the moment. If anyone else could shed some light it would be appreciated. Maybe if @johnoliver could confirm that the API doesn't use it, that would help my confidence.

I can't figure out what I was trying to prevent there but it definitely seems like I missed that 0.29.0 and 1.0.0 would be handled the same way, looks like it's just a mistake on my behalf and can be removed.

Thanks for the response @austin0
For the record, J9_TAG starts out as something like this
openj9-0.29.0 or this openj9-0.29.0-m1
I believe Adopt is in a code freeze for the release. I don't believe this will affect Temurin. If you'd rather wait, I can merge on my end as I need this for the release.

Is the code freeze from Jan lifted yet?

Yes.

Ping the build channel to get another reviewer would be my recommendation :-)


lib.network: add ipv6 parser

Description of changes

Add a library function to parse and validate an IPv6 address from a
string to a list of u16 integers. It can parse the first two versions
of an IPv6 address according to
https://datatracker.ietf.org/doc/html/rfc4291#section-2.2. The third
form "x:x:x:x:x:x.d.d.d.d" is not yet implemented.
Add shell script network.sh to test IPv6 parser functionality.
Copy fromHexString function from the https://github.com/NixOS/nixpkgs/pull/266705

Open questions

[ ] Do I need to somehow hide the internal functions more than just underscoring them?
[ ] Are the doc comments in the correct format (already existing files have different style)?
[ ] Do I need to pull the ipv4 parser implementation to merge them together? https://github.com/NixOS/nixpkgs/pull/299409

Mentor: @Janik-Haag
Things done

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test

[x] Fits CONTRIBUTING.md.
[x] Formatted using nixfmt-rfc-style

Add a 👍 reaction to pull requests you find important.

To address your questions:

Do I need to somehow hide the internal functions more than just underscoring them?

Yes currently they would all get exposed, you have to put them into a let binding to make them truly internal. Take a look at https://github.com/NixOS/nixpkgs/blob/master/lib/fileset/default.nix#L103 as an example.

Are the doc comments in the correct format (already existing files have different style)?

Some of them are some of them aren't, please take a look at the example

Do I need to pull the ipv4 parser implementation to merge them together? https://github.com/NixOS/nixpkgs/pull/299409

no, we should keep them separate and preferably go for small prs, e.g. once the parser is fine merge this pr and then do another v6 one for cidr related functions.

@Janik-Haag @mweinelt I refactored the code and moved internal functions to internal.nix. Can you review again please?

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/showcase-nixpkgs-network-library/48897/1


[feat] Driver status to mqtt

Ref: https://github.com/zwave-js/node-zwave-js/issues/3509#issuecomment-943095220

[x] driver status when service is working normally --> normal updates to mqtt

[ ] driver status when service gets killed/times out --> set last will on that topic to set the driver status to false

[ ] driver status when service exists normally --> before mqtt disconnect set that status to false

@vladbabii about points 2/3 here, what mqtt broker are you using?

I don't see how last will would not be published unless

broker dies - in which case all clients should assume the zwave is dead (unreachable by clients anyway)
you normally disconnect and don't publish anything before

$SYS is a good alternative if you know the client id or some other information about  that client, but last will works very well.
Some background:
I've been running something like this in my home for the past 3 years and it works fine -- but it's a very complex setup, i use home assistant as zwavejs and nodered as mqtt2js, 5 copies of each for 5 zwave sticks. Zwave2mqtt would make things much simpler and elegant. I will just need to add a second docker to check status and if needed reboot the network device or ser2net with the zwave chip via ssh - there were cases when the zwave chip itself got in a bad state and no serial connection (local or remote) worked anymore and had to power cycle.... So by having zwavejs2mqtt and the "helper" container i can identify any issues, fix them without any user intervention.

@vladbabii I know how MQTT works, and also brokers (I help maintain some brokers and mqtt related stuff here in github too) I just prefer to avoid will topics when possible as I had problem in past expecially because when you send the message before disconnect there could be delays in client close process (or stuck the process at all) expecially when using persistent mqtt stores.
BTW the client id is fixed as it depends on the name you set in settings, this is why I asked you if it could be possible to look at it, it's just more reliable then the other solution based on my experience


Adds an .editorconfig file, formats, and resolves analyzer issues

Why this PR?
What was done?

Added a .editorconfig file to the solution
a. This is the default .editorconfig generated by Visual Studio
b. Added an ignore for Interface implementation parameter names (CA1725). If you prefer we follow it, let me know and I'll remove the ignore! I think following it makes the code less readable.
Ran dotnet format
Ran Visual Studio .NET code analyzer & manually resolved issues
a. Updated examples to use .NET 8 conventions.
Updated FeatureManagement and FeatureManagement.AspNetCore with EnforceCodeStyleInBuild: true. This means warnings will show in a build when the code style is not being followed.

Adding an .editorconfig enables code formatting and code analyzing tools to work. Simply by adding this file, Visual Studio and other IDEs will now respect the style choices for this project when making changes within it. Additionally, this unlocks GitHub actions that can evaluate code style and formatting and catch small mistakes for us.
Visible Changes
No visible changes
Philosophy
Code styles should never feel like a hurdle or a headache that we need to adhere to- so at no point should these changes block or slow development. However I believe adding this file allows for a clear definition of rules, a clear place to change style choices as we see fit, and enables IDEs & tooling to quickly follow suit.
This also means all other PRs will be cleaner- as any code style issues will already be caught and handled by tooling.

This PR is great! This repo has been missing lint checks for a long time. The format check should be added to the azure pipeline.

This is the type of change that is cross-repo. If we were to adopt this, all repos in our scope should adopt it.

Adjusted the AnalysisLevel in csproj file to suppress CA1848 and CA2254 warnings:

Now, the AnalysisLevel for Microsoft.FeatureManagement is 5.0 because Microsoft.FeatureManagement is targeted on netstandard and 5.0 is the lowest AnalysisLevel which was available for the .NET 5 release is used.
the AnalysisLevel for Microsoft.FeatureManagement.AspNetCore is 6.0 because Microsoft.FeatureManagement.AspNetCore is targeted on .NET 6.0.

Added dotnet_diagnostic.IDE0005.severity = warning to automatically remove unused import.

A reference for all the format rules: https://www.jetbrains.com/help/resharper/EditorConfig_CSHARP_SpacesPageSchema.html#Other

Move to #472


Remove redundant imports and fix typos

I removed unused imports and fixed some typos in the documentation.

@Deltaspace0 thanks!


fix: cognito trigger template permissions

Description of changes

Previously Cognito trigger permissions were missing from auth trigger template, this PR adds those permissions to the template
added physical resource id on custom resource lambda function which enables auth trigger.

Issue #7582

Description of how you validated changes

Maunally tested and added and e2e test for the same
cloud-e2e : https://app.circleci.com/pipelines/github/aws-amplify/amplify-cli/13176/workflows/228459e7-248f-40d4-a5dc-758b0ab21946
two tests are failling ( failing on dev as well)
-https://app.circleci.com/pipelines/github/aws-amplify/amplify-cli/13176/workflows/228459e7-248f-40d4-a5dc-758b0ab21946/jobs/558753
- https://app.circleci.com/pipelines/github/aws-amplify/amplify-cli/13176/workflows/228459e7-248f-40d4-a5dc-758b0ab21946/jobs/558519

Checklist

[x] PR description included
[x] yarn test passes
[x] Tests are changed or added
[ ] Relevant documentation is changed or added (and PR referenced)
[ ] New AWS SDK calls or CloudFormation actions have been added to relevant test and service IAM policies
[ ] Pull request labels are added

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

just for the record - I had to update a stack today that includes a cognito trigger linked to a lambda function (it's a customMessage trigger). The last changes I had made to the app were under v10.5
as I went to update the stack today, the deployment process failed when getting to the AuthTriggerCustomLambdaStack resource. Specificaly, I was getting an error saying Output 'LambdaExecutionRoleArn' not found in stack '<edited: ARN for my customMessage stack here>'
What I did was remove the trigger from the template and added it again from scratch, reconfiguring environment variables for that lambda.
It seems these kinds of changes are breaking changes that stop deployments alltogether. This was a small function in my stack that didn't take long to edit, but it could have been a more complicated issue if the lambda had been tied to other resources in a different way.
Is there a preferred way to approach this kind of change in Amplify without having to re-create resources? Or is there a way to force the online deployment to use an older version of the CLI so that I don't have to update my stack?
from what I could see, what happens is that the new Amplify version expects an output in the stack that wasn't there before, so maybe a version change like this should scan for these changes and try to incorporate them into the template?
I'm not an expert with Amplify so please point me in the right direction if I'm not asking the right questions, but at times I feel Amplify is getting in my way when I come across these things and I might just be better off going with raw CF or CDK.
It may just be that Amplify needs a bit more time to evolve, but not being able to deploy a small change to my stack and forcing me to update the CLI version just to be able to add in a few new lines of code to a lambda frustrates me a little, especially when the lambda I wanted to edit was a completely different one unrelated to the trigger.


Dependency on an old version of polymer-rails

Trying to use this gem with head of polymer-rails (which is 0.2.1) and polymer-paper-rails fails to install (both gem and head from github) because of polymer-rails ~> 0.1.9 requirement.

Same issue here with a newer version. Polymer-paper-rails is up to date with Polymer 1.0, but the polymer-rails gem is still using the 5.0 version. If I change polymer-rails to ~> 1.0 paper-rails sends an error stating its dependent on polymer-rails ~> 0.2.5

If you want to user Polymer 1.0, you should use polymer-rails v1.0.3. And in order to user paper-elements which are ment to be used with 1.0 specify v1.0.0.pre.rc.3 version for polymer-paper-rails.


[Bug]:  SWA : Response status code does not indicate success: 400

What happened?
Hi,
I'm tying to expose a table (azure SQL)  using DAB. followed the documentation closely and I'm getting
_

Response status code does not indicate success: 400 (Bad Request)

_
when I make the Post call : https://white-plant-xxxxxx.5.azurestaticapps.net/data-api/graphql/Mytable
azure SQL is being access using SWA managed identity and all the permission are granted. when I profile SQL I see the connection from SWA, however I still get the 400 error message

here is how I defined staticwebapp.database.config.json
{   "$schema": "https://github.com/Azure/data-api-builder/releases/download/v0.9.7/dab.draft.schema.json",   "data-source": {     "database-type": "mssql",     "connection-string": "",     "options": {       "set-session-context": false     }   },   "runtime": {     "rest": {       "enabled": true,       "path": "/api",       "request-body-strict": false     },     "graphql": {       "enabled": true,       "path": "/graphql",       "allow-introspection": true     },     "host": {       "cors": {         "origins": ["https://xxxxx.5.azurestaticapps.net/"],         "allow-credentials": false       },       "authentication": {         "provider": "StaticWebApps"       },       "mode": "production"     }   },   "entities": {     "Mytable": {       "source": {         "object": "dbo.test",         "type": "table"       },       "graphql": {         "enabled": true,         "type": {           "singular": "Mytable",           "plural": "Mytables"         }       },       "rest": {         "enabled": true       },       "permissions": [         {           "role": "anonymous",           "actions": [             {               "action": "*"             }           ]         }       ]     }   } }
Version
1.1.7+74ea6c5f37f8629fd7f8b13fc56027bf0bf0a93a
What database are you using?
Azure SQL
What hosting model are you using?
Static Web Apps (SWA)
Which API approach are you accessing DAB through?
REST
Relevant log output
{"Message":"{\u0022Message\u0022:\u0022Response status code does not indicate success: 400 (Bad Request).\u0022,\u0022ActivityId\u0022:\u0022e9510a6f-d5f2-43ec-aebc-1acf9a72f1db\u0022}","ActivityId":"e9510a6f-d5f2-43ec-aebc-1acf9a72f1db"}

Code of Conduct

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

update : after more digging noticed that the table required Primary key.
however after introducing PK now I'm getting

{"error":{"code":"BadRequest","message":"Invalid request body. Missing field in body: IDs.","status":400}}

I profiled and noticed that SWA is running the following
exec sp_executesql N'SELECT ifsc.column_name from sys.columns as sc INNER JOIN information_schema.columns as ifsc ON (sc.is_computed = 1 or ifsc.data_type = ''timestamp'') AND sc.object_id = object_id(@param0+''.''+@param1) and ifsc.table_name = @param1 AND ifsc.table_schema = @param0 and ifsc.column_name = sc.name;',N'@param0 nvarchar(3),@param1 nvarchar(4)',@param0=N'dbo',@param1=N'test'

To help with repro, can you provide example table schema and contents of your POST request body?
Request should be:
POST  https://white-plant-xxxxxx.5.azurestaticapps.net/data-api/graphql/Mytable

with JSON request body:
{
 "primaryKeyName": "Value",
 "requiredField": "RequiredFieldValue"
}


[VS Code] Joining collaboration session: RPC connection closed.

Error:
Joining collaboration session: RPC connection closed.
Steps to Reproduce:
1.
2.

Version Data

extensionName
VSLS

extensionVersion
1.0.540

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.36.1

platformName
Windows

platformVersion
10.0.17134

Thanks for reporting this, @Landino06. Can you tell me more about what happened? Your logs may also provide us with helpful information. You can access them via the Live Share: Export Logs command from the command palette (ctrl + shift + p) and attach them to this issue.


Feature/fix account

Fixes breaking change from the account server API.

Coverage decreased (-0.01%) to 74.184% when pulling 001da12e4d13c50bbc5d2aa9783365c07c27c91d on feature/fix-account into 1e5e4309ac7c09ec61865b0823f9ed04cceb00ca on develop.

Coverage decreased (-0.01%) to 74.184% when pulling 710476b143b2dc2bb24dffa764a3530da76c5432 on feature/fix-account into 1e5e4309ac7c09ec61865b0823f9ed04cceb00ca on develop.


No communication with ESPHome 2024.9.2

Hi!
I updated the esphome version and since then i am not getting any data.
What can i do?
Processing smg-ii (board: lolin32; framework: espidf; platform<EMAIL_ADDRESS>--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - framework-espidf @ 3.40407.240606 (4.4.7)
 - tool-cmake @ 3.16.4
 - tool-ninja @ 1.7.1
 - toolchain-esp32ulp @ 2.35.0-20220830
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5

[09:26:36][D][uart_debug:114]: >>> 01:03:00:64:00:02:85:D4
[09:26:36][D][modbus_controller:038]: Modbus command to device=1 register=0x64 no response received - removed from send queue
[09:26:36][D][uart_debug:114]: >>> 01:03:00:6C:00:02:04:16
[09:26:37][D][uart_debug:114]: >>> 01:03:00:6C:00:02:04:16
[09:26:37][D][uart_debug:114]: >>> 01:03:00:6C:00:02:04:16
[09:26:37][D][uart_debug:114]: >>> 01:03:00:6C:00:02:04:16
[09:26:37][D][uart_debug:114]: >>> 01:03:00:6C:00:02:04:16
[09:26:37][D][modbus_controller:038]: Modbus command to device=1 register=0x6C no response received - removed from send queue
[09:26:37][D][uart_debug:114]: >>> 01:03:01:2C:00:04:84:3C
[09:26:37][W][modbus_controller:182]: Duplicate modbus command found: type=0x3 address=300 count=4
[09:26:37][W][modbus_controller:182]: Duplicate modbus command found: type=0x3 address=305 count=6
[09:26:37][W][modbus_controller:182]: Duplicate modbus command found: type=0x3 address=313 count=1
[09:26:37][W][modbus_controller:182]: Duplicate modbus command found: type=0x3 address=320 count=2
[09:26:37][W][modbus_controller:182]: Duplicate modbus command found: type=0x3 address=323 count=5
[09:26:37][W][modbus_controller:182]: Duplicate modbus command found: type=0x3 address=329 count=1
[09:26:37][W][modbus_controller:182]: Duplicate modbus command found: type=0x3 address=331 count=7
[09:26:38][D][uart_debug:114]: >>> 01:03:01:2C:00:04:84:3C
[09:26:38][D][uart_debug:114]: >>> 01:03:01:2C:00:04:84:3C
[09:26:38][D][uart_debug:114]: >>> 01:03:01:2C:00:04:84:3C
[09:26:38][D][uart_debug:114]: >>> 01:03:01:2C:00:04:84:3C
[09:26:38][D][modbus_controller:038]: Modbus command to device=1 register=0x12C no response received - removed from send queue
[09:26:39][D][uart_debug:114]: >>> 01:03:01:31:00:06:95:FB
[09:26:39][D][uart_debug:114]: >>> 01:03:01:31:00:06:95:FB
[09:26:39][D][uart_debug:114]: >>> 01:03:01:31:00:06:95:FB
[09:26:39][D][uart_debug:114]: >>> 01:03:01:31:00:06:95:FB
[09:26:39][D][uart_debug:114]: >>> 01:03:01:31:00:06:95:FB
[09:26:39][D][modbus_controller:038]: Modbus command to device=1 register=0x131 no response received - removed from send queue
[09:26:40][D][uart_debug:114]: >>> 01:03:01:39:00:01:55:FB
[09:26:40][D][uart_debug:114]: >>> 01:03:01:39:00:01:55:FB
[09:26:40][D][uart_debug:114]: >>> 01:03:01:39:00:01:55:FB
[09:26:40][D][uart_debug:114]: >>> 01:03:01:39:00:01:55:FB
[09:26:40][D][uart_debug:114]: >>> 01:03:01:39:00:01:55:FB

If you downgrade to the previous ESPHome version does it work again?

I can't downgrade:(

its my config:
substitutions:
name: smg-ii
device_description: "Monitor and control a ISolar/EASUN SMG II inverter via RS232"
tx_pin: GPIO16
rx_pin: GPIO17
esphome:
name: ${name}
platform: ESP32
board: lolin32
comment: ${device_description}
project:
name: "syssi.esphome-smg-ii"
version: 1.0.0
wifi:
ssid: !secret SSID
password: !secret wifi_password
manual_ip:
static_ip: xxx.xxx.xxx.xxx
gateway: xxx.xxx.xxx.xxx
subnet: <IP_ADDRESS>
power_save_mode: none
ota:
platform: esphome
password: "xxxx"
logger:
level: DEBUG
api:
uart:

id: uart_0
baud_rate: 9600
tx_pin: ${tx_pin}
rx_pin: ${rx_pin}
debug:
direction: BOTH
dummy_receiver: false

modbus:

id: modbus0
uart_id: uart_0
send_wait_time: 200ms

modbus_controller:

id: smg0
address: 0x01
modbus_id: modbus0
command_throttle: 200ms
update_interval: 10s

time:

platform: sntp

Do you have a linux host / Debian based machine at your network?
ESPHome can be installed pretty easily on the command line:
$ sudo apt-get install pipx
$ pipx install esphome==2024.6.0
Installing to existing venv 'esphome'
  installed package esphome 2024.6.0, installed using Python 3.11.2
  These apps are now globally available
    - esphome
done! ✨ 🌟 ✨
$ esphome version
Version: 2024.6.0

$ esphome run yourconfig.yaml

I understand this, but if I go back with other integrations I may have problems.

It's just to make sure the ESPHome version is the root cause.

I guess it won't work with the old ESPHome version too and we have to reboot your inverter or inspect the RS232 converter.

But I did nothing but update this one device.

It has worked perfectly so far, never had a problem with it. I pressed update yesterday and it went away. Unfortunately, I don't know what version it was before, but I think it was something like 7 or 8. I don't think there would be a problem with the RSR232 converter.

We have to identify the root cause. The best start is building the project with different ESPHome versions and compare the logs.

I tried the following modification, but it still doesn't work :(
esphome:
name: ${name}
platform: ESP32
board: lolin32
comment: ${device_description}
project:
name: "syssi.esphome-smg-ii"
version: 1.2.0
esp32:
board: esp32dev
framework:
type: arduino

Do you have another RS232 converter and ESP for doing some tests?

Friendly reminder.


MelonLoader fails to locate mono if the game dir is the root of a drive

This setup is most common within wine/proton environments where the game dir is mapped to be the D drive, etc.
Mono::CheckLibName tries to check if base_path (which is, in this case, D:) exists, which it apparently doesn't (missing backslash? root of drive "doesn't exist" according to windows/wine/proton? who knows), and therefore fails, even though the rest of the method would succeed.
This results in an Internal Failure thrown from Mono::SetupPaths because CheckFolderName returns an empty string for every folder.
I suggest simply removing the check for base_path existing and just bailing out if new_path doesn't exist, because clearly base_path must exist in all callers to this method, even if explicitly checking that fact says it doesn't.

Should be fixed but needs to be tested yet.


feat(main): gracefully shut down restful  rpc  prometheus services

Http server shutdown can close the service after all connections are executed.

Merged, thanks for contributing.


What is the usage of 'value' in genotype?

In the genotype of GDAS_GF. There are three items for one op in a cell, which are (op, index, value).
For example
('skip_connect', 0, 0.13017432391643524)
What's the usage for the 'value'? Thanks.

You can ignore that, it is just used for debugging.


Exception getting bars...

Great project! Unfortunately I cannot get it to work.
First an "end" parameter was needed getting the bars.
When I provide one (eg. end=self.lastDate) I'm getting another exception:  'str' object has no attribute 'value'.

Try this fixed fetch_symbol
def fetch_symbol(self, api, barTime, symbol):
while True:  # Add this loop
try:
# Define the start and end timestamps in ISO format
start_date_iso = self.lastDate + "T00:00:00-04:00"
end_date_iso = datetime.datetime.now().isoformat() + "-04:00"
            # Fetch the bars using the Alpaca API
            returned_data = api.get_bars(symbol, barTime, start=start_date_iso, end=end_date_iso)
            break  # If get_bars succeeds, break the loop
        except Exception as e:
            print(f"Exception: {e}")
            print("Retrying in 5 seconds...")
            time.sleep(5)

    if returned_data.df.empty:
        return None, None, None, None, None, None

thanks! this helped me 😊


Update Licences at Notice.txt to reflect dependency changes.

We will regenerate this PR, cause tool missed one case.


Add WebAIM Color Contrast Checker

Added link to WebAIM color contrast checker along with short description of what the tool does.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Thanks for the PR @kelsS, but this was added from a previous merge. Thanks and happy coding!


Live

Test PR

Docs Build status updates of commit 623d81e:
:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Test PR


WIP - Integrating Skia Gold for Golden File Testing

WIP : Do Not Review
Description
Integrating Flutter golden file testing with Skia Gold
Related Issues

#17260
#17259
#17258
#16859

Tests
WIP
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I updated/added relevant documentation (doc comments with ///).
[ ] All existing and new tests are passing.
[ ] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read Handling breaking changes). Replace this with a link to the e-mail where you asked for input on this proposed change.
[ ] No, this is not a breaking change.

This PR has gotten a bit hard to read against the diff after a bad merge. Closing in favor of opening a new one. Will reference in the new PR to maintain a link.


Support TimescaleDB / Primary key in Postgres integration

If you are not familiar, TimescaleDB is an extension for Postgres that improves performance for time series data through their "hypertable" structure. It seems like a good fit for event_* tables, particularly, event_up. It also offers query functions like time_bucket and continuously updated materialized views, which pair quite nicely with Grafana—my goal in this request.
Supporting TimescaleDB should, in theory, just require throwing
SELECT create_hypertable('event_up', 'time', migrate_data => true);

at the database.
The trouble is that deduplication_id is currently a primary key and, therefore, a unique index of event_* tables. Due to TimescaleDB's use of Postgres table partitioning, all partition columns must also be part of all unique indexes. In TimescaleDB the time column is always a partition column. As a result, event_* tables are not suitable to be converted to a TimescaleDB hypertable.
One solution is to drop the unique (primary key) requirement on the deduplication_id column. This seems to work fine, and from what I can tell does not affect Chirpstack. Does deduplication_id really need a UNIQUE index on it?
Another solution is to change the primary key to something like PRIMARY KEY (deduplication_id, time). Of course, that changes the semantics and likely isn't your goal here.
Would Chirpstack be willing to change the index on deduplication_id for the event_* tables to a plain, non-unique one? Perhaps this could be protected behind a TimescaleDB configuration option in the Postgres integration?

@brocaar I agree that the PK is not needed in this case, however, a BRIN index on the time column might be a nice default. The index is very small, yet would have a major impact on SELECTs. I would think event_up is generally filtered on time in most use cases?
In terms of pairing with Garanfa, TimescaleDB is still a better solution (in my opinion) and also open source. While automatic table partitioning helps avoid the ever-increasing insert costs associated with indexes and growing tables, features like time_bucket and time_bucket_gapfil that avoid sending huge amounts of data to Garfana as time ranges get large are more meaningful.
That said, I don't think Chirpstack should support or even understand TimescaleDb -- just not get in the way. Dropping the PK (which I don't think takes away anything semantically for Chirpstack) and adding a BRIN on time would enable TimescaleDB compatibility and still provide some sane defaults.
Should I open a PR?
As a side note, it would be really great if one could give Chirpstack some external SQL to send after it migrates the database. Right now, it is a bit of a manual process of enabling TimescaleDB /after/ the first start of Chirpstack but before it gets used.

Sorry for the delay.

Should I open a PR?

Yes please! To create the migration templates, please run the following commands:
# To enter the Docker devshell
make devshell

# Within Docker environment
cd src/integration/postgresql
diesel migration generate drop_pks_and_add_brin_indices

That should generate two files (up and down migration). The down migration should remove the brin indices and restore the PKs.

I looked at this again today, one "issue" that I encountered was that Diesel (the ORM / DB library that I am using) requires a primary key: https://stackoverflow.com/questions/61308862/is-it-possible-to-use-a-table-without-primary-key-in-diesel-rust.
Ideally I want to drop the primary key + add BRIN index on time (which also saves space). Adding a PK on the time column doesn't seem right to me.
I don't think there is any issue when you remove the PK constraint / indices after the first ChirpStack initialization, so maybe this is the easiest solution for now?

That is understandable, and unfortunate about Diesel. It is a bit of an operational wart because you have to change the database after Chripstack is first run, as opposed to the database initialization scripts. We are likely a bit odd in that we bring up new Chirpstack environments in an automated way as part of our “Purdue OATS Data Station” (POD) project. POD is an open source project that tries to make it easy to get started with “cloudless” agricultural IoT, based around LoRaWAN.
I'm okay if this is the long term answer, and happy for you to close the issue.

I should add that I have never seen an issue with modifying the indexes post Chirpstack initialization.

I'm closing this issue as removing the PK after DB initialization should not cause any issues.


x/upgrade: follow-ups from docs

Context
https://github.com/celestiaorg/celestia-app/pull/3224 merged and there are some untracked follow ups. It seems like there's agreement on doing them.
Proposal

Can we move some of the unit tests from tally_test.go to keeper_test.go?
Why does ResetTally only delete versions less than the current version? Why not delete all versions in the map?

Can we move some of the unit tests from tally_test.go to keeper_test.go?

Was handled in https://github.com/celestiaorg/celestia-app/pull/3290

Why does ResetTally only delete versions less than the current version? Why not delete all versions in the map?

Still needs to be handled.


keep indention when insert next line only when necessary such as binary operators (like -, +, *, %in%, %>%)

this is ccurrent implement
a <- b + # type `ENTER` to input next line, and next line won't have indention

a <- b +
    d + # type `ENTER` to input next line, and next line will have indention

a <- b +
    d # type `ENTER` to input next line, and next line will have indention even it's necessary to add indention

this is anticipated implement
a <- b + # type `ENTER` to input next line, and next line should have indention

a <- b +
    d + # type `ENTER` to input next line, and next line will have indention

a <- b +
    d # type `ENTER` to input next line, and next line shouldn't add indention

It seems the current implement of indention for next line is based on current line indention

I have tried to using this setting in vscode-R\language\r-configuration.json according to vscode document:
	"indentationRules": {
		"increaseIndentPattern": "(%.*%|[\\^+\\-*/<>=!&|~?])\\s*$",
		"indentNextLinePattern": "(%.*%|[\\^+\\-*/<>=!&|~?])\\s*$"
	}

but it didn't work, it's weird.

Anyone made this working?


you-get: 0.4.1456 -> 0.4.1475

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for you-get is: "A tiny command line utility to download media contents from the web"
meta.homepage for you-get is: "https://you-get.org"
meta.changelog for you-get is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.4.1475 with grep in /nix/store/bwkx6jyllz5hflblq9hi50rbmdqs6rlg-you-get-0.4.1475

directory tree listing: https://gist.github.com/03bf9960c1747887e61778a57df6c191

du listing: https://gist.github.com/dda0db5b781176123d79b0213334462e

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
you-get

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/bwkx6jyllz5hflblq9hi50rbmdqs6rlg-you-get-0.4.1475 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A you-get https://github.com/r-ryantm/nixpkgs/archive/c8147bd56c4c594508f632f9cfb40cba689aea99.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/bwkx6jyllz5hflblq9hi50rbmdqs6rlg-you-get-0.4.1475
ls -la /nix/store/bwkx6jyllz5hflblq9hi50rbmdqs6rlg-you-get-0.4.1475/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

1 package built:

you-get

Maintainer pings
cc @ryneeverett for testing.

LGTM.
[nix-shell:~/.cache/nixpkgs-review/pr-101885]$ you-get 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
site:                YouTube
title:               Me at the zoo
stream:
    - itag:          18
      container:     mp4
      quality:       small
      size:          0.8 MiB (790527 bytes)
    # download-with: you-get --itag=18 [URL]

Downloading Me at the zoo.mp4 ...
 100% (  0.8/  0.8MB) ├██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████┤[1/1]    5 MB/s

Saving Me at the zoo.en.srt ... Done.

Result of nixpkgs-review pr 101885 1

1 package built:

you-get


"Failed setup, will retry"  Was working for a day then getting this error HAOS Envisalink4  (see pics)

Hi, Running HAOS (latest Core), everything updated, have Vista20p with Envisalink 4.  Setup everything labeled zones now i'm getting an error.  Was working for less than a day then overnight notice this error and can't clear it with restarts

Are there any errors or warnings in your HA logs related to the integration?  I would expect there to be something in there given that setup error.  If not, could you enable debug logging for envisalink_new?

Okay I enabled it.  In the interim it seemed to pop back and now working well.

Okay so I happened again, just came home today and checked "Failed Setup, will retry".  How do I get the logs to send?

Here's the log
home-assistant_envisalink_new_2024-10-07T20-06-08.029Z.log

That looks like something else is already connected to the EVL device.  It (unfortatunely) only allows a single connection at a time on port 4025 and will close any additional connections - as is happening in your logs.
If you were using the stock envisalink integration before, did you comment out or remove that configuration from your configuration.yaml?  Or do you have another instance of HA (or some other system) also running which might be configured to connect to the EVL?

That was it - my old vera was still connecting to it.  I removed the vera evl plugins and now seems to be working perfectly.  Thanks brother! stay safe!


chore: only log chain id and genesis

the previous trace dumped the entire chainspec object which is quite huge.
this only logs chain id and genesis.
NOTE: genesis hash is still super slow in debug ref #1272

We should log hardforks too so people can validate their configs, but we can do this separately: #1343


Update libsecp256k1 subtree

Cherry-picked cleanly from bitcoin's branch. For some reason this is not done via a PR

These should be PRs 19228, 19944, 20147, 20257 and 21573.
0c4a383 looks unrelated (univalue?)

Hmm, correct. And those PRs are actually more expansive than these commits and don't merge cleanly. Probably not worth merging out of order


Provider memory leak

useEffect should return a removeEventListener as well as an abort here:
https://github.com/penumbra-zone/web/blob/f515113fac3b4e3a4d7a2561c20ac0f06d535abd/packages/react/src/components/penumbra-context-provider.tsx#L93
Separately, I'm not sure it makes sense to have an addEventListener for a single event penumbrastate. This feels like it could be a function that returns a cleanup function with a more constricted API.

the abort signal is provided to the addEventListener options parameter, which achieves removal of the listener. this is not a leak.
https://github.com/penumbra-zone/web/blob/f515113fac3b4e3a4d7a2561c20ac0f06d535abd/packages/react/src/components/penumbra-context-provider.tsx#L76-L93

Ah gotcha, didn't realize the abortController removes the listener 👍


hook.Register() can't bind f1~f12 when KeyUp and KeyDown

Robotgo version (or commit ref): v1.0.0-rc1
Go version: 1.20.2
Gcc version: gcc version 8.1.0
Operating system and bit: Windows 10 x64
Resolution:
Can you reproduce the bug at [Examples](https://github.com/go-vgo/robotgo/blob/master/examples/main.go):

[ ] Yes (provide example code)
[ ] No
[x] Not relevant

Provide example code:

hook.Register(hook.KeyHold, []string{"f10"}, func(e hook.Event) {
    fmt.Println(e)
})
s := hook.Start()
<-hook.Process(s)

Log gist:

Description
hook.Register() cannot bind f1~f12, it only works when using KeyHold, using KeyUp and KeyDown have no effect, and neither do combination keys like []string{"alt", "f10"}

I have the same issue.

I am also the same problem how to fix

Already solved code here  https://github.com/duolabmeng6/go-qoq/blob/master/mymodel/键代码.go


Problem in Jupyter Notebook when trying to GSP

Hello! I am working on Jupyter Notebook through Anaconda
I am trying to do GSP over a list. My list of transactions looks like
[['HTML/CSS', 'Java', 'JavaScript', 'Python'],
['C++', 'HTML/CSS', 'Python'],
['HTML/CSS'],
['C', 'C++', 'C#', 'Python', 'SQL'],
['C++', 'HTML/CSS', 'Java', 'JavaScript', 'Python', 'SQL', 'VBA'],
['Java', 'R', 'SQL']]
And when trying to GSP(transactions).search(0.3) --> This means support 0.3
I got an error saying AttributeError: module 'main' has no attribute 'spec'
I have used this library before and nothing happens but now it's happening and I don't know how to fix it
Can anyone help me?
Thanks! ;)

Hi man! I have just got fixed.
I have a line in the start of the script that says %reset
I removed it and... all perfect!

Hi man! I have just got fixed.
I have a line in the start of the script that says %reset
I removed it and... all perfect!

Perfect

Perfect


Front-end - Improvements

Following a little test of front-end generator, here are some improvements that could be achieve:

Use a CSS "pointer" custor, so that the user knows he can click the whole button + radio button area
Focus on the input of Path (required) : label

I mean that when you arrive on the page, your input focus is on this field by default whether it's prefilled or not. What do you think about that?

Oh ok I see !
then I agree, we could do that by adding autofocus on the input (https://developer.mozilla.org/fr/docs/Web/HTML/Global_attributes/autofocus)
done here :
https://github.com/jhipster/jhipster-lite/pull/1482/files

both ideas were done and merged I think the ticket can be closed


Trouble passing UL to zTree

I have two sites, one is developed using Polymer v1 the other is Polymer v2.  I have zTree working fine in the v1 site but I am having trouble on the v2 site.  BUT I don't know that the problem is polymer or not.
The only difference I can spot so far is how $("treeDemo") passes a reference to init().  In both cases I have this:

$.fn.zTree.init($("#treeDemo"), this.settings, this.data);
In the poly v1 site the UL is passed into init like this:

In the Poly v2 site the UL is passed in like this:

Any ideas?

Hmmm I don't normally use jQuery but looking at this it seems obvious to me now that it is not getting a reference to the UL at all.

This worked
var treeEl = Polymer.dom(this.root).querySelector('.ztree');
$.fn.zTree.init($(treeEl), this.settings, this.data);
I should title this using zTree with Polymer


switch to displaying dates as soon as the day changes

Previously we switched to displaying dates as soon as 24h passed. This is however potentially confusing for users:
04-08 16:00 -O> Some message
17:00:00 -O> Some other message

Was "Some other message" sent today or yesterday? To answer this question the user must:

Check the current time
If it is after  17:00:00, it was today
If it is before 17:00:00, it was yesterday

With the new behavior, we prefix the times with a date as soon as we cross the day border. This way it requires no awareness of the current time to determine on which day a message was received: All messages without a date are today, all messages with a date are yesterday or earlier.
Additionally the rendering of old messages changes only once per day. Previously it was kind of irritating if you were using jackline around the same time on multiple days without clearing the history since every once in a while a single message further up changes because its timestamp is suddenly rendered differently.

thanks


Support for Kitkat 4.4 ART (not Dalvik)

(This is transferred from Bugzilla Bug #19, 28 July 2014)
Logged by  Daniel Weck 2013-11-28 02:55:44 CST
http://source.android.com/devices/tech/dalvik/art.html
ART is an opt-in experimental feature in 4.4, so this is a low-priority issue.

No problems on my KitKat ART -enabled device.


cargo update breaks versionize_derive compilation.

I have a project which has versionize_derive v0.1.4 as a dependency. According to my Cargo.lock, this crate currently depends on syn v1.0.109. Since the release of syn v2.0.0 a few days ago, cargo update updates syn to v2.0.4, which breaks the build of versionize_derive.
In the 0.1.4 release of versionize_derive, Cargo.toml contains this line:
syn = { version = ">=1.0.13", features=["full", "extra-traits"]}

On main, this has been changed to:
syn = { version = "1.0.13", features=["full", "extra-traits"]}

But this change has never been published to crates.io.
In fact, a versionize_derive dependency in my Cargo.toml pointing to the main branch is correctly handled by cargo update
versionize_derive = { git = "https://github.com/firecracker-microvm/versionize_derive", branch = "main" }

Is there anything I can do about this on my side, or is this a bug with versionize_derive v0.1.4?

@aghecenco @dianpopa Is it possible to release a new version with the fix?

This has been fixed with v0.1.5 on crates.io, thanks!


refactor(protocol-engine): Rename "...DoesNotExistError" to "...NotLoadedError"

Overview
This renames some Protocol Engine errors for clarity.
Changelog

Rename ModuleDoesNotExistError to ModuleNotLoadedError, to separate it further from ModuleNotAttachedError. A module not being "attached" might be conflated with it not "existing." We actually only use this exception type for when the module has not been loaded into Protocol Engine state–i.e., the user provides a bad moduleId, regardless of what's physically connected.
Rename PipetteDoesNotExistError to PipetteNotLoadedError, to separate it further from PipetteNotAttachedError. Same reason as above.
Rename LabwareDoesNotExistError to LabwareNotLoadedError, for consistency with the above.
Leave these alone because we don't really "load" them:

CommandDoesNotExistError,
LabwareDefinitionDoesNotExistError
LabwareOffsetDoesNotExistError
WellDoesNotExistError
SlotDoesNotExistError

Review requests

Do we agree with this? Are these new names OK?

Risk assessment
Should be low risk, assuming CI passes.
Technically, I believe this rename might be HTTP-client–facing, but I don't think anything relies on it, and we haven't been treating these errors structurally so far, so...

The one failing CI job, hardware lint/test / hardware package linting and tests (push), is failing for other PRs too. Merging this, assuming it's a CI failure unrelated to this PR.


Minor updates for document

Bump up Sphinx version to the latest one
Fix two warnings

malformed table that makes participants in the latest doc invisible
no directory found for static resources

Add more translation for Japanese language

Thank you, especially for fixing the participants table! I should have checked it before merging.


OCaml 5.3 support

hpack currently fails with the following error on OCaml 5.3:
#=== ERROR while compiling hpack.0.12.0 =======================================#
# context              2.3.0~alpha~dev | linux/x86_64 | ocaml-variants.5.3.0+trunk | file:///home/opam/opam-repository
# path                 ~/.opam/5.3/.opam-switch/build/hpack.0.12.0
# command              ~/.opam/5.3/bin/dune build -p hpack -j 1 @install
# exit-code            1
# env-file             ~/.opam/log/hpack-20-a43dd2.env
# output-file          ~/.opam/log/hpack-20-a43dd2.out
### output ###
# (cd _build/default && /home/opam/.opam/5.3/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I hpack/util/.gen_huffman.eobjs/byte -I /home/opam/.opam/5.3/lib/ocaml/compiler-libs -no-alias-deps -o hpack/util/.gen_huffman.eobjs/byte/dune__exe__Gen_huffman.cmo -c -impl hpack/util/gen_huffman.ml)
# File "hpack/util/gen_huffman.ml", line 113, characters 28-71:
# 113 |              [ Exp.constant (Pconst_integer (string_of_int code, None))
#                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Error: This expression should not be a constructor, the expected type is
#        "Parsetree.constant"

Ah sorry i seemed to have missed the release. Note however that dune build (aka. @all) on 5.3 still fails so this fix is only a temporary one

ah, good find. I'll make sure to patch that up and release a patch version soon.


Netlify Identity not working when using Edge Functions

Describe the bug
When using adapter-netlify and enabling the experimental Edge Functions, Netlify Identity doesn't work. The https://example.com/.netlify/identity path gets a 404 from SvelteKit, but it should be handled by Netlify (or at least I think so).
Using the adapter without the Edge Functions enabled doesn't break Netlify Identity.
Reproduction
Stackblitz fork.

Create a project on Netlify.
Enable Identity and Git Gateway.
Try to login at /admin (or invite yourself and try to accept the invite)

Logs
The Firefox browser console shows `[XHR] GET https://example.com/.netlify/identity/settings [HTTP/2 404 Not Found 31ms]`

System Info
System:
  OS: macOS 12.4
  CPU: (8) arm64 Apple M1
  Memory: 81.97 MB / 16.00 GB
  Shell: 5.8.1 - /bin/zsh
Binaries:
  Node: 16.14.0 - ~/.nvm/versions/node/v16.14.0/bin/node
  Yarn: 1.22.15 - /opt/homebrew/bin/yarn
  npm: 8.5.1 - ~/.nvm/versions/node/v16.14.0/bin/npm
Browsers:
  Chrome: 102.0.5005.115
  Firefox: 101.0.1
  Safari: 15.5
  Safari Technology Preview: 15.4
npmPackages:
  @sveltejs/adapter-netlify: next => 1.0.0-next.64
  @sveltejs/kit: next => 1.0.0-next.350
  svelte: ^3.48.0 => 3.48.0

Severity
annoyance
Additional Information
No response

@ascorbic perhaps you might have some idea if there's some support we're missing?

Does the project build okay then? Only 404's when the site is live and trying to hit that endpoint?
I'm wondering if a redirect would work here as a workaround. I'll dig more into it, but this might be a temp fix.

Create a route /admin
Inside routes/admin create a +page.server.ts file with the following:
``js
import { redirect } from '@sveltejs/kit';
import type { PageServerLoad } from './$types';

export const load: PageServerLoad = async () => {
throw redirect(
301,
'https://example.com/.netlify/identity'
);
};
- In `netlify.toml`:
```toml
[[redirects]]
  from = "/admin"
  to = "https://example.com/.netlify/identity"

The project did build okay the last time I tested it, but I haven't messed with that in a while now. I can repro my old project (with updated dependencies) some time this week to verify it it still causes issues.

The project did build okay the last time I tested it, but I haven't messed with that in a while now. I can repro my old project (with updated dependencies) some time this week to verify it it still causes issues.

Okay, I'm going to look into this. One thing I noticed is that @sveltejs/adapter-netlify was not installed and specified in the svelte.config.js file in the Stackblitz reproduction. The adapter-auto does not look at the configuration, so it would not pick up edge: true in the adapter config.

I'm pretty sure my actual project had adapter-netlify, but I don't have the original project anymore

I can confirm the issue is still occurring. It works on this commit, but not this one.

This is kind of an issue how edge functions are handled by Netlify. Issue is that by using ^/.*$ regex in the manifest.json you will catch all the request and pipe them through Sveltekit. With lambda functions this is fine, and /.netlify/* doesn't get caught.
(I opened at Netlify's forum but their soution is a bit overcomplicated imho: https://answers.netlify.com/t/how-to-use-netlify-identity-with-edge-functions-sveltekit/75634)
I wrote a very dirty solution for it. I'm replacing the regex pattern by the adapter to ^/[^.].*$. This way all the routes starting with . will not get caught by the edge function. This awful solution comes with a caveat that the aformentioned regex excludes / too... So unless you prerender the home page anyway this would break your app. There might be a better regex for this but since edge functions doesn't support look aheads I couldn't think of a better one. (https://docs.netlify.com/edge-functions/create-integration/#generate-declarations)
Here is how I did this with a onBuild build plugin:
import { readFile, writeFile } from 'fs/promises'

/**
 * Keep /.netlify/* endpoints getting caught by edge function pattern
 */
export const onBuild = async function ({ build }) {
	try {
		const file = await readFile('.netlify/edge-functions/manifest.json', {encoding: 'utf8'}).then(s => JSON.parse(s))
		// https://regex101.com/r/ldVrTI/1
		// This will actually ignore all routes starting with ".". => /.*/*
		file.functions[0].pattern = '^/[^.].*$'
		await writeFile('.netlify/edge-functions/manifest.json', JSON.stringify(file))
	} catch (err) {
		build.failBuild(err)
	}
}

We're adding support for negative matchers. It's currently experimental, but can add it to the adapter when it's a stable. It would be good to think of which other routes would need excluding.

Any updates on this, I can't see any workaround documented

A workaround is listed here: https://github.com/sveltejs/kit/issues/10584 (point 4 of alternatives considered)


reset values

i saw some issues here talking about reset the values.
i still not managed to do this.
i am working with hooks.
what is the wat to do it please?

It won't be nice but you can use useRef

thank u!


Fix Clair config permission issue

Change config file owner to clair

Coverage increased (+0.008%) to 56.215% when pulling ceba1fd62953f4665d80d5c4b87c61d1ac9299b9 on yixingjia:fixPermissionforclair into 621d93cdbce1473cfdb14e8c3ac8a4233bba7cd5 on vmware:master.


[Feature request] Volume control by scroll wheel

Would be great if this feature can be added. When mouse is hovered over a playing video, the volume can be adjusted by scrolling. Few other extensions on Chrome can do this too. It's a very convenient feature.
Thanks!

Any update?

@YePpHa Any idea when you might have the time to implement this? It's been getting many duplicate requests lately and several of them seem to be open as well.

@YePpHa This is what I used for mine if you think it might be worth using:
function volumeWheel(event) {
    var api = window.yt && window.yt.player && window.yt.player.getPlayerByElement && window.yt.player.getPlayerByElement('player-api'),
        direction = event && (event.deltaY || event.wheelDeltaY),
        playerApi = document.getElementById('player-api');
    if (event && api && playerApi && (event.target.id === 'player-api' || playerApi.contains(event.target))) {
        event.preventDefault();
        if (direction > 0) {
            api.setVolume(api.getVolume() - 10);
        } else if (direction < 0) {
            api.setVolume(api.getVolume() + 10);
        }
    }
}
if (USER_WANTS_VL_WHEEL_CTRL) {
    window.addEventListener('wheel', volumeWheel);
}


Errors on usage.

Hi. I'm a graduate student from korea, majoring computer science.
I think LNN is a great project what I'm looking for. I really appreciate it. Thanks.
However, I found some errors in the usage page.
https://ibm.github.io/LNN/education/examples/reasoning.html#more-complex-reasoning-example
from lnn import (Predicate, Variable, Join, And,
                 Exists, Implies, ForAll, Model, Fact, World)

model = Model()  # Instantiate a model.
x, y, z, w = map(Variable, ['x', 'y', 'z', 'w'])

# Define and add predicates to the model.
owns = model['owns'] = Predicate('owns', 2)  # binary predicate
missile = model['missile'] = Predicate('missile')
american = model['american'] = Predicate('american')
enemy = model['enemy'] = Predicate('enemy', 2)
hostile = model['hostile'] = Predicate('hostile')
criminal = model['criminal'] = Predicate('criminal')
weapon = model['weapon'] = Predicate('weapon')
sells = model['sells'] = Predicate('sells', 3)  # ternary predicate

which tells that
      5 x, y, z, w = map(Variable, ['x', 'y', 'z', 'w'])
      7 # Define and add predicates to the model.
----> 8 owns = model['owns'] = Predicate('owns', 2)  # binary predicate
      9 missile = model['missile'] = Predicate('missile')
     10 american = model['american'] = Predicate('american')

TypeError: 'Model' object does not support item assignment

I'm new to LNN, and not yet fully understand it. Can you please tell me how to fix this error? Thank you very much.

A few comments.
So i deleted the item assignment from the code.
# Define and add predicates to the model.
owns = Predicate('owns', 2)  # binary predicate
missile = Predicate('missile')
american = Predicate('american')
enemy = Predicate('enemy', 2)
hostile = Predicate('hostile')
criminal = Predicate('criminal')
weapon = Predicate('weapon')
sells = Predicate('sells', 3)  # ternary predicate

It seems to work, however, I got another error message from that code.
# Define and add the background knowledge to  the model.
america_enemies = (
    ForAll(x, Implies(enemy(x, (y, 'America')),
                      hostile(x),
                      join=Join.OUTER),
           join=Join.OUTER,
           world=World.AXIOM)
    )
model.add_knowledge(america_enemies)

which gave me an error message:

File ~/home/lnn-homework/complex.py:19
     15 sells = Predicate('sells', 3)  # ternary predicate
     17 # Define and add the background knowledge to  the model.
     18 america_enemies = (
---> 19     ForAll(x, Implies(enemy(x, (y, 'America')),
     20                       hostile(x),
     21                       join=Join.OUTER),
     22            join=Join.OUTER,
     23            world=World.AXIOM)
     24     )
     25 model.add_knowledge(america_enemies)

File ~/.virtualenvs/lnn/lib/python3.10/site-packages/lnn/symbolic/logic/leaf_formula.py:92, in Predicate.__call__(self, *args, **kwds)
     75 def __call__(self, *args, **kwds):
     76     r"""A called first-order logic predicate
     77
     78     This correctly instantiates a predicate with variables - which is required when
   (...)
     90     an ordered unique collection (list).
     91     """
---> 92     return super().__call__(*args, **kwds)

File ~/.virtualenvs/lnn/lib/python3.10/site-packages/lnn/symbolic/logic/formula.py:689, in Formula.__call__(self, bind, *variables)
    687     variable_objects.append(v)
    688 else:
--> 689     raise TypeError(f"expected variable, received {type(v)}")
    691 if v in bind:
    692     if isinstance(bind[v], str):  # a single binding

TypeError: expected variable, received <class 'tuple'>

In [3]:

Hi @daisylab. Nice to meet you. It is great to hear that you are using the LNN.
Thank you for pointing this out. I will try to replicate the issue. In the meantime, please see here for a working example of the same code. Let me know if you have any questions.

Thank you for the working example. It runs smoothly without errors. It greatly helped me.
After testing the code you mentioned above, I myself tried to modify the example code, and I got the right result, a.k.a, {'West'}.
Below is my modification to the example code:
# The code snippet below shows the declaration of the model and all the
# predicates.

from lnn import (Predicate, Variable, And,
                 Exists, Implies, ForAll, Model, Fact)

model = Model()  # Instantiate a model.
x, y, z, w = map(Variable, ['x', 'y', 'z', 'w'])

# Define and add predicates to the model.
owns = Predicate('owns', 2)  # binary predicate
missile = Predicate('missile')
american = Predicate('american')
enemy = Predicate('enemy', 2)
hostile = Predicate('hostile')
criminal = Predicate('criminal')
weapon = Predicate('weapon')
sells = Predicate('sells', 3)  # ternary predicate

# The code snippet below shows an example of adding the background
# knowledge into the model. All the other rules can be added to the
# model similarly.

model.add_knowledge(
    ForAll(x, y,
           Implies(enemy(x, y, bind={y: 'America'}),
                   hostile(x))),
    ForAll(x, y, z,
           Implies(And(american(x), weapon(y), sells(x, y, z),
                       hostile(z)),
                   criminal(x))),
    ForAll(x, y, z,
           Implies(And(missile(x), owns(y, x, bind={y: 'Nono'})),
                   sells(z, x, y, bind={z: 'West', y: 'Nono'}))),
    ForAll(x,
           Implies(missile(x), weapon(x)))

)

# The code snippet below shows how to add the query into the model.

query = Exists(x, criminal(x))

# model.add_knowledge(query)
model.set_query(query)

# Finally, we can add facts into the model.

model.add_data({
    owns: {('Nono', 'M1'): Fact.TRUE},
    missile: {'M1': Fact.TRUE},
    american: {'West': Fact.TRUE},
    enemy: {('Nono', 'America'): Fact.TRUE},
})

# Then we are ready to perform inference and answer queries (aka
# theorem proving):

model.infer()

print(model[query].true_groundings)

Thank you for your advice.

The above example API is outdated and covered in the unittest. I don't see a question or issue, so closing it off.


[MySql] The specific offset mode failed when enable GTID mode

Describe the bug
The specific offset mode failed when enable GTID mode
Environment :

Flink version :  1.13.2
Flink CDC version: 1.x
Database and version: MySQL 5.7

To Reproduce
MySqlSourTest#testStartupFromSpecificOffset will failed if we enable GTID mode

Closing this issue because it was created before version 2.3.0 (2022-11-10). Please try the latest version of Flink CDC to see if the issue has been resolved. If the issue is still valid, kindly report it on Apache Jira under project Flink with component tag Flink CDC. Thank you!


Certificate Details

Are there specific details that are needed specifically for WAC if one has to request a cert for the organization CA?

Thanks for your dedication to our documentation. If we have been unable to review your issue in a timely manner, we sincerely apologize for the delayed response. We have captured the informtion you have provided for review. We are closing this issue for now, but if you feel that it's still a concern, please respond and let us know. If you determine another possible update to our documentation, please don't hesitate to reach out again. #please-close


Case insensitive sorting of other category indexes

Dependencies and All index are sorted with casefold, similarly required for category indexes.
example see main.py:158

Completed


fixed issue with workspace members using bare keys containing a period "."

I was able to debug the extension and find the issue.
The exception is being thrown from the TOML package and not from the extension.
When using a workspace and and a workspace member references a value from the workspace's Cargo.toml the key naming convention is {key}.workspace = true. I use  cargo ws command to create my workspace member packages. It is what generates these keys.
[package]
name = "backlog"
edition = "2021"
description.workspace = true
readme.workspace = true
homepage.workspace = true
repository.workspace = true
keywords.workspace = true
rust-version.workspace = true
license.workspace = true
version.workspace = true
authors.workspace = true
include.workspace = true

[dependencies]
clap = { version = "4.5.7", features = ["derive"] }
core = { path = "../core" }
infra = { path = "../infra" }
tokio = { version = "1.38.0", features = ["full"] }

According to the TOML v1 spec bare keys may only contain ASCII letters, ASCII digits, underscores, and dashes (A-Za-z0-9_-)
So the TOML parser is correct.
I have submitted a PR with a regex to alleviate the exception in the extension.

Thanks for providing an example to reproduce this issue, your conclusion is correct, I use toml-node to parser the Toml, it only supports Toml v0.4 spec, Your PR is feasible, but I came across js-toml, which supports spec v1.0.0. I want to give this a try instead.

Ah, ok. I tried the toml-v1 library on npm before I went the regex route. Thanks for getting it updated!


Prebuilt step to upload builds to storage backend

Built-in option to deploy builds to s3 or rclone (gcp to come later)

Hello,
Maybe a part of this project, help us to upload artifact for AWS S3:
https://github.com/oismaelash/pipeline-sdk-js-frontend
Regards,


image trace loader performance?

Hello,
Thanks for the great project! And we use it in our project, it works fine if images not so much. And in the production env, there are around 10000+ images. We try to build the project using webpack and it throws out out of memory error. So did you test the image-trace-loader performance?
Thanks

Hi @jacktang! Thank you for your kind words.
I have not done any performance testing with 10 000+ images, sadly. Have you isolated the problem to image-trace-loader, and it's just not Webpack that is having trouble with that many modules?
image-trace-loader itself does very minimal work per module, and I'm not sure how it could be improved upon.

I'm closing this as I see no way of optimizing the loader's performance. It might be worth looking into giving Webpack more memory.
node --max_old_space_size=4096 ./node_modules/webpack/bin/webpack.js ...


Introduce canny.io for feature-request

I think introducing canny.io is useful for managing feature requests (Be able to understand what feature developer truly required).
This is a case study for expo ( https://expo.canny.io/feature-requests )

@yareyaredesuyo
Thanks for your suggestion, we will check on that.


Alby Hub - Update docker-compose.yml

I'm not sure whether i formatted the decription correctly, since link start appearing in black instead of dark blue

Thanks for your contribution.


when I execute Segmentation_Models. py I have this error  I download the database but I don't know how can I add to the path or where can I placed in folder code

Using TensorFlow backend.
Finding patches of class 0...                                             ]  0%
Traceback (most recent call last):
File "Segmentation_Models.py", line 377, in
X,y = patches.make_training_patches()
File "brain_segmentation-master/code/patch_library.py", line 155, in make_training_patches
p, l = self.find_patches(classes[i], per_class)
File "/brain_segmentation-master/code/patch_library.py", line 47, in find_patches
label = io.imread('Labels/' + fn[:-4] + 'L.png')
File ".local/lib/python2.7/site-packages/skimage/io/_io.py", line 61, in imread
img = call_plugin('imread', fname, plugin=plugin, **plugin_args)
File ".local/lib/python2.7/site-packages/skimage/io/manage_plugins.py", line 211, in call_plugin
return func(*args, **kwargs)
File ".local/lib/python2.7/site-packages/skimage/io/_plugins/pil_plugin.py", line 35, in imread
with open(fname, 'rb') as f:
IOError: [Errno 2] No such file or directory: 'Labels/LaL.png'

it seems that you have to run brain_pipeline.py first to generate training images and label images. the label images will be created in directory Labels(you have to create Labels directory in advance).
hope it helps. :)

Thank you for your help
I run brain-pipeline. py first and the other files of the project I run finally Segmentation_Models. py but I have the same problem.

Is there anyone who can help to run this code successfully?  I am unable to find segmented images ? I don't know what will happen after running first file. I am not getting any error in code but i dont know where to find resulted images.

@Jiyya were you able to run it successfully ?

Any progress?


Support field-wide Fairy Aura, Dark Aura and Aura Break when neither Pokemon uses the ability

Fairy Aura, Dark Aura, and Aura Break currently rely on one of the two Pokemon involved in the calc using the appropriate ability. To better support partners carrying these abilities in VGC/doubles, these three ability effects have been added to the Field class.
The missing support for this functionality was brought to me by @jbmagier and I arrived at a solution following some discussion between us.
This PR simply implements the under the hood functionality for use in the @smogon/calc module, and does not implement the front end support. This functionality can be seen in use on the Pikalytics Damage Calc in the screenshots below:

Reorganized a portion of the Aura conditionals for clarity and to reduce line length as per eslint.

thanks!


bumpbed version of stan release-1.3

Increased stan.go library version to the latest

/assign @rhuss

I'm not sure that I am the right person for reviewing this issue as I'm a noob when it comes to Natts. @pierDipi @lionelvillard @matzew could you please review / delegate this issue ?
thanks !
/unassign rhuss

/cc @dan-j


Use aws_autoscaling_attachment instead

Fixes #19
This is backwards incompatible and a breaking change.
Migration Instruction
load_balancers
For each existing load balancer specified with the load_balancers variable, define a new aws_autoscaling_attachment . For example:
# Create a new load balancer
resource "aws_elb" "bar" {
  // ...
}

# Create a new Nomad Cluster
module "nomad" {
  source ="..."
  // ...
}

# Create a new load balancer attachment
resource "aws_autoscaling_attachment" "asg_attachment_bar" {
  autoscaling_group_name = "${module.nomad.asg_name}"
  elb                    = "${aws_elb.bar.id}"
}

target_group_arns
For each existing target group specified with the target_group_arns variable, define a new aws_autoscaling_attachment . For example:
resource "aws_lb_target_group" "test" {
  // ...
}

# Create a new Nomad Cluster
module "nomad" {
  source ="..."
  // ...
}

# Create a new load balancer attachment
resource "aws_autoscaling_attachment" "asg_attachment_bar" {
  autoscaling_group_name = "${module.nomad.asg_name}"
  alb_target_group_arn   = "${aws_alb_target_group.test.arn}"
}

Actually, perhaps we can keep this API compatible by creating an aws_autoscaling_attachment within the module itself, using the same input parameters?
It's still backwards incompatible from a deployment perspective, as the old attachment will be removed and a new one created, but that still seems better than removing these parameters entirely, doesn't it?

That's a good idea. I'll work on this tomorrow.

Please see the new commit. This might cause resource recreation for existing users.

@brikis98 I have removed the latest commit.

Sorry for the radio silence for two week. I was away. I have added documentation.

Haha, no worries. Having not looked at this for a while, I want to ask one last sanity check: the premise of this PR is that you cannot use the aws_autoscaling_attachment resource with target_group_arns and load_balancers. That makes sense. But is that still true even if target_group_arns and load_balancers are set to empty lists? Does Terraform treat that as implying no load balancers should be attached at all? If so, is it possible work around that by setting the default to an empty string ("") to indicate to Terraform not to set that value at all?

Setting an empty string means "zero Load balancers or target groups". There is no way to "unset" this.

Setting an empty list means "zero Load balancers or target groups". There is no way to "unset" this. Setting an empty string is an error I believe (because it requires a list).

OK, understood. Merging now.

https://github.com/hashicorp/terraform-aws-nomad/releases/tag/v0.3.0


calculate and return hypothesis confidence number

This PR is a proposal for including a confidence number in the HTTP JSON response. The confidence algorithm is from some commits to the sample full postprocessor: a hypothesis whose kaldi likelihood is relatively much higher than the next hypothesis's likelihood gets a higher confidence number; hypotheses whose likelihoods are closer together get a lower confidence number.
A couple points to notice when considering this PR:

If a result contains multiple segments, the overall confidence is the average of all segments' confidences (not sure if there's a better or more standard approach there)
It's not exposed in the final result, but I am calculating confidences for all the n-best hypotheses for each segment. The algorithm is the same, except a confidence won't ever be higher than the previous n-best hypothesis's confidence. For example for a 3rd-best hypothesis, I'm not sure if "confidence" means "I'm confident that this is the 3rd best", or if it means "I'm confident that this is the right answer overall". I went with the latter, meaning confidences of later hypotheses will not be greater than confidences of hypotheses earlier in the n-best list.

Comments or suggestions welcome - thanks!

Sorry for not checking out this PR earlier.
This seems like a good idea. However, it seems to me that the confidence for the mult-segment hyp should be the product of the confidences of the individual segments. Confidences are like probabilities, and when you combine the probabilities of multiple events, you need to multiply their probabilities. Or do you have any other viewpoint, perhaps from a practical perspective. Of course, this would mean that the confidence of long multi-segment utterance will be very small, but it seems to me that this reflects the reality (after all, you cannot be so sure that at least one word is not correct).


Publish package installer at PyPI

Closes #278

Coverage increased (+0.004%) to 91.555% when pulling c112520fc483aa5a28906bbb844f7e6a01f696d9 on publish_version into 1d8cf0fbac45210ea8c613f4c0193e8e39b41e18 on master.


Universidad Lucerna

Adding Universidad Lucerna

@david-hernandez-gutierrez First stage of verification passed, official domain for Universidad Lucerna is lucerna.edu.mx as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@david-hernandez-gutierrez Thank you for your patience while waiting for a review and processing your request. Pull request merged.
Please start requesting the licenses in about an hour, to let the changes to propagate through our system.


chore(package.json): add build script

Coverage remained the same at 100.0% when pulling 39585c8961d2258ec9540dcafd6ea66f692ec501 on update-npm-script into 62009c3cf6fd4513995e59f36ab9ed3618e3ffa1 on master.

Coverage remained the same at 100.0% when pulling c2012a1d723a8d6e222788103209913d32746cae on update-npm-script into 62009c3cf6fd4513995e59f36ab9ed3618e3ffa1 on master.

Coverage remained the same at 100.0% when pulling f252bf0dbe99c69efe11a324d690593c46ff29d9 on update-npm-script into 62009c3cf6fd4513995e59f36ab9ed3618e3ffa1 on master.

Coverage remained the same at 100.0% when pulling 435b7823efb70425da5596d686cc580ab7bcdc20 on update-npm-script into 62009c3cf6fd4513995e59f36ab9ed3618e3ffa1 on master.


Only advertise range topic of px4flow board if it is the primary range device

this allows selecting another range device such as a lidar by starting that app first.
Currently, connecting a px4flow board and a separate range device (e.g. a TeraRanger) does not allow working flow because the range messages of px4flow trump the ones of the ranging device, even if the px4flow board does not have an ultrasound module installed.
With this, the range sensor can be prioritized by starting its app first.
Unfortunately it still requires changes in rcS because it is not enough to first px4flow stop and then start the apps in the prioritized order. But it's still an improvement.

Great! I merged a change with an enable param for TrOne just yesterday - can you make sure it works in conjunction with that one?

Tested, works as expected.


fix: field condition list and functionality

resolves #310

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Use from React

I need to verify the specs of a wav file on my frond-end before uploading, I currently have a the base64 of the file which i'm converting to a readable stream using fetch:
const fileReader = new FileReader();
fileReader.onloadend = () => {
            fetch(fileReader.result)
              .then(res => {
                  const reader = res.body.getReader();
                  ///????????
              });
          };
          fileReader.readAsDataURL(file);

But browser stream does not have a pipe method, is there a way I can pass a stream (or a buffer) to a function on the reader in order to get the header?
thanks in advance

I also tried creating a readable stream like:
            const buffer = new Buffer(fileReader.result, 'base64')
            const readable = new Readable()
            readable._read = () => { } // _read is required but you can noop it
            readable.push(buffer)
            readable.push(null)

            readable.pipe(reader) // consume the stream

but I got bad "chunk id": expected "RIFF" or "RIFX", got "u+Zj"
On NodeJS this files gets processed correctly

Got it, it was a problem with Base64 string, thanks again for a great library


Add samples with Netty codecs

This PR adds sample code with Netty codecs to help with #28.
One example uses Netty's LineBasedFrameDecoder to split the input stream into messages based on new line characters. Another example uses Netty's JsonObjectDecoder to split the input stream by matching curly braces + a simple Jakson-based custom decoder for actually decoding the JSON.
Both examples request one 1 item at a time and also allow configuring Netty's input buffer size to experiment with the effect of calls to channel.read. A separate PR will be sent short with example read backpressure support for discussion and comments will be added under #28.
The PR also includes a couple more minor changes:

set the JDK version for example projects to 1.8 vs 1.7 for the rest
introduce ReactorTcpHandler interface in reactor-ripc

This PR now also contains the unit tests commit


Most probably (I didn't check it!). But if you cook Dolmadefiles without checking them you are acting irresponsible!
This should definitely be fixed by the cook script.
Just not right now yet...

We probably skip this during the python prototype phase and address this later in the C++ impl

wontfix


Navbar disappearing after initialView dismiss

The <super-navbar> disappears after dismissing the initialView. I experienced this on iOS 7 and 8.  It is not happening on the simulator.
supersonic.ui.initialView.dismiss().then(function(){
    supersonic.ui.layers.replace("index");
});

This was reported on Muut and again referenced on SO. Here's the Muut post.
https://muut.com/appgyver#!/steroids-native-ui#navbar-disappearing-after-i

Why are you calling replace("index")? Is the navbar showing after a while?
The navigation bar blinking out and then showing after a while is probably caused by the Initial View disappearing before Web Components are initialized, which is more pronounced on slower devices.

Instead of replace("index") would you suggest layers.push(indexview) inside the then() method?
The navbar is not showing up after a while. This is happening on multiple devices, one of them being an iPhone 6. The navbar is there for a second and then disappears.

My point is that if you just call supersonic.ui.initialView.dismiss(), it will show your root view or first tab as defined in config/structure.coffee – no need to manipulate the layer stack. Or am I missing your use case?

I had the same issue and i was able to work around it by this code:
supersonic.ui.initialView.dismiss().then(function(){
steroids.view.navigationBar.show();
});


fix: framer-motion peer dependency error

This should hopefully fix all these errors:
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/framer-motion
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/scroller-motion
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Conflicting peer dependency<EMAIL_ADDRESS>npm ERR! node_modules/framer-motion
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/scroller-motion
npm ERR<EMAIL_ADDRESS>from the root project

BTW, I tested with<EMAIL_ADDRESS>and everything is working fine at first glance.

This has been released in v1.2.1 🎉

Hi, i get this error. Can you help me? Thx
npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR!  npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/framer-motion npm ERR<EMAIL_ADDRESS>from the root project npm ERR!  npm ERR! Could not resolve dependency: npm ERR! peer<EMAIL_ADDRESS>|| ^7.0" from<EMAIL_ADDRESS>npm ERR! node_modules/scroller-motion npm ERR!   scroller-motion@"*" from the root project npm ERR!  npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this command with --force or --legacy-peer-deps npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

Hey @sahandii, I'll release a fix in the next 12 hours. Will report back here once it's ready.

@sahandii, this should be resolved in v1.2.2.


Prune does not respect .gitignore files inside packages

What version of Turborepo are you using?
1.2.12
What package manager are you using / does the bug impact?
Yarn v1
What operating system are you using?
Mac
Describe the Bug
When running a prune command to prepare folders for docker, those folders include files that are ignored by the .gitignore inside packages as well as at the root of the monorepo. One such example would be node_modules folder that gets copied to generated out/full folder with the following command:
yarn turbo prune --docker --scope="api-service"

Expected Behavior
I would expect prune to copy only files that are not ignored by git. (Or something like .turboignore)
To Reproduce
Run command specified above to generate pruned version.
TURBO-1970

It's weird that there's no support for ignoring files/directories.

.env type files would be another example of files that would often be a mistake to carry over

Anyone found a solution for this?

We talked about this at the team meeting and decided that we should do this! Feel free to make a PR or even a failing test case!

Anyone found a solution for this?

Here's a really ugly workaround I'm using in one case.  After running turbo prune --docker ..., I run this command:
(cd out/full && git init . && git add . && git clean -fdX && rm -rf .git)

Another approach I've used is to run turbo prune inside a nix flake build target, which automatically only uses your git files.  But I'm not happy with that approach either.

Hey @mehulkar,

I think the idea of adding ignore files to the prune process makes sense.
However, I don't believe that using .gitignore is the right approach since it's meant for Git-related purposes rather than anything specific to Turbo.

My suggestion for a straightforward solution would be to add a property to the Turbo configuration (https://turbo.build/repo/docs/reference/configuration) specifically for pruning.
This property could be something like "ignoreFiles" that supports a list of file glob patterns to ignore during the pruning process.

{
   "prune": {
       "ignoreFiles": [] // List of glob patterns
    }
}

Let me know what you think about this idea.

We don't have a precedent for prune config in turbo.json at the moment, but that seems doable.
I'll defer to @vercel/turbo-oss since I've moved on to other things at the moment!


/posts summary displays code wrongly

Describe the bug
viewing /posts list the post preview displays inline code preview wrongly:

the post itself looks like this:

A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Create a post with code very close to the beginning so it shows in the post's excerpt
navicate to /posts
see a very weirdly formatted preview in the post's excerpt

Expected behavior
Either no formatting change, or actual code formatting
Technical details:

Wowchemy Version (from your go.mod):require (
	github.com/wowchemy/wowchemy-hugo-modules/wowchemy v0.0.0-20210501191334-2d9c18ecf0ef // indirect
	github.com/wowchemy/wowchemy-hugo-modules/wowchemy-cms v0.0.0-20210501191334-2d9c18ecf0ef // indirect
)

Hugo Version: hugo v0.82.0+extended darwin/arm64 BuildDate=unknown
Browser/OS: MacOS v11.3.1
Wowchemy Template: Academic

If applicable, add screenshots to help explain the issue.

Summaries are generally intended to be SEO-friendly plain text. Have you tried setting the page summary via summary in the front matter? If summary does not work for you and you still think there's a bug, feel free to contribute a PR with a fix.

@gcushen okay, I thought the images were speaking for themselves. if you look at the images, the text changes the font type and the font color to yellow. if you think this is the appropriate reaction to a "$" sign - I don't.
if I had a clue about HTML and / or CSS i would have written a fix already. so - maybe reopen?


ESP32 crashes constantly after loading BLE_write example (Wemos Lolin32 Lite)

Hello, I just loaded the example without any modification and the board constantly crashes and reboots during setup. The same kind of crash happens during BLE_server example too(although it does work sometimes). Here's the serial dump that I got -
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0010,len:4
load:0x3fff0014,len:588
load:0x40078000,len:0
load:0x40078000,len:9768
entry 0x400789b8
1- Download and install an BLE scanner app in your phone
2- Scan for BLE devices in the app
3- Connect to MyESP32
4- Go to CUSTOM CHARACTERISTIC in CUSTOM SERVICE and write something
5- See the magic =)
abort() was called at PC 0x400d8823 on core 0

Backtrace: 0x400887fc:0x3ffdd190 0x400888fb:0x3ffdd1b0 0x400d8823:0x3ffdd1d0 0x400d9e92:0x3ffdd1f0 0x400da01e:0x3ffdd210 0x400da369:0x3ffdd250 0x400da3a9:0x3ffdd280 0x400da3b9:0x3ffdd2a0 0x400d62d6:0x3ffdd2c0 0x400d4f51:0x3ffdd2e0 0x400d3d65:0x3ffdd320 0x400f2da5:0x3ffdd340 0x400eefac:0x3ffdd380

Rebooting...
ets Jun  8 2016 00:22:57

The text in your report:
1- Download and install an BLE scanner app in your phone
2- Scan for BLE devices in the app
3- Connect to MyESP32
4- Go to CUSTOM CHARACTERISTIC in CUSTOM SERVICE and write something
5- See the magic =)

Seems to being produced by the application you installed in your ESP32.  However, that text isn't at all familiar to me.  Can you describe exactly which application that comes with this repository/library you are running?

Ahh .. found it ... it appears to be written by mr @copercini  here:
https://github.com/nkolban/esp32-snippets/commit/209d8ddf104d38e1623c602587731f54aa30b911
Our next puzzle is to determine where within the code the application is failing.  I believe you are running an Arduino environment.  If so, we want to install the back-trace analysis tool that will take the back trace codes and tell us where in the actual source the exception is occurring.
See:
https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/ArduinoBLE.md#decoding-an-exception-stack-trace

@legendary6  Are you running the last Arduino core version?

Thank you @nkolban for replying so quickly! I'm haven't used ESP32 much so forgive me if I struggle with some basic things. So the board I'm using is Wemos Lolin32 and Arduino IDE doesn't show an option to change the debug level as you showed. I also have an ESP32 dev module which I suppose has that option so let me get back to you on that one. @copercini I searched but couldn't find the core version number anywhere in /Arduino/hardware/espressif/esp32. Is there any particular file which mentions the core version?

Ok so I tried uploading the same code to the dev module and it worked perfectly so there's certainly something wrong with just this module. I also uploaded BLE_server example and it still crashes but sometimes it starts working after crashing a few times. The serial output is like this -
Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0010,len:4
load:0x3fff0014,len:588
load:0x40078000,len:0
load:0x40078000,len:9768
entry 0x400789b8
Starting BLE work!
abort() was called at PC 0x400d872f on core 0

Backtrace: 0x400887fc:0x3ffde190 0x400888fb:0x3ffde1b0 0x400d872f:0x3ffde1d0 0x400d9d9e:0x3ffde1f0 0x400d9f2a:0x3ffde210 0x400da275:0x3ffde250 0x400da2b5:0x3ffde280 0x400da2c5:0x3ffde2a0 0x400d61f6:0x3ffde2c0 0x400d4e71:0x3ffde2e0 0x400d3c85:0x3ffde320 0x400f2cb1:0x3ffde340 0x400eeeb8:0x3ffde380

Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0010,len:4
load:0x3fff0014,len:588
load:0x40078000,len:0
load:0x40078000,len:9768
entry 0x400789b8
Starting BLE work!
Characteristic defined! Now you can read it in your phone!

@legendary6  there is not an exact way, check the files modification date and if have more than two weeks, try to update the core to the last version, following this: https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/windows.md#how-to-update-to-the-latest-code
@nkolban I can update it to a more serious text if you like

Ok so I think I found the culprit. The core files were dated at 25/8/2017 so I updated the core to the latest version and now everything works great! Thank you very much @copercini and @nkolban  for your help!

=)
yeah, I remember this error from the old versions, then @nkolban found that it need a small delay before start the BLE task on arduino

This is great news.  Thank you mr @copercini
Note sure what you mean by "I can update it to a more serious text if you like"?  The text messages are fine ... we are all in this game together and if you like those messages, you go with them.
@legendary6 Good news you got it working.  If you think there is a place we should better document these steps (whether in this project or in the Arduino-ESP32 project), your "give back" can always be to work with the authors/documenters of those areas and give them input on improving the clarity or location of the information you needed.  Heck, you can ever write your own words in the repositories or create a blog post.
Close this issue when you are delighted.  You can always create new issues on new topic if and when they come up.

@nkolban I will certainly help this community in whatever way I can. I'm a student and I'm working on a project with BLE which is pretty new to me and I tried to get my head around ESP IDF's API but for a newcomer like me it was too convoluted to understand. If not for this library and your support it would take days for me to get a working prototype. Thank you again!

Its great you are a student.  We have all kinds of folks visiting ... some are completely new, some are students, some are hobbyists, some are professionals ... from the super young to grey beards like myself who remember encouragement and support from grey beards when "I were a lad" ... as long as we keep helping each other and passing on knowledge in friendly fashions ... all is well.