Vdataframe remaining unit test

This PR covers

All old vDataframe UT

New vDataframe functions

Following tests/files are removed from old tests which are covered under new_tests

Removed /VerticaPy/verticapy/tests/vDataFrame/test_vDF_create.py file - All tests of this file are covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_miscellaneous.py
Removed /VerticaPy/verticapy/tests/vDataFrame/test_vDF_descriptive_statistics.py file - test_vDF_numh test is covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_plotting.py
Removed /VerticaPy/verticapy/tests/vDataFrame/test_vDF_feature_engineering.py file -

test_vDF_case_when test is covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_encoding.py
test_vDF_eval test is covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_eval.py
test_vDF_add_copy is covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_sys.py
test_vDF_copy is covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_io.py

Removed /VerticaPy/verticapy/tests/vDataFrame/test_vDF_plot.py file - test_vDF_animated, test_vDF_geo_plot, test_vDF_scatter_matrix tests are covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_plotting.py
Removed /VerticaPy/verticapy/tests/vDataFrame/test_vDF_preprocessing.py file -

test_vDF_get_dummies test is covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_encoding.py
test_vDF_lable_encode test is covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_encoding.py
test_vDF_astype test is covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_typing.py
test_vDF_rename test is covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_sys.py

Removed /VerticaPy/verticapy/tests/vDataFrame/test_vDF_utilities.py file -

test_vDF_repr, test_vDF_magic tests are covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_miscellaneous.py
test_vDF_to_csv, test_vDF_to_parquet, test_vDF_to_db, test_vDF_to_json, test_vDF_to_list, test_vDF_to_numpy, test_vDF_to_pandas, test_vDF_to_pickle, test_vDF_to_geopandas, test_vDF_to_shp, test_vDF_load, test_vDF_save tests are covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_io.py
test_vDF_del_catalog, test_vDF_current_relation, test_vDF_empty, test_vDF_expected_store_usage, test_vDF_explain, test_vDF_info, test_vDF_memory_usage, test_vDF_store_usage, test_vDF_swap tests are covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_sys.py
test_vDF_catcol, test_vDF_category, test_vDF_datecol, test_vDF_dtypes, test_vDF_dtype, test_vDF_numcol, test_vDF_isdate, test_vDF_isnum tests are covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_typing.py
test_vDF_sql test is covered under /VerticaPy/verticapy/tests_new/core/vdataframe/test_miscellaneous.py

skipped test_AutoML test as it failing

Todo:
Listing the missing files so that they are not left out.
aggregate corr eval fill filter join_union_sort machine_learning math pivot read rolling text base

these models are already covered in UT.

Thanks @mail4umar for feedback. I have resolved all review comments.


[Java] Added helpers for randomized unit tests with some tests

There will be more test Bond files added later.

@sigansky,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


ARTEMIS-4002 - respect existing env var ARTEMIS_LOGGING_CONF

I didnt notice you raised a PR for this when commenting on the JIRA.
I dont think we should expose the env variable with the current JBL config in use and then transition it to the Log4J 2 config later.
Per the JIRA the new-logging bits already removed this entirely, making the scripts (and service related files, which this change doesnt update to use the env variable similarly but may need to?) have no knowledge of the logging.

@gtully, there's conflicts on this now. Given that and @gemmellr's previous comment I think that this PR probably just needs to be closed.

+1, this should be closed...
@gtully  ?

we can close this. the problem still exists, how to easily override an value on the command line for the artemis java command wih an env var.  I noticed this one for logging and it fits the bill in that case. and was a quick win.
There is $DEBUG_ARGS but I think we may need JAVA_OPTS_APPEND, the $JDK_JAVA_ARGS does prepend so it cannot override.

It doesnt need to override in the logging case anymore, as the scripts dont do anything in that regard.


Migrating work from Xins branch into a more up to date branch.

Per discussion @to-whitney to work on additional test coverage.

I'm done with tests, coverage is at ~80% now and i think the tests cover most of the business logic so i think we are good. @WAftring


Revert "TEST: Create a GitHub Action to build wheels"

Reverts numba/numba-rvsdg#87

#87 had to be reverted as it had the wrong merge based and branch protection for main is active.


Add Istio installation and uninstallation test

Description
Changes proposed in this pull request:

Add Istio installation test
Add Istio uninstallation test

Related issue(s)

https://github.com/kyma-project/istio/issues/58

@barchw looks good, could also have one negative uninstall test? for when uninstallation will fail if customer Istio resource is found?

@barchw before merging this, could you include this test to be running on the PR, did you try to run this in test-infra with pjtester?

@barchw before merging this, could you include this test to be running on the PR, did you try to run this in test-infra with pjtester?

we agreed Kamil will integrate it in the new pipeline: https://github.com/kyma-project/test-infra/issues/7478

@barchw looks good, could also have one negative uninstall test? for when uninstallation will fail if customer Istio resource is found?

we agreed on having this extended test in a follow-up issue.


Add support for range events in the timeline chart

Signed-off-by: Ankush Tyagi<EMAIL_ADDRESS>

