Update zio-schema, zio-schema-derivation to 1.1.0

About this PR
📦 Updates

dev.zio:zio-schema
dev.zio:zio-schema-derivation

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

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

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "dev.zio" }
}]

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

Superseded by #414.


npm install fails on Windows 10 with python27 and/or VCBuild.exe missing

Symptoms
Running npm install leads to following errors:
gyp verb ensuring that file exists: C:\Python27\python.exe
gyp ERR! configure error

and / or
Building solution configuration "Release|x64".
MSBUILD : error MSB3428: Could not load the Visual C++ component "VCBuild.exe". To fix this, 1) install the .NET Framework 2.0 SDK, 2) install Microsoft Visual Studi
o 2005 or 3) add the location of the component to the system path if it is installed elsewhere.  [C:\Users\Username\source\repos\BotFramework-WebChat\node_modules\node
-sass\build\binding.sln]

Potential fix
Running npm install -g windows-build-tools from an elevated PowerShell (run as Administrator)
And then running npm config set msvs_version 2015 -g
Sorted the issue for me.
Can someone verify?

@codepic Thanks, your potential fix worked for me.


Cant reach components page

Hello,
I've managed to install vuesion successfully but when I go to the components link i get a 404. In the terminal i see:
debug: whole request: 131ms
(node:2583) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 uncaughtException listeners added to [process]. Use emitter.setMaxListeners() to increase limit
warn: unsupported route: /sw.js; error: {"code":404}
debug: whole request: 244ms
warn: unsupported route: /storybook/?path=%2Fstory%2Fatoms-badge--badge-variants; error: {"code":404}
debug: whole request: 229ms
warn: unsupported route: /sw.js; error: {"code":404}

How to fix this?

Hey @ludo1960,
sorry for the late reply I just returned from vacation. The /storybook page is only available in the demo page (if you would run npm run ci && npm start). If you want to run storybook in dev mode use npm run storybook:dev.
Can you add your solution to ticket #420 to help others having the same issue?

npm run storybook:dev. does the trick, thanks for that!


Add HA entity state condition

Is your feature request related to a problem? Please describe.
I have a menu button to power on/off smart plug that supplies power for camera. When I turn off camera for privacy purposes, image view keeps refreshing last available snapshot(from Frigate or HA camera entity).
Describe the solution you'd like
Implement new Frigate Card condition which would check specific HA entity state. Maybe then it would be possible to use overrides functionality to override image block and use screensaver mode or custom url when camera is off.
For example:
overrides:
  conditions:
    state:
      - entity: switch.plug_living_room_camera
        state: 'off'
  overrides:
    image:
      mode: screensaver
      refresh_seconds: 0

Describe alternatives you've considered
I currently couldn't think of any.

You mean specifically for overrides? If elements would do, you can use the stock conditional element: https://www.home-assistant.io/lovelace/picture-elements/#conditional-element

Will be in v4.0.0 build.


Error message when I try to run you code with your dataser

Hi
My name is Wemerson and I'm trying to replicate your results.
When I start your code with your dataset I receive the following error:
What I´m doing wrong? ( I already tried to remove all ocorrences of only one question, but it doesn't work)
Thank You
Training Sequences: 3361
Testing Sequences: 856
Number of skills: 124
C:\toolkits\Anaconda2-4.2.0\lib\site-packages\keras-1.1.0-py2.7.egg\keras\layers\core.py:1112: UserWarning: TimeDistributedDense is deprecated, please use TimeDistributed(Dense(...)) instead.
warnings.warn('TimeDistributedDense is deprecated, '
C:\toolkits\Anaconda2-4.2.0\lib\site-packages\keras-1.1.0-py2.7.egg\keras\models.py:540: UserWarning: "class_mode" argument is deprecated, please remove it.
warnings.warn('"class_mode" argument is deprecated, '
Traceback (most recent call last):
File "dkt.py", line 303, in
main()
File "dkt.py", line 140, in main
run_func(training_seqs, num_skills, trainer, batch_size, time_window, finished_batch)
File "dkt.py", line 230, in run_func
f(X[:,t:(t+time_window),:], Y[:,t:(t+time_window),:])
File "dkt.py", line 108, in trainer
overall_loss[0] += model.train_on_batch(X, Y)[0]
IndexError: too many indices for array

you have to change line
from
overall_loss[0] += model.train_on_batch(X, Y)[0]
to
overall_loss[0] += model.train_on_batch(X, Y)
this could happen because of version change.

Thank You... I already discovered this! ;)


Make the sort button actually work

Task:
Make sort button dynamic.
Description:
The sort button should sort the tracks according to date uploaded
how to implement it: check ort the site below
https://codedec.com/tutorials/how-to-do-sorting-in-react/

Hey @godsakani this is issue has being treated if I'm not mistaken.

Hey @godsakani this is issue has being treated if I'm not mistaken.

Yes @yokwejuste  it is

Can you close it ?

Issue fixed


[BUG] Requests to modify Connector Blueprint content referenced by users of OpenSearch 2.11 version

What/Why
What are you proposing?
bedrock connector titan embedding blueprint link sample does not work in version 2.11 of opensearch.
What problems are you trying to solve?
Customers using OpenSearch version 2.11 should also be able to use the titan embedding model using the connector.
What will it take to execute?
You should guide people to use the script below in version 2.11 with the explanation that it works from opensearch 2.12 version onwards.
POST /_plugins/_ml/connectors/_create
{
  "name": "Amazon Bedrock Connector: embedding",
  "description": "The connector to bedrock Titan embedding model",
  "version": 1,
  "protocol": "aws_sigv4",
  "parameters": {
    "region": "us-east-1",
    "service_name": "bedrock",
    "model": "amazon.titan-embed-text-v2:0"
  },
  "credential": {
    "roleArn": "arn:aws:iam::xxxxxxx:role/LambdaInvokeOpenSearchMLCommonsRole"
  },
  "actions": [
    {
      "action_type": "predict",
      "method": "POST",
      "url": "https://bedrock-runtime.us-east-1.amazonaws.com/model/amazon.titan-embed-text-v2:0/invoke",
      "headers": {
        "content-type": "application/json",
        "x-amz-content-sha256": "required"
      },
      "request_body": "{ \"inputText\": \"${parameters.inputText}\" }",
      "pre_process_function": """
    StringBuilder builder = new StringBuilder();
    builder.append("\"");
    String first = params.text_docs[0];
    if (first.contains("\"")) {
      first = first.replace("\"", "\\\"");
    }
    if (first.contains("\\t")) {
      first = first.replace("\\t", "\\\\\\t");
    }
    if (first.contains('
')) {
      first = first.replace('
', '\\n');
    }
    builder.append(first);
    builder.append("\"");
    def parameters = "{" +"\"inputText\":" + builder + "}";
    return "{" +"\"parameters\":" + parameters + "}";
    """,
      "post_process_function": """
    def name = "sentence_embedding";
    def dataType = "FLOAT32";
    if (params.embedding == null || params.embedding.length == 0) {
      return params.message;
    }
    def shape = [params.embedding.length];
    def json = "{" +
               "\"name\":" + "\"" + name + "\"" + "," +
               "\"data_type\":" + "\"" + dataType + "\"" + "," +
               "\"shape\":" + shape + "," +
               "\"data\":" + params.embedding +
               "}";
    return json;
    """
    }
  ]
}

Thanks, @mateon01 Feel free to cut a PR to fix this.

Thanks, @ylwu-amzn Yes, I'll create a PR. Can you assign me a new branch?

@mateon01 You can fork ml-commons repo, then develop in you own fork repo. Then publish PR to main branch.
Click the "Fork" button


When I use some postprocessor_args the youtube-dl gives me an AssertionError when it tries to convert

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question

Hi, I'm trying to make a code for converting videos with youtube-dl and convert it with ffmpeg after the download but I don't know the reason that when I run it it gives me an assertionError when it will convert the file.
This args is necessary because the webm [https://i.4cdn.org/wsg/1597715032203.webm] that I used for the example didn't work without making some padding if is converted to mp4 and I can cover this use case on the code I'm trying to build but using it in postprocessor_args doesn't work
This is the args I want to add:
-vf "pad=ceil(iw/2)*2:ceil(ih/2)*2"
This is mine ydl_opts:
ydl_opts = {
                'download_archive': './db',
                'restrictfilenames': True,
                format:[{
                    'max_filesize': '50M'
                }],
                'prefer_ffmpeg': True,
                'postprocessor_args' : '-vf "pad=ceil(iw/2)*2:ceil(ih/2)*2"',
                'postprocessors': [{
                    'key': 'FFmpegVideoConvertor',
                    'preferedformat' : 'mp4'
                }],
                'verbose': True
                # 'extension' : 'mp4'
}

and this is the output I get when I try to download and convert something and gives me the assertion error:
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2020.09.20
[debug] Python version 3.8.5 (CPython) - Linux-5.8.12-arch1-1-x86_64-with-glibc2.2.5
[debug] exe versions: ffmpeg 4.3.1, ffprobe 4.3.1, rtmpdump 2.4
[debug] Proxy map: {}
[generic]<PHONE_NUMBER>203: Requesting header
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://i.4cdn.org/wsg/1597715032203.webm'
[download]<PHONE_NUMBER>203-1597715032203.webm has already been downloaded
[download] 100% of 2.56MiB
[ffmpeg] Converting video from webm to mp4, Destination:<PHONE_NUMBER>203-1597715032203.mp4
Traceback (most recent call last):
  File "bot.py", line 32, in <module>
    ydl.download(['https://i.4cdn.org/wsg/1597715032203.webm'])
  File "/usr/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 2018, in download
    res = self.extract_info(
  File "/usr/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 808, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/usr/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 863, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "/usr/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 1644, in process_video_result
    self.process_info(new_info)
  File "/usr/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 2000, in process_info
    self.post_process(filename, info_dict)
  File "/usr/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 2065, in post_process
    files_to_delete, info = pp.run(info)
  File "/usr/lib/python3.8/site-packages/youtube_dl/postprocessor/ffmpeg.py", line 368, in run
    self.run_ffmpeg(path, outpath, options)
  File "/usr/lib/python3.8/site-packages/youtube_dl/postprocessor/ffmpeg.py", line 239, in run_ffmpeg
    self.run_ffmpeg_multiple_files([path], out_path, opts)
  File "/usr/lib/python3.8/site-packages/youtube_dl/postprocessor/ffmpeg.py", line 212, in run_ffmpeg_multiple_files
    opts += self._configuration_args()
  File "/usr/lib/python3.8/site-packages/youtube_dl/postprocessor/common.py", line 65, in _configuration_args
    return cli_configuration_args(self._downloader.params, 'postprocessor_args', default)
  File "/usr/lib/python3.8/site-packages/youtube_dl/utils.py", line 4608, in cli_configuration_args
    assert isinstance(ex_args, list)
AssertionError

postprocessor_args must be a list:
                'postprocessor_args': ['-vf', 'pad=ceil(iw/2)*2:ceil(ih/2)*2'],

postprocessor_args must be a list:
 'postprocessor_args': ['-vf', 'pad=ceil(iw/2)*2:ceil(ih/2)*2'],

It worked, thank you a lot


Circular icon in list item expands height with table-cell

I'd like to use circular icon instead of avatar image in a list item; however as the list item expands in height the padding-bottom of the circular icon gets stretched with table-cell.  I can fix by floating the icon left, but that may not be the best way.
jsfiddle
btw, thanks so much for building Semantic.

Table cell is used to allow for vertical-align. It does have the limitation that content is stretched.


css sourcemap hinders liveCss reload

When using sass + sourcemaps, the liveCss option doesn't work, because it tries to reload the sourcemap. So everytime file.css is created, file.css.map is also created and then it does a hard refresh.
My temporary fix is to exclude the sourcemap file in the src option for livereload.

This is more than just a refresh problem. Were you (or I) to bypass the full page reload your map would not match anymore.
Looking into a way to livereload maps, and avoid these issues. Open to any ideas if you had them.


reduce memory and consolidate shared vs transient cells

Description

Testing Instructions

#8263  👈
main

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

Join @arlyon and the rest of your teammates on  Graphite


Redis store security improvement

Feature Description
As a Gitea and k8s admin using Gitea in a Kubernetes environment via the Gitea helm chart, I'd like to tighten the security around the usage of our Redis instance. To do this, we are adding keyspaces for our in-house applications.
As I understand the Gitea code, the different usages of Redis for session storage and cache (and anything else it uses Redis for) is using a simple key schema for each service using a prefix like session for session entries and cache for cache entries.
In order to be able to tighten Gitea's Redis usage, I'd like to suggest Gitea add an additional piece of information to the keys stored in Redis. For instance, add simply gitea. Then Gitea's session keys would look like gitea:session:xxxx and cache keys would looke like gitea:cache:xxxx (or something similar). It's called Keyspaces in Redis jargon.
https://redis.io/docs/manual/keyspace/
I'm not sure about the Redis driver for Go, but in the NodeJS driver, it is possible to set this kind of additional prefix at the point of making the connection, so developers won't need to remember it is there. It's called transparent key prefixing.
https://github.com/redis/ioredis#transparent-key-prefixing
Here is the doc section on locking down users/clients of a Redis cluster to a particular keyspace, so the client won't be able to call any other keys from any other applications (and hugely important for passing certain security standards).
https://redis.io/docs/management/security/acl/#key-permissions
I hope this is understandable. Thanks for reading and thanks in advance, if this can be worked on. And, I'll apologize up front, if this is already possible or rather being done in Gitea, but I don't think it is, thus with the current setup, Gitea, worst case, could even have name collisions with other applications.
Scott
Screenshots
No response

The redis library does not support prefixes but I think Gitea does if you pass prefix=foo in the connection string.

prefix=foo

Thanks for replying. Can you elaborate on what you mean with the bit about Gitea and passing the parameter to the connection string? Any reference to what you mean in code or documentation by chance?
Scott

In your app.ini you have a connection string like redis://<IP_ADDRESS>:6379/0?pool_size=100&idle_timeout=180s. There you could add redis://<IP_ADDRESS>:6379/0?pool_size=100&idle_timeout=180s&prefix=foo.

Ok. I understand now, but I can't find any reference about this in the Redis docs. It's also not in the official URI scheme. https://www.iana.org/assignments/uri-schemes/prov/redis
And if that were possible, why would ioredis (the NodeJS driver) have it built into the driver?
I think you might be mistaken.
Scott

https://github.com/go-gitea/gitea/blob/d7a8d09da013f14bf795fa8efc3a0eac7f259d02/modules/session/redis.go#L124-L129

Aha, hmm.... Ok. It's Gitea that uses the parameter. :thinking:
I'll give it a try and see what happens. If it works, I'll put in a PR to add it to the docs.
Scott

@smolinari did it work?....

@vladyslav-halchenko-gl - I moved away from Gitea altogether. Sorry for the non-reply.
Scott


Trackers rewrite & Switch to new math lib

Rewrites the trackers to be use flags instead of abstractions.
Use a new math lib by AxisAngle written in Kotlin.

this was suffering

Note: BVH is broken. Currently in public beta test: https://discord.com/channels/817184208525983775/1093712010740502578

Tracker resets are broken.
ZRock is able to demonstrate and replicate the problem, but I haven't gotten much from debugging from him (reset quaternions seem fine)
Butter is investigating, and so will I when I get trackers and am able to replicate.


[Question] Dialog state lost on exception

We implemented global exception handling for our bot that works as expected, except if a Dialog currently throws and exception it's state is lost.
How can we ensure a Dialog is still serialized even if it throws and exception?

@DL-LiveTiles Are you using .NET or Node SDK?

@nwhitmont .NET SDK. Sorry, will remember to add next time.

Any insight on how to persist Dialog state after an exception?

@DL-LiveTiles  Have you tried anything that uses a more permanent storage method?  Maybe save the state to a db with the username or any other useful data?

@JasonSowers No, using the built-in Dialog state.
Is rolling your own custom state the recommended way?
I don't need more permanent storage, I would just like the Dialog to not lose state on an exception.

Implemented custom Azure Storage for bot data using BotBuilder-Azure, but the issue still persists.

@DL-LiveTiles can you share your implementation?

@JasonSowers I cannot share my version, but here is a sample: https://github.com/Microsoft/BotBuilder-Azure/tree/master/CSharp/Samples/AzureTable

Hi @DL-LiveTiles
Please provide a bare-bones example of the behavior you're seeing.
I spoke with the engineers who wrote the dialog stack, and they pointed out that "The stack and data bags get persisted even if there is an exception thrown by the dialogs in the stack: https://github.com/Microsoft/BotBuilder/blob/master/CSharp/Library/Microsoft.Bot.Builder/Dialogs/DialogTask.cs#L485
They also stated: "The problem that you are seeing is that the exceptions bubble up through the stack until a dialog on the stack handles the exception, if not it reaches the root loop dialog. This means that the conversation is reset to the initial state (dialog stack) because of the unhandled exception."

Please reopen this issue if needed

Hi @EricDahlvang,
Sorry for only getting back to you now, I was on another project and did not have time to look into this again.
What is the best way of globally handling exceptions on a dialog so that the exception does not bubble up and  reset the initial state?
Thank you,
Douw

Hi @DL-LiveTiles
You'll need to catch the exception in the dialog's code, and handle it there.


[BUG] Normalised image names are not working

Version
redhat-actions/push-to-registry@v2
Describe the bug
The image name doesn't seem to correctly normalise. I used the example configs for GHCR, which uses the repository owner variable, but it doesn't convert the entire registry to lowercase. I ended up with an obscure error: unknown transport "ghcr.io/OrgExample/imagename"
Steps to reproduce, workflow links, screenshots
Use IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }} when using an org/username with capital letters in it.

cc: @xee5ch - Looks like you tried to tackle this problem here - https://github.com/redhat-actions/push-to-registry/commit/ac5a9d0fd887bf27edcb4efcfda21082a5a78936


fix: check crosschain flags to stop inbound/outbound; get rid of outtx tracker iteration timeout

Description

Zetaclient will check crosschain flags to stop inbound/outbound txs (both EVM chain and Bitcoin):

[x] stop EVM/BTC intx observation and intx tracker processing.
[x] stop EVM/BTC outtx keysign.
[x] stop EVMBTC outtx tracker processing.

Removed the timeout logic when iterating thru EVM chain outtx trackers.
Unified logic of the method WatchGasPrice for EVM chain and Bitcoin chain.

Closes: 1888, 1970
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Include instructions and any relevant details so others can reproduce.

[ ] Tested CCTX in localnet
[ ] Tested in development environment
[ ] Go unit tests
[ ] Go integration tests
[ ] Tested via GitHub Actions

Checklist:

[ ] I have added unit tests that prove my fix feature works

Looks good. I think it might be difficult to unit test some of these go routines and loops. Should probably look into making this easier later on.

Yes, startCctxScheduler should definitely be simplified

The diff view of this PR was somehow messed up. So I re-created the PR as https://github.com/zeta-chain/node/pull/1984


problem with pairing

Hello Peros.
Sorry to bother you once more.
I compiled your code and was using it without a problem.
A couple of months ago you updated it. And today I tried to make it work.
But I can't pair it
here is the logs
Function called without core lock
CONNECTED TO >>> WIFI <<<
HOSTNAME set>>>>>:HomekitSensor-D44962
manuf='manuf_unknown' serial='F4:CF:A2:D4:49:62' model='model_unknown' revision='0.0.0' c#=0
Free Heap: 25356
>>> HomeKit: Starting server
>>> HomeKit: Formatting HomeKit storage at 0x8c000
>>> wifi_config: Stopping HTTP server
>>> HomeKit: Generated new accessory ID: 2C:DD:43:4E:83:1B
>>> HomeKit: Generated new accessory key
>>> HomeKit: Configuring mDNS
HomeKit: adding mDNS TXT record md=model_unknown
HomeKit: adding mDNS TXT record pv=1.0
HomeKit: adding mDNS TXT record id=2C:DD:43:4E:83:1B
HomeKit: adding mDNS TXT record c#=1
HomeKit: adding mDNS TXT record s#=1
HomeKit: adding mDNS TXT record ff=0
HomeKit: adding mDNS TXT record sf=1
HomeKit: adding mDNS TXT record ci=9
SERVER JUST INITIALIZED
>>> wifi_config: Stopping DNS server
mDNS: Delaying probe until IP is acquired
Got IP, resuming mDNS
mDNS: Probing 1 HomekitSensor-D44962
mDNS: Failed to send broadcast (code 118)
mDNS: Probing 1 HomekitSensor-D44962
mDNS: Failed to send broadcast (code 118)
ip:<IP_ADDRESS>,mask:<IP_ADDRESS>,gw:<IP_ADDRESS>
mDNS: Probing 2 HomekitSensor-D44962
mDNS: Probing 3 HomekitSensor-D44962
mDNS: Probe successful, announcing HomekitSensor-D44962 TXT md=model_unknown pv=1.0 id=2C:DD:43:4E:83:1B c#=1 s#=1 ff=0 sf=1 ci=9
mDNS: Announcing 1 HomekitSensor-D44962
mDNS: Announcing 2 HomekitSensor-D44962
mDNS: Announcing 3 HomekitSensor-D44962
mDNS: Announcing 4 HomekitSensor-D44962

Some help would be awesome!!

Hi @renandw ,
I hope you are doing great and stay safe as much as possible in these difficult times.
When saying you can't pair it, what do you mean? You can't see the new accessory in home app after setting wifi?
The following part of your log:
mDNS: Failed to send broadcast (code 118)
is something I also faced when tried to install this firmware on my sister's home where the accessory would not become available in home app. I had a discussion with maxim about this here who mentioned that possibly a wifi issue may be the root cause of the issue.
So long story short, I messed up with wifi settings on that router (a Tp-Link ) and changed the channel selection from auto to some random one. After a few tries the issue resolved and I was able to see the accessory. If you have access to a Mac, I can propose a Mac app (Wifi Explorer Lite) which is nice tool for site surveying your location for existing Wifi networks. WIth that tool you can see how crowded each channel is and you can make an educated guess on which channel to pick.
If the above step is not good, maybe you could downgrade the code to a previous version so that we can see if the issue really comes from the new updates and try to isolate further the issue.

Hi @renandw ,
I hope you are doing great and stay safe as much as possible in these difficult times.
When saying you can't pair it, what do you mean? You can't see the new accessory in home app after setting wifi?
The following part of your log:
mDNS: Failed to send broadcast (code 118)
is something I also faced when tried to install this firmware on my sister's home where the accessory would not become available in home app. I had a discussion with maxim about this here who mentioned that possibly a wifi issue may be the root cause of the issue.
So long story short, I messed up with wifi settings on that router (a Tp-Link ) and changed the channel selection from auto to some random one. After a few tries the issue resolved and I was able to see the accessory. If you have access to a Mac, I can propose a Mac app (Wifi Explorer Lite) which is nice tool for site surveying your location for existing Wifi networks. WIth that tool you can see how crowded each channel is and you can make an educated guess on which channel to pick.
If the above step is not good, maybe you could downgrade the code to a previous version so that we can see if the issue really comes from the new updates and try to isolate further the issue.

Hi @peros550. Thanks for the quick reply.
There are difficult times indeed.
I am glad that my family is doing well. But not everybody have the same lucky ://
I hope that you are well too!!
I've tried the updated version and it kind of freeze after this mDNS: Announcing 4 HomekitSensor-D44962. I can see it in the home.app and type the homekit password. But it seems freezes.

And then I've tried to run a older version that I compiled in my raspberry. And it worked.
I reconfigured my route just for sake. But other accessories and even the older version worked :/

Hi @peros550. Thanks for the quick reply.
There are difficult times indeed.
I am glad that my family is doing well. But not everybody have the same lucky ://
I hope that you are well too!!
I've tried the updated version and it kind of freeze after this mDNS: Announcing 4 HomekitSensor-D44962. I can see it in the home.app and type the homekit password. But it seems freezes.

And then I've tried to run a older version that I compiled in my raspberry. And it worked.
I reconfigured my route just for sake. But other accessories and even the older version worked :/

The latest version includes a webserver for some additional settings & configuration. The commit of 4th Oct 2020 is the one that works best for you right?

The latest version includes a webserver for some additional settings & configuration. The commit of 4th Oct 2020 is the one that works best for you right?

I guess that the one in my raspberry that works is the commit from Jun or Aug 2020.

Em 23 de jan. de 2021, à(s) 08:24, peros550<EMAIL_ADDRESS>escreveu:

The latest version includes a webserver for some additional settings & configuration. The commit of 4th Oct 2020 is the one that works best for you right?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I guess that the one in my raspberry that works is the commit from Jun or Aug 2020.

Em 23 de jan. de 2021, à(s) 08:24, peros550<EMAIL_ADDRESS>escreveu:

The latest version includes a webserver for some additional settings & configuration. The commit of 4th Oct 2020 is the one that works best for you right?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@renandw I cannot reproduce the issue and it's more difficult to isolate the issue. For start, I just show esp-homekit library has an update (8-Jan-2021) which I haven't incorporated yet in my code. Can you please update locally and let me know if it works for you?
in order to update:
cd components/common/homekit/
git pull origin master

then go back to this repo's root folder and rebuild:
cd ../../..
make -C examples/multiple_sensors_ac/ rebuild

@renandw I cannot reproduce the issue and it's more difficult to isolate the issue. For start, I just show esp-homekit library has an update (8-Jan-2021) which I haven't incorporated yet in my code. Can you please update locally and let me know if it works for you?
in order to update:
cd components/common/homekit/
git pull origin master

then go back to this repo's root folder and rebuild:
cd ../../..
make -C examples/multiple_sensors_ac/ rebuild

Hi peros.
I appreciate your time.
I’ve tried what you oriented me. But unfortunately it did not worked.
Than I saw that you used Maxim “led status library”. But the led wasn’t blinking. I looked the code and saw that “pin 2” two was defined  2 times. One in led_gpio and one in LED_STATUS_PIN. I thought that it maybe was the source of the problem. But it wasn’t.
I will keep looking.
Thanks peros

Em 24 de jan. de 2021, à(s) 02:45, peros550<EMAIL_ADDRESS>escreveu:

@renandw I cannot reproduce the issue and it's more difficult to isolate the issue. For start, I just show esp-homekit library has an update (8-Jan-2021) which I haven't incorporated yet in my code. Can you please update locally and let me know if it works for you?
in order to update:
cd components/common/homekit/
git pull origin master
then go back to this repo's root folder and rebuild:
cd ../../..
make -C examples/multiple_sensors_ac/ rebuild
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Hi peros.
I appreciate your time.
I’ve tried what you oriented me. But unfortunately it did not worked.
Than I saw that you used Maxim “led status library”. But the led wasn’t blinking. I looked the code and saw that “pin 2” two was defined  2 times. One in led_gpio and one in LED_STATUS_PIN. I thought that it maybe was the source of the problem. But it wasn’t.
I will keep looking.
Thanks peros

Em 24 de jan. de 2021, à(s) 02:45, peros550<EMAIL_ADDRESS>escreveu:

@renandw I cannot reproduce the issue and it's more difficult to isolate the issue. For start, I just show esp-homekit library has an update (8-Jan-2021) which I haven't incorporated yet in my code. Can you please update locally and let me know if it works for you?
in order to update:
cd components/common/homekit/
git pull origin master
then go back to this repo's root folder and rebuild:
cd ../../..
make -C examples/multiple_sensors_ac/ rebuild
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Today I was at my sister's house again and brought my Wemos minis together. I tried to preproduce the issue and was able to see the issue as you described in the first message even after updating to latest esp-homekit. What really helped was to change Wifi channel at the router. I found that using HAA was much more stable than my firmware.
You mentioned that if you use firmware dated June 2020, it pairs successfully ?

Today I was at my sister's house again and brought my Wemos minis together. I tried to preproduce the issue and was able to see the issue as you described in the first message even after updating to latest esp-homekit. What really helped was to change Wifi channel at the router. I found that using HAA was much more stable than my firmware.
You mentioned that if you use firmware dated June 2020, it pairs successfully ?

You mentioned that if you use firmware dated June 2020, it pairs successfully ?
Exactly. I got new AC and just changed the raw data to work with the new one.
Of course it doesn't have the features that you updated. But is really great. I've tried to work with maxim example of an AC. But is not for me. Not now, at least.

and was able to see the issue as you described
I am glad and also sad about it :/

You mentioned that if you use firmware dated June 2020, it pairs successfully ?
Exactly. I got new AC and just changed the raw data to work with the new one.
Of course it doesn't have the features that you updated. But is really great. I've tried to work with maxim example of an AC. But is not for me. Not now, at least.

and was able to see the issue as you described
I am glad and also sad about it :/

I will troubleshoot further on my end. It will take some time though. Maybe something I added lately is not playing well.
Just by any chance, did you try changing the wi-fi channel on your router?

I will troubleshoot further on my end. It will take some time though. Maybe something I added lately is not playing well.
Just by any chance, did you try changing the wi-fi channel on your router?

Yes, peros. I’ve tried every single channel from the 13 available.
Great man.
I can’t thank you enough for the attention and time. Thanks a lot

Em 24 de jan. de 2021, à(s) 17:24, peros550<EMAIL_ADDRESS>escreveu:

I will troubleshoot further on my end. It will take some time though. Maybe something I added lately is not playing well.
Just by any chance, did you try changing the wi-fi channel on your router?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Yes, peros. I’ve tried every single channel from the 13 available.
Great man.
I can’t thank you enough for the attention and time. Thanks a lot

Em 24 de jan. de 2021, à(s) 17:24, peros550<EMAIL_ADDRESS>escreveu:

I will troubleshoot further on my end. It will take some time though. Maybe something I added lately is not playing well.
Just by any chance, did you try changing the wi-fi channel on your router?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@peros550 and @renandw  i managed to pair this by looking at the other example and this is where the homekit server port may be having a conflict
by deleting this lines
@line 1285
char *custom_hostname = name.value.string_value;
struct netif *netif = sdk_system_get_netif(STATION_IF);
if (netif) {
printf("HOSTNAME set>>>>>:%s\n", custom_hostname);
LOCK_TCPIP_CORE();
dhcp_release_and_stop(netif);
netif->hostname = "foobar";
netif->hostname =custom_hostname;
dhcp_start(netif);
UNLOCK_TCPIP_CORE();
}
after deleting this line
below @ line 1307
sdk_os_timer_setfn(&extra_func_timer, sensor_worker, NULL);
		sdk_os_timer_disarm(&extra_func_timer);

it paired after 3 or 4 tries as memory is low so it was "Failed to compute SRP shared secret (code -2)" i did three reboot and after 1 minute it paired with all accessories.
have been enjoying your old code on A/C for a while so thank you and hope this helps

@peros550 and @renandw  i managed to pair this by looking at the other example and this is where the homekit server port may be having a conflict
by deleting this lines
@line 1285
char *custom_hostname = name.value.string_value;
struct netif *netif = sdk_system_get_netif(STATION_IF);
if (netif) {
printf("HOSTNAME set>>>>>:%s\n", custom_hostname);
LOCK_TCPIP_CORE();
dhcp_release_and_stop(netif);
netif->hostname = "foobar";
netif->hostname =custom_hostname;
dhcp_start(netif);
UNLOCK_TCPIP_CORE();
}
after deleting this line
below @ line 1307
sdk_os_timer_setfn(&extra_func_timer, sensor_worker, NULL);
		sdk_os_timer_disarm(&extra_func_timer);

it paired after 3 or 4 tries as memory is low so it was "Failed to compute SRP shared secret (code -2)" i did three reboot and after 1 minute it paired with all accessories.
have been enjoying your old code on A/C for a while so thank you and hope this helps

@renandw @cab113 sorry, I was a bit busy these days and didn't reply back. I will further troubleshoot on my end at the following days and most probably at the weekend.
Lines 1285-1295 are about setting a custom host-name so the device can appear at router's menu with a familiar name. I guess this function may be used only if device is already paired so that we can save some RAM during a non paired state. If you don't need setting the hostname, you can remove it all together.
The code includes a cheat line here
This one must be allowed if you are flashing your device by wire but if you are using OTA method, then it must be removed before compiling.
Could you please try to download the code (commit: db8ff7f8f066c8afb7e067c33501d7016df8eae7) as posted in 4th Oct 2020 and let me know if the issue is still there? This would be a big help in my troubleshooting.

@renandw @cab113 sorry, I was a bit busy these days and didn't reply back. I will further troubleshoot on my end at the following days and most probably at the weekend.
Lines 1285-1295 are about setting a custom host-name so the device can appear at router's menu with a familiar name. I guess this function may be used only if device is already paired so that we can save some RAM during a non paired state. If you don't need setting the hostname, you can remove it all together.
The code includes a cheat line here
This one must be allowed if you are flashing your device by wire but if you are using OTA method, then it must be removed before compiling.
Could you please try to download the code (commit: db8ff7f8f066c8afb7e067c33501d7016df8eae7) as posted in 4th Oct 2020 and let me know if the issue is still there? This would be a big help in my troubleshooting.

@peros550 Yes the issue is present in this commit as well my log is attached after flashing, waiting for pairing it stops responding
ESP-Open-SDK ver: 0.0.1 compiled @ Jan 29 2021 17:09:06
phy ver: 273, pp ver: 8.3
SDK version:0.9.9

wifi_config: Initializing WiFi config
!!! wifi_config: No configuration found
wifi_config: Starting AP mode
wifi_config: Starting DHCP server
mode : sta(f4:cf:a2:c8:89:98) + softAP(f6:cf:a2:c8:89:98)
add if0
add if1
bcn 100
wifi_config: Starting WiFi scan
wifi_config: Starting DNS server
wifi_config: Starting HTTP server
scandone
scandone
scandone
add 1
aid 1
station: c2:63:41:71:f0:eb join, AID = 1
scandone
scandone
wifi_config: Connecting to LIGHT HOUSE
scandone
!!! wifi_config: WiFi scan failed
scandone
add 0
aid 19
cnt

connected with test wifi, channel 2
dhcp client start...
ip:<IP_ADDRESS>,mask:<IP_ADDRESS>,gw:<IP_ADDRESS>
station: c2:63:41:71:f0:eb leave, AID = 1
rm match

wifi_config: Connected to WiFi network
bcn 0
del if1
mode : sta(f4:cf:a2:c8:89:98)
Function called without core lock
CONNECTED TO >>> WIFI <<<
HOSTNAME set>>>>>:HomekitSensor-C88998
manuf='manuf_unknown' serial='F4:CF:A2:C8:89:98' model='model_unknown' revision='0.0.0' c#=0
Free Heap: 21604
HomeKit: Starting server
HomeKit: Formatting HomeKit storage at 0x8c000
HomeKit: Generated new accessory ID: 3F:BD:AE:C9:DB:CA
wifi_config: Stopping HTTP server
HomeKit: Generated new accessory key
HomeKit: Configuring mDNS
HomeKit: adding mDNS TXel_unknown
HomeKit: adding mDNSit: adding mDNS TXT record s#=1
HomeKit: adding mDNS TXT record ff=0
HomeKit: adding mDNS TXT record sf=1
HomeKit: adding mDNS TXT record ci=9
SERVER JUST INITIALIZED
wifi_config: Stopping DNS server
mDNS: Delaying probe until IP is acquired
Got IP, resuming mDNS
mDNS: Probing 1 HomekitSensor-C88998
mDNS: Failed to send broadcast (code 118)
mDNS: Probing 1 HomekitSensor-C88998
mDNS: Failed to send broadcast (code 118)
mDNS: Probing 2 HomekitSensor-C88998
mDNS: Failed to send broadcast (code 118)
ip:<IP_ADDRESS>,mask:<IP_ADDRESS>,gw:<IP_ADDRESS>
mDNS: Probing 3 HomekitSensor-C88998
mDNS: Probe successful, announcing HomekitSensor-C88998 TXT md=model_unknown pv=1.0 id=3F:BD:AE:C9:DB:CA c#=1 s#=1 ff=0 sf=1 ci=9
mDNS: Announcing 1 HomekitSensor-C88998
mDNS: Announcing 2 HomekitSensor-C88998
mDNS: Announcing 3 HomekitSensor-C88998
mDNS: Announcing 4 HomekitSensor-C88998

@peros550 Yes the issue is present in this commit as well my log is attached after flashing, waiting for pairing it stops responding
ESP-Open-SDK ver: 0.0.1 compiled @ Jan 29 2021 17:09:06
phy ver: 273, pp ver: 8.3
SDK version:0.9.9

wifi_config: Initializing WiFi config
!!! wifi_config: No configuration found
wifi_config: Starting AP mode
wifi_config: Starting DHCP server
mode : sta(f4:cf:a2:c8:89:98) + softAP(f6:cf:a2:c8:89:98)
add if0
add if1
bcn 100
wifi_config: Starting WiFi scan
wifi_config: Starting DNS server
wifi_config: Starting HTTP server
scandone
scandone
scandone
add 1
aid 1
station: c2:63:41:71:f0:eb join, AID = 1
scandone
scandone
wifi_config: Connecting to LIGHT HOUSE
scandone
!!! wifi_config: WiFi scan failed
scandone
add 0
aid 19
cnt

connected with test wifi, channel 2
dhcp client start...
ip:<IP_ADDRESS>,mask:<IP_ADDRESS>,gw:<IP_ADDRESS>
station: c2:63:41:71:f0:eb leave, AID = 1
rm match

wifi_config: Connected to WiFi network
bcn 0
del if1
mode : sta(f4:cf:a2:c8:89:98)
Function called without core lock
CONNECTED TO >>> WIFI <<<
HOSTNAME set>>>>>:HomekitSensor-C88998
manuf='manuf_unknown' serial='F4:CF:A2:C8:89:98' model='model_unknown' revision='0.0.0' c#=0
Free Heap: 21604
HomeKit: Starting server
HomeKit: Formatting HomeKit storage at 0x8c000
HomeKit: Generated new accessory ID: 3F:BD:AE:C9:DB:CA
wifi_config: Stopping HTTP server
HomeKit: Generated new accessory key
HomeKit: Configuring mDNS
HomeKit: adding mDNS TXel_unknown
HomeKit: adding mDNSit: adding mDNS TXT record s#=1
HomeKit: adding mDNS TXT record ff=0
HomeKit: adding mDNS TXT record sf=1
HomeKit: adding mDNS TXT record ci=9
SERVER JUST INITIALIZED
wifi_config: Stopping DNS server
mDNS: Delaying probe until IP is acquired
Got IP, resuming mDNS
mDNS: Probing 1 HomekitSensor-C88998
mDNS: Failed to send broadcast (code 118)
mDNS: Probing 1 HomekitSensor-C88998
mDNS: Failed to send broadcast (code 118)
mDNS: Probing 2 HomekitSensor-C88998
mDNS: Failed to send broadcast (code 118)
ip:<IP_ADDRESS>,mask:<IP_ADDRESS>,gw:<IP_ADDRESS>
mDNS: Probing 3 HomekitSensor-C88998
mDNS: Probe successful, announcing HomekitSensor-C88998 TXT md=model_unknown pv=1.0 id=3F:BD:AE:C9:DB:CA c#=1 s#=1 ff=0 sf=1 ci=9
mDNS: Announcing 1 HomekitSensor-C88998
mDNS: Announcing 2 HomekitSensor-C88998
mDNS: Announcing 3 HomekitSensor-C88998
mDNS: Announcing 4 HomekitSensor-C88998

Again by removing this
char *custom_hostname = name.value.string_value;
struct netif *netif = sdk_system_get_netif(STATION_IF);
if (netif) {
printf("HOSTNAME set>>>>>:%s\n", custom_hostname);
LOCK_TCPIP_CORE();
dhcp_release_and_stop(netif);
netif->hostname = "foobar";
netif->hostname =custom_hostname;
dhcp_start(netif);
UNLOCK_TCPIP_CORE();
}
It paired with all accessories
pm_task_hdl : 3fff0338, prio:1, stack:176
frc2_timer_task_hdl:0x3fff4e08, prio:12, stack:200
ESP-Open-SDK ver: 0.0.1 compiled @ Jan 29 2021 17:20:31
phy ver: 273, pp ver: 8.3
SDK version:0.9.9

wifi_config: Initializing WiFi config
wifi_config: Connecting to mode : sta(f4:cf:a2:c8:89:98)
add if0
scandone
add 0
aid 19
cnt

connected with test wifi , channel 2
dhcp client start...
ip:<IP_ADDRESS>,mask:<IP_ADDRESS>,gw:<IP_ADDRESS>

wifi_config: Connected to WiFi network
CONNECTED TO >>> WIFI <<<
manuf='manuf_unknown' serial='' model='model_unknown' revision='0.0.0' c#=0
Free Heap: 36584
HomeKit: Starting server
HomeKit: Using existing accessory ID: xxxxxxxxxxxx
HomeKit: Configuring mDNS
HomeKit: adding mDNS TXT record md=model_unknown
HomeKit: adding mDNS TXT record pv=1.0
HomeKit: adding mDNS TXT record id=xxxxxxxxxxxx
HomeKit: adding mDNS TXT record c#=1
HomeKit: adding mDNS TXT record s#=1
HomeKit: adding mDNS TXT record ff=0
HomeKit: adding mDNS TXT record sf=1
HomeKit: adding mDNS TXT record ci=9
SERVER JUST INITIALIZED
mDNS: Delaying probe until IP is acquired
Got IP, resuming mDNS
mDNS: Probing 1 HomekitSensor-C88998
mDNS: Probing 1 HomekitSensor-C88998
mDNS: Probing 2 HomekitSensor-C88998
mDNS: Probing 3 HomekitSensor-C88998
mDNS: Probe successful, announcing HomekitSensor-C88998 TXT md=model_unknown pv=1.0 id=xxxxxxxxxxxx c#=1 s#=1 ff=0 sf=1 ci=9
mDNS: Announcing 1 HomekitSensor-C88998
HomeKit: [Client 1] Got new client connection from <IP_ADDRESS>
CLIENT JUST CONNECTED
HomeKit: [Client 1] Pair Setup Step 1/3
mDNS: Announcing 2 HomekitSensor-C88998
mDNS: Announcing 3 HomekitSensor-C88998
mDNS: Announcing 4 HomekitSensor-C88998
HomeKit: [Client 1] Pair Setup Step 2/3
HomeKit: [Client 1] Pair Setup Step 3/3
HomeKit: Added pairing with 0x0
CLIENT JUST PAIRED
HomeKit: Configuring mDNS
HomeKit: adding mDNS TXT record md=model_unknown
HomeKit: adding mDNS TXT record pv=1.0
HomeKit: adding mDNS TXT record id=xxxxxxxxxxxx
HomeKit: adding mDNS TXT record c#=1
HomeKit: adding mDNS TXT record s#=1
HomeKit: adding mDNS TXT record ff=0
HomeKit: adding mDNS TXT record sf=0
HomeKit: adding mDNS TXT record ci=9
HomeKit: [Client 1] Successfully paired
HomeKit: [Client 1] Closing client connection from <IP_ADDRESS>
CLIENT JUST DISCONNECTED
HomeKit: [Client 1] Got new client connection from <IP_ADDRESS>
CLIENT JUST CONNECTED
HomeKit: [Client 1] Pair Verify Step 1/2
HomeKit: [Client 1] Pair Verify Step 2/2
HomeKit: [Client 1] Found pairing with 0x0
mDNS: Probing 1 HomekitSensor-C88998
CLIENT JUST VERIFIED

HTTP FLAG IS 0
Free Heap: 26756
http task started
Started UDP logging2
Found pairing, starting timers
HTTP get task starting...
Free Heap: 20516
Running HTTP get request...
Temporarily killing http task, sensor values are not ready
Initializing AC parameters

HomeKit: [Client 1] Verification successful, secure session established
HomeKit: [Client 1] Get Accessories
HomeKit: [Client 1] Update Characteristics
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.10 ("Active")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.11 ("Current Temperature")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.12 ("Current Heater Cooler State")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.13 ("Target Heater Cooler State")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.14 ("Cooling Threshold Temperature")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.15 ("Heating Threshold Temperature")
HomeKit: [Client 1] Update Characteristics
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.10 ("On")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.13 ("Current Temperature")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.16 ("Current Ambient Light Level")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.19 ("Motion Detected")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.22 ("Current Relative Humidity")
HomeKit: [Client 1] Update Characteristics
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.10 ("Active")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.11 ("Current Temperature")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.12 ("Current Heater Cooler State")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.13 ("Target Heater Cooler State")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.14 ("Cooling Threshold Temperature")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.15 ("Heating Threshold Temperature")
HomeKit: [Client 1] Update Characteristics
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.10 ("On")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.13 ("Current Temperature")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.16 ("Current Ambient Light Level")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.19 ("Motion Detected")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.22 ("Current Relative Humidity")
HomeKit: [Client 1] Get Characteristics
HomeKit: [Client 1] Requested characteristic info for 2.19 ("Motion Detected")
HomeKit: [Client 1] Requested characteristic info for 2.10 ("On")
HomeKit: [Client 1] Requested characteristic info for 2.22 ("Current Relative Humidity")
HomeKit: [Client 1] Requested characteristic info for 2.13 ("Current Temperature")
HomeKit: [Client 1] Requested characteristic info for 2.16 ("Current Ambient Light Level")
HomeKit: [Client 1] Requested characteristic info for 1.13 ("Target Heater Cooler State")
HomeKit: [Client 1] Requested characteristic info for 1.11 ("Current Temperature")
HomeKit: [Client 1] Requested characteristic info for 1.12 ("Current Heater Cooler State")
HomeKit: [Client 1] Requested characteristic info for 1.14 ("Cooling Threshold Temperature")
HomeKit: [Client 1] Requested characteristic info for 1.15 ("Heating Threshold Temperature")
HomeKit: [Client 1] Requested characteristic info for 1.10 ("Active")
mDNS: Probing 2 HomekitSensor-C88998
mDNS: Probing 3 HomekitSensor-C88998
mDNS: Probe successful, announcing HomekitSensor-C88998 TXT md=model_unknown pv=1.0 id=xxxxxxxxxxxx c#=1 s#=1 ff=0 sf=0 ci=9
HomeKit: [Client 2] Got new client connection from <IP_ADDRESS>
HomeKit: [Client 1]  Have existing connection from <IP_ADDRESS>
CLIENT JUST CONNECTED
HomeKit: [Client 2] Pair Verify Step 1/2
mDNS: Announcing 1 HomekitSensor-C88998
HomeKit: [Client 3] Got new client connection from <IP_ADDRESS>
HomeKit: [Client 2]  Haing connection from <IP_ADDRESS>ep 1/2
HomeKit: [Client 2] Pair Verify Step 2/2
HomeKit: [Client 2] Found pairing with 0x0
CLIENT JUST VERIFIED

HTTP FLAG IS 0
Free Heap: 22764
http task started

HomeKit: [Client 2] Verification successful, secure session established
HTTP get task starting...
Free Heap: 18552
Running HTTP get request...
Temporarily killing http task, sensor values are not ready
HomeKit: [Client 3] Pair Verify Step 2/2
HomeKit: [Client 3] Found pairing with 0x0
CLIENT JUST VERIFIED

HTTP FLAG IS 0
Free Heap: 18524
http task started

HomeKit: [Client 3] Verification successful, secure session established
HomeKit: [Client 2] Get Accessories
HTTP get task starting...
Free Heap: 12708
Running HTTP get request...
Temporarily killing http task, sensor values are not ready
HomeKit: [Client 3] Get Accessories
HomeKit: [Client 2] Get Characteristics
HomeKit: [Client 2] Requested characteristic info for 1.6 ("Firmware Revision")
HomeKit: [Client 2] Get Characteristics
HomeKit: [Client 2] Requested characteristic info for 2.6 ("Firmware Revision")
HomeKit: [Client 2] Update Characteristics
HomeKit: [Client 2] Unsubscribed from notifications of characteristic 2.19 ("Motion Detected")
mDNS: Announcing 2 HomekitSensor-C88998
HomeKit: [Client 3] Update Characteristics
HomeKit: [Client 3] Unsubscribed from notifications of characteristic 2.19 ("Motion Detected")
HomeKit: [Client 4] Got new client connection from <IP_ADDRESS>
HomeKit: [Client 3]  Have existing connection from <IP_ADDRESS>
HomeKit: [Client 2]  Have existing connection from <IP_ADDRESS>
HomeKit: [Client 1]  Have existing connection from <IP_ADDRESS>
CLIENT JUST CONNECTED
HomeKit: [Client 4] Pair Verify Step 1/2
HomeKit: [Client 4] Pair Verify Step 2/2
HomeKit: [Client 4] Found pairing with 0x0
CLIENT JUST VERIFIED

HTTP FLAG IS 0
Free Heap: 22412
http task started

HomeKit: [Client 4] Verification successful, secure session established
HTTP get task starting...
Free Heap: 18084
Running HTTP get request...

Again by removing this
char *custom_hostname = name.value.string_value;
struct netif *netif = sdk_system_get_netif(STATION_IF);
if (netif) {
printf("HOSTNAME set>>>>>:%s\n", custom_hostname);
LOCK_TCPIP_CORE();
dhcp_release_and_stop(netif);
netif->hostname = "foobar";
netif->hostname =custom_hostname;
dhcp_start(netif);
UNLOCK_TCPIP_CORE();
}
It paired with all accessories
pm_task_hdl : 3fff0338, prio:1, stack:176
frc2_timer_task_hdl:0x3fff4e08, prio:12, stack:200
ESP-Open-SDK ver: 0.0.1 compiled @ Jan 29 2021 17:20:31
phy ver: 273, pp ver: 8.3
SDK version:0.9.9

wifi_config: Initializing WiFi config
wifi_config: Connecting to mode : sta(f4:cf:a2:c8:89:98)
add if0
scandone
add 0
aid 19
cnt

connected with test wifi , channel 2
dhcp client start...
ip:<IP_ADDRESS>,mask:<IP_ADDRESS>,gw:<IP_ADDRESS>

wifi_config: Connected to WiFi network
CONNECTED TO >>> WIFI <<<
manuf='manuf_unknown' serial='' model='model_unknown' revision='0.0.0' c#=0
Free Heap: 36584
HomeKit: Starting server
HomeKit: Using existing accessory ID: xxxxxxxxxxxx
HomeKit: Configuring mDNS
HomeKit: adding mDNS TXT record md=model_unknown
HomeKit: adding mDNS TXT record pv=1.0
HomeKit: adding mDNS TXT record id=xxxxxxxxxxxx
HomeKit: adding mDNS TXT record c#=1
HomeKit: adding mDNS TXT record s#=1
HomeKit: adding mDNS TXT record ff=0
HomeKit: adding mDNS TXT record sf=1
HomeKit: adding mDNS TXT record ci=9
SERVER JUST INITIALIZED
mDNS: Delaying probe until IP is acquired
Got IP, resuming mDNS
mDNS: Probing 1 HomekitSensor-C88998
mDNS: Probing 1 HomekitSensor-C88998
mDNS: Probing 2 HomekitSensor-C88998
mDNS: Probing 3 HomekitSensor-C88998
mDNS: Probe successful, announcing HomekitSensor-C88998 TXT md=model_unknown pv=1.0 id=xxxxxxxxxxxx c#=1 s#=1 ff=0 sf=1 ci=9
mDNS: Announcing 1 HomekitSensor-C88998
HomeKit: [Client 1] Got new client connection from <IP_ADDRESS>
CLIENT JUST CONNECTED
HomeKit: [Client 1] Pair Setup Step 1/3
mDNS: Announcing 2 HomekitSensor-C88998
mDNS: Announcing 3 HomekitSensor-C88998
mDNS: Announcing 4 HomekitSensor-C88998
HomeKit: [Client 1] Pair Setup Step 2/3
HomeKit: [Client 1] Pair Setup Step 3/3
HomeKit: Added pairing with 0x0
CLIENT JUST PAIRED
HomeKit: Configuring mDNS
HomeKit: adding mDNS TXT record md=model_unknown
HomeKit: adding mDNS TXT record pv=1.0
HomeKit: adding mDNS TXT record id=xxxxxxxxxxxx
HomeKit: adding mDNS TXT record c#=1
HomeKit: adding mDNS TXT record s#=1
HomeKit: adding mDNS TXT record ff=0
HomeKit: adding mDNS TXT record sf=0
HomeKit: adding mDNS TXT record ci=9
HomeKit: [Client 1] Successfully paired
HomeKit: [Client 1] Closing client connection from <IP_ADDRESS>
CLIENT JUST DISCONNECTED
HomeKit: [Client 1] Got new client connection from <IP_ADDRESS>
CLIENT JUST CONNECTED
HomeKit: [Client 1] Pair Verify Step 1/2
HomeKit: [Client 1] Pair Verify Step 2/2
HomeKit: [Client 1] Found pairing with 0x0
mDNS: Probing 1 HomekitSensor-C88998
CLIENT JUST VERIFIED

HTTP FLAG IS 0
Free Heap: 26756
http task started
Started UDP logging2
Found pairing, starting timers
HTTP get task starting...
Free Heap: 20516
Running HTTP get request...
Temporarily killing http task, sensor values are not ready
Initializing AC parameters

HomeKit: [Client 1] Verification successful, secure session established
HomeKit: [Client 1] Get Accessories
HomeKit: [Client 1] Update Characteristics
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.10 ("Active")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.11 ("Current Temperature")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.12 ("Current Heater Cooler State")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.13 ("Target Heater Cooler State")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.14 ("Cooling Threshold Temperature")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.15 ("Heating Threshold Temperature")
HomeKit: [Client 1] Update Characteristics
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.10 ("On")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.13 ("Current Temperature")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.16 ("Current Ambient Light Level")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.19 ("Motion Detected")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.22 ("Current Relative Humidity")
HomeKit: [Client 1] Update Characteristics
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.10 ("Active")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.11 ("Current Temperature")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.12 ("Current Heater Cooler State")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.13 ("Target Heater Cooler State")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.14 ("Cooling Threshold Temperature")
HomeKit: [Client 1] Subscribed to notifications of characteristic 1.15 ("Heating Threshold Temperature")
HomeKit: [Client 1] Update Characteristics
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.10 ("On")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.13 ("Current Temperature")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.16 ("Current Ambient Light Level")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.19 ("Motion Detected")
HomeKit: [Client 1] Subscribed to notifications of characteristic 2.22 ("Current Relative Humidity")
HomeKit: [Client 1] Get Characteristics
HomeKit: [Client 1] Requested characteristic info for 2.19 ("Motion Detected")
HomeKit: [Client 1] Requested characteristic info for 2.10 ("On")
HomeKit: [Client 1] Requested characteristic info for 2.22 ("Current Relative Humidity")
HomeKit: [Client 1] Requested characteristic info for 2.13 ("Current Temperature")
HomeKit: [Client 1] Requested characteristic info for 2.16 ("Current Ambient Light Level")
HomeKit: [Client 1] Requested characteristic info for 1.13 ("Target Heater Cooler State")
HomeKit: [Client 1] Requested characteristic info for 1.11 ("Current Temperature")
HomeKit: [Client 1] Requested characteristic info for 1.12 ("Current Heater Cooler State")
HomeKit: [Client 1] Requested characteristic info for 1.14 ("Cooling Threshold Temperature")
HomeKit: [Client 1] Requested characteristic info for 1.15 ("Heating Threshold Temperature")
HomeKit: [Client 1] Requested characteristic info for 1.10 ("Active")
mDNS: Probing 2 HomekitSensor-C88998
mDNS: Probing 3 HomekitSensor-C88998
mDNS: Probe successful, announcing HomekitSensor-C88998 TXT md=model_unknown pv=1.0 id=xxxxxxxxxxxx c#=1 s#=1 ff=0 sf=0 ci=9
HomeKit: [Client 2] Got new client connection from <IP_ADDRESS>
HomeKit: [Client 1]  Have existing connection from <IP_ADDRESS>
CLIENT JUST CONNECTED
HomeKit: [Client 2] Pair Verify Step 1/2
mDNS: Announcing 1 HomekitSensor-C88998
HomeKit: [Client 3] Got new client connection from <IP_ADDRESS>
HomeKit: [Client 2]  Haing connection from <IP_ADDRESS>ep 1/2
HomeKit: [Client 2] Pair Verify Step 2/2
HomeKit: [Client 2] Found pairing with 0x0
CLIENT JUST VERIFIED

HTTP FLAG IS 0
Free Heap: 22764
http task started

HomeKit: [Client 2] Verification successful, secure session established
HTTP get task starting...
Free Heap: 18552
Running HTTP get request...
Temporarily killing http task, sensor values are not ready
HomeKit: [Client 3] Pair Verify Step 2/2
HomeKit: [Client 3] Found pairing with 0x0
CLIENT JUST VERIFIED

HTTP FLAG IS 0
Free Heap: 18524
http task started

HomeKit: [Client 3] Verification successful, secure session established
HomeKit: [Client 2] Get Accessories
HTTP get task starting...
Free Heap: 12708
Running HTTP get request...
Temporarily killing http task, sensor values are not ready
HomeKit: [Client 3] Get Accessories
HomeKit: [Client 2] Get Characteristics
HomeKit: [Client 2] Requested characteristic info for 1.6 ("Firmware Revision")
HomeKit: [Client 2] Get Characteristics
HomeKit: [Client 2] Requested characteristic info for 2.6 ("Firmware Revision")
HomeKit: [Client 2] Update Characteristics
HomeKit: [Client 2] Unsubscribed from notifications of characteristic 2.19 ("Motion Detected")
mDNS: Announcing 2 HomekitSensor-C88998
HomeKit: [Client 3] Update Characteristics
HomeKit: [Client 3] Unsubscribed from notifications of characteristic 2.19 ("Motion Detected")
HomeKit: [Client 4] Got new client connection from <IP_ADDRESS>
HomeKit: [Client 3]  Have existing connection from <IP_ADDRESS>
HomeKit: [Client 2]  Have existing connection from <IP_ADDRESS>
HomeKit: [Client 1]  Have existing connection from <IP_ADDRESS>
CLIENT JUST CONNECTED
HomeKit: [Client 4] Pair Verify Step 1/2
HomeKit: [Client 4] Pair Verify Step 2/2
HomeKit: [Client 4] Found pairing with 0x0
CLIENT JUST VERIFIED

HTTP FLAG IS 0
Free Heap: 22412
http task started

HomeKit: [Client 4] Verification successful, secure session established
HTTP get task starting...
Free Heap: 18084
Running HTTP get request...

 Could you please download my latest commit and try again?

@cab113 @renandw just made a little change. Could you please download my latest commit and try again?

@peros550 @renandw , yes this one does pair but losses homekit connection after reboot log attached

HomeKit: Starting server
HomeKit: Using existing accessory ID: xxxxxxxxxxxx
HomeKit: Found admin pairing with 9C328333-4D0A-42B6-8F4D-FA7A2A731F66, disabling pair setup
HomeKit: Configuring mDNS
HomeKit: adding mDNS TXT record md=model_unknown
HomeKit: adding mDNS TXT record pv=1.0
HomeKit: adding mDNS TXT record id=xxxxxxxxxxxx
HomeKit: adding mDNS TXT record c#=1
HomeKit: adding mDNS TXT record s#=1
HomeKit: adding mDNS TXT record ff=0
HomeKit: adding mDNS TXT record sf=0
HomeKit: adding mDNS TXT record ci=9

STARTING HTTP SEVER . . .
SERVER JUST INITIALIZED
Started UDP logging1
Found pairing, starting timers
Initializing AC parameters
mDNS: Delaying probe until IP is acquired
Got IP, resuming mDNS
mDNS: Probing 1 HomekitSensor-49D1F1
mDNS: Failed to send broadcast (code 118)
mDNS: Probing 1 HomekitSensor-49D1F1
mDNS: Failed to send broadcast (code 118)
mDNS: Probing 2 HomekitSensor-49D1F1
mDNS: Failed to send broadcast (code 118)
mDNS: Probing 3 HomekitSensor-49D1F1
mDNS: Failed to send broadcast (code 118)
mDNS: Probe successful, announcing HomekitSensor-49D1F1 TXT md=model_unknown pv=1.0 id=xxxxxxxxxxxx c#=1 s#=1 ff=0 sf=0 ci=9
mDNS: Failed to send broadcast (code 118)
ip:<IP_ADDRESS>,mask:<IP_ADDRESS>,gw:<IP_ADDRESS>
mDNS: Announcing 1 HomekitSensor-49D1F1
mDNS: Announcing 2 HomekitSensor-49D1F1
mDNS: Announcing 3 HomekitSensor-49D1F1

@peros550 @renandw , yes this one does pair but losses homekit connection after reboot log attached

HomeKit: Starting server
HomeKit: Using existing accessory ID: xxxxxxxxxxxx
HomeKit: Found admin pairing with 9C328333-4D0A-42B6-8F4D-FA7A2A731F66, disabling pair setup
HomeKit: Configuring mDNS
HomeKit: adding mDNS TXT record md=model_unknown
HomeKit: adding mDNS TXT record pv=1.0
HomeKit: adding mDNS TXT record id=xxxxxxxxxxxx
HomeKit: adding mDNS TXT record c#=1
HomeKit: adding mDNS TXT record s#=1
HomeKit: adding mDNS TXT record ff=0
HomeKit: adding mDNS TXT record sf=0
HomeKit: adding mDNS TXT record ci=9

STARTING HTTP SEVER . . .
 While the device is not available:
a)  does it respond to pings?
b) are you able to load the new webserver (in your case http://<IP_ADDRESS>:81 )

I can't reproduce the issue currently in my network. While the device is not available:
a)  does it respond to pings?
b) are you able to load the new webserver (in your case http://<IP_ADDRESS>:81 )

@peros550 this code pairs fine but after power cycle it stops homekit server from loading, i can ping the device and confirm its online and web server is reachable on port 81. homekit server doesnt respond on reboot....

Hello guys. I am spending a lot of time in a travel due to my job. I hope to test it on Saturday. Thanks a lot for spending some time with it peros.

Em 31 de jan. de 2021, à(s) 21:20, cab113<EMAIL_ADDRESS>escreveu:

@peros550 this code pairs fine but after power cycle it stops homekit server from loading, i can ping the device and confirm its online and web server is reachable on port 81. homekit server doesnt respond on reboot....
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@renandw no worries, send your feedback at your earliest convenience.
@cab113 one more update. Because I cannot reproduce the issue at my home, I am testing various ideas to try to isolate the problem, and see if it fixes the problem. Please let me have your feedback as soon as you test it.

@peros550
Again, thanks for looking to this issue.
I've tried yesterday to compile your code and it worked really good. No problems at all.
Thanks a lot!!
@cab113 hope that it works for you too!!

@renandw you are welcome! I hope will fix it for good.
so my latest commit simply removed the part of the code (@cab113 found) which set the esp8266 hostname to something human readable in the router's menu. Very strange because this part of the code was introduced back in Jan 22, 2020. I'm wondering if something introduced later, with my updates after Aug '20, comes in contrast to setting the hostname.
I'll try to think of a solution about this.
Could I please ask for some information from your side? Because I still can't reproduce the issue on my network, but only at another home which has a router from TP-Link. Would it be possible to let me know what type of router do you have ?

@peros550 @renandw , the new code pairs and works perfectly. thank you. On other note since you mentioned TP-link router - my main router is TP-link and confirming pairing problems does happen when esp is paired on TP-link wifi and Netcomm Router, i dont have any other to test this on. Maybe the name structure system is not supported by some manufactures or hardware.
Again thank you.

@peros550 , is it possible to add ir receive to this repo to update the server if status is changed by a remote, say i turned it on to cool @ 18c but someone at home has turned it to 20c using the remote - feature could update the server and display the change in homekit. an example of this is in https://github.com/Mixiaoxiao/ESP8266-IR-HOMEKIT . only thing is wang doesnt support temperature sensors and other sensors like yours does.

@cab113 it's a good idea I have also thought about this problem in the past.
The firmware you pointed is based on the Arduino framework and has access to https://github.com/crankyoldgit/IRremoteESP8266 library. On the other hand, this firmware is based on esp-open-rtos, because Maxim's esp-homekit library is based on esp-open-rtos and unfortunately the IRremoteESP8266 library is not compatible with esp-open-rtos based code.
I wanted to partially solve the problem using a different approach. For example, after issuing a command to the A/C (i.e. heat to 25C) if the room's current temperature isn't increasing for 1-2hours, then the A/C state would return to OFF.
This is only a partial solution and I'm still trying to find of any othe way I could possible solve this problem.

I'm going to close this issue. If by any chance the issue remains, please step in and comment below.


What went wrong: 'com.google.firebase:firebase-common' has different version for the compile (16.0.3) and runtime (16.1.0) classpath

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:preDebugBuild'.
> Android dependency 'com.google.firebase:firebase-common' has different version for the compile (16.0.3) and runtime (16.1.0) classpath. You should manually set the same version via DependencyResolution

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

@VnurtureTechnologies Please report if the issue still relevant. Please provide your flutter doctor -v output, and your Gradle version.

Hi @VnurtureTechnologies
for what I can see the issue is related to a FlutterFire plugin,
please open the issue in the dedicated github.
Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
thank you


Make PublicKey API consistent

at least expose serialize method additionally to write_into.
Original discussion: https://github.com/rust-bitcoin/rust-miniscript/pull/225#discussion_r557631054
Maybe we can go even further and rename confusing serialize method in rust-secp256k1 into to_bytes method (I assume it is computationally expensive since it calls to C FFI working with internal public key representation).

It is not expensive at all, it is basically a memcpy for the uncompressed serialization and a check of one bit for the compressed serialization.
What is your proposed function signature for a serialize method on bitcoin::PublicKey?

It is not expensive at all, it is basically a memcpy for the uncompressed serialization and a check of one bit for the compressed serialization.
What is your proposed function signature for a serialize method on bitcoin::PublicKey?

Right, I see: the length of byte array will be different (depending on the key compression) and we can't have two functions since bitcoin key must force compressed/uncompressed state...
But this is really so frustrating and confusing all the time...
Now, when we have a dedicated xcoord-only public key, may be we need to transform bitcoin::PublicKey into an enum with three variants, which will allow to have as_bytes method on each internal type?
In general it seems really inconvenient that we have a lot of places where we can't accept uncompressed keys (everything segwit-related) and need to return Result with some custom error instead of requiring compressed flag using a type system. It may be that with the enum AND special internal compressed/uncompressed types (additionally to xcoord only) we may distinguish APIs for methods which (a) may take any key, (b) require compressed key only, (c) require xcoord key only.

Right, I see: the length of byte array will be different (depending on the key compression) and we can't have two functions since bitcoin key must force compressed/uncompressed state...
But this is really so frustrating and confusing all the time...
Now, when we have a dedicated xcoord-only public key, may be we need to transform bitcoin::PublicKey into an enum with three variants, which will allow to have as_bytes method on each internal type?
In general it seems really inconvenient that we have a lot of places where we can't accept uncompressed keys (everything segwit-related) and need to return Result with some custom error instead of requiring compressed flag using a type system. It may be that with the enum AND special internal compressed/uncompressed types (additionally to xcoord only) we may distinguish APIs for methods which (a) may take any key, (b) require compressed key only, (c) require xcoord key only.

Definitely agree, it would be nice if we could somehow enforce this at the type level.

Definitely agree, it would be nice if we could somehow enforce this at the type level.

Had a private IRC chat with @sgeisler and at the end decided to publish it to GitHub:
20:56 sgeisler: Also: do we actually know if ECDSA and schnorr mixed usage is insecure? I was under the impression that we simply son't know …
20:56 sgeisler: so that's a good reason to avoid mixing
20:56 sgeisler: but is it a sufficient reason to make the API harder on ourselves?
20:58 dr_orlovsky: 05:17 sipa: you're right of course that using the same key in schnorr and ecdsa should be discouraged (i personally expect it is not less secure than just ecdsa with that key, but i also don't think anyone has formally analyzed this)... but in the context of bitcoin script signing, this advice is sort of preempted by the fact that you shouldn't be reusing keys at all for whatever purpose
20:58 sgeisler: yeah, that's what I expected
20:59 sgeisler: so given that, would you advocate different XPub types for ECDSA and schnorr keys?
20:59 dr_orlovsky: I think (1) we should not give a simple ability to convert bitcoin::PublicKey in/from XCoordOnlyKey
20:59 dr_orlovsky: otherwise users will abuse it
20:59 sgeisler: because at the top you can't say which type they have, only when you get to the subtree with the taproot usage you can tell
21:00 dr_orlovsky: also, because it will create problems on miniscript level
21:00 sgeisler: so you'll need some way to convert xpub(ECDSA)  to xpub(schnorr) anyway
21:00 dr_orlovsky: we will need a new context with Tapscript
21:00 dr_orlovsky: and it will be the same nightmare like with uncompressed keys before
21:00 sgeisler: ah, right
21:00 dr_orlovsky: so it's not only about key reuse & security
21:01 dr_orlovsky: in fact not providing more complex API at the BIP32 level will render miniscript API much much more complex
21:01 dr_orlovsky: (2) BIP32 API should commit somehow to whether it is ECDSA or BIP340 context when derives keys - like bitcoin::PuiblicKey commits to the compression option
21:02 sgeisler: I guess so, but do we have a useful miniscript definition for tapscript already?
21:02 dr_orlovsky: and return Compressed PublicKey on one context and XCoordOnly on the other - but never return UncompressedPublicKey (since there were no BIP32 when uncompressed keys were used)
21:02 dr_orlovsky: no, we don't have tapscript there yet
21:03 dr_orlovsky: we actualy do not have it even in rust-bitcoin
21:03 dr_orlovsky: (some opcodes should change)
21:03 dr_orlovsky: but for that we need to refactor opcodes :D
21:03 sgeisler: because the main question would be: given that you can probably mix schnorr and ecdsa signing in tapscript (didn't check) you'd probably want two different node types for that in miniscript
21:03 dr_orlovsky: no, you can't mix with ECDSA
21:03 sgeisler: ah, good to know
21:04 dr_orlovsky: the meaning of CHECKSIG and CHECKMULTISIG had changed in Tapscript and the first does not allow ECDSA, only Schnorr, and the second is depricated - that why it's a different context for everything
21:05 sgeisler: Then I don't see why the xpub needs to know if it's a schnorr key or ECDSA, the context will make it clear.
21:05 sgeisler: Actually having it as a member would lead to wierd error cases when key and context mismatch, like segwit and uncompressed keys
21:06 sgeisler: only if we encode it in the type system it would be sane, but we'd still need conversions for ECDSA-XPub to Schnorr-XPub
21:06 sgeisler: (or from a neutral XPub)
21:07 sgeisler: since what type would the root key have otherwise? You don't want to have to decide if you are doing schnorr or ECDSA at the seed level
21:08 sgeisler: > but for that we need to refactor opcodes :D
21:08 sgeisler: I see, we are in it for the long haul :/ that sounds like it'll take some time
21:17 dr_orlovsky: If I did BIP32 from the scratch after Taproot, I probably did the following:
21:19 dr_orlovsky: Master extended public key should be of a special type not being able to do anything other than derive operation, leading to another master key - unless it's called in some derivation context (ECDSA or BIP340).
21:20 dr_orlovsky: Than, it will return a typed Xpub/Xpriv which will be able to produce keys only of certain type - without traits shared between them
21:20 dr_orlovsky: but yes, this implies rewriting of all rust-bitcoin aside of networking part
21:21 dr_orlovsky: but I am afraid with taproot we do not have other option
21:22 dr_orlovsky: Script changes. PublicKey changes. PrivateKey changes. BIP32 changes. Even for PSBT there is PSBT2 coming (unrelated to taproot though). Now this XKeyPair - what to do with it? Bech32m addresses.
21:22 dr_orlovsky: Descriptors must be changed (and I believe we need non-miniscript descriptors as well, at rust-bitcoin level)
21:24 dr_orlovsky: signatures and signing process changes. What does not change? Network messages. OutPoint. Transaction structure. I.e. <20% of the codebase
21:27 sgeisler: Re xkeys: in principle I like your idea, I just don't know if it's the right priority. Imo the "xkeys don't know what they are and can be converted to everything" approach gets us 80% of the way pretty cheaply to focus on the more complicated stuff like descriptors (assuming that ECDSA/schnorr reuse isn't horribly broken and just of unknown security)
21:28 sgeisler: They'll give us a way to experiment with what we actually need
21:29 sgeisler: otoh, we'd probably touch everything twice with the 80/20 strategy
21:30 sgeisler: I guess I'm just a bit worried about the colossal effort it will take, but we'll have to do it one way or another
21:30 dr_orlovsky: me too :(
21:30 dr_orlovsky: but it seems to me there is a certain feel of a deadlock with miniscript API with the way rust-bitcoin works today
21:31 dr_orlovsky: and its good we have taproot giving us ability to refactor something large-scale
21:33 sgeisler: So maybe the XPub<K: InnerDerivableKey> API would work? You can always convert to K and for the root K is some new key type that has no API except for serialization and when deriving this one key type you can specify which target type you want. For all others it has to stay the same.
21:33 sgeisler: This would work with specialization, but that's probably not available (I don't even know if it's stable xD)
21:34 dr_orlovsky: XPub<K: InnerDerivableKey> sounds good
21:34 sgeisler: So I guess that will be implemented as a different function: derive_to_key_type<K>, while all other Ks only expose the derive function
21:35 dr_orlovsky: probably no need in derive_to_key_type<K>
21:35 dr_orlovsky: there should be only downgrade_to_ecdsa|bip340() and that's all
21:36 dr_orlovsky: later if other key type appear we will add anothe function
21:36 dr_orlovsky: so the XPub type will be downgraded itself, not the derived key
21:37 sgeisler: I see, with one addition: let's use the chance to get the compressedness into the type system here too. So downgrade_to_legacy|ecdsa|bip340()
21:37 sgeisler: But that's definitely something we should discuss with the others, because my view on the ecosystem is limited, maybe there is some annoying flaw
21:38 sgeisler: There's still nothing that keeps you from downgrading the same xpub to different types, but I think there's only so much you can do …
21:39 dr_orlovsky: downgrade_to_legacy - no need, the downgrade_to_ecdsa will return compressed keys only. There is no Xpubs/BIP32 for uncompressed keys!
21:40 dr_orlovsky: of course should be discussed with everybody; perhaps we should had this discussion in rust-bitcoin
21:40 sgeisler: Are you sure? I didn't check all constructors, but at least we carry the compressedness flag around in our bip32 impl
21:40 dr_orlovsky: is there any way to transfer it to there? I assume no.
21:40 sgeisler: I think it's best to write a compressed version somewhere more permanent, like a GH issue
21:41 dr_orlovsky: well, of course you can use uncompressed key in any non-segwit script; but API should not allow users to do that since P2PKH
21:41 dr_orlovsky: if they have to - go and code your forked crate with BIP32 support for uncompressed keys
21:42 dr_orlovsky: or use pre-taproot rust-bitcoin version

It's not clear to me at all why we'd have to "rewrite 80% of rust-bitcoin". We just need to

add accessor functions to the bip32 xkeys to get x-only keys
add a new address variant for p2tr which takes an x-only key but is otherwise basically identical to the existing p2pkh variant
add bech32m support, for the above address variant, and add yet another case to the address-parsing logic

Yes rust-miniscript will require more invasive changes. Probably ToPublicKey will need to have an output parameter, or it should be type-weakened to only require len/encode_bytes methods or something rather than actually converting to bitcoin::PublicKey.
This whole situation is way simpler than the uncompressed/compressed/hybrid situation because xonly keys can be used if and only if you are in a Taproot context; they have a fixed length; there are no kinds of x-only pubkeys which have no corresponding private key; etc etc.

Replaced with #585


lockhunter <IP_ADDRESS>

Invalid download URL https://lockhunter.com/exe/lockhuntersetup_3-3-4.exe. [ContentType=text/html]

Thanks for the report, it should be fixed now https://github.com/appget/appget.packages/pull/4627


/quote {string} for getting quotes from goodreads via scraping (axios)

Originally posted by @rk250ky in https://github.com/KieranRobson/Clarence-Bot/issues/26#issuecomment-1292288642

can you assign me to this

Go ahead @rk250ky!

Hello i got some problems with importing new libraries is there any special way to make new libraries connect to docker.
Getting error that i dont have module installed but it is in dependecies and node_modules.


[RBD Async DR] Fix resize/Delete volume when it moved to another cluster

In the case of the Async DR, the volumeID will not be the same if the clusterID or the PoolID is different, With Earlier implementation, it is expected that the new volumeID mapping is stored in the rados omap pool. In the case of the
ControllerExpand or the DeleteVolume Request, the only volumeID will be sent it's not possible to find the corresponding poolID in the new cluster.
With This Change, it works as below
The csi-rbdplugin-controller will watch for the PV objects, when there are any PV objects created it will check the omap already exists, If the omap doesn't exist it will generate the new volumeID and it checks for the volumeID mapping entry in the PV annotation, if the mapping does not exist, it will add the new entry to the PV annotation.
The cephcsi will check for the PV annotations if the omap does not exist if the mapping exists in the PV annotation, it will use the new volumeID for further operations.
fixes: #1936
Signed-off-by: Madhu Rajanna<EMAIL_ADDRESS>

@nixpanic as discussed one more approach other than  https://github.com/ceph/ceph-csi/pull/1938 to fix this issue

Annotations are better than config maps.
@Madhu-1 and me discussed an alternate that provides configuration to the CSI driver for the required mapping, than annotate PVs. Madhu is thinking through the same, and if we discuss and find that a better long term alternative, we would possibly got that route.
Till then, without hopefully confusing matters further, this is an acceptable stand-in for the problem being resolved.

@humblec PTAL

@humblec PTAL

@Madhu-1 do we have any design doc (https://github.com/ceph/ceph-csi/pull/1938#issuecomment-810304643) for this async work in general ( may be one which cover the integration to the other component too ?) apart from the one available here https://github.com/ceph/ceph-csi/blob/devel/docs/design/proposals/rbd-mirror.md for reference ? the one available here does not carry much information and I am finding difficulty to get the workflow , so the ask.

@humblec PTAL

@Madhu-1 do we have any design doc (#1938 (comment)) for this async work in general ( may be one which cover the integration to the other component too ?) apart from the one available here https://github.com/ceph/ceph-csi/blob/devel/docs/design/proposals/rbd-mirror.md for reference ? the one available here does not carry much information and I am finding difficulty to get the workflow , so the ask.

@humblec as i  already explain the currently planned design for you and its clear, this is the doc which I have created initially https://hackmd.io/1Pbj_9rzQ2SwK80GK6-qWg?both. i don't have the LLD

@humblec PTAL

@Madhu-1 do we have any design doc (#1938 (comment)) for this async work in general ( may be one which cover the integration to the other component too ?) apart from the one available here https://github.com/ceph/ceph-csi/blob/devel/docs/design/proposals/rbd-mirror.md for reference ? the one available here does not carry much information and I am finding difficulty to get the workflow , so the ask.

@humblec as i already explain the currently planned design for you and its clear, this is the doc which I have created initially https://hackmd.io/1Pbj_9rzQ2SwK80GK6-qWg?both. i don't have the LLD

@Madhu-1 looks like many changes  from the initial thoughts keep happening  and was struggling to keep updated on those. Thanks for the link. Hopefully it helps :) .

https://github.com/ceph/ceph-csi/pull/1946#issuecomment-811115845
Are we saying the annotation method ( this PR) will be kept as a temporary one ?  if yes, what  are we planning as a permanent solution mentioned by above ?

@humblec PTAL

@Madhu-1 do we have any design doc (#1938 (comment)) for this async work in general ( may be one which cover the integration to the other component too ?) apart from the one available here https://github.com/ceph/ceph-csi/blob/devel/docs/design/proposals/rbd-mirror.md for reference ? the one available here does not carry much information and I am finding difficulty to get the workflow , so the ask.

@humblec as i already explain the currently planned design for you and its clear, this is the doc which I have created initially https://hackmd.io/1Pbj_9rzQ2SwK80GK6-qWg?both. i don't have the LLD

@Madhu-1 looks like many changes from the initial thoughts keep happening and was struggling to keep updated on those. Thanks for the link. Hopefully it helps :) .

#1946 (comment)

Are we saying the annotation method ( this PR) will be kept as a temporary one ? if yes, what are we planning as a permanent solution mentioned by above ?

Yes am working on a new design need to check the feasibility, it takes some time (not soon) to get the design doc out.

@Madhu-1 looks like latest patchset address https://github.com/ceph/ceph-csi/pull/1946#discussion_r607932043,  is this ready for review or you are still polishing it ?

@Madhu-1 looks like latest patchset address #1946 (comment), is this ready for review or you are still polishing it ?

This is ready fir review


Role Definition Ids are not visible in assignments

Hi
We are are trying to assign role definition during assignment but we are not able to achieve required result.
We tried in both ways
#role_definition_ids  = module.PrivateLinkAzureAutomationArecordtoprivateDNSZone.role_definition_ids
/*
role_definition_ids = [
data.azurerm_role_definition.DNS_Zone_Contributor.id,
data.azurerm_role_definition.Network_Contributor.id
]
*/
By trying both the ways we are able to see role definition in
This identity will also be given the following permissions:
refer attach image

module "org_mg_PrivateLinkAzureAutomationArecordtoprivateDNSZone" {
source               = "..//modules/def_assignment"
definition           = module.PrivateLinkAzureAutomationArecordtoprivateDNSZone.definition
assignment_scope     = data.azurerm_management_group.org.id
assignment_effect    = "DeployIfNotExists"
skip_remediation     = var.skip_remediation
skip_role_assignment = false
#role_definition_ids  = module.PrivateLinkAzureAutomationArecordtoprivateDNSZone.role_definition_ids
/*
role_definition_ids = [
data.azurerm_role_definition.DNS_Zone_Contributor.id,
data.azurerm_role_definition.Network_Contributor.id
]
*/
assignment_parameters = {
privateDnsZoneId = "/subscriptions/74bd4da4-5bd3-449a-9e17-49d12a2b2a00/resourceGroups/privatednszones-prod-rg/providers/Microsoft.Network/privateDnsZones/privatelink.azure-automation.net"
}
}

I have used it without role definition too but still same result.
and for testing i am testing with policy not initiative


Possible to run as ffmpeg codec copy instead of lib264?

I got the code to run with ffmpeg settings like this:
var args = [
        '-re',
        "-i", "rtsp://@<IP_ADDRESS>:554/axis-media/media.amp?videocodec=h264&resolution=1280x720&h264profile=baseline",
        // "-framerate", this.options.fps,
        "-video_size", this.options.width + 'x' + this.options.height,
        '-pix_fmt',  'yuv420p',
        // '-c:v',  'copy',
        '-c:v',  'libx264',
        '-b:v', '600k',
        '-bufsize', '600k',
        '-vprofile', 'baseline',
        '-tune', 'zerolatency',
        '-f' ,'h264',
        '-'
    ];

The ffmpeg process on such a command takes up 100% of one of my cores and I would like to lower that.  I see that the video codec output is set to libx264.  My input stream is already h264.  Am I correct in assuming that this command is converting h264 into h264?  In my case I am wondering if that is necessary.
When I comment out '-c:v',  'libx264', and uncomment '-c:v',  'copy', the ffmpeg CPU usage drops to 1% but the canvas player is blank.
The canvas is also blank if I keep '-c:v',  'libx264', but comment out '-vprofile', 'baseline',
I know that broadway.js expects the h264 profile to be baseline.  My guess is that '-vprofile', 'baseline', converts the output to the baseline profile.  Is it possible for me to have the input be baseline and just use the copy codec?

I have a camera (SONY RTSP Server) for which it happens to work this:
var args = [
"-rtsp_transport", "tcp",
"-i", "rtsp://<IP_ADDRESS>/media/video1" ,
"-an",
'-pix_fmt', 'yuv420p',
'-c:v', 'copy',
'-f' ,'rawvideo',
'-'
];


WTForms support

I find that bottle 0.10dev don't support wtforms, but 0.9 version has been support, can you fix it?

What is the error message? Where is the problem?

I saw the source code of wtforms, that is:
if formdata is not None and not hasattr(formdata, 'getlist'):
if hasattr(formdata, 'getall'):
formdata = WebobInputWrapper(formdata)
else:
raise TypeError("formdata should be a multidict-type wrapper that supports the 'getlist' method")
but because the new FormsDict's getattr, hasattr(formdata, 'getlist') will be true, so it will not into the if branch.

it's ok to use like this:
form = RegForm(obj=request.forms)
but it's fail to use like this:
form = RegForm(request.forms)
but when in 0.9 version,it's ok to use in the second way..

Thanks, I'll fix that today.

thanks, btw, now i prefer to use "form = RegForm(obj=request.forms)", because the data will be unicode default.
but it will be good if "form = RegForm(request.forms)" can be supported~ :)


cigien: Watch drwazobiatemple

cigien requests the watch of the watch_keyword drwazobiatemple. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

drwazobiatemple has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Bug with count method and block

array.count(&:blank?)

it is producing 'Use size instead of count error'.
array.count { |i| i.blank? }

producing 'Pass &:blank? as an argument to count instead of block'

I think this is being taken care of by #1936 (issue #1935).

Sure enough, no warning is produced on v0.34.2. This can be closed.


SSL peer certificate or SSH remote key was not OK [PuppyError]

it works for site like https://google.com, not work for my site, however the cert valid in browsers.
after searching on internet, I still can't figure it out.
os: Crunchbangplusplus 12

I have to "get extract the CA cert for a particular server" according to https://curl.se/docs/sslcerts.html
openssl s_client -CApath /etc/ssl/certs/ -connect mysite.com:443
and modify puppy/platforms/linux/platform.nim
discard curl.easy_setopt(OPT_CAINFO, "cacert.pem".cstring)

sovled by Ras's helps.

the server is not presenting the full chain (your cert + GoDaddy Secure G2 (intermediate) + GoDaddy Root G2), only your certificate. For browsers, this is not a problem, because browsers are smart enough to resolve the full chain via the Issuer field even if it is not present. However, OpenSSL (and curl) require that the full chain be provided in the certificate. Since the issuer is Secure G2 and not Root C2, and the system CA store only includes the Root C2 and not the Secure G2, OpenSSL does not know how to resolve this chain and fails with the error you see. The correct solution is for the server to provide a certificate chain where both the your domain certificate and the Go Daddy Secure Certificate Authority - G2 certificates are provided.


run the prod grunt task when no env specific task & the NODE_ENV is production

Sails version:latest
Node version:v8.9.4
NPM version:v5.6.0
DB adapter name: N/A
DB adapter version: N/A
Operating system:not related

like when in staging environment I'd like to run the prod grunt task, I ran the app as NODE_ENV=production && node app.js --environment=staging
in the sails-hooks-grunt there's this code:
var pathForEnvSpecificTaskList = path.resolve( sails.config.appPath, path.join('tasks/register/',sails.config.environment + '.js') );
  if ( fs.existsSync(pathForEnvSpecificTaskList) ) {
    gruntTaskListName = sails.config.environment;
  }
  // If the environment is "production", use the "prod" tasklist (unless a "production" tasklist exists)
  else if (sails.config.environment === 'production') {
    gruntTaskListName = 'prod';
  }
  else {
    gruntTaskListName = 'default';
  }

in the config/env/staging.js I can't rewrite environment, therefor not able to run the prod grunt task, so if I want to use the prod grunt task, I'd have to copy it and rename to staging.
so here's what I think, maybe if there's no environment specific grunt task and the NODE_ENV is production we use the prod grunt task like below:
else if (sails.config.environment === 'production' || process.env['NODE_ENV'] === 'production')
or provide a way the rewrite the sails.config.environment even when the cli parameter has set it to some env.
@mikermcneil

@danywheeler yeah you're right, I think.  The "if there is no env-specific task" is the key bit

@danywheeler, @mikermcneil talked this over for a bit and came up with the following:

We'd rather leave the system as-is since the intent is for the sails.config.environment setting to determine which task runs.  If production, the task is prod.js for legacy reasons, otherwise it's <env name>.js.
To run the prod task when Sails is lifted with sails.config.environment set to staging, you can copy tasks/register/prod.js to tasks/register/staging.js.
If you want to link the prod and staging tasks together (so that changes in prod.js will be reflected when the environment is staging), in tasks/register/staging.js do: module.exports = require('./prod.js');.
If you just want to run your app locally but with the assets compiled and processed like they would be in production, run:grunt prod && sails_hooks__grunt=false sails lift

or, if you need NODE_ENV=prod, but don't want to deal with actually running the production config locally (setting up websockets and db configs, etc.), you can add a config/env/staging.js file and do:grunt prod && sails_hooks__grunt=false NODE_ENV=production sails lift --staging

I think that about covers it -- ping us if you have any questions!

@sgress454 the methods you listed do work, but it's not convenient and I like to say I hate to have   file with the same function just a different name, and the reset options are just to verbose. as you stated the sails.config.environment setting to determine which task runs, I'm with you and like I said before when there is no such env task, and the NODE_ENV is production It's unlikely that someone would want to run other tasks or default but prod task.  and by the way we have lot of projects and the OPS use the npm start to unify different project that start, so It's unlikely that we add the
grunt prod && sails_hooks__grunt=false && node app.js --environment=${env}

to the npm start script. because sometimes we'd like npm start to just run dev so the npm script it's gonna be
node app.js --environment=${env}

so none of the methods you provide perfectly solves the problems I have.

@danywheeler Ah, I see now, I think like @mikermcneil I initially misunderstood the "if there is no env-specific task".  So you mean, if NODE_ENV=production and sails.config.environment=staging and there is no tasks/register/staging.js, run the prod task instead of the default task.
I see where you're coming from, but personally from a framework perspective I'd still prefer that you put a tasks/register/staging.js file (with the require if you want it to do the same stuff as prod.js) rather than just defaulting to prod, for two reasons:

It reinforces the fact that the Sails environment determines which initial task to run
It's one less Sails default you have to remember -- or more likely, discover

Using staging.js in this way does perfectly solve the problem you have (unless I'm misunderstanding the problem); it's just not to your liking -- I totally get that.  And, I'm not that attached to it, so if there are more compelling arguments for either side (or just more people who care), I'm not that opposed to changing it.

@sgress454 I think you're tow reasons are flawed

the reason one you said it's true, but it's the case when there's no  tasks/register/xx.js task it's just change the default to prod when we're in production, that most cases are right ?
the NODE_ENV=production it's common sense means that we are going for production, it's not something that we have to remember, we just know in nodejs.

what do you think? I think to me it's compelling.


Line number mismatch after pop_source()

Hi Shevek,
In pop_source() you have:
return line_token(t.getLine() + 1, t.getName(), "2");
It seems like there should be no "+ 1" there since it creates
line number mismatch.
Thanks,
Igor

Needs proper test case.