https://user-images.githubusercontent.com/419535/118017032-1bb56780-b324-11eb-86b6-145ebf3affb7.mp4
The markers fail at zooming. :(

I think the annotation is drawn several times... check out the opacity. Also, look at how the top and bottom half of the highlighted row are different.

Thank you for pointing this out. By adding lost event as a new layer to the timeline-chart, it does seem to fix all the issues.

https://user-images.githubusercontent.com/419535/118017032-1bb56780-b324-11eb-86b6-145ebf3affb7.mp4
The markers fail at zooming. :(

Double drawn when inited.

Double drawn when inited.

Ok, I see what's going on here. In the time-graph-layer class, the addChild method directly calls the "render" instead of calling the update function and hence the double draw. The update method first clears the display object and then renders it.


Any update to the latest sources planned?

The editor source in the vscode project is quite far ahead of the monaco-editor project. The last update was in October 2017. When is the next pull and update of monaco-editor planned?
Also, in case now update is planned. How can the community pull updates from vscode to update the monaco-editor project and build it?
Thanks!

Why is nobody responding to the question on update.  Fab editor but CodeMirror is updated religiously each month.  Zero response to this question does not instill confidence when considering serious commercial product implementation.

https://github.com/Microsoft/monaco-editor/issues/510#issuecomment-364520170

Update on next release?

Hi, we are working on it and it will be based on the stable February branch of vscode (stabilizing as we speak).

Thank you for your patience! :heart:
<EMAIL_ADDRESS>is out! See what's new in the changelog


[UNDERTOW-2532] Fix NPE when transmitting text or binary message to websocket session at the same time

Hello.
I modified it in consideration of the case where NPE can occur when sending text message to websocket session.
Please check the UNDERTOW-2532 jira ticket for more information.
Thanks.

@ropalka @baranowb
Hello,
Has there been any additional discussion on this?
I’d appreciate it if you could review it further. 😊


Avoid Docker Hub rate limiting when deploying CiviForm

When initially running bin/setup in the AWS deployment system, ECS initially pulls the server image and attempts to start containers from it before several key secrets are available causing the servers to crash loop. After doing this it prompts the user for the secrets, sets them, and then redeploys at which point the servers are expected to become healthy.
ECS pulls the image from the docker repository on each attempt to start the server, so if it takes too long to enter the secrets or some configuration error causes the servers to continue crash looping, eventually ECS hits Docker Hub rate limits for requesting the image, preventing image pulls and the service from becoming healthy.
Refactoring the deployment code to avoid this issue is at best difficult and time consuming, and at worst infeasible (requires more investigation).
More likely solutions are to either mirror CiviForm server images on ECR and configure ECR to allow unlimited pulls or increase the rate limit threshold in Docker Hub.
(8/1/2023) Let's take the ECR approach
Using ECR does the most to reduce the likelihood of this happening.
I believe the pieces are:

[ ] create a CiviForm ECR repo
[ ] get an AWS access token for pushing to that repo into our GH config
[ ] update bin/build-prod to push to both docker hub and ECR
[ ] update the AWS deploy system to pull from ECR

related (duplicate?) issue: https://github.com/civiform/civiform/issues/5300


[CCI][BUG] Test coverage statistics are not displayed correctly #328

Description
Fixed the pytest command and added additional actions to the ci workflow. Now codecov displays the correct data

Issues Resolved
#315
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Sorry for such a mess in the commits. Tried to fight with vscode and git at the same time


Feat/support scrolling results

After removing coverage from the configuration, tests now run correctly. Nevertheless there are three failing tests, which we have to fix:
AnObsoleteALGTestUI
 ✗ #testMouseItemSelection (64ms)
 ✗ #testResultListDynamicallyChangesHeight (221ms)
 ✗ #testResultListHasNoScrollbar (76ms)

  Executed 241 Tests with 3 Failures and 0 Errors in 93.81s.


Update element masses

The previous masses came from gmso, and before that unknown. The new masses come from Pure Appl. Chem. 2016; 88(3): 265-291, doi: 10.1515/pac-2015-0305, and all the details are provided in lib/README.md.

Codecov Report

Merging #13 into master will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master       #13   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines           70        72    +2
=========================================
+ Hits            70        72    +2


Scoreboard

Maybe we should sort students according to their current balance in the monitor view to make it more like a "Scoreboard"?

I guess a usecase is for teachers to screenshare the monitor on a projector, and in that case perhaps only the scoreboard should be visible, but market parameters shouldn't. I guess we should have a chat about the design of the monitor page

It sound like a good idea to sort by balance - it will no doubt make the experience more engaging. So far, I've basically just made all data visible on the monitor view  - in part because it's nice during development, when doing manual debugging. Hiding stuff later is easy.
We should also discuss how to show show balance in the table for players who have joined the market late or missed a round. I have some suggestions for this...


Non-Markov behavior in pushing environment

In the SawyerReachPushPickPlaceEnv, it seems like the 3D rotation of the puck is not being reset at the start of each episode (the XYZ position is being correctly). This means that if the puck ends up on its edge, it'll start the next episode on its edge.
If this is not the intended behavior, one easy fix is to define an UP quaternion and set qpos[12:16] = UP.copy().

thanks for pointing this out @ben-eysenbach!
We've actually addressed this in our set of V2 environments, which should be ready for full usage in mid-november :) . Stay on the lookout by join our slack community and/or join our mailing list if you haven't already, that way you can be notified when those are ready.
Best,
@avnishn


[feature] support for BRAT plugin

It would be nice if we could use BRAT to install and/or update this plugin, instead of doing it manually.
For now, this is what I get when I try installing with BRAT :

It works on my machine, I think you need to provide URL to a repository, not to issues page, in my case:
https://github.com/tomaszkiewicz/obsidian-database-plugin

Ah sorry, my mistake.


Unable to upload NDK symbol files without an externalNativeBuild

The Issue
My team does not use the standard Gradle NDK tooling, and thus this plugin is not generating the uploadNdkSymbolFilesRelease task.
I see [INFO] [DdAndroidGradlePlugin] No native build tasks found for variant x, no NDK symbol file upload task created. when running ./gradlew tasks. I took a look through this repo, and it seems like this task is only generated when  variant.externalNativeBuild != null.
We don't use Gradle to build our native code, so we have no need to have a externalNativeBuild{} in our Gradle files, and yet we do have native code that we'd like symbolicated for native crash reports.
Potential Solution
Maybe there is an existing way around this, and I'd be happy to hear it. But, if there isn't I think the following could work.
Allowing a configuration block where we could explicitly enable the NDK feature for Datadog would be great.
Maybe something like:
datadog {
  ndkSymbolFileUploadEnabled = true
  ndkSymbolFileDirs = [...]
}

Alternatives I've Tried
I tried adding a dummy externalNativeBuild{} block, but to no avail. The task is still not generated, and even if it was, I doubt the current implementation would be able to find the .so files our build system generates which is why an option to specify that directory would be nice.

Hello @troy-skydio!
Can you please give more details about your setup? Like the following:

Are these symbol files unique per build variant or they are the same for any variant?
Are you still using AGP for compiling Java/Kotlin code?
What triggers compilation of native symbol files: is it a Gradle task or something else?

Ideally we would appreciate if you can attach simple project illustrating your setup.

@0xnm I appreciate the quick response!

Are these symbol files unique per build variant or they are the same for any variant?

They are the same for all variants.

Are you still using AGP for compiling Java/Kotlin code?

As of right now, yes. We use bazel elsewhere and want to move to that, but for this discussion we can ignore that and just assume AGP for the Java and Kotlin code.

What triggers compilation of native symbol files: is it a Gradle task or something else?

It is not Gradle. Essentially, the build system used for other parts of our ecosystem (bazel) is used to build the native code, then after that the Gradle build starts and it pointed to the output directory of the native build. This is done via a build script that builds the native code first, before calling into Gradle.

As for a simple project illustrating this, I'm not really sure how doable that is. I'd have to either share our real code (which I cannot do) or copy parts of our system to a new project and put it all together (which I don't have time to do). I'm hoping just knowing that the native build process is totally separate from Gradle is enough to move forward with ideas.

FWIW, this is how we tell Firebase (which we want to replace with Datadog) where the native symbols are:
firebaseCrashlytics {
  unstrippedNativeLibsDir "../common/jniDebugLibs/local"
  strippedNativeLibsDir "build/intermediates/stripped_native_libs/" + flavor + buildType + "/out/lib"
  nativeSymbolUploadEnabled true
}

Hi @troy-skydio ,
thanks for those precisions, for now our gradle plugin is expecting standard project set up. We're adding a task in our backlog to add an option to allow non standard native builds, quite similar to what we did in #199.

@xgouchet great thank you!
Do you have any suggestions for us to do in the meantime? Maybe a cli..?
Also, is it expected that native crashes won't show up in datadog if the symbols are not uploaded? I've triggered test crashes in our app's C++ and they do not show up in the dashboard.

For native crashes to appear in your dashboard, you need to include Datadog's NDK specific library :
In your build.gradle[.kts] file, add the following dependency :
dependencies {
    // …
    implementation ("com.datadoghq:dd-sdk-android-ndk:x.x.x")
}

Then in your Android Application class, after the Datadog SDK has been initialized, you need to call the following line (usually in the onCreate):
class SampleApplication : Application() {
    override fun onCreate() {
        super.onCreate()

        // RUM and/or Logs were initialized before
        NdkCrashReports.enable()
    }
}

Do you have any suggestions for us to do in the meantime? Maybe a cli..?

For now we don't have a cli tool that can upload the NDK symbols. One thing you can do is create a fork of our plugin and override this check by forcing the value to true, that way you'll be able to upload your NDK symbols.

@xgouchet , we were able to publish a plugin internally to our nexus repository.  There is no failure when we run the ndk task, but also i don't see it here, https://app.datadoghq.com/source-code/setup/rum?search=&_gl=1*1tir320*_gcl_aw*R0NMLjE3MzMzNjE4NjQuQ2p3S0NBaUFtTUM2QmhBNkVpd0FkTjVpTFRNOEx4dVJrZW14QzREd05BUjZWcTBCMGdUVlV3ZU8wVXBBWUM4QXJhY0RDdWFWUTJzaF9Sb0NFcDhRQXZEX0J3RQ..*_gcl_au*MzE4Njk2NzIwLjE3MzE5NTMzNzM.*_ga*MTM5NzgwOTEyMS4xNzMyMTI0MjM5*_ga_KN80RDFSQK*MTczMzQyMzkzMi4xMC4xLjE3MzM0MjM5OTEuMC4wLjQyOTQxMzcxMw..*_fplc*QkkyS0ppcE44cW10U3hzcmlpWmhxa0FZVVllVE1ybUVaQTVkZFFaMTBOd3pXNFdaTnhmQW9icHc0ZVFzZU9hSTNvZ1NYYXFwSkd0TnZLS1FaQjNIVGR2cndUaDRRZjNuN3puSkg3QjEzNjVaRVdjWWhZOGVNJTJCT3VWbjVIN2clM0QlM0Q.&mapkind=jvm&page=1

@armando-skydio Can you please confirm that if you are running ./gradlew uploadNdkSymbolFiles${your_variant} task you see upload logs from the plugin?
If no, you can put a breakpoint here and check what is the list of the files found.


Added Njsscan check

I created a check for execute Njsscan Check

njsscan is based on semgrep rules p/nodejsscan.
After your last contribution to the semgrep check we can get the same results with semgrep.
vulcan-local -t . -i semgrep \
  -o '{"ruleset":["r/typescript","r/javascript","r/nodejsscan","r/r2c-security-audit","p/nodejsscan"]}'

So I think there is no reason to create a specific check for that purpose.

For the reasons that mention jesusfcr, I close the PR


Implement the IAB CCPA Compliance Framework

Depending a bit on how things are developing on the policy end (i.e., whether we find some support for our signal, ideally in terms of standardization), we should consider also implementing the IAB CCPA Compliance Framework (should it turn out that there is not a whole lot of support for our signal). Their US Privacy String follows a similar idea as our signal, is technology-agnostic, and can be sent via a browser extension. It would be binding for companies participating in the IAB.
Here are some further references:

IAB Tech Lab U.S. Privacy User Signal API: Specifies a lightweight API that may be implemented by digital properties for web and mobile in-app to represent U.S. privacy signals.
IAB Tech Lab U.S. Privacy OpenRTB Extension: Outlines a mechanism to support communication of U.S. privacy signals within the scope of CCPA compliance.
CCPA reference implementation
overview page

I started working on implementing the IAB CCPA guidelines for opting-out in our extension and managed to get a rudimentary cookie-modifier functioning. I haven't uploaded the code yet just because it is heavily based on how AccuWeather has implemented the framework (they have an 'opt-out' link in the site footer that links to a us_privacy cookie for site visitors to use), in order to rule out as many variables in the implementation process as possible. The rough JS is pasted below. I originally had this function run every time after our original extension modified a given site's request headers, so this function definitely runs too many times for its intended purpose in my current implementation.
chrome.cookies.get({
      "name": 'us_privacy', // Make this not case-sensitive
      "url": 'https://www.accuweather.com/'
    },
    function (cookie) {
      if (cookie !== null) {
        let new_cookie = cookie
        new_cookie.value = '1YYN'
        new_cookie.url = 'https://www.accuweather.com/'
        new_cookie.domain = null;
        if (new_cookie.hostOnly !== null) {
          delete new_cookie.hostOnly
        }
        if (new_cookie.session !== null) {
          delete new_cookie.session
        }
        chrome.cookies.set(new_cookie, function (details) {
            console.log("Found and updated cookie value.")
          })
      } else {
        console.log("COOKIE NULL")
      }
})

A few notes

For now, I ignored the cookie storeId parameter, but in the future this will be important to record and maintain because I believe it is more important once you have multiple Chrome windows open.
It is important to note that retrieved cookies never have a url parameter set, so they always need to be set before adding new cookies via chrome.cookies.set().
Cookies are always retrieved with hostOnly and session parameters that cannot be present in a cookie that you would want to set, so I have them removed in the code above.
Finally, the point that took me the longest to get down was the issue of setting the domain for a cookie. At first, when I tried to set a cookie by setting the url parameter to the current site url, while preserving the domain parameter the retrieved cookie had, I would find a second cookie created with the domain set to .www.accuweather.com instead of replacing the original one with a domain of www.accuweather.com after the function ran. I found this StackExchange post that referenced this point and explained how subdomains are handled in cookies.

So the leading dot in chrome don't reflect whether or not a leading dot was used from the server, but whether or not that cookie had a "Domain=something" in its definition from the server. (And if it had, the cookie will also be sent to sub-domains).

Basically, it says a domain value of null would set the cookie's hostOnly value to true by the browser. According to the Chrome API documentation, this means that hostOnly is

True if the cookie is a host-only cookie (i.e. a request's host must exactly match the domain of the cookie).

To me it looks like this is an arbitrary choice on AccuWeather's part, though there could be some other reasons they set the domain this way that we don't know about. When I implement this I can just make sure to make a note of how a given site handles its cookie domain somewhere so that we only ever have one copy of the us_privacy cookie. However, this could get confusing if we are the ones setting a cookie and not reading one already added to the site's storage, so I think we will have to add a function that checks for multiple signals and handles them somehow.
Overall
In general, the notes above are for future reference so my thought process on how to implement the IAB proposal is documented somewhere.
@SebastianZimmeck, I will start to generalize this implementation and break it up into more fleshed out and manageable chunks over the next few days. Let me know what you think about what I have found.

heavily based on how AccuWeather has implemented the framework

If it is not straight copied, it is OK in terms for copyright. You can certainly use the same APIs and the code can look similar.

I originally had this function run every time after our original extension modified a given site's request headers, so this function definitely runs too many times for its intended purpose in my current implementation.

If it is not a drag on performance, that would be OK. Maybe, it is possible to identify request with a cookie. The function would only need to be run for that.
The points you describe with the hostOnly and other settings seem tricky. Perhaps, we can discuss this more tomorrow.

I will start to generalize this implementation and break it up into more fleshed out and manageable chunks over the next few days. Let me know what you think about what I have found.

Sounds good. Generally, this looks promising to me.

heavily based on how AccuWeather has implemented the framework

Maybe I misspoke when I said this. What I meant is that since AccuWeather does set and use the us_privacy first-party cookie, I tested out my code on the site to see if I could set up some sort of "communication," even if they didn't respond. In other words, could I see that they created a cookie on my browser and then could I modify that specific cookie.
The rest does look promising, hopefully this is the right way forward!

A few more sites that can be used for testing as they are using the IAB CCPA Compliance Framework.

https://system.jobboard.io/ccpa-opt-out
https://www.top5.com/
https://zentoso.com/
https://www.living101.com/

Here is a site that lists various other domains having the usprivacy cookie. It does not seem to be always correct, though.

The recent commit I pushed has functionality for sending a chosen cookie to every single site visited by a user. So far, there is no implemented functionality to check if a cookie is already on the site, and if there was one, for it to be parsed and responded to accordingly.
@SebastianZimmeck, after reading your updates to issue #42, I was thinking that we could use the idea of storing known ad networks' cookie profiles to a JSON and extend it slightly to allow us to store known variations of the us_privacy signal, such as us_privacy, usprivacy, etc. This way, when we check if a site follows the IAB protocol, we can respond to the variation of the cookie the site has already implemented. I am mentioning this because the sites you listed above seem to be setting their own usprivacy cookie, while I have been developing according to Accuweather's preference for us_privacy.

we could use the idea of storing known ad networks' cookie profiles to a JSON and extend it slightly to allow us to store known variations of the us_privacy signal, such as us_privacy, usprivacy, etc.

Good idea. Per the IAB specification, it should be us-privacy (bottom of the page). However, it certainly may be the case that some implementers use a slightly different format.
At the moment, I am thinking that it may be the best if you are creating two different JSON specs; one with the variations of the us-privacy string and one for the concrete ad network server URLs to visit (per issue #42). These are slightly different things (though, both could use the JSON spec idea, indeed).

In the newest code update, I added:

Local variables to store the extension's default IAB name and value, as well the discussed us_privacy name variations. I began to work on adding JSON functionality as discussed above, though decided to put it off until I work on issue #42 just because that can almost be its own issue. Local variables serve their purpose well for now, and some partially implemented code pertaining the JSON issue exists and is commented out at the bottom of the JS file.
Handles the case when a cookie exists and needs to be updated, as well as the case when a cookie does not yet exist, and needs to be created. When a new cookie needs to be created, the default preferences are to set the name to us_privacy, the default signal to 1NYN, and to not set a specific domain.
Correct parsing of existing cookies. This allows the extension to correctly update an IAB cookie if it exists without creating multiples. Again, this issue in part relates back to our discussion on how a site sets the domain for its own IAB cookie (is it for the host domain or all of its subdomains, as in the case where . is in front of the domain). I added a check for this in the new update the resolves this issue for now.

What we need to work on next is handling the case where multiple cookies exist in the browser for some reason. Our extension avoids creating new cookies on AccuWeather, however this is not true for system.jobboard.io. When there is no cookie set and the page is loaded, the extension seems to get the opportunity to set its own before the site does, and the site apparently does not recognize the one we set by then. This can be seen here:

In this case, two different IAB cookies are set, one by us and one by system.jobboard.io. Since our cookie update process runs multiple times per site load as of right now (it runs every time a header is modified), we can resolve this with a check for multiple cookies and then delete the one containing our default settings in a subsequent script call. I feel that this kind of a check for multiple cookies can get quite complex however. Maybe we can find a way to avoid this in the first place altogether.
Despite this needed fix, it seems like the core functionality is in place! I will continue to test this while I work on other parts of the extension, since it seems there will be a few minor bugs that will need to get worked out.

In this case, two different IAB cookies are set, one by us and one by system.jobboard.io.

So, our cookie is set on the domain, jobboard.io, and the site sets the cookie on the subdomain, sytem.jobboard.io? Are the two different domains the problem? In other words, would there be only one cookie written if we would also write the cookie to the subdomain?

Since our cookie update process runs multiple times per site load as of right now (it runs every time a header is modified), we can resolve this with a check for multiple cookies and then delete the one containing our default settings in a subsequent script call. I feel that this kind of a check for multiple cookies can get quite complex however. Maybe we can find a way to avoid this in the first place altogether.

As I see it at the moment, I do not think that it is a big problem that there are cookies in the domain and subdomain(s). Especially, if the site relies on setting and reading the cookie from multiple (sub)domains (not sure, is that the case?), it may be even necessary to have multiple cookies. If we can figure out exactly where the cookies are set and read, we can delete it. If we are not quite sure, I think it is OK to have multiple cookies. What would be important, though, is to have consistent values for these cookies.

So, our cookie is set on the domain, jobboard.io, and the site sets the cookie on the subdomain, sytem.jobboard.io?

No, our cookie is the one set to the subdomain system.jobboard.io. When a new cookie needs to be made from scratch, our extension abstains from setting a specific domain. Chrome fills out this information itself based on the current URL, which gives us system.jobboard.io, in this case a specific subdomain. However, it looks like the site sets its own IAB cookie to the domain .jobboard.io and not the subdomain Chrome assigned our cookie.
Fundamentally, it looks like this is the problem yes. You need to keep the name and the domain the same to overwrite a cookie. This is how our extension overwrites the cookie if jobboard.io places its own cookie first, something we do not have an issue with at the moment. The extension recognizes the cookie is there and then saves the site-assigned domain from that cookie at this point in the code.

Especially, if the site relies on setting and reading the cookie from multiple (sub)domains (not sure, is that the case?)

This doesn't seem to be the case. Multiple cookies are set because whoever runs the given website doesn't check to see if another variation of the cookie exists (ours if we set our cookie first), albeit with slightly different parameters than the ones they chose to give it. Since the site won't handle it, our extension needs to be vigilant in such cases and make sure to use the same settings of the site-assigned cookie. This is at least my thinking at the moment.

it may be even necessary to have multiple cookies

My only concern with this is that I believe the IAB protocol mentions only one cookie should be used by a site and a user to mutually exchange the opt-out information. This leads me to think if a user doesn't modify a site-provided IAB cookie, most site owners will not check for other variations of the cookie in the same way we do. Though this could be open to interpretation, I think I would prefer to keep only one IAB cookie per site for this reason.

Here are some thoughts I have on a few rough ideas we could implement.
Making a function to 'guess' what domain to use
If it comes down to it, we could also create some sort of function to 'guess' the best domain to use when setting a us_privacy cookie if ones does not exist. We could collect information on all the other cookies set by a site, average the number of times a particular domain shows up, and select the most often occurring one to set as our given us_privacy domain. This could possibly increase the chances a site will recognize our cookie, though we have now way of knowing for sure.
Creating cookies for each version of the us_privacy signal
Though I would really prefer to not do this, I think we do have the option to set a cookie for each variation of the IAB signal that exist (us_privacy, us-privacy,  usprivacy). This way, we have three identical copies of the signal, each with a different name, in case a given site only checks for one. Until the IAB spec is clarified or many sites clearly adopt one or another, we will not know which default name to use.

Recent commit regarding multiple IAB cookies
The recent commit here removes the default cookie placed by the extension if, when the extension is called again, it recognizes multiple IAB cookies on a given URL. It does not guarantee that there will not be multiple cookies at all, but does solve the specific issue with loading our own cookie before a site gets to load their own as discussed above with jobboard.io. Since this solution only deletes one cookie, if there are three or more IAB cookies for some reason, the current URL will still have more than one cookie after this patch runs.
The big picture is that, if no cookie exists, we will place one. In the case of jobboard.io, they always end up placing their own cookie immediately after we place ours, though with different enough settings that it doesn't override the one we placed. Hence we end up with multiple cookies. This patch doesn't prevent this from occurring in the first place, but rather resolves it in a subsequent pass of the extension.

As discussed, @kalicki1 will continue with his testing (and possibly open new issues and close this one as the concrete work becomes more clear). In principle, there are two approaches:

Write cookies for different domains and with different names; one of them will be correct
Identify which domain and name is the correct one

Since I want to move development along in other areas of the extension and not spend too much time focused only on this issue, I will open a pull request to bring the changes made so far on this IAB CCPA implementation into the master branch. I will do the same with issue #42 to test the cookie code side by side and ways to simplify the code base if possible.
If major issues surface or revisions need to take place regarding this IAB spec implementation, I will open new, focused issues that address them specifically. Seeing as the major goal of this issue is now complete, we can close this issue as well. We can continue to use this issue as a reference to issues we resolved in the past if new issues in the IAB framework come up.


fix: use s1n7ax/nvim-window-picker to provide picker for nvim-tree

reference: https://github.com/nvim-tree/nvim-tree.lua/blob/9e4c39572f631bb60ee15cb9d46e1daa9927a45e/doc/nvim-tree-lua.txt#L1009

Add a new plugin can solve #391, but I don't know whether there is a better solution.

I can't seem to reproduce #391, even after update all plugins and nvim itself(0.9.0 nightly).

I can only confirmed that after using this patch, nvim-tree still works as expected as usual.

A reliable reproduction steps of the problem is here: https://github.com/ayamir/nvimdots/issues/391#issuecomment-1367827005. Guess this is an upstream issue.

nvim-tree has introduce a new event call TreeAttachedPost, maybe we can make use of it.


Major issue with home kit server(s) not starting in 0.20.0

Not sure if this is an issue or a bug yet, because I don't see any one else having this problem? My HomeKit beta testing so far has gone fairly smooth, most issue I encountered I was able to solve following the beta discussion and the Wiki. I update to new releases fairly fast and had occasional issues with the server not starting, but since v 0.20.0 I have had major issues with the server(s) failing to start. I have rebuilt the folder, reloaded the plug-in, stopped and started the Indigo server and even removed and replaced the plug-in with a new download of the same version. I did make a huge mistake, by going back to the exclude devices and I removed devices I had already included in HomeKit, I should have deleted them from HomeKit first, but I guess my brain wasn't working at that moment. I ended up removing and deleted every home kit file and folder and the plug-in and starting fresh. On the first server startup it failed to start with the same error, after many folder rebuilds, plug-in reloads and many other troubleshooting steps the server would start eventually, but after I add more device, it fails to start again. I just created a second server for my two SecuritySpay cameras (they did work perfectly before) and it failed to start too. I already ran a file system check on my disk and I don't see any problems there.
Here is my Indigo log, the server log is now empty after all those folder rebuilds, sorry.
Mar 22, 2018, 7:41:06 PM
Reloading plugin "HomeKit Bridge 0.20.0"
Stopping plugin "HomeKit Bridge 0.20.0" (pid 78440)
HomeKit Bridge Warning
#####################################################################
HOMEKIT BRIDGE RUNNING SERVER SHUTDOWN
#####################################################################
Now blind stopping all running servers, due to Indigo timeout
limits the plugin cannot wait for them to stop but will instead
shut them down blindly and let them refresh when the plugin
restarts
#####################################################################
HomeKit Bridge                  Blind stopping 'Indigo Homekit'
Stopped plugin "HomeKit Bridge 0.20.0"
Starting plugin "HomeKit Bridge 0.20.0" (pid 62508)
Trigger                         Update server memory variable
Started plugin "HomeKit Bridge 0.20.0"
HomeKit Bridge                  Attempting to start 'Indigo Homekit'
HomeKit Bridge Warning
#####################################################################
HOMEKIT BRIDGE HIDDEN ITEMS WARNING
#####################################################################
You have 404 Indigo items being hidden, you can manage these
from the plugin menu.
#####################################################################
HomeKit Bridge                  Attempting to start 'Indigo Homekit Cameras'
HomeKit Bridge                  HomeKit Bridge is loaded and ready to use
Mar 22, 2018, 7:41:49 PM
HomeKit Bridge Error            HomeKit server 'Indigo Homekit' could not be started, please check the service logs for more information,
now issuing a forced shutdown of the service to be safe.
If you continue to have problems starting this server use the Advanced Plugin Actions menu option to rebuild the Homebridge folder.
Instructions at https://github.com/Colorado4Wheeler/HomeKit-Bridge/wiki/Plugin-Menu-Utilities#rebuild-homebridge-folder
HomeKit Bridge Error            HomeKit server 'Indigo Homekit Cameras' could not be started, please check the service logs for more information,
now issuing a forced shutdown of the service to be safe.
If you continue to have problems starting this server use the Advanced Plugin Actions menu option to rebuild the Homebridge folder.
Instructions at https://github.com/Colorado4Wheeler/HomeKit-Bridge/wiki/Plugin-Menu-Utilities#rebuild-homebridge-folder
HomeKit Bridge                  Attempting to stop 'Indigo Homekit'
HomeKit Bridge                  Attempting to stop 'Indigo Homekit Cameras'
HomeKit Bridge                  HomeKit server 'Indigo Homekit' has been stopped
HomeKit Bridge                  HomeKit server 'Indigo Homekit Cameras' has been stopped
Mar 22, 2018, 7:43:44 PM
Reloading plugin "Cynical SecuritySpy 2.3.0"
Stopping plugin "Cynical SecuritySpy 2.3.0" (pid 90856)
Trigger                         MOLE Camera unavailable - Push Notification
Pushover Debug                  Camera went offline
Pushover Debug                  Kitchen and Living Room Camera
Pushover Debug                  Result: {"status":1,"request":"0cef3d1d-fd8a-4d9d-b92d-0b64285ac3fc"}
Stopped plugin "Cynical SecuritySpy 2.3.0"
Starting plugin "Cynical SecuritySpy 2.3.0" (pid 72431)
Mar 22, 2018, 7:44:32 PM
Cynical SecuritySpy             API version 2.0
Cynical SecuritySpy             Python version 2.7.10.final.0
Started plugin "Cynical SecuritySpy 2.3.0"
HomeKit Bridge                  Removing /Library/Application Support/Perceptive Automation/Indigo 7/Preferences/Plugins/com.eps.indigoplugin.homekit-bridge/1675263299 so it can be regenerated.
HomeKit Bridge                  Recreated the configuration folder at /Library/Application Support/Perceptive Automation/Indigo 7/Preferences/Plugins/com.eps.indigoplugin.homekit-bridge/1675263299.
HomeKit Bridge Warning          Homebridge folder for Indigo Homekit at /Library/Application Support/Perceptive Automation/Indigo 7/Preferences/Plugins/com.eps.indigoplugin.homekit-bridge/1675263299 has been rebuilt
Reloading plugin "HomeKit Bridge 0.20.0"
Stopping plugin "HomeKit Bridge 0.20.0" (pid 62508)
Stopped plugin "HomeKit Bridge 0.20.0"
Starting plugin "HomeKit Bridge 0.20.0" (pid 75509)
Schedule                        August Lock - update unlock status variable
Started plugin "HomeKit Bridge 0.20.0"
HomeKit Bridge Warning
#####################################################################
HOMEKIT BRIDGE HIDDEN ITEMS WARNING
#####################################################################
You have 404 Indigo items being hidden, you can manage these
from the plugin menu.
#####################################################################
HomeKit Bridge                  Attempting to start 'Indigo Homekit'
HomeKit Bridge                  Attempting to start 'Indigo Homekit Cameras'
HomeKit Bridge                  HomeKit Bridge is loaded and ready to use
Trigger                         Update server memory variable
Mar 22, 2018, 7:46:12 PM
HomeKit Bridge Error            HomeKit server 'Indigo Homekit' could not be started, please check the service logs for more information,
now issuing a forced shutdown of the service to be safe.
If you continue to have problems starting this server use the Advanced Plugin Actions menu option to rebuild the Homebridge folder.
Instructions at https://github.com/Colorado4Wheeler/HomeKit-Bridge/wiki/Plugin-Menu-Utilities#rebuild-homebridge-folder
HomeKit Bridge Error            HomeKit server 'Indigo Homekit Cameras' could not be started, please check the service logs for more information,
now issuing a forced shutdown of the service to be safe.
If you continue to have problems starting this server use the Advanced Plugin Actions menu option to rebuild the Homebridge folder.
Instructions at https://github.com/Colorado4Wheeler/HomeKit-Bridge/wiki/Plugin-Menu-Utilities#rebuild-homebridge-folder
HomeKit Bridge                  Attempting to stop 'Indigo Homekit'
HomeKit Bridge                  Attempting to stop 'Indigo Homekit Cameras'
HomeKit Bridge                  HomeKit server 'Indigo Homekit' has been stopped
HomeKit Bridge                  HomeKit server 'Indigo Homekit Cameras' has been stopped
Mar 22, 2018, 7:48:15 PM
HomeKit Bridge Error            HomeKit server 'Indigo Homekit Cameras' could not be started, please check the service logs for more information,
now issuing a forced shutdown of the service to be safe.
If you continue to have problems starting this server use the Advanced Plugin Actions menu option to rebuild the Homebridge folder.
Instructions at https://github.com/Colorado4Wheeler/HomeKit-Bridge/wiki/Plugin-Menu-Utilities#rebuild-homebridge-folder
HomeKit Bridge                  Attempting to stop 'Indigo Homekit Cameras'
HomeKit Bridge                  HomeKit server 'Indigo Homekit Cameras' has been stopped
HomeKit Bridge Error            send "Indigo Homekit Cameras" on failed

I kind of figured it is something on my end, but I spent the last couple of days troubleshooting and didn't won't to add more to your plate.  The camera integration blew me away, it worked from the start and got better with each new release until v0.20.
Yes, I did delete this pref file and everything else related to it. When the Homekit Bridge started there were no items excluded, I went ahead and excluded them all. Yes, 400 plus, I got fingscan running and it adds new network device to Indigo which makes up the bulk of those hidden devices,  it got out of control now and I should do some house cleaning.
I have not yet rebooted my server again, except when I ran the file system check recently while troubleshooting this continued issue, which makes me believe this may not solve my problem.
It is weird, I started out with a fresh install of your plug-in and had this problem immediately?

  Although the time I've devoted to this project over the past, what, 7 or 8 weeks now is starting to take a toll on other things.
How many HKB servers are you running?  I'm going to try to whip up  quick script for you to run to see if we can get to the bottom of this.

Yes, you should take some time off and clear your head, I see all these request coming in and like you already stated many times, you don't want to go down every rabbit hole.
I never expected to have camera support so quickly and your plug-in does already more than I ever expected. You should stop working on new features and support for all these plug-ins and just get the current version stable enough for final releases.
I know, it can be exciting to do ll of these things but they also take away a lot of time and I wouldn’t want you to burn out. I hope it is not to late, this is an awesome plug-in and there aren’t enough thank you to give to you.
I created two servers, but most of the time I only run one, the other is WIP or for testing for now.

 Although the time I've devoted to this project over the past, what, 7 or 8 weeks now is starting to take a toll on other things.
How many HKB servers are you running? I'm going to try to whip up quick script for you to run to see if we can get to the bottom of this.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/Colorado4Wheeler/HomeKit-Bridge/issues/83#issuecomment-375667239, or mute the thread https://github.com/notifications/unsubscribe-auth/AMA74hYs8TEwvloApTg6TSXsbeW0GlW1ks5thPq6gaJpZM4S3-_d.

Yep, I knew the camera roadmap existed, I just never expected it as part for his beta. Anyway, the cameras used to work great for me, but I am still getting some errors I did not expect, even after a full removal and clean install of v v0.20.0 plug-in. While I drafted this post, the newly cerated Indigo HomeKit server eventually started but it took a while.
I have not yet excluded any devices and only added one Indigo device and it generated the below listed error. Another odd thing, I had changed the low default battery warning in the server from 20 to 25% and even so I had deleted all Homebrige files and folder, when I installed the plugin they 25% value showed, I expect it to be back at 20%?
HomeKit Bridge Error            While performing a sanity check on the config folder, /Library/Application Support/Perceptive Automation/Indigo 7/Preferences/Plugins/com.eps.indigoplugin.homekit-bridge/1995801804 was not there.

Here is another weird issue, I just noticed when I wanted to add my newly created HomeKit server. My previous Homekit server for cameras, which I deleted and and this moment it does not exist in Indigo, but yet Apple HomeKit in the Home app sees both cameras and allowed me to set them up. Even more odd, is the fact that it shows my previous HomeKit Camera server and when I click on it it responds by asking for the accessory key. Both cameras work without me adding this camera server?
I there some caching going on by Apple's HomeKit, I was a full ay without running the HomeKit Bridge.

You seem to have considerably more issues than just about anyone, and I’m not sure why but in this case I would say that whatever you were doing with the servers has left a rogue Homebridge server running on your Mac because it’s quite literally impossible to add an accessory that doesn’t have a running Homebridge server.  I would reboot your Mac and see how many of your issues work themselves out.

I am sure it is something on my end, just trying to get to the bottom of it, since it only started to happened with beta v 0.200. I rebooted my computer and it solved the issue with the camera server and cameras, showing up without having those server/devices configured. This tells me that there is some process still running on my computer, even after all servers had been stopped, plug-in disabled and all relevant files had been deleted. I even restarted the Indigo Server before I downloaded and re-installed the same version again. I also ran DiskWarrior on my server disk and it found no major issues.
I now started to add devices again, but only a few at a time and the server started and I was able to it to the Home app. I also created my camera server again and this one runs just fine, but when I edit some device on my Indigo device server, the Home app goes to updating (of course it is waiting for the server to come online again), but then all devices become unresponsive. I rebuild the folder and stopped and started the plug-in, but nothing works. Both of my Homekit servers are running now but all devices except the cameras are "No response"?
Here is another observation, I dont have one of those fancy garage door openers yet, I was using a Mimo Lite with door sensors (vertical vs horizontal sensor), I don't know when this change to took place, but now I have to invert the on/off state which was not the case before. No big problem, just something I noticed now.
Here is the log file, it does show some errors.
Mar 24, 2018, 8:00:30 PM
HomeKit Bridge                  Error: EPERM, Operation not permitted
at /Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/node_modules/uid-number/uid-number.js:49:16
at ChildProcess.exithandler (child_process.js:267:7)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at maybeClose (internal/child_process.js:925:16)
at Socket.stream.socket.on (internal/child_process.js:346:11)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at Pipe._handle.close [as _onclose] (net.js:567:12)
TypeError: Cannot read property 'get' of undefined
at errorHandler (/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/utils/error-handler.js:205:18)
at /Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/bin/npm-cli.js:83:20
at cb (/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/npm.js:224:22)
at /Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/npm.js:262:24
at /Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/config/core.js:81:7
at Array.forEach ()
at /Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/config/core.js:80:13
at f (/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/node_modules/once/once.js:25:25)
at afterExtras (/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/config/core.js:178:20)
at Conf. (/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/config/core.js:236:22)
at /Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/node_modules/uid-number/uid-number.js:51:14
at ChildProcess.exithandler (child_process.js:267:7)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at maybeClose (internal/child_process.js:925:16)
at Socket.stream.socket.on (internal/child_process.js:346:11)
/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/utils/error-handler.js:205
if (npm.config.get('json')) {
^
TypeError: Cannot read property 'get' of undefined
at process.errorHandler (/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/utils/error-handler.js:205:18)
at emitOne (events.js:116:13)
at process.emit (events.js:211:7)
at process._fatalException (bootstrap_node.js:375:26)
[2018-3-24 19:23:13] Loaded plugin: homebridge-camera-ffmpeg
[2018-3-24 19:23:13] Registering platform 'homebridge-camera-ffmpeg.Camera-ffmpeg'
[2018-3-24 19:23:13] ---
[2018-3-24 19:23:13] Loaded plugin: homebridge-indigo2
[2018-3-24 19:23:13] Registering platform 'homebridge-indigo2.Indigo2'
[2018-3-24 19:23:13] ---
[2018-3-24 19:23:13] Loaded config.json with 0 accessories and 1 platforms.
[2018-3-24 19:23:13] ---
[2018-3-24 19:23:13] Loading 1 platforms...
[2018-3-24 19:23:13] [HomeKit Bridge Server] Initializing Indigo2 platform...
[2018-3-24 19:23:13] [HomeKit Bridge Server] HomeKit Bridge base URL is http://<IP_ADDRESS>:8558
[2018-3-24 19:23:13] [HomeKit Bridge Server] HomeKit Bridge serverId is<PHONE_NUMBER>
[2018-3-24 19:23:13] Loading 0 accessories...

Mar 24, 2018, 8:01:07 PM
HomeKit Bridge                  HomeKit server 'Indigo HomeKit' is not currently running, the configuration has been saved and will be used the next time this server starts
Mar 24, 2018, 8:01:37 PM
HomeKit Bridge                  Attempting to start 'Indigo HomeKit'

Both of my servers wont start at all now and I have reached the end of troubleshooting, this has been verify frustrating considering that everything worked just fine up until v 0.20.0.
So far from what I have experienced, the servers run fine the first time and when I add, edit or remove a device they then fail to start.

If it were me I would delete everything, and you didn’t do that before or it would be absolutely impossible for your battery percentage to have remained, delete the folder AND the pref file, the pref file is not in the folder it’s in same folder as the folder, delete the plugin and re-download it.  The “now it won’t start anything” indicates you might have bigger problems because if it worked one time and you did nothing and it stopped working then you have to ask what you did that was different or what changed because the software code didn’t change between boots or decide out of spite that it just didn’t want to do what it did two minutes ago anymore ;).

On Mar 25, 2018, at 2:25 PM, mlooss<EMAIL_ADDRESS>wrote:
Both of my servers wont start at all now and I have reached the end of troubleshooting, this has been verify frustrating considering that everything worked just fine up until v 0.20.0.
So far from what I have experienced, the servers run fine the first time and when I add, edit or remove a device they then fail to start.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub https://github.com/Colorado4Wheeler/HomeKit-Bridge/issues/83#issuecomment-376000595, or mute the thread https://github.com/notifications/unsubscribe-auth/ATYzqW5CfXdRV8_56ruewkkUe6xN5mdUks5th_04gaJpZM4S3-_d.

Yes, I deleted all of these files including the HomeKit pref file located one folder level up from the server folders parent folder.
Here is how I went about it.

Stopped both of my homekit servers in Indigo
Disabled the plug-in
Stopped the Indigo server
Deleted the plug-in from the plugins (disabled) folder
Deleted the folder containing the servers
Deleted the HomeKit prefs while one level up

I then searched within the Indigo folder for anything containing homekit and found no other files.
The battery issue and the cameras showing up without any of my servers running was solved after I restarted my Mac mini server.
I am now going through these same steps again and to my surprise I see three server folder, but I only ever created two servers? I did go through the rebuild folder utility several times, but not always looking into them.
I am downloading the plugin as I post this reply and the zip decompression process is taking forever and my server just rebooted by itself?

I am downloading the plugin as I post this reply and the zip decompression process is taking forever and my server just rebooted by itself?

Sounds like you might have a hardware issue.

I already considered this too and I ran several hardware tests and disk utilities and my system passed them all. The issue with the zip expansion taking a long time was solved when CW4 removed the links and then later reduced the archive size. I only see this issue with his files now again and not in any other downloads.

So, given that you think that 0.20.0 is the root of all of this, what happens when you downgrade to a prior version?  Presumably it will work 100% perfectly as it did before 0.20.0.  Fortunately all releases are available to download for you to try this out.
Also, have you tried expanding the ZIP on a different computer?

Took some more time to check my server and here is what I did and where I stand now.

Tested all hardware and found no issues at all. My server is protected by a UPS and it never crashes or reboots by itself. I am in Puerto Rico and the electrical power still goes out rather frequently and this server has gone through its fare number of unexpected shutdowns, but I run a file system check most of the time after such an event. The uptime is only effected when I do updates that require a reboot and otherwise it just runs.
Repaired any minor issue found with DiskWarrior.
All SMART tests pass and all disk drives installed or attached and yes SoftRAID v5.5 now support SMART reporting from external drives too.
Server CPU load is between 20 - 35% with short lived spike to maybe around 70%.
Memory installed 16 GB and using about 11 GB.
All of my other server components are running without issues, they include Indigo, Plex, Channels DVR, SecuritySpy (2 cam only) and some other mac OS Server services.
This server is running macOS Sierra and I re-installed Sierra, this seems to have solved the issue with the Zip decompression taking a long time. Yes, the zip file decompressed much faster on another machine and this was the reason I reinstalled the OS.
Removed all things to HomeKit plug-in and installed beta 0.19.9, all worked fine until I made an edit to a device again. First the server failed to start, but after rebuilding the server folder it started and is running but the Apple Home App now shows all devices updating followed by "No Response", again?
I did order a new 2.0 TB internal disk drive and it should arrive today, I don't see issues with my current drive, but it is kind of old already and before it does go south I prefer to replace it.
I tried upgrading to macOS High Sierra and it failed with firmware error and while looking into this, I noticed that my Mac mini serial number is not listed anymore and I never had the logic board replaced, it is still the original. The only upgrades I did, were memory and internal disk drive upgrades and not because of problems but to expand this server. This one I need to investigate, I know that some cloud service from Apple need it, but my iCloud account and Messages app are working.

Looks like everyone here thinks that my issue is or was an isolated case with hardware, but after downloaded and installing v0.20.1 yesterday and deleting my homekit accessories first from the Home app, it now seems to run just fine? I have added, edited and deleted devices and the servers start and all Home app devices update and show up working, including both of my cameras that are on a second home kit server. I also swapped my disk drive today to the new one and even after cloning it and then booting from it, everything is still working.

I assume you disagree that it wasn’t the plugin, but considering nothing significant changed in the latest release I am still pretty certain the plugin wasn’t at fault - particularly when you consider that downgrading didn’t help either and that release worked prior.

We are beta testing and I am just getting all the facts together and I have been burned way to often by issues that the developer couldn't make sense off and just discarded it. Only after repeated recurring problems and finally an escalation to engineering it was confirmed to be a bug after all. Maybe there is something unique on my setup, but hard to believe since I had very little to no issues with any previous beta versions and something that the v 0.20.0 did, was still present.
You are doing an amazing job and all by yourself with this plug-in and I want it to to succeed as much as you do. I am not a developer, I wish had more time to get into it, but I don't.
Thanks

This morning, restarted my server and both of my HomeKit servers did not start automatically and they fail to start when I manually attempt to start them with the same error message. I already rebuild both server folders and reloaded the plug-in v0.20.1, I will now install v 0.21.0 and see how this one behaves.
HomeKit Bridge Error            HomeKit server 'Indigo Homekit' could not be started, please check the service logs for more information,
now issuing a forced shutdown of the service to be safe.

If you continue to have problems starting this server use the Advanced Plugin Actions menu option to rebuild the Homebridge folder.
Instructions at https://github.com/Colorado4Wheeler/HomeKit-Bridge/wiki/Plugin-Menu-Utilities#rebuild-homebridge-folder
   HomeKit Bridge                  Attempting to stop 'Indigo Homekit'
   Z-Wave                          received "Pool Pump Master Switch" energy total to 160.716 kWh
   HomeKit Bridge                  HomeKit server 'Indigo Homekit' has been stopped
   HomeKit Bridge Error            send "Indigo Homekit" on failed

Just installed v0.21.0 and both homekit servers started but I did get the below error message. I am now getting "No Response" from my Home app accessories, again.
Mar 30, 2018, 12:08:33 PM
   Stopping plugin HomeKit Bridge (pid 39808)
   Stopped plugin HomeKit Bridge
   Upgrading plugin HomeKit Bridge to newer version 0.21.0 (previous version moved to trash)
   Loading plugin "HomeKit Bridge 0.21.0"
   Starting plugin "HomeKit Bridge 0.21.0" (pid 75210)
   Started plugin "HomeKit Bridge 0.21.0"
   HomeKit Bridge                  Upgrading plugin from 0.20.1 to 0.21.0
   HomeKit Bridge                  Upgrading Indigo Homekit for changes in this plugin release
   HomeKit Bridge                  Upgrading Indigo Homekit Camera for changes in this plugin release
   HomeKit Bridge                  Upgrade success
   HomeKit Bridge Error            Exception in plugin.buildServerConfigurationDict line 4348: Failed to parse: indigo:xTeCD
							 CODE: data = requests.get(ssSystem).content# Pull XML data

   HomeKit Bridge Error            Unable to build server configuration for 'Indigo Homekit Camera'.
   HomeKit Bridge Warning

#####################################################################
# HOMEKIT BRIDGE HIDDEN ITEMS WARNING                               #
#####################################################################
# You have 278 Indigo items being hidden, you can manage these      #
# from the plugin menu.                                             #
#####################################################################

   HomeKit Bridge Error            Exception in plugin.buildServerConfigurationDict line 4348: Failed to parse: indigo:xTeCD
							 CODE: data = requests.get(ssSystem).content# Pull XML data

   HomeKit Bridge Error            Unable to build server configuration for 'Indigo Homekit Camera'.
   HomeKit Bridge                  Attempting to start 'Indigo Homekit'
   HomeKit Bridge                  Attempting to start 'Indigo Homekit Camera'
   HomeKit Bridge                  HomeKit Bridge is loaded and ready to use

Mar 30, 2018, 12:09:24 PM
   HomeKit Bridge                  Server 'Indigo Homekit Camera' has successfully started, you can use your HomeKit apps or Siri for this accessory
   HomeKit Bridge                  Server 'Indigo Homekit' has successfully started, you can use your HomeKit apps or Siri for this accessory

Remove your cameras.

I just did remove the cameras and deleted this home kit server. My main home kit server shows a couple of errors, see below.
**Error: EPERM, Operation not permitted**
    at /Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/node_modules/uid-number/uid-number.js:49:16
    at ChildProcess.exithandler (child_process.js:267:7)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:925:16)
    at Socket.stream.socket.on (internal/child_process.js:346:11)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at Pipe._handle.close [as _onclose] (net.js:567:12)
**TypeError: Cannot read property 'get' of undefined
    at errorHandler (/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-**x64/lib/node_modules/npm/lib/utils/error-handler.js:205:18)
    at /Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/bin/npm-cli.js:83:20
    at cb (/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/npm.js:224:22)
    at /Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/npm.js:262:24
    at /Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/config/core.js:81:7
    at Array.forEach (<anonymous>)
    at /Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/config/core.js:80:13
    at f (/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/node_modules/once/once.js:25:25)
    at afterExtras (/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/config/core.js:178:20)
    at Conf.<anonymous> (/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/config/core.js:236:22)
    at /Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/node_modules/uid-number/uid-number.js:51:14
    at ChildProcess.exithandler (child_process.js:267:7)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:925:16)
    at Socket.stream.socket.on (internal/child_process.js:346:11)
/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/utils/error-handler.js:205
  if (npm.config.get('json')) {
                 ^

TypeError: Cannot read property 'get' of undefined
    at process.errorHandler (/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/utils/error-handler.js:205:18)
    at emitOne (events.js:116:13)
    at process.emit (events.js:211:7)
    at process._fatalException (bootstrap_node.js:375:26)
[2018-3-30 12:09:17] Loaded plugin: homebridge-camera-ffmpeg
[2018-3-30 12:09:18] Registering platform 'homebridge-camera-ffmpeg.Camera-ffmpeg'
[2018-3-30 12:09:18] ---
[2018-3-30 12:09:23] Loaded plugin: homebridge-indigo2
[2018-3-30 12:09:23] Registering platform 'homebridge-indigo2.Indigo2'
[2018-3-30 12:09:23] ---
[2018-3-30 12:09:23] Loaded config.json with 0 accessories and 1 platforms.
[2018-3-30 12:09:23] ---
[2018-3-30 12:09:23] Loading 1 platforms...
[2018-3-30 12:09:23] [HomeKit Bridge Server] Initializing Indigo2 platform...
[2018-3-30 12:09:23] [HomeKit Bridge Server] HomeKit Bridge base URL is http://<IP_ADDRESS>:8558
[2018-3-30 12:09:23] [HomeKit Bridge Server] HomeKit Bridge serverId is 213427823
[2018-3-30 12:09:23] Loading 0 accessories...

I really don’t know why you have issues, this is now a core issue with Homebridge, something else that nobody else is experiencing.  From that message your Homebridge is corrupt which I know is not part of the plugin since many are on the latest build without any issues, let alone a corrupt Homebridge.
I still think you have some underlying issue unrelated to this plugin.  It might be in your best interest to not use HomeKit Bridge for now, I don’t know what else to tell you about your issues.

I am confused, if Homebridge is not part of the plug-in, then where does it come from? I only ever had HBB installed but have since beta testing this plug-in removed it from Indigo. I never had the web deck homebridge installed either.
The log I posted contains the following error message, what do they mean?
**Error: EPERM, Operation not permitted**
    at /Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/node_modules/uid-number/uid-number.js:49:16

**TypeError: Cannot read property 'get' of undefined
    at errorHandler (/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-**x64/lib/node_modules/npm/lib/utils/error-handler.js:205:18)

TypeError: Cannot read property 'get' of undefined
    at process.errorHandler (/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/node_modules/npm/lib/utils/error-handler.js:205:18)
    at emitOne (events.js:116:13)
    at process.emit (events.js:211:7)
    at process._fatalException (bootstrap_node.js:375:26)

EPERM is a permissions error.

I figured so much but what is EPERM and I have removed already everything related to HomeKit several times already and this keeps happening?

I now removed both of my home kit servers, but left the plug-in untouched. I figured let me start with my cameras server, it only contains my two cams and immediately I got these error.
HomeKit Bridge Error            Exception in homekit.getStashRecordForObject line 884: ('key includedDevices not found in dict', u'Server Id:<PHONE_NUMBER>', u'Server data: com.eps.indigoplugin.homekit-bridge : (dict)')
   						 CODE: includedDevices = json.loads(serverProps["includedDevices"])

  HomeKit Bridge Error            Exception in homekit.getStashRecordForObject line 884: ('key includedDevices not found in dict', u'Server Id:<PHONE_NUMBER>', u'Server data: com.eps.indigoplugin.homekit-bridge : (dict)')
   						 CODE: includedDevices = json.loads(serverProps["includedDevices"])

  HomeKit Bridge                  Server 'new device' has changed ports or users, validating config

Mar 30, 2018, 9:04:23 PM
  HomeKit Bridge Error            While performing a sanity check on the config folder, /Library/Application Support/Perceptive Automation/Indigo 7/Preferences/Plugins/com.eps.indigoplugin.homekit-bridge/1635522145 was not there.
  HomeKit Bridge                  Recreated the configuration folder at /Library/Application Support/Perceptive Automation/Indigo 7/Preferences/Plugins/com.eps.indigoplugin.homekit-bridge/1635522145.
  HomeKit Bridge Error            Exception in plugin.buildServerConfigurationDict line 4348: Failed to parse: indigo:xTeCD
   						 CODE: data = requests.get(ssSystem).content# Pull XML data

  HomeKit Bridge Error            Unable to build server configuration for 'Homekit Cameras'.
  HomeKit Bridge                  Attempting to start 'Homekit Cameras'
  Error (client)                  timeout waiting for plugin response from com.eps.indigoplugin.homekit-bridge for request UiGetValues1
  Error (client)                  timeout waiting for plugin response from com.eps.indigoplugin.homekit-bridge for request CallPluginFunc
  Error (client)                  runDialogForMenuAction() caught exception: NSInvalidArgumentException -- *** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]

Mar 30, 2018, 9:05:32 PM
  HomeKit Bridge Error            HomeKit server 'Homekit Cameras' could not be started, please check the service logs for more information,
now issuing a forced shutdown of the service to be safe.

If you continue to have problems starting this server use the Advanced Plugin Actions menu option to rebuild the Homebridge folder.
Instructions at https://github.com/Colorado4Wheeler/HomeKit-Bridge/wiki/Plugin-Menu-Utilities#rebuild-homebridge-folder
  HomeKit Bridge                  Attempting to stop 'Homekit Cameras'
  Error (client)                  received unexpected packet response UiGetValues1 (waiting for CallPluginFunc)
  HomeKit Bridge                  HomeKit server 'Homekit Cameras' has been stopped
  HomeKit Bridge Error            send "Homekit Cameras" on failed

No idea what's going on with your computer.  The EPERM is when NodeJS (the underlying thing that homebridge runs in) is trying to get or set the effective user or group ID of a process.  Something in your OS install is messed up is all that I can think of to cause that kind of an error.

webdeck,
thanks for this answer and it puts me back to square one. I already had checked my hardware and all disk drives and I even reinstalled macOS Sierra, which did solve the problem with the zip expansion taking for ever. I even installed a brand-new disk drive, just in case and nothing points to problems with my system, which runs all other services with no problems at all. Like I stated already, I am not a developer but at one time I tried to get airsonos running and I ended up having to install node and other dependencies more than once but I never succeeded, could this be part of the problem?
I am now going to move my Indigo installation to another computer, that is running macOS High Sierra, the latest version, while my current server is on macOS Sierra.
Thanks

I suppose is it possible that another installation of node could interfere, but the way HKB is encapsulated is designed to ignore anything outside of its embedded install.  The environment is set so that the embedded version is first on the PATH, and node is configured only to look at the embedded directories via the NODE_PATH environment variable.

Update and yes I didn't think another install of node would not be the reason that is why I never brought it up.
This has been a very frustrating and unsuccessful troubleshooting process and I get an error already just loading the homekit plug-in now and my newly created server never starts. I keep rebuilding the folder and showing the homebridge bridge log informs me that since no server ever started it could not find a log.
Here are the additional streps I have taken this past weekend, using beta 2.2 and today the new 2.3 release, both giving me the same errors messages. I completely removed Homekit bridge again and rebooted too.

Upgraded first to macOS High Sierra (I already went from 10.11. to 12 last week), this upgrade went smooth, including the upgrade to the new macOS Server. Again decompressing is taking longer, but downloading other files from different sites do not take this much time to unzip.
I have another Mac mini, that I use for virtualization with PROXMOX. I swapped disk drive and gave this new server a through hardware test and they all passed. I even ran a very long memory test, it too passed. The disk I swapped is a new drive that I had cloned last week already and my problems continued or actually they have gotten worse. The disk is still formatted using HSF+ Journaled and not APFS.
I booted in safe mode, to let it do its cleanup
Zapped the PRAM.
Reset the SMC.
Re-installed Indigo and even fixed the permission with their Indigo Perm Fixer utility (see attached screenshot of the results).

There are many others services running on my server, nothing new since beta testing this plug-in and they all work just fine including Indigo. I firmly believed too that this must be system/hardware related but I now have different hardware, new disk drive and gone through two OS updates with no luck at all.

Here are some of the last error messages.
 HomeKit Bridge Error            Exception in plugin.buildServerConfigurationDict line 4556: local variable 'e' referenced before assignment
							 CODE: self.logger.error (ext.getException(e))

   HomeKit Bridge Error            Unable to build server configuration for 'Indigo Homekit Camera'.
   HomeKit Bridge Error            Exception in plugin.buildServerConfigurationDict line 4556: local variable 'e' referenced before assignment
							 CODE: self.logger.error (ext.getException(e))

   HomeKit Bridge Error            Unable to build server configuration for 'Indigo Homekit Camera'.
   HomeKit Bridge                  Attempting to start 'Indigo Homekit Camera'
   HomeKit Bridge                  HomeKit Bridge is loaded and ready to use
   HomeKit Bridge Error            HomeKit server 'Indigo Homekit Camera' could not be started, please check the service logs for more information,
now issuing a forced shutdown of the service to be safe.

If you continue to have problems starting this server use the Advanced Plugin Actions menu option to rebuild the Homebridge folder.
Instructions at https://github.com/Colorado4Wheeler/HomeKit-Bridge/wiki/Plugin-Menu-Utilities#rebuild-homebridge-folder

That error, while a bug to be fixed is the same error as you had before and is tripping the bug because you are still getting an exception on your config, something about your SS config.  I've already recommended not using cameras on your system right now but this is your system, not mine.
I really don't have any answers for you in the other regard.  I've suggested what makes sense, like going back to the last build that worked without errors, and if you are still getting errors then I don't know how I can possibly help you because it's a different wall of errors every time you post, it's a moving target.  Obviously these kind of errors would be prevalent on all installs of the plugin.
As I've said before, perhaps you would be better served and have less frustration if you just don't use the plugin for now.

Sorry, I must have missed your post about a bug in SS and scrolling through this post I don't see any reference to it. You did asked me to remove my cameras, which I did. Yesterday I started fresh again with HomeKit and I only configured one server without any cameras as accessories, why is their still a reference to SS? When you say remove, do you mean exclude them from the plug-in, because I did not?

Apparently you didn't remove your cameras from the plugin:

HomeKit Bridge Error            Unable to build server configuration for 'Indigo Homekit Camera'.
HomeKit Bridge Error            Exception in plugin.buildServerConfigurationDict line 4556: local variable 'e' referenced before assignment
CODE: self.logger.error (ext.getException(e))

Or you wouldn't get this message.  The only way it can even get into this process at all is if there is a camera being sent to HomeKit.  That and since the name of your server is 'Indigo HomeKit Camera' it sort of points to the fact that cameras are being sent.
Regardless that error trap should be fixed in the next release, but I doubt that this will fix the other issues, like permissions problems, that you have.

So when you say remove the cameras from the plug-in, you do mean excluding them? If this is the case, then no I did not do that. I removed the camera server, but I started over many times and I just deleted everything HomeKit, restarted and then setup just one server yesterday without any cameras.
I will now exclude all of my SS cameras and see if this solves the issue.

No, that’s not what I asked.  I don’t want any cameras in the server device list, that’s it.  You say you removed them from HomeKit, did you remove them from the device in the plugin?  I don’t think you did or we wouldn’t still be trying to send them to HomeKit.

Regarding the EPERM error, a Google search led me to the same error here: https://github.com/npm/npm/issues/8360
Do you have a .npmrc file in your home directory by any chance?  I would also look for .npm or .node-gyp or .node_repl_history files in your home directory as well.  Delete them all and try again.

And another troubleshooting thing to try would be to create a brand new macOS user account, and then try running Indigo from that account to see if you still have these issues.  If you don't, then it's something about your account.

Webdeck:
Thanks for those troubleshooting steps, will look into this tomorrow. It is odd that I went from 0.20.0 and every update in between 0.23.1 without any issues and only 0.23.1 is giving me those errors.
My original problem was with 0.20.0 and a number of earlier betas worked just fine? There s another beta tester here with similar problems.

Update, I found none of those npm related files in my home directory. My two HomeKit servers in Indigo are up and running but all devices in the Home app are not responding. Will try the new user account test hopefully tonight.
Thank you

My two HomeKit servers in Indigo are up and running but all devices in the Home app are not responding.

I've gotten that a few times myself and restarting the Indigo server devices fixes it every single time.  I did add two actions a few releases ago that will allow you to schedule a restart of your servers periodically.  @webdeck and I are trying to see if there is anything we can do to help with this problem but so far it appears to be HomeKit itself as no errors are logged and everything works fine when this happens but just HomeKit says 'Not Responding'.

My original problem was with 0.20.0 and a number of earlier betas worked just fine? There s another beta tester here with similar problems.

Similar is a very broad stroke, the problem was similar only in that he was getting a crash in the Homebridge files and his problem was resolved by re-downloading and installing the plugin and moving Indigo out and back in - which may be a sign of system issues.  Considering that nothing else had to be done I would say that his problem is not a bug of any kind.

I've gotten that a few times myself and restarting the Indigo server devices fixes it every single time. I did add two actions a few releases ago that will allow you to schedule a restart of your servers periodically. @webdeck and I are trying to see if there is anything we can do to help with this problem but so far it appears to be HomeKit itself as no errors are logged and everything works fine when this happens but just HomeKit says 'Not Responding'.

I should have mentioned it, but I did restart the Indigo device, the Indigo Server and the computer that runs all of these services, with no joy.

Similar is a very broad stroke, the problem was similar only in that he was getting a crash in the Homebridge files and his problem was resolved by re-downloading and installing the plugin and moving Indigo out and back in - which may be a sign of system issues. Considering that nothing else had to be done I would say that his problem is not a bug of any kind.

If you recall, I went through a very extensive and time consuming troubleshooting, which included exhaustive hardware and disk tests/checks, disk drive replacement and eventually a another server hardware. And nothing resulted in a resolution, except a future update to your plug-in and the fact I reloaded the plug-in in debugger mode and changing the user name. I updated the plug-in several times more until v 0.23.1 when my problem surfaced again. I realize that Apple's HomeKit is not 100% stable but I keep all of my 35 Hue lights in the Home app via their own hub and they never show any updating/no response. I do have these Hue lights configured in Indigo, but I exclude them in HomeKit Bridge.

I have not updated my recent experience, but I continue to have the issue were the HomeKit server fails to start, either after upgrading the plug-in, adding a new device or a physical server reboot. No amount of troubleshooting will solve the issue, only a complete removal of all things Homekit Bridge and starting fresh. In this case the server starts and runs for days. I have been running v 1.0.0. rc1 after upgrading from v0.23.1 without any issues. After several days I decided to test my SecuritySpy cameras and created a second server containing two cameras only. This server never started and rebuilding the folder and even rebooting the server did not solve the issue. My first server kept running just fine until last night when I decided to add another Indigo device and now it fails to start too. I have even gone as far has removing my home from Apple's Homekit and creating it again.
I am not convinced it is anything on my system, because if this was the case it would never ever run and it does run but later fails to run.

I think that your camera issues may be related to the strange configuration of your SecuritySpy server and/or camera.  I base that on the error posted from you a while back:
Failed to parse: indigo:xTeCD
CODE: data = requests.get(ssSystem).content# Pull XML data

The only way I could attempt to diagnose that would be if you logged the output of your server to see where that line is popping up:
indigo.server.log(unicode(indigo.device[YOUR_SS_SERVER_ID]))

Just replace any username/passwords with XXX and YYY.

I have two active IP cameras in SecuritySpy and they can be viewed with SecuritySpy on macOS, tvOS and iOS. I also have them configured in SpyGlas on iOS and they both work without problems, not sure what strange configuration this could be? There are two additional iSight Remote cameras configured but they disabled because I don't use them at the moment.
I no longer have a camera server, only my main Indigo HomeKit server but this one continues failing to start? Update, I just attempted to start it and it is now running, but all devices are again “No Response". Yesterday I could not get it to run at all?
I am also not following along on how to get the requested log data from indigo.server.log(unicode(indigo.device[YOUR_SS_SERVER_ID]))
Thanks

On Apr 24, 2018, at 10:54, Colorado Four Wheeler<EMAIL_ADDRESS>wrote:
I think that your camera issues may be related to the strange configuration of your SecuritySpy server and/or camera. I base that on the error posted from you a while back:
Failed to parse: indigo:xTeCD
CODE: data = requests.get(ssSystem).content# Pull XML data
The only way I could attempt to diagnose that would be if you logged the output of your server to see where that line is popping up:
indigo.server.log(unicode(indigo.device[YOUR_SS_SERVER_ID]))
Just replace any username/passwords with XXX and YYY.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/Colorado4Wheeler/HomeKit-Bridge/issues/83#issuecomment-383963089, or mute the thread https://github.com/notifications/unsubscribe-auth/AMA74mFcffGxZuxX0pruWGfFoFpihjXlks5trzyvgaJpZM4S3-_d.

C4W:
After several days of being without Homekit because all Indigo device had No Response, I decided to remove it from my Home app, again. Only after repeated rebuilds of the server folder and restarting the plug-in, would my homekit server start and it is now running. I added it again to the Home app and all was working fine again. About 10 minutes have passed since then and now I open the Home app and I get a screen that says "Loading Accessories and Scenes" with the option to reset my home configuration??? There must be something going on that is corrupting configuration files of your plug-in.
Please note that I have no cameras configured this time and your plug-in, at least for me worked flawless in its early stages but it has been a very frustrating, time consuming and unsuccessful troubleshooting process since then.
I find it odd that when you introduced cameras support, my two SecuritySpy cams worked without any issues. My SecuritySpy setup has not changed nor was there any recent update applied and yet I have somehow a strange SecuritySpy setup, which I do not get. The only variable has always been a new version of the plug-in, which I kept updating as they became available.
You and other have pointed at my system but I cannot see an issue on my end and if you recall, I have a brand new disk drive and even a different server hardware. Because of all this, I am still concluding the issue is generated by the HomeKit Bridge plug-in.
I have now reached a level of serious frustration and have exhausted my knowledge here to continue troubleshooting.
Please give me some TLC, my wife is already on my case because every time she wants to use it doesn't work (it doesn't matter that I told her from start that this is early testing and she may run into issues). Since using the Apple Home app, my other family members have finally started using my setup and I never was able to get them to fall in love with Indigo Touch.
Thanks in advance

I’m not sure what else to suggest.  This has been a moving target and seems to change week to week.  You insist this is a bug but nobody else experiences any part of these issues you seem to be plagued with constantly.
If I had an answer or suggestion I would have offered it or I have already in previous replies.  I mean, how many versions have been released since this monster thread was started and still you are the only one with these catastrophic issues?
Nothing you’ve reported can be reproduced on my side.  It’s very difficult to follow your long posts but it seems things were working in the past few weeks and then, what, a bug popped up and shut it all down again?
When you first reported this issue I said to revert to the previous version because it worked fine for you, but that version suddenly had the exact same problem - how is that possible if the plugin is the problem?
I’m sorry that your wife is on your case, maybe this plugin simply doesn’t work at all and you may be better served by the Alexa plugin instead.  If I had 10 users reporting these issues then that’s something but you are literally the only one.

I guess this makes it FML for me then :-(

I poke into my console app and found these errors, but I can't identify which plug-in is generating those errors.
My server has multiple IP addresses on its Ethernet interface and WiFi is not enabled. Does the HomeKit Bridge Server bind to the primary IP only, maybe this multihoming could be the issue?

It binds to localhost, meaning any IP address on that machine would resolve to it.  Considering that there is only one thing talking to it I doubt multi-homing is your issue.


IOP DeleteThread test

Pretty straight forward. Just testing behavior and return values for DeleteThread system call on the IOP.

On the PSP, one slightly interesting thing is the exit value of the thread.  When deleted, the exit value is SCE_KERNEL_ERROR_THREAD_TERMINATED.  But I guess thread exit values aren't really a thing here.
-[Unknown]

Funny, I didn't realize that threads on the PS2 didn't have explicit exit values. I guess it would be possible to obtain a thread's procedure return value by inspecting the thread's register context directly, but I doubt the kernel is touching that in any way.
In any case, thanks for the merge!

Hmm, that makes me wonder, if a thread is restarted, does its entire context get reset?  Probably an edge case, but we did see this occur on the PSP.  So there was no way to really tell (at least for a game) if the context was modified or not by delete, iirc.
-[Unknown]


can i change invocation phrase?

I'd like to use this to open and close my windows and doors. how can i change "turn on" to "open" and "tur off" to "close".
Thx so much, great work.

Not possible. Emulation supports only on/off
You can use sinric pro skill or set up custom phrases to do this
On Wed, 15 Jun 2022 at 11:40 AM joortiz22 @.***> wrote:

I'd like to use this to open and close my windows and doors. how can i
change "turn on" to "open" and "tur off" to "close"
—
Reply to this email directly, view it on GitHub
https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/78,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZAZZTMUHHXCTVIRXX2SI3VPFNEXANCNFSM5YZ4DMHA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***
.com>

Create an Alexa routine and choose “open window” as the custom speech to trigger it. Then as the action choose “turn on” the device.
Although the routine triggered whenever I spoke the words, it only operated the output sometimes. I got 100% reliability by choosing the custom output option as well and getting it to simulate me saying “Alexa turn on the lounge curtain”
I just motorised my lounge curtains using this exact same code and using this process .
Get Outlook for iOShttps://aka.ms/o0ukef

From: joortiz22 @.>
Sent: Wednesday, June 15, 2022 4:40:45 PM
To: kakopappa/arduino-esp8266-alexa-multiple-wemo-switch @.>
Cc: Subscribed @.***>
Subject: [kakopappa/arduino-esp8266-alexa-multiple-wemo-switch] can i change invocation phrase? (Issue #78)
I'd like to use this to open and close my windows and doors. how can i change "turn on" to "open" and "tur off" to "close"
—
Reply to this email directly, view it on GitHubhttps://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/78, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJFRJWRQQRMKQMVBUN6H5KTVPFNE3ANCNFSM5YZ4DMHA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


output: fix non_map_print of struct w/ bitfields

When using print() to dump a struct with bitfield members, the value of
the bitfield members was incorrect. For example, using a script to trace
perf_event_open, which takes a struct perf_event_attr as input:
bpftrace -e 'tracepoint:syscalls:sys_enter_perf_event_open {print(*args->attr_uptr); print(args->attr_uptr->precise_ip)}'
Results in output like
{ .type = 0, .size = 112, .config = 0, .sample_period = 10000000, .sample_freq = 10000000, .sample_type = 60, .read_format = 8, .disabled = 65537, .inherit = 65537, .pinned = 65537, <SNIP...>, .precise_ip = 256, <SNIP...> }
2

on events where only the disabled and precise_ip bit fields are set (to 1
and 2, respectively). The values output for the perf_event_attr
bitfields in this example are doubly incorrect in that they're too large
for the fields in question (disabled and most other perf_event_attr
bitfields are 1 bit, precise_ip is 2).
Printing the bit field directly does work, though, as bpf codegen
generates some special bitfield handling to read only the specific field - see is_bitfield check in codegen_llvm.cpp
This patch applies the same bitfield handling logic when printing the
entire struct. As a result, example script output is now consistent and
correct:
{ .type = 0, .size = 112, .config = 0, .sample_period = 10000000, .sample_freq = 10000000, .sample_type = 60, .read_format = 8, .disabled = 1, .inherit = 0, .pinned = 0, <SNIP...>, .precise_ip = 2, <SNIP...> }
2

Note: This is my first bpftrace commit, so could use some advice as to where to add a test to properly exercise this.

Closing due to inactivity. Tracking in #2801