Proposal: Argument order in concat and merge should be changed

Currently the arguments for both concat and merge having optional arguments first with splat params for Observables after:
Current
merge(scheduler?:Scheduler, concurrent?:number, ...observables:Array<Observable<T>>)
concat(scheduler?:Scheduler, ...observables:Array<Observable<T>>)

Proposed
I'd like to change the order and remove the splat params:
merge(observables: Array<Observable<T>>, concurrent?:number, scheduler?:Scheduler)
concat(observables: Array<Observable<T>>, scheduler?:Scheduler)

Reasons are as follows:

any function that has an optional Scheduler argument should have that argument be the last argument, for consistency.
Passing an array rather than splat params means we no longer have to analyze  the arguments object and do any slice trickery to get the array of Observables out of it, and should optimize better.
Having all optional arguments come last means we no longer have to do any typeof assertions to figure out what argument is what.

(TLDR: less polymorphic functions)

FWIW, I think we should avoid the splat param type arguments were possible. and always work to limit typeof checks, even if it's only an up-front cost, because we don't know where people are creating new observables using these operators. They could be created inside of a flatMap on every nexted value or something.

I think you are putting implementation convenience over user experience (user = developer using RxJS).

Passing an array rather than splat params means we no longer have to analyze the arguments object and do any slice trickery to get the array of Observables out of it, and should optimize better.

Rx.Observable.merge(source1, source2, source3)

is more ergonomic/logical than
Rx.Observable.merge([source1, source2, source3])

arguments or not, that's implementation detail.

Having all optional arguments come last means we no longer have to do any typeof assertions to figure out what argument is what.

Implementation detail.

The other alternative is to allow only the instance variant of the operator, with a single Observable as argument. This is what Erik is doing in RxMobile, for instance.
concat(other: Observable<T>, scheduler?:Scheduler)

But I definitely prefer to keep
concat(scheduler?:Scheduler, ...observables:Array<Observable<T>>)

I think you are putting implementation convenience over user experience

Not at all.. I'm concerned about the performance of having to do type assertions and Array.splicing arguments every time someone wants to merge or concat.

is more ergonomic/logical than
Rx.Observable.merge([source1, source2, source3])

In an IDE, you literally have added [ to your typing cadence. I think your ergonomics standards are too high. haha. :)

... implementation detail
Implementation detail.

You keep saying that, but when implementation is this:
export default function merge(scheduler?: any, concurrent?: any, ...observables: Observable<any>[]) {
  const xs = [];
  if (typeof this.subscribe === "function") {
    xs.push(this);
  }
  if (concurrent && typeof concurrent.subscribe === "function") {
    xs.push(concurrent);
    concurrent = scheduler;
  }
  if (scheduler && typeof scheduler === "object") {
    if (typeof scheduler.subscribe === "function") {
      xs.push(scheduler);
      scheduler = undefined;
      concurrent = Number.POSITIVE_INFINITY;
    } else if(typeof scheduler.schedule === "function") {
      concurrent = Number.POSITIVE_INFINITY;
    }
  }
  return new ArrayObservable(xs.concat(observables), scheduler).lift(new MergeOperator(concurrent));
}

vs something like this (pseudocode):
export default function merge(...observables: Observable<any>[], concurrent:number=Number.POSITIVE_INFINITY, scheduler: Scheduler=Scheduler.nextTick) {
  return new ArrayObservable(observables, scheduler).lift(new MergeOperator(concurrent));
}

... I think it's safe to say it will have better execution time. Given that: 1) there are fewer assertions, and 2) The function is no longer examining arguments and splicing out an array.

FWIW... if I were concerned about "implementation convenience" I definitely would not be using TypeScript. :P haha.

You know, you don't really need to Array.splice the arguments if you are any way willing to do anything for performance's sake.

Well, I mistyped, it's slice, not splice, but either way, I'm not sure what you could do that would be more performant than slicing the items out into an array if you need an array. Anyhow, that's just one of my issues with it.

To be clearer (and I realize that micro-perf can be a goose chase at times), here's a jsperf demonstrating the speed of only the code in question.

To be clearer, I've put together a micro perf test of just the code in question (the code for figuring out the arguments to merge, specifically).

Also on the "developer ergonomics" front, the current signature required all arguments to be of type any just to work, so anyone using TypeScript won't benefit much from that. I'm not really that "pro-TypeScript", but I can say that a lot of things that are difficult or unergonomic in TypeScript generally don't perform very well (polymorphic functions, etc).

Discussion: We would want to change the order of arguments for all operators w/ splat arguments including:

merge
concat
zip
combineLatest

@staltz @ktrott @trxcllnt ... I think I have some changes that will improve this greatly and keep the same syntax...
You'll notice in the results for merge4 below, the signature is the same as merge1, which is the current implementation.
The speed is up there, not as fast as the original proposal, but I think it strikes a balance between speed and ergonomics. (although I still think having the scheduler come first is bizarre, and it should come last, because it doesn't work that way on any of the others).
Outside of that I think we can implement each prototype method seperately in the same file and export it, to remove a typeof check to see if this is an Observable

So you want merge3, @blesh ?

I think so? Awaiting feedback, really. merge4 keeps the same signature. I just think it's inconsistent with the rest of the library

Also I'd like to run each of these through the macro perf tests and see how it effects it.

merge3 seems totally fine IMO.

@trxcllnt pointed out to me that merge3 actually adheres to Microsoft's Rx API design guidelines, which states that if there's a scheduler argument it should be last, with the provision that C# only allows params arguments as the last argument.

In my perf testing, I found no discernible macro perf difference in any of the merge implementations. There were some micro-perf wins, but nothing more than 5% or so, which could be a rounding error, regardless of how consistent it was.
as such, I'm going with merge3.

@blesh do you have a PR for this yet? need in current Falcor upgrade.

@trxcllnt incoming...


Unnecessary conditional judgment in isLibraryLoaded ?

I wonder num_meta_objs_for_lib_bound_to_loader will always less than num_meta_objs_for_lib, because num_meta_objs_for_lib_bound_to_loader is look forward in allMetaObjectsForLibrary(library_path) and
num_meta_objs_for_lib is equal with allMetaObjectsForLibrary(library_path).size()
https://github.com/ros/class_loader/blob/8864be372a83921f15906ae80752be9d6a300b81/src/class_loader_core.cpp#L304-L312

It'd appear like it, yes. @mjcarroll am I missing anything? Do you recall what was the intent?


Update index.js

o if u wanted a description its a code fix for unmutes if they dont have the role so it dont throw an error


SPNameQualifier must match SP Entity ID in strict mode (default strict true)

Hi,
SPNameQualifier must match SP Entity ID in strict mode (default strict true). But in real world, SPNameQualifier is not always same than SP entity ID.
Is there a way to add a key/value in sp section in settings like following :
https://github.com/onelogin/python3-saml/blob/6b414775c3617f3711e8959fa849ed564ea6f585/src/onelogin/saml2/response.py#L475
sp_data = self.__settings.get_sp_data()
sp_entity_id = sp_data.get('spNameQualifier', '')

The SPNameQualifier can be provided with the spnq parameter on the logout method

Hi @pitbulk ,
Thanks for your answer but I am talking about SAML SSO process (login).


updated NER version num

Reviewers:

[ ] @madisonmay
[ ] @anneCarlson

What's the purpose of the PR?

Updates version number of ner.
https://trello.com/c/voWeqH80/1986-3-ner-updated-in-client-libs-default-version
Description of changes

Notes to reviewers

Keep in mind while reviewing code:

Is relevant code tested?
Are added functions/methods documented?
Separation of concerns (SOC)
Don't repeat yourself (DRY)
Limit the number of positional arguments
Is function/method length reasonable?
Can code be broken down into smaller components?
Where do added functions/methods belong?
Are variable names descriptive?
Are errors handled appropriately?
Can logic be simplified?
Does the code make sense in context? (expand the diff)

We still support Version 1, so we should leave tests that test those.


issue #140: Changed the WebDriverReleaseManager urls to https

This is regarding issue
https://github.com/groupon/Selenium-Grid-Extras/issues/104
changed the urls to Https to pass through the proxy

I hope to have this pulled into master by this weekend, and make a release as well.


wip

Stack:

#2476 ⬅
#2475
#2474

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

This change is


Create sonarcloud.yml

Closes #
📑 Description

✅ Checks

[ ] My pull request adheres to the code style of this project
[ ] My code requires changes to the documentation
[ ] I have updated the documentation as required
[ ] All the tests have passed

☢ Does this introduce a breaking change?

[ ] Yes
[ ] No

ℹ Additional Information

Summary by CodeRabbit

New Features

Introduced a new automated workflow for code analysis using SonarCloud, enhancing code quality checks on the main branch and during pull request events.

:white_check_mark: Build Sankhya-SDK-dotnet 3.0.949 completed (commit https://github.com/guibranco/Sankhya-SDK-dotnet/commit/81cf5720e6 by @gstraccini[bot])


display bugs

DotSpatial version: 2.0.0 6c78470
bug 1
DotSpatial.GeoAPI is not in MovedTypes list (DotSpatial.Serialisazation) for load DotSpatial.Topology types from old dspx
bug 2
bug for draw polygons with filter expression
Steps to reproduce

load polygon shape
open Layer Properties
add filter on Values field who is always false (do not add new category)
ArgumentsNullException and the map does not redraw.

bug 3
bug when DynamicVisibility is used with DynamicVisibilityMode.ZoomedIn
Steps to reproduce

add new group
add layer in the new group
open Layer Properties on Detailed Property tab
set DynamicVisibilityMode to ZoomedIn
set UseDynamicVisibility to True
Apply
The layer disappears (DynamicVisibilityWidth has no importance)

I can fix it.

@leocalvis Please explain bugs 1 and 2 more clearly. Please put each bug in its own issue.
If you can fix it you can submit pull requests with your fixes after we have determined that your findings are really bugs.


Customizable license

Hey, just tried using this tool to init a new Python package. Very neat. :+1:
Currently, an MIT license is generated, but:

Although it's a good sensible default, we may not want to use MIT.
The author is not filled in.

There's a great little tool called mklicense which can be used to generate various licenses (with a certain sense of humour).
We could ask the create-python-package user if they're OK to use MIT (and ask for the author's name?) and if not make a subcall to mklicense.

Great suggestion. I initially built it just to make my workflow faster, but I think this and #2 make a lot of sense.
create-python-package would be kind of like yarn init. It could be run with a --yes flag to run with defaults, otherwise it could be run interactively and ask about License, Pipenv/poetry/setup.py/others, author, etc.
I will add these features 😄

Absolutely! npm init or yarn init is exactly the kind of interactive project setup workflow I am imagining for this project. :+1:

This has been added to <IP_ADDRESS>. Options are MIT, GPLv3, apache2 and bsd3. Of course more can be added, but the templating system is now in place add more if desired.

Works great! Well done. :+1:


[189] more tests

[ ] package.json:version has been updated with npm version patch (or major/minor as appropriate)
[ ] @brainhubeu/react-carousel version has been updated in docs-www/package.json to the same which is in package.json:version

I'm closing this PR because it's inactive since march


Things could get tricky for mopidy-youtube, again...

mopidy-youtube relies on youtube-dl to ... download files from YouTube.
On Friday, github received a DCMA takedown notice regarding youtube-dl: https://github.com/github/dmca/blob/master/2020/10/2020-10-23-RIAA.md
Watch this space.

In the end, it looks like the RIAA have done us all a favour:

there seems to be broad consensus that DCMA takedown notices can't be used where infringement is simply a possiblity
Microsoft have committed to giving developers a chance to respond to notices, before taking down their code

https://www.eff.org/deeplinks/2020/11/github-reinstates-youtube-dl-after-riaas-abuse-dmca
Closing this, for now.


theme toggle button modified

PR Description 📜
The theme toggle button has been improved. Instead of a slider, it is now an icon and it matches the current theme of the website also.
Fixes #2011

Mark the task you have completed ✅

[x ] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x ] I have performed a self-review of my own code or work.
[x ] I have commented my code, particularly in hard-to-understand areas.
[x ] My changes generates no new warnings.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @kaashikaagrawal ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

for now we are sticking to the older one 👀 !!!!!

Thank you  @kaashikaagrawal , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Update drivers for Matter 1.3

Update drivers for Matter 1.3.
Release checklist

[x] Resolve luacheck errors
[ ] Add unit tests for all new device types

Type of Change

[ ] WWST Certification Request

If this is your first time contributing code:

[ ] I have reviewed the README.md file
[ ] I have reviewed the CODE_OF_CONDUCT.md file
[ ] I have signed the CLA

[ ] I plan on entering a WWST Certification Request or have entered a request through the WWST Certification console at developer.smartthings.com

[ ] Bug fix
[ ] New feature
[ ] Refactor

Checklist

[ ] I have performed a self-review of my code
[ ] I have commented my code in hard-to-understand areas
[ ] I have verified my changes by testing with a device or have communicated a plan for testing
[ ] I am adding new behavior, such as adding a sub-driver, and have added and run new unit tests to cover the new behavior

Description of Change
Summary of Completed Tests

Unrelated to the changes in this PR but all instances of OFF_ON_AUTO in matter-thermostat/src/init.lua should be changed to OFF_HIGH_AUTO

Unrelated to the changes in this PR but all instances of OFF_ON_AUTO in matter-thermostat/src/init.lua should be changed to OFF_HIGH_AUTO

This has been fixed.

@HunsupJung I believe we should have a unit test for both matter-oven and matter-cook-top to show functionality of temperatureMeasurement for *F. Right now all of the tests use *C, and I think it would be good to make sure it works for *F as well.

@HunsupJung I think it would be good to add a unit test to make sure the distinction in oven between C and F is working correctly?

Closing in favor of https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/pull/1640


Region slug searchable

Issue type: Feature request
Hello, it would be nice to be able to search for a region slug name.
This would come very handy in case one would build a very exhaustive database of countries/provinces/cities in the following parent/child structure:
-parent name (slug)
--child name (slug)
---sub child name (slug)
Example below:
-CA (canada)
--ON (ontario)
---FAL (fort-albany)
-US (usa)
--CA (california)
---ALA (albany)
--NY (new-york)
---ALB (albany)
Having potentially thousands of city per country we could simply search for the word "albany" and see all Region elements matching or containing it. In the example above, we'd have 3 results for showing the region name, the slug and parent if any. An ouput example below as csv format:
FAL,fort-albany,ON
ALA,albany,CA
ALB,albany,NY
Thanks,

Just as an aside to this, removing slugs from the data model was discussed earlier this year but doesn't seem to have come to a resolve:
https://groups.google.com/forum/#!searchin/netbox-discuss/slug|sort:relevance/netbox-discuss/SRVcWLjjoo8/_PccrV4gBwAJ
To your usage case, I agree that having a way to search within regions, especially for larger organizations, would be useful. As an Albany NY resident I approve of your example ;)

Thanks for the input @bellwood
Well indeed for all that is related to the Regions, I find slug extremely handy but then again that could just be replaced by a more specific field.
Eitherways, "slug" or "something more specific" does not change the original feature request of this topic. :)

@jdecorniquet In what context do you mean? What type of object(s) do you want to search for by region slug?

@jeremystretch
Well in the current version I use (v2.0.7), Region is not a searchable object yet that precisely the type I'm looking for here.
My use case has the Region's name standing for acronyms of actual cities, and there slug for the full name. Our Site naming convention includes the actual Region's acronym, so the purpose of this feature would be to ease the acronym lookup in order to create a new site.
An example would be one looking for Albany, NY's acronym by querying "albany". One would eventually find the result "ALB,albany,NY" (region name,slug,parent_region_name) and then be able to create a Site named "ALB01" for instance.
In my company's case, we dumped from NATO a complete list of North American cities (official acronym, full name, state, postal etc) and would like to import it all in our Netbox in order to have all information in one place.
I hope this helps.

--CA (california)
---ALA (albany)
--NY (new-york)
---ALB (albany)

Keep in mind that slugs must be unique, so you can't have two regions with the slug "albany." Also, I would suggest swapping the fields. I would define Albany, CA as:
{
    "parent": {...},
    "name": "Albany, CA",
    "slug": "ALA"
}

This ensures that the human-friendly name is always displayed for the region. The name is also currently a unique field, although this example has me considering removing that constraint. I think it'd be reasonable to have two regions named "Albany" (but with unique slugs) since regions are arranged hierarchically (e.g. country > state > city).

Side question related to this topic:
Assuming one would have an exhaustive list of Regions, when creating a Site, would the drop down selection for the "Region" field be able to handle the very, very long list?
As in, is there any limitation to that currently?
I'm also considering the hassle of actually looking through that drop down selection to find the exact Region we need, even though that's a necessary evil to my case I believe.

I'd also like to see the region be searchable as as well.
Currently, I'm testing the same basic hierarchy as @jdecorniquet is for the regions.
In my scenario, the regions (and member sites) are structured as follows:
-Geographical Region
--Country
---City
----Site 1
----Site 2

A real-world example of that would be:
-EMEA
--South Africa
---Johannesburg
----Site X
----Site Z

When fully populated against 500+ regions, the UI for that page is quite large and makes it difficult to find what you're looking for.


HDDS-5955: EC: Track the failed servers to add into the excludeList when invoking allocateBlock

What changes were proposed in this pull request?
Implemented to handle failure nodes and added to exclude list
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-5955
How was this patch tested?
Added test to verify the behavior.

I had a quick check over this and it seems mostly OK to me, but it would be good for @fapifta to check too, as it is more familiar with this area than me.

Yes, thank you for addressing my comments, the patch looks good to me. +1

Thanks @sodonnel and @fapifta for the reviews.


add a message for listing streams

the functionality is there, but the message is missing.

Thanks @guanqun!


Move away from bower to yarn

With this change we move away form bower to yarn as it is recommendend by bower author and explained in his blog.
You can comment on this issue

There is no intention of merging this change therefore there is no reason to have it opened


[Update] Sample categories - second batch

Description
This PR updates the "category" in the metadata file to match the [https://github.com/Esri/arcgis-maps-sdk-kotlin-samples](Kotlin samples) and the common design sample categories for the second half of the swift samples.
Linked Issue(s)

swift/issues/4227
Common Designs PR: #3857

How To Test

Verify each sample category matches the corresponding Kotlin sample and/or the correct common design sample category.

@yo1995 All the categories should be up to date with the common design PR now.

Thanks!


chore(connlib): add new failing proptest case

From https://github.com/firezone/firezone/actions/runs/10622965579/job/29448379297?pr=6479#step:6:5729

Can you push it to https://github.com/firezone/firezone/pull/6497 to see if it is the same one?

#6497 fixed this, closing as dupe


TBH, after trying it multiple times, that version does not work well for me. The one which works well is a simpler version described here. With it I'm only getting the sensor values but at least it works. The one with all the controls does not show anything in the sensors information other than the battery, and the controls don't seem to do anything either.
But since the battery level was the only sensor working well for me in that version, if you try a new quirk and it still shows a wrong value, your device may be the one giving wrong values.

Hi, If you only want the Humidity and Temp,
Look here: https://github.com/Any-berg/zha-device-handlers/blob/standalone/zhaquirks/nous/ts0601.py
It's working for _TZE200_locansqn

Hi, If you only want the Humidity and Temp,
Look here: https://github.com/Any-berg/zha-device-handlers/blob/standalone/zhaquirks/nous/ts0601.py It's working for _TZE200_locansqn

Thanks, I used this one, and I have temp and humidity working nicely in Celcius.
Battery is at 122% though.
I tried https://github.com/jacekk015/zha_quirks/ from @jacekk015 and I got a lot of options, but temp/humidity was not displayed properly. I must have done something wrong on this one I think.
Happy to provide logs if anyone wants :)

@bthuree If you want you can provide logs, but enable debug level first.
https://github.com/jacekk015/zha_quirks#in-case-of-errors-or-to-support-new-function
You need to restart after that.[important!]
Best would be to remove and pair like a new, because Thermostat should send all possible data on pairing process.
But if you don't want, then post here device signature from device page.[important!]
Wait some time 10-20 minutes after restart.[important!] We need to be sure that on that time Thermostat will send any data.
Download HA log file and drag/drop it into post window - it will be attached as a file.
There were situations when chinese friends made device with same ID but different device_version parameter.

home-assistant_2023-10-23T23-01-02.551Z.zip

Log above, and signature here
  ],
  "output_clusters": []
},
"13": {
  "profile_id": "0x0104",
  "device_type": "0x000d",
  "input_clusters": [
    "0x000d"
  ],
  "output_clusters": []
},
"14": {
  "profile_id": "0x0104",
  "device_type": "0x0000",
  "input_clusters": [
    "0x0006"
  ],
  "output_clusters": []
}

},
"manufacturer": "_TZE200_locansqn",
"model": "TS0601",
"class": "ts0601_temperature.TuyaSensor"
}

And this is the second device that also popped in, without me triggering it (pushing the button). It was integrated before, but I removed both devices...
{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": "0x0104",
      "device_type": "0x0302",
      "input_clusters": [
        "0x0000",
        "0x0001",
        "0x0004",
        "0x0005",
        "0x0402",
        "0x0405",
        "0xef00"
      ],
      "output_clusters": [
        "0x000a",
        "0x0019"
      ]
    },
    "2": {
      "profile_id": "0x0104",
      "device_type": "0x000d",
      "input_clusters": [
        "0x000d"
      ],
      "output_clusters": []
    },
    "3": {
      "profile_id": "0x0104",
      "device_type": "0x000d",
      "input_clusters": [
        "0x000d"
      ],
      "output_clusters": []
    },
    "4": {
      "profile_id": "0x0104",
      "device_type": "0x000c",
      "input_clusters": [
        "0x000f"
      ],
      "output_clusters": []
    },
    "5": {
      "profile_id": "0x0104",
      "device_type": "0x000c",
      "input_clusters": [
        "0x000f"
      ],
      "output_clusters": []
    },
    "6": {
      "profile_id": "0x0104",
      "device_type": "0x000d",
      "input_clusters": [
        "0x000d"
      ],
      "output_clusters": []
    },
    "7": {
      "profile_id": "0x0104",
      "device_type": "0x000d",
      "input_clusters": [
        "0x000d"
      ],
      "output_clusters": []
    },
    "8": {
      "profile_id": "0x0104",
      "device_type": "0x000c",
      "input_clusters": [
        "0x000f"
      ],
      "output_clusters": []
    },
    "9": {
      "profile_id": "0x0104",
      "device_type": "0x000c",
      "input_clusters": [
        "0x000f"
      ],
      "output_clusters": []
    },
    "10": {
      "profile_id": "0x0104",
      "device_type": "0x000d",
      "input_clusters": [
        "0x000d"
      ],
      "output_clusters": []
    },
    "11": {
      "profile_id": "0x0104",
      "device_type": "0x000d",
      "input_clusters": [
        "0x000d"
      ],
      "output_clusters": []
    },
    "12": {
      "profile_id": "0x0104",
      "device_type": "0x000d",
      "input_clusters": [
        "0x000d"
      ],
      "output_clusters": []
    },
    "13": {
      "profile_id": "0x0104",
      "device_type": "0x000d",
      "input_clusters": [
        "0x000d"
      ],
      "output_clusters": []
    },
    "14": {
      "profile_id": "0x0104",
      "device_type": "0x0000",
      "input_clusters": [
        "0x0006"
      ],
      "output_clusters": []
    }
  },
  "manufacturer": "_TZE200_locansqn",
  "model": "TS0601",
  "class": "ts0601_temperature.TuyaSensor"
}

OK , but where's the problem?
Signature has nothing to do with it.

OK , but where's the problem? Signature has nothing to do with it.

Hmm,
when I check the device, I do not see the temperature nor humidity at all, especially nothing resambling the actual values on the device. I attached a  screenshot, nothing there is 23ish degrees centigrade, or 40ish % humidity.
When I used the other quirk, I got the temp and humidity directly, and battery level as well but this was 120% so kind of out of wack a bit.
Tried to give you (as in have not done it before, so fingers crossed :) ) the full HA log, with 40ish minutes wait after and integrated one (but the other one came in as well), and waiting 10 minutes before taking the log etc.

Hover mouse over those points or click the named entity and check chart or history

3 degrees flat line on the bottom one
6 % flat line on the top one.

Remove that one device, pair, wait 10 minutes and post the FULL logs.
Logs should show data that it sends to HA.

Since thats what I thought I did, any insight in what I did wrong so I do not do the same thing again. :)

You didn't nothing wrong, just repeat the steps.
There's possibility that chinese device is a clone of other and just behaves differently.
I wanna just to see fresh data.

Hi @jacekk015
I've got the same issue as @bthuree - the device pairs great thanks to your quirk, but it only shows the 4 binary inputs under the Sensors, the Temp and Humidity don't appear.  I've done as you suggested - reboot, remove the device, pair it again, wait 10 mins and attach the
logs here.
Thanks for creating the quirk and helping us out!

Some potentially useful insight?:  I have some experience using bluetooth so am aware of the MTU limits etc.  It made me wonder if the issue was due to the sheer number of controls it has.
I repeatedly removed and re-paired it, and one time (just the once!), ZHA identified the temperature sensor and started pulling data from it.
I went to try to hack your quirk to try to remove or re-order some of the other attributes to see if that meant that at least we had temp & humidity reliably discovered... but realised I've no idea what I'm doing :)

@j4m3s Did you enable DEBUG logging according to:
https://github.com/jacekk015/zha_quirks#in-case-of-errors-or-to-support-new-function
??

You can check newest quirk ts0601_temperature.py version.
I've taken out temp and humidity out of endpoint and move it to separate endpoints.
Previous version worked some time ago with no problems, so there probably were some changes in ZHA/Zigpy internal code.
Zigbee  data comes properly:
Temp
2023-10-24 09:51:58.107 DEBUG (MainThread) [zigpy.zcl] [0x95A8:1:0xef00] Decoded ZCL frame: TuyaSensorManufCluster:set_data_response(param=Command(status=0, tsn=254, command_id=513, function=0, data=[4, 0, 0, 0, 215]))
2023-10-24 09:51:58.107 DEBUG (MainThread) [zigpy.zcl] [0x95A8:1:0xef00] Received command 0x02 (TSN 12): set_data_response(param=Command(status=0, tsn=254, command_id=513, function=0, data=[4, 0, 0, 0, 215]))
2023-10-24 09:51:58.108 DEBUG (MainThread) [zhaquirks.tuya] [0x95a8:1:0xef00] Received value [0, 0, 0, 215] for attribute 0x0201 (command 0x0002)

Humidity:
2023-10-24 09:52:03.261 DEBUG (MainThread) [zigpy.zcl] [0x95A8:1:0xef00] Decoded ZCL frame: TuyaSensorManufCluster:set_data_response(param=Command(status=0, tsn=255, command_id=514, function=0, data=[4, 0, 0, 0, 48]))
2023-10-24 09:52:03.261 DEBUG (MainThread) [zigpy.zcl] [0x95A8:1:0xef00] Received command 0x02 (TSN 13): set_data_response(param=Command(status=0, tsn=255, command_id=514, function=0, data=[4, 0, 0, 0, 48]))
2023-10-24 09:52:03.262 DEBUG (MainThread) [zhaquirks.tuya] [0x95a8:1:0xef00] Received value [0, 0, 0, 48] for attribute 0x0202 (command 0x0002)

@j4m3s Did you enable DEBUG logging according to: https://github.com/jacekk015/zha_quirks#in-case-of-errors-or-to-support-new-function ??

I'm afraid I didn't, sorry.  I have this time, it's here  - unfortunately the temperature and humidity still aren't showing up when using the newly updated quirk file:

My attempts by repeatedly deleting then re-pairing did work in the end early this afternoon btw, before using your new python file, I managed to get both temp and humidity to appear as sensors.  I'm confident the device work too - I've been using it with a Tuya hub for the last 6 months or so without any issues.  But now I've outgrown it and want to move to Home Assistant :)

@j4m3s Quirk updated recently. I've removed LocalDataCluster, because it could mess up something, but that approach worked originally so I'm not really sure.

I get an exception in the logs now which is preventing ZHA from starting up:
2023-10-29 22:20:56.451 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry SONOFF Zigbee 3.0 USB Dongle Plus V2 for zha
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 399, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/zha/__init__.py", line 139, in async_setup_entry
    async with radio_mgr.connect_zigpy_app() as app:
  File "/usr/local/lib/python3.11/contextlib.py", line 204, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/zha/radio_manager.py", line 165, in connect_zigpy_app
    app = await self.radio_type.controller.new(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/zigpy/application.py", line 217, in new
    await app._load_db()
  File "/usr/local/lib/python3.11/site-packages/zigpy/application.py", line 107, in _load_db
    await self._dblistener.load()
  File "/usr/local/lib/python3.11/site-packages/zigpy/appdb.py", line 601, in load
    await self._load_clusters()
  File "/usr/local/lib/python3.11/site-packages/zigpy/appdb.py", line 723, in _load_clusters
    ep.add_input_cluster(cluster)
  File "/usr/local/lib/python3.11/site-packages/zigpy/endpoint.py", line 104, in add_input_cluster
    cluster = zigpy.zcl.Cluster.from_id(self, cluster_id, is_server=True)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/zigpy/zcl/__init__.py", line 247, in from_id
    return cls._registry[cluster_id](endpoint, is_server)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_zha_quirks/ts0601_temperature.py", line 298, in __init__
    self.endpoint.device.TuyaSensorTemperature_bus.add_listener(self)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Device' object has no attribute 'TuyaSensorTemperature_bus'

@j4m3s Please try again - I've switched those entities to AnalogOutput.
I still think that there were some changes that's don't follow previous usage scenario.

Thank you very much for all the work you're putting into this @jacekk015 :)
That's definitely a step forward, both Temperature and Humidity show up as sensors now!  But both are unavailable:

I've attached the debug logs - it looks like this might be the culprit?:
2023-10-30 20:11:03.096 DEBUG (MainThread) [zigpy.zcl] [0x968B:1:0xef00] Decoded ZCL frame: TuyaSensorManufCluster:set_data_response(param=Command(status=0, tsn=46, command_id=513, function=0, data=[4, 0, 0, 0, 189]))
2023-10-30 20:11:03.096 DEBUG (MainThread) [zigpy.zcl] [0x968B:1:0xef00] Received command 0x02 (TSN 102): set_data_response(param=Command(status=0, tsn=46, command_id=513, function=0, data=[4, 0, 0, 0, 189]))
2023-10-30 20:11:03.098 DEBUG (MainThread) [zhaquirks.tuya] [0x968b:1:0xef00] Received value [0, 0, 0, 189] for attribute 0x0201 (command 0x0002)
2023-10-30 20:11:03.099 WARNING (MainThread) [zigpy.util] Error calling listener <bound method TuyaSensorTemperature.set_value of <ts0601_temperature.TuyaSensorTemperature object at 0x7ff79d642690>> with args (1890,): KeyError('measured_value')
2023-10-30 20:11:03.099 DEBUG (MainThread) [zigpy.util] Error calling listener <bound method TuyaSensorTemperature.set_value of <ts0601_temperature.TuyaSensorTemperature object at 0x7ff79d642690>> with args (1890,)
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/zigpy/util.py", line 55, in listener_event
    result.append(method(*args))
                  ^^^^^^^^^^^^^
  File "/config/custom_zha_quirks/ts0601_temperature.py", line 308, in set_value
    self._update_attribute(self.attributes_by_name["measured_value"].id, value)
                           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
KeyError: 'measured_value'
2023-10-30 20:11:03.104 DEBUG (MainThread) [zigpy.zcl] [0x968B:1:0xef00] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=102, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-10-30 20:11:03.105 DEBUG (MainThread) [zigpy.zcl] [0x968B:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-10-30 20:11:03.215 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x968B), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=1, profile_id=260, cluster_id=61184, data=Serialized[b'\tg\x02\x00/\x02\x02\x00\x04\x00\x00\x00K'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=232, rssi=-42)
2023-10-30 20:11:03.216 DEBUG (MainThread) [zigpy.zcl] [0x968B:1:0xef00] Received ZCL frame: b'\tg\x02\x00/\x02\x02\x00\x04\x00\x00\x00K'
2023-10-30 20:11:03.216 DEBUG (MainThread) [zigpy.zcl] [0x968B:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=103, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-10-30 20:11:03.217 DEBUG (MainThread) [zigpy.zcl] [0x968B:1:0xef00] Decoded ZCL frame: TuyaSensorManufCluster:set_data_response(param=Command(status=0, tsn=47, command_id=514, function=0, data=[4, 0, 0, 0, 75]))
2023-10-30 20:11:03.217 DEBUG (MainThread) [zigpy.zcl] [0x968B:1:0xef00] Received command 0x02 (TSN 103): set_data_response(param=Command(status=0, tsn=47, command_id=514, function=0, data=[4, 0, 0, 0, 75]))
2023-10-30 20:11:03.218 DEBUG (MainThread) [zhaquirks.tuya] [0x968b:1:0xef00] Received value [0, 0, 0, 75] for attribute 0x0202 (command 0x0002)
2023-10-30 20:11:03.218 WARNING (MainThread) [zigpy.util] Error calling listener <bound method TuyaSensorRelativeHumidity.set_value of <ts0601_temperature.TuyaSensorRelativeHumidity object at 0x7ff79d642990>> with args (7500,): KeyError('measured_value')
2023-10-30 20:11:03.218 DEBUG (MainThread) [zigpy.util] Error calling listener <bound method TuyaSensorRelativeHumidity.set_value of <ts0601_temperature.TuyaSensorRelativeHumidity object at 0x7ff79d642990>> with args (7500,)
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/zigpy/util.py", line 55, in listener_event
    result.append(method(*args))
                  ^^^^^^^^^^^^^
  File "/config/custom_zha_quirks/ts0601_temperature.py", line 327, in set_value
    self._update_attribute(self.attributes_by_name["measured_value"].id, value)
                           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
KeyError: 'measured_value'
2023-10-30 20:11:03.220 DEBUG (MainThread) [zigpy.zcl] [0x968B:1:0xef00] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=103, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)

Yep - my fault... corrected. Should be "present_value". Too many code lines read today.
Always restart is needed.

More progress.  Now, the temperature value is showing up in the Controls section (that 2040 is the current temperature - 20.40 Celcius).  The humidity value is still not being read though.

home-assistant.log.zip

Fixed.

Fantastic, thank you very much!  All of the numbers are now coming through in the Control section, even where they were blank before:

I know you've done loads on this already but is there benefit to having the temperature and humidity show up in the Sensor section rather than Controls?
Thank you very much for making this work :)

Sensors are naturally read-only. All of those should be made using newer approach in ZHA.
I need to buy one of these just for testing because debugging it remotely is almost impossible.
You've got a link from Ali where you bought it??

It's this one.  I'm not sure what you mean about the newer approach but really do appreciate the work debugging it remotely for me and getting it working.

I fully agree, really appreciate your work :)

fantasitc work -  but I would also like to see the tempreture and Humitidy come through as a sensor rather than input. Is this possible?

Not for now.

Hi All,
thanks for this thread it was really interesting.
I have also the same Temp/Hum sensor from Tuya, aka TS0601 -  _TZE200_locansqn
I followed the post here:

i can see in the log that i'm receiving packet with temperature:

2023-11-27 20:00:45.590 DEBUG (MainThread) [zhaquirks.tuya] [0xe99b:1:0xef00] Received value [0, 0, 0, 228] for attribute 0x0201 (command 0x0002)

I updated my configuration with custom quirk .py
i can see the sensor :

home-assistant_zha_2023-11-27T19-42-30.512Z.log
I don't see any issue in the global log:

Thanks

Hi All,
I have the same device '_TZE200_locansqn' and encounter the same issue - I only have two hidden entities. How can I get this sensor to work? I'm using the Sonoff_Zigbee_3.0_USB_Dongle_Plus. Do I need to upload something or configure it additionally to display the proper entities?
Will the solution be available in public?

I have the quirk almost ready.
Depending what you using it may be necessary to upgrade Zigbee dongle firmware.
My Sonoff DongleE needed to be upgraded from stock 6.10.3 to 7.3.2 for the quirk to work with that device.

@jacekk015 If I upgrade/update the dongle do I need to rebuild my ZHA network

@darknessblade I didn't have to do it. But first thing to do before upgrade is to download a network backup from HA.

Since a couple of weeks ago, my _TZE200_locansqn stopped showing values in the dashboard. Initially the temp / humidity values froze, but after a few re-pair attempts, they went unavailable.
I was using the previous version of the quirk, haven't change anything in the system. I have tried the latest version of the quirk: It displays a lot of entities, but none of them work, neither the most important, which is the temperature, humidity and batt.
I can get the temperature and humidity readings from the devices if I enter the device management and enquire the specific cluster, despite the device showing offline in the ZHA network.
Another strange thing is that despite not using the same quirk, I have other Sonoff Temp/hum sensor also not working.
Is anyone facing the same issue?

Hi everyone,
I recently purchased a few of these devices and it only shows 2 hidden entities that appears foe everyone else.
I tried following the comments here to solve this but since I'm a noob this is all a bit confusing for me :(
Would anybody be kind enough to explain what I should do to get these to display the temperature and humidity please?
I would be very grateful! Thanks

Hi everyone, I recently purchased a few of these devices and it only shows 2 hidden entities that appears foe everyone else.
I tried following the comments here to solve this but since I'm a noob this is all a bit confusing for me :(
Would anybody be kind enough to explain what I should do to get these to display the temperature and humidity please?
I would be very grateful! Thanks

I recommend reading the following article, it includes an explanation on using this quirk:
https://smarthomescene.com/reviews/zigbee-temperature-humidity-sensor-with-a-screen-sz-t04-review/

Hi,
I have my unit working well with the quirk i just cant figure out how to change the units display from Fahrenhight to Celcius:

Hello
I got this device working using one of the quirks, so thank you for that.
The problem I have is that the update interval is very big, it is tens of minutes, which is really useless for me, as well as annoying. Right now I look at the device and it shows a certain temperature whereas in Home Assistant it displays the temperature from from 20 mins ago.
So the question I have is how to set a lower reporting interval, if that is possible.
I've tried setting the "Number Temperature reporting time" to 1 in device control, I've tried using cluster configuration, some times the new value sticks sometimes does not not, but regardles of what I do, the update frequency is still tens of minutes.
Another, more general question that I have is where to find the latest quirk file in this particular thread. I am not a programmer, I only go on GitHub very sporadically and always find it confusing when it comes to finding the actual files. Thank you

Hi everyone, I recently purchased a few of these devices and it only shows 2 hidden entities that appears foe everyone else.
I tried following the comments here to solve this but since I'm a noob this is all a bit confusing for me :(
Would anybody be kind enough to explain what I should do to get these to display the temperature and humidity please?
I would be very grateful! Thanks

~I recommend reading the following article, it includes an explanation on using this quirk: https://smarthomescene.com/reviews/zigbee-temperature-humidity-sensor-with-a-screen-sz-t04-review/~
Follow the instructions here: jacekk015/zha_quirks README.md

Thank you for this! Unfortunately I've already returned them since I wasn't able to get them to work properly. I might just order another one now that I know how to do it :)

@jacekk015 Can you expect this quirk to become part of default zha, so that we will have it available on default Home Assistant installations?
Would be very nice!

Hello guys,
I just got my devices today, worked throught the whole chat here with all the quirks for "ts0601_temperature.py", but I do not get it working.
The "old approach" quirk has shown at least temperature, humidity and battery, but nothing of all the other sensors and adjustments which were shown in this chat. But when I load ol the others py's mentioned later, then no entities are available except the two hidden.
My question: How do I get a quirk or something like that, which gives me acces to the whole functionality as I can see it when connecting the device to the "Smart Life App" ?
I have also tried to connect the temperature / humidity device via the Tuya Gateway integration, but it is the same thing: no features / entities available. In the Tuya Smart Life App everything works quite well.
The following pictures shows the device after using the last py-file in the chat I found....

I'm lost in space ....
Thank you for your help
Andreas

It was long time but finally got some bigger time chunk to finish it.
Newest quirk using new approach. Tested locally on my own _TZE200_locansqn
After battery take-out and pairing like a new time is synced properly after about 1-3 minutes.
        MODELS_INFO: [
            ("_TZE200_bq5c8xfe", "TS0601"),
            ("_TZE200_locansqn", "TS0601"),
        ],

https://github.com/jacekk015/zha_quirks
ts0601_temphumid.py

Thank you very much for the "reduced" quirk.
I replaced the quirk "ts0601_temperature.py" with the new "ts601_temphumid.py", deleted  the device from ZHA Integration and restarted Home Assistant new. After that I paired the device new.
For me the information is enough. Temperature, humidity an time sync are working fine.
The battery size and quantity are shown correctly,  only the battery and firmware entity are not showing any values.

Any ideas to the missing values of battery and firmware?

Lazy device.  It will then send the battery level. That's just firmware.

Thank you for the quick response. Tried it out with one of three devices. Takes about 5 to 10 seconds the the time is synchronized and the temperature and humidity values are displayed in Home Assistant.
I will wait til tomorrow, may be the missed information is displayed later on.

Thank you for the quick response. Tried it out with one of three devices. Takes about 5 to 10 seconds the the time is synchronized and the temperature and humidity values are displayed in Home Assistant.
I will wait til tomorrow, may be the missed information is displayed later on.

I've experienced this multiple times.. I'd say to try again. Remove the device, reboot home assistant and re-add it again when is all up and running. If your device id matches the one described here, it will end up working.
Also in my experience, all these devices with screen have a poor battery indicator (with new batteries never gets to 100%, while the same batteries on other devices properly show a 100% charge).

@Wanne-E should be updated after few seconds after you put batteries back. I bought that device myself. So that's how behaves mine.

The battery level is already wrong on the device. It indicates low battery but when you recharge it, it only charges about ~150mAh of ~2000mAh capacity.
I really regret buying this TRV.

 Try how long they actually last (I recharge them once in winter and once in summer. Though they actually might last even @.+41 76 33 99 007On 22 Mar 2024 11:09, robbionline @.> wrote:
The battery level is already wrong on the device. It indicates low battery but when you recharge it, it only charges about ~150mAh of ~2000mAh capacity.
I really regret buying this TRV.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

You are creating fake problems. Spec and manual says 3x1.5V batteries. Why then do you expect device to behave different?
You can always modify the quirk code and and do your own correction.

Thank you so very much for making and sharing this! It is working for me in all areas but one. I cannot figure out how to change from Celsius to Fahrenheit on the display. Here is what I tried:
In Home Assistant I went to the Zigbee device and opened "Manage Zigbee device". I changed the Cluster to TuyaTemperatureMeasurement and changed "Attributes of the selected cluster" to "temp_unit_convert". From there I did a Read Attribute to see what the current value was and I got "enum8.undefined_0x00" which I expected when looking at the ts0601_temphumid.py. So, I changed the value to "enum8.undefined_0x01" and hit Write Attribute.

I've tried this a couple times on three different sensors and they all only display Celsius still. I knew that the time took a little bit to update so I left if overnight and nothing happened still. Am I even doing this correctly?

@Trevo525 You've got switch in HA for that.

Maybe I don't understand Home Assistant enough. But, by "switch" do you mean entity? I don't see anything that could be what you are referring to... Thanks for your help!

Look at the Device page in HA. In the Controls section, there should be a switch entity just called "Switch". It could be more clearly named...

Ah, I don't have any of those controls. I probably need to remove them and add them back and see if that helps. Thanks both of you!

Not sure which quirk you use but I've recently updated one with ts0601_temphumid.py file at
https://github.com/jacekk015/zha_quirks
So you should have switch for Celsius/Fahrenheit, sensitivity slider and two sensors.

Using the same Quirk: https://github.com/jacekk015/zha_quirks/blob/main/ts0601_temphumid.py
No Celsius/Fahrenheit, sensitivity slider.
Same firmware

@roberthaugen73 ekhm... I've probably been runing my local dev version - file below
ts0601_temphumid.py.zip

Thanks :-)

Quirk officially updated.

@jacekk015 I just want to thank you, this quirk and sensor integration was the best experience I got with custom ZHA quirks.

I have an issue with one of my three devices, two shows the battery fine, the other one shows battery as 129% , and its an EYE icon instead of the battery the other ones have.
I attached a screenshot, the signature, and diagnostic.
Running latest HA, but have not downloaded the quirk by it self.

Signature.json
zha-f4456a2b1c843afc3be4f4d39b812449-_TZE200_locansqn TS0601-eb22b0973a4fbb81c82e0b363730ed82.json

@jacekk015, will this quirk become part of default ZHA, so that we will have it available on a fresh Home Assistant installation?

Spoke to soon, this morning, my third temp sensor is back to showing 133% battery level, and an Eye icon, instead of battery level icon. Same as yesterday morning, before I downloaded the latest quick and restarted and re-integrated.
Hmm

Thank you for the quirk sir!
I used it with my two sensors but unfortunately, one of them got stuck in Fahrenheit and no position of the switch seemed to get it unstuck. I tried all the spells from the "switch it off and then on again" manuscript -- nothing helped. Could anyone around here suggest a spell that might?

If it's paired properly try to push the top button, a moment before switching the switch in HA.
Device needs to be waken up to react.
Push button should also send temp/humid update to HA.
Those devices has very strong battery saving approach.

Sir, you are the true kung of your fu, that worked a treat. Wake up the device, flick the switch a second after and -- boom! We're now talking Celsius!
Thank you.

I have two of the TZE200_locansqn devices and am trying to use them with ZHA. I have the latest quirk installed and HA sees them just fine.
Problem is I can't figure out how to switch the display from Celsius to Fahrenheit. I woke up the device then used the switch and home assistant shows the temperature in F, but the display on the device itself still says Celsius. Has anyone solved this?


Fails to build on Raspbian ARM 7

Describe what happened:
Compiled Go for ARM 7 and installed on device
Installed other dependencies as guided by documentation
Ran pipenv run invoke agent.build --build-exclude=snmp
Received this output:
# github.com/DataDog/datadog-agent/pkg/collector/py
pkg/collector/py/datadog_agent.go:176:16: type [1073741824]*_Ctype_char larger than address space
pkg/collector/py/datadog_agent.go:176:16: type [1073741824]*_Ctype_char too large
pkg/collector/py/datadog_agent.go:286:17: type [1073741824]*_Ctype_char larger than address space
pkg/collector/py/datadog_agent.go:286:17: type [1073741824]*_Ctype_char too large

Describe what you expected:
Expected agent to build
Steps to reproduce the issue:
Attempt to compile on ARM 7 device
Additional environment details (Operating System, Cloud provider, etc):
Output of go version: go version go1.11 linux/arm
Python version in pipenv: Python 2.7.13
Pipfile:
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[dev-packages]

[packages]
invoke = "==1.0.0"
reno = "==2.9.2"
docker = "==3.0.1"
requests = "==2.19.1"
toml = "==0.9.4"
PyYAML = "==3.13"

[requires]
python_version = "2.7"

lsb_release output:
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.4 (stretch)
Release:        9.4
Codename:       stretch

Processor model name: ARMv7 Processor rev 4 (v7l)
Repo commit is tag 6.5.2

Hi @TheBeege,
On ARM, the official way of building the agent is building the puppy version of the agent by running
invoke agent.build --puppy

You'll get a lightweight version of the agent at the price of less features (see: https://github.com/DataDog/datadog-agent/issues/1069#issuecomment-358569106)
You can also play with the build tags that are in tasks/build_tags.py. It can be useful if you want to enable some features like docker and kubernetes integrations, but it's not officially supported. However, you won't be able to build it with the cpython flag
Let me know if that works

@achntrl thanks for the reply! Does the pupper version support capturing and sending off systemd logs? That's our primary use case, currently.
I'll see if I can get some time today on our test device to give this a go

Oh, I succeeded with puppy, but I do have other, related questions.
I'd much prefer to package things with omnibus, but based on what I'm seeing, it does appear like I can include/exclude tags (https://github.com/DataDog/datadog-agent/blob/master/tasks/agent.py#L221). I was able to get a package out of omnibus using the puppy flag, but I can't get a normal build working (likely due to it choking on cpython). Is there a way to do a normal build with omnibus and excluding the packages you mentioned?
Also, to make sure I'm understanding things correctly, it looks like the Debian package produced by a puppy omnibus build doesn't setup a service unit or the /etc/datadog-agent folder, correct?

Glad to hear it works!
You don't have the --build-exclude option on the omnibus, it's either the default flags (and that won't work because cpython is included) or the puppy build.
It's strange that you have the puppy build working with systemd. Did you manually add some flags in the puppy tags ? (https://github.com/DataDog/datadog-agent/blob/master/tasks/build_tags.py#L30)

I realized it's not actually working with systemd. It's just grabbing the syslog, which we have systemd logging to. My mistake. Regardless, it got us what we were looking for 😄


Ch  fix store front style

Description
Mainly fixed the storefront font size issues and couple minor functionality bugs.
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

Checklist
Remove any items which are not applicable.

[x] I have performed a self-review of my own code
[x] My code follows the style guidelines of this project

Link to Trello card
https://trello.com/c/J7wpGBBz/138-fix-css-in-store-front

Looks good, Andy! The only things I noticed; 'variant' was spelled incorrectly on the inventory screen and the error messaging is still super tiny after logging into the application.


Disable test/kotlin/integration tests for Mac

See Issue 1932
Description: Allows PR to be submitted - now currently blocked by systematic failures.
Risk Level: small
Testing: removes testing
Docs Changes: N/A
Release Notes: N/A

@buildbreaker why do we run the same tests suite in mac and linux?


updateSize internal error

This is a (multiple allowed):

[x] bug

[ ] enhancement

[ ] feature-discussion (RFC)

Swiper Version: 4.5.1.

Platform/Target and Browser Versions: All os's and all browsers

Live Link to website with isssue: https://www.winlotto247.com/

What you did
The following function is run within ngOnInt():
`    combineLatest(this.breakpoint$, this.lotteriesLoaded$, this.heroSlides$)
.pipe(
takeUntil(this.ngUnsubscribe),
)
.subscribe(([breakpoint, lotteriesLoaded, slides]) => {
if (lotteriesLoaded) {
this.breakpoint = breakpoint;
this.isMobile = breakpoint === BREAKPOINT.MOBILE;
this.heroSlides = slides[this.platform].filter(slide => {
// filter out highest jackpot slides if we don't have a highest jackpot
if (slide.acf.slide_type !== 'highest_jackpot' || (slide.acf.slide_type === 'highest_jackpot' && this.store.selectSnapshot(LotteryState.highestJackpot))) {
return true;
} else {
return false;
}
});
      if (this.heroSlides.length > 0) {
        this.swiper !== undefined ? this.swiper.update() : this.swiperInit();
      }
    }
  });`

The above code runs when our lotteries have been returned via the back-end, we then grab the slides and assign it to a variable, we then check that the slides have been assigned before either calling swiper.update() or swiperInit() depending if swiper has already been initialised or not.
If swiper has not been initialised, the following function is run:
` private swiperInit() {
setTimeout(() => {
this.swiper = new Swiper('.hero .swiper-container', {
// Optional parameters
direction: 'horizontal',
loop: false,
//initialSlide: this.activeIndex,
navigation: {
nextEl: '.hero .swiper-button-next',
prevEl: '.hero .swiper-button-prev',
},
pagination: {
el: '.hero .hero-pagination',
clickable: true
}
  });

  this.autoLoop = setInterval(() => {
    if (!this.allowSlideNext) {
      clearInterval(this.autoLoop );
    }

    let index = this.swiper.activeIndex
    if (index < this.heroSlides.length -1 ) this.swiper.slideNext();
    else  this.swiper.slideTo(0, 300, true);
  }, 5000)
}, 100);

}`
Expected Behaviour
Swiper initialises with no errors
Actual Behaviour
Swiper does initialise fine, however the following error is shown within the console of the browser
ERROR TypeError: Cannot read property '0' of undefined     at x.updateSize (vendor.db36f7f5199253cecd37.js:1)     at x.update (vendor.db36f7f5199253cecd37.js:1)     at t._next (main.188e87fdc66b18669179.js:1)     at t.__tryOrUnsub (vendor.db36f7f5199253cecd37.js:1)     at t.next (vendor.db36f7f5199253cecd37.js:1)     at t._next (vendor.db36f7f5199253cecd37.js:1)     at t.next (vendor.db36f7f5199253cecd37.js:1)     at t._next (vendor.db36f7f5199253cecd37.js:1)     at t.next (vendor.db36f7f5199253cecd37.js:1)     at t._next (vendor.db36f7f5199253cecd37.js:1)
P.S. Remember, an issue is not the place to ask questions. You can use Stack Overflow
for that.
Before you open an issue, please check if a similar issue already exists or has been closed before.

Swiper 4.x is not maintained anymore


Make 0.19 brokers compatible with 0.18 router

Description
In 0.19, Brokers gained the ability to serve segments. To support this change,
a BROKER ServerType was added to druid.server.coordination.
Druid nodes prior to this change do not know of this new server type and so
they would fail to deserialize this node's announcement.
This change makes it so that the broker only announces itself if the segment
cache is configured on the broker. It is expected that a Druid admin will only
configure the segment cache on the broker once the cluster has been upgraded
to a version that supports a broker using the segment cache.

This PR has:

[ ] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

Key changed/added classes in this PR

ServerRunnable
StorageNodeModule

Marking as WIP to get early feedback on the approach.
Manually tested in a mixed cluster running 0.17 and 0.19 as well as a quickstart cluster with the broker configured to serve segments.
This change needs:

Tests
Maybe move binding isSegmentCacheConfigured out of StorageNodeModule, so that the binding is only available in a broker node

This change makes it so that the broker only announces itself if the segment
cache is configured on the broker. It is expected that a Druid admin will only
configure the segment cache on the broker once the cluster has been upgraded
to a version that supports a broker using the segment cache.

Marked "release notes" because we should have a note mentioning this in the "upgrading" section.


Heap histogram and dedicated parameters parsing code

This PR integrates polarbear heap histogram code into jvmkill agent. Apart from this, the code for parsing agent parameters has been moved to a new ParametersParser class that creates AgentParameters structs from agent command line parameters. Also there were changes to the jvmkill.c++ in order to extract the logic that mediated the OOM events between the Heuristics implementation and the registered actions this resulted in the new class AgentController that aims to hold all this responsibility and also to make tests easier, turning jvmkill.c++ in a simple "glue" between the JVM and our agent.

Thanks @rafaelri. I notice the PolarBear code is not MIT licensed, contrary to what we thought, so I'm checking the acceptability of the license.

@glyn ok. I guess we have two possibilities: rewritting without anything
from Polarbear code or I guess (if the combination thing is the issue with
the Polarbear license and not its distribution) perharps we could make it a
separate .so, dlsym it and call it from ours (ugly but still a possibility
isn't it?). Although I really feel like rewritting is our best option.
2016-04-22 10:14 GMT-03:00 Glyn Normington<EMAIL_ADDRESS>
Thanks @rafaelri https://github.com/rafaelri. I notice the PolarBear
code is not MIT licensed, contrary to what we thought, so I'm checking the
acceptability of the license.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/cloudfoundry/jvmkill/pull/2#issuecomment-213424539

@rafaelri I agree rewriting the PolarBear code is the best option and I'll start looking into that today.

@glyn nice. Let me help you on this. I hope next week I'll have time to
work on it.
Em 25/04/2016 04:25, "Glyn Normington"<EMAIL_ADDRESS>escreveu:

@rafaelri https://github.com/rafaelri I agree rewriting the PolarBear
code is the best option and I'll start looking into that today.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/cloudfoundry/jvmkill/pull/2#issuecomment-214179658

Hi @rafaelri. @cgfrost took your PR, deleted the PolarBear code, and pushed it to a new PolarBear-ReWrite branch. I quickly stubbed out the histogram printing function to get the code to compile. There is a build error on mac os x which we need to look into, but hopefully the branch should build ok on Linux, although I haven't had a chance to try it.
If you want to take a crack at the rewrite, please do it without reference to the PolarBear code to avoid copyright contamination. I suggest using JVMTI FollowReferences to traverse all the live objects in the heap. We can set a tag when we visit an object for the first time and then check that the tag isn't the one we set before we visit an object and set the "visit control flags" to zero if we have already visited the object (and therefore don't want to visit it again) and to JVMTI_VISIT_OBJECTS is we haven't already visited the object. We need to choose a tag suitably so that it is unlikely to have already been used. As we traverse the heap, we need to accumulate the number of objects of each class and the total memory consumed by the objects of each class in order to print out the histogram. I guess we'll need a datastructure such as a hashtable to record the data for each class. We also need to be able to enumerate the classes in the hashtable, so we might need to keep a separate list depending on what kind of hashtable we use (my C++ is decades old and therefore very rusty).
How does that sound? Have you any better ideas?

Hi @glyn as I told you this week will be tough for me but I'll have a look
at the documentation you sent. Hopefully next week I'll be able to work on
this.
2016-04-25 13:09 GMT-03:00 Glyn Normington<EMAIL_ADDRESS>
Hi @rafaelri https://github.com/rafaelri. @cgfrost
https://github.com/cgfrost took your PR, deleted the PolarBear code,
and pushed it to a new PolarBear-ReWrite branch. I quickly stubbed out
the histogram printing function to get the code to compile. There is a
build error on mac os x which we need to look into, but hopefully the
branch should build ok on Linux, although I haven't had a chance to try it.
If you want to take a crack at the rewrite, please do it without reference
to the PolarBear code to avoid copyright contamination. I suggest using JVMTI
FollowReferences
http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#FollowReferences
to traverse all the live objects in the heap. We can set a tag when we
visit an object for the first time and then check that the tag isn't the
one we set before we visit an object and set the "visit control flags" to
zero if we have already visited the object (and therefore don't want to
visit it again) and to JVMTI_VISIT_OBJECTS is we haven't already visited
the object. We need to choose a tag suitably so that it is unlikely to have
already been used. As we traverse the heap, we need to accumulate the
number of objects of each class and the total memory consumed by the
objects of each class in order to print out the histogram. I guess we'll
need a datastructure such as a hashtable to record the data for each class.
We a lso need to be able to enumerate the classes in the hashtable, so we
might need to keep a separate list depending on what kind of hashtable we
use (my C++ is decades old and therefore very rusty).
How does that sound? Have you any better ideas?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/cloudfoundry/jvmkill/pull/2#issuecomment-214421207

@rafaelri no problem. We just need to share whatever progress we make so that we don't duplicate effort.

@glyn do you have any suggestions for sharing the progress? And also I'll
have the monday morning free I guess we could do a huge progress on this
next monday.
Em 26/04/2016 05:15, "Glyn Normington"<EMAIL_ADDRESS>escreveu:
@rafaelri https://github.com/rafaelri no problem. We just need to share
whatever progress we make so that we don't duplicate effort.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/cloudfoundry/jvmkill/pull/2#issuecomment-214663864

@rafaelri We should simply push our work to a branch each day we get to work on this and drop a comment in this issue to say how far we've got. Please note next Monday is a public holiday in the UK, so I won't be around.

@rafaelri I'm assuming you haven't made any progress in the last couple of weeks. I'll see what I can do today and push that.

Yep. Last minute personal problems to solve but I'll be online soon and
although I didn't finish any production code I made some progress.
Em 09/05/2016 05:47, "Glyn Normington"<EMAIL_ADDRESS>escreveu:

@rafaelri https://github.com/rafaelri I'm assuming you haven't made any
progress in the last couple of weeks. I'll see what I can do today and push
that.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/cloudfoundry/jvmkill/pull/2#issuecomment-217809149

@rafaelri Ok, hope things work out. Meanwhile, I'm trying to understand why the PolarBear-ReWrite branch which includes your changes, fails to build with:
dlsym(0x7fdf0bc03380, resourceExhausted): symbol not found

in the ctests make target. At master, where this test passes, there is a _resourceExhausted symbol in the resultant libmjvmkill.so, but with the PolarBear-ReWrite branch, the symbol is mangled to __Z17resourceExhaustedP9_jvmtiEnvP7JNIEnv_iPKvPKc.

Missing the nomangle cpp directive? But why??? It was already there...
anyways I will be online in a few minutes. Traffic jams are the rule in
Brazil and when it rains things get really messy...
Em 09/05/2016 06:58, "Glyn Normington"<EMAIL_ADDRESS>escreveu:

@rafaelri https://github.com/rafaelri Ok, hope things work out.
Meanwhile, I'm trying to understand why the PolarBear-ReWrite branch which
includes your changes, fails to build with:
dlsym(0x7fdf0bc03380, resourceExhausted): symbol not found
in the ctests make target. At master, where this test passes, there is a
_resourceExhausted symbol in the resultant libmjvmkill.so, but with the
PolarBear-ReWrite branch, the symbol is mangled to
__Z17resourceExhaustedP9_jvmtiEnvP7JNIEnv_iPKvPKc.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/cloudfoundry/jvmkill/pull/2#issuecomment-217823938

@rafaelri ok. I think agentcontroller.c++ might need a bit of rework too, e.g. to enable setSignal to be passed down (but only to the kill action?!).

@rafaelri BTW, I think we can avoid testing parameter parsing in the ctests make target now you have separated out parameter parsing into a separately tested C++ file. This will simplify the interface that agentcontroller.c++ needs to support.

@rafaelri I wonder if we should avoid exposing setSignal from the shared library altogether so that both actions can implement the same interface? But the C tests need to set the signal to something benign, so it might be necessary to add a parameter for configuring the signal that killaction drives. Or something like that. Essentially, it's a pain in the neck to downcast an action to a killaction and this becomes much worse when there are more than one action around.

@glyn I just checked out the PolarBear-ReWrite branch. I am also thinking whether we could avoid the tests.c altogether now since the rest is being testes separately. What do you think? We could let this be testes on the integrated tests (the one with the JVM itself). BTW, if you prefer (instead of chatting here) my skype and hangout accounts are the same as my github user, feel free to add.

@glyn killactionstests.c++ tests whether we send the signal and allows overriding so test can run fine. So, we have signal sending tested. Next thing I see is that agent controller mocks out killaction.c++ and hence we can assure that if in the final code we have the right KillAction class it will be called. I completely agree with you that we don't need these tests (tests.c) anymore.

@glyn to be sincere this was part of the reasoning behind this refactoring (removing this code from the jvmkill.c++)

@glyn returning to the histogram. I had the impression we could adopt a really simple approach but I just noticed it reports unreachable instances and doesn't report instance count. I'll post it here but disregard it completely: We could list the loaded classes using [GetLoadedClasses] (http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#GetLoadedClasses) and then call [IterateThroughHeap] (http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#IterateThroughHeap) for each class and store it in a list that contains a class with the following attributes: (class signature) [http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#GetClassSignature] heap size [returned from this callback] (http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#jvmtiHeapIterationCallback). The last step would be to sort this class using a comparator based on the size field.
But as I said... it won't suffice.

@rafaelri I have meetings the rest of the day, so can't hangout or skype
today unfortunately. I agree that we could reasonably drop the C tests.
As for the histogram, iterating through the whole heap should sometimes
give a good approximation since presumably the garbage collector will have
done a full GC before OOM is raised. However, the histogram function will
currently also run when the JVM has run out of threads, so there could be
lots of dead objects on the heap in that case.
Therefore, we should iterate over the live portion of the heap using a
function such as IterateOverReachableObjects and set our own tag to
detect when we are revisiting the same object (graph) and avoid counting
the same object twice.
Please could you prioritise getting the build clean with the stubbed out
histogram code (as at the tip of the PolarBear-ReWrite branch)? Once we
have the structure right, we can implement the histogram function fairly
easily I think.
On Mon, May 9, 2016 at 12:36 PM, Rafael de Albuquerque Ribeiro <
<EMAIL_ADDRESS>wrote:

@glyn https://github.com/glyn returning to the histogram. I had the
impression we could adopt a really simple approach but I just noticed it
reports unreachable instances and doesn't report instance count. I'll post
it here but disregard it completely: We could list the loaded classes using
GetLoadedClasses
http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#GetLoadedClasses
and then call IterateThroughHeap
http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#IterateThroughHeap
for each class and store it in a list that contains a class with the
following attributes: (class signature) [
http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#GetClassSignature]
heap size returned from this callback
http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#jvmtiHeapIterationCallback
. The last step would be to sort this class using a comparator based on the
size field.
But as I said... it won't suffice.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/cloudfoundry/jvmkill/pull/2#issuecomment-217841506

--
Regards,
Glyn

@glyn ok! I'll focus on that!
2016-05-09 9:27 GMT-03:00 Glyn Normington<EMAIL_ADDRESS>
@rafaelri I have meetings the rest of the day, so can't hangout or skype
today unfortunately. I agree that we could reasonably drop the C tests.
As for the histogram, iterating through the whole heap should sometimes
give a good approximation since presumably the garbage collector will have
done a full GC before OOM is raised. However, the histogram function will
currently also run when the JVM has run out of threads, so there could be
lots of dead objects on the heap in that case.
Therefore, we should iterate over the live portion of the heap using a
function such as IterateOverReachableObjects and set our own tag to
detect when we are revisiting the same object (graph) and avoid counting
the same object twice.
Please could you prioritise getting the build clean with the stubbed out
histogram code (as at the tip of the PolarBear-ReWrite branch)? Once we
have the structure right, we can implement the histogram function fairly
easily I think.
On Mon, May 9, 2016 at 12:36 PM, Rafael de Albuquerque Ribeiro <
<EMAIL_ADDRESS>wrote:

@glyn https://github.com/glyn returning to the histogram. I had the
impression we could adopt a really simple approach but I just noticed it
reports unreachable instances and doesn't report instance count. I'll
post
it here but disregard it completely: We could list the loaded classes
using
GetLoadedClasses
<
http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#GetLoadedClasses
and then call IterateThroughHeap
<
http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#IterateThroughHeap
for each class and store it in a list that contains a class with the
following attributes: (class signature) [

http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#GetClassSignature
]

heap size returned from this callback
<
http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#jvmtiHeapIterationCallback
. The last step would be to sort this class using a comparator based on
the
size field.
But as I said... it won't suffice.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/cloudfoundry/jvmkill/pull/2#issuecomment-217841506

--
Regards,
Glyn
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/cloudfoundry/jvmkill/pull/2#issuecomment-217850629

@glyn commited the code without the tests.c in a branch on my account (PolarBear-ReWrite). I'll attempt to implement the histogram using IterateOverReachableObjects as you suggested.

Thanks @rafaelri. Your branch builds cleanly on Mac. I'll be going back to
this on Monday, so please push any histogram code you manage to write
before then, if you would like me to take a look or add to it. I'm not
quite sure of the semantics of tags, but picking a "random" tag each time
you need to iterate over the heap is probably not a bad starting point.
On Thu, May 12, 2016 at 12:15 PM, Rafael de Albuquerque Ribeiro <
<EMAIL_ADDRESS>wrote:

@glyn https://github.com/glyn commited the code without the tests.c in
a branch on my account (PolarBear-ReWrite). I'll attempt to implement the
histogram using IterateOverReachableObjects as you suggested.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/cloudfoundry/jvmkill/pull/2#issuecomment-218728397

--
Regards,
Glyn

@glyn me too. I've just spent some time reading the documentation around tags but I am still unsure on how to use them. I'll let you know if I find something relevant over here.

@rafaelri I've sent you a skype contact request so we can chat about tags.

Closing out now the heap histogram function has been integrated into master. Thanks @rafaelri for your work on this!


api: don't attempt to set unix domain socket group to cilium

Since commit 67f74ff43201 ("images/cilium: remove cilium group from
Dockerfile") the cilium group is no longer created in the image running
the agent, resulting in the following log message on cilium-agent start:
level=info msg="Group not found" error="group: unknown group cilium" file-path=/var/run/cilium/cilium.sock group=cilium subsys=api

Setting the group is no longer necessary, so that part of
SetDefaultPermissions.

/test

Added a second commit to drop the cilium group from dev and test VMs as well. This should fix the failing runtime tests.

/test

/test-runtime

/test-runtime

/test-runtime

/test-runtime

/test-runtime

/test


Tensorflow import fails with Segmentation fault error

Hello
I have pip3 installed tensorflow CPU only
Python version:  3.5.2
OS:LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 6.8 (Santiago)
Release:        6.8
Codename:       Santiago
Install command: pip3 install tensorflow
echo $LD_LIBRARY_PATH
:/usr/local/lib:/grapps/hadoop/instantclient/instantclient_11_2:/usr/local/lib:/opt/glibc-2.14/lib
Python 3.5.2 (default, Mar 23 2017, 07:51:35)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux
Type "help", "copyright", "credits" or "license" for more information.

import tensorflow
Segmentation fault

Also tried to import scipy,numpy and matplotlib before importing tensorflow as per suggestion seens in some other cases https://github.com/tensorflow/tensorflow/issues/2034.
But nothing solved the issue.
Thanks for the advice
Abraham

I'm sorry but we aren't able to provide support for Red Hat Linux. Tagging with community support.

Please try to test with latest tested builds here https://www.tensorflow.org/install/source#tested_build_configurations, which will resolve the issue. Thank you


import records in 202103

Describe the bug
when i import records in version 202103, if the records file is larg then 4KB, can't import all the records.

@leenchou1981 I've addressed a similar issue earlier today that should also resolve your issue.
If you are able, please share the CSV file (or a variation of it) in case there is something else off with it.

ref: https://github.com/cortezaproject/corteza-server/issues/177


New logo looks really grainy on the OS X Dock

The new logo looks really grainy compared to some of the others:

It's a harmless cosmetic issue, obviously, but I figure it's something you might want to fix.

Duplicate of #601
Already fixed. Thanks for report anyway.

Ah OK, sorry about that. I looked for "logo" instead of "icon" before posting, so I missed #601.

Well, old logo was awesome, too bad it changed. Still love DBeaver though

What is wrong with new logo?

@serge-rider The logo has a black background in the Launchpad of Macbook Retina (OSX10.11/10.12) since updated a new one.

:(
It is strange that on my local machine it looks ok (black background is transparent).
I'll talk with MacOS guys, hopefully somebody will make icns better..

 But in my honest opinion the old logo looked better, more detailed and professional, while the new one looks simple and cartoonistic, take a look :
 vs
Just look at this 8MB masterpiece !

But Serge, I can't help but feel curious, is there a reason behind the logo change ? Copyrights or something ?

There is only one reason - I like new logo more than old one. New guy is more clearly a beaver (and it is easier to scale).
There are no copyright issues, both icons were drawn specifically for DBeaver.

Aha, I see.

I am also seeing the black background that @ydq reported. The strange thing is that the black background shows up in the dock on my main screen, but not when I pull up the dock on my external monitor. Same goes for when I pull up Launchpad.

Problem with black background was resolved in #759, thanks to @josemodena


⚠ BCR Bot has degraded performance

In 4b0fca4, BCR Bot (https://bcr.alternativasinteligentes.com/BCRApi/web/chatbot) experienced degraded performance:

HTTP code: 200
Response time: 1219 ms

Resolved: BCR Bot performance has improved in c299ef3.


Formal expression is not wrapped into CDATA

Describe the bug
The formal expression is not wrapped into CDATA
To Reproduce
Store exclusive gateway with formal expression
the result is:
<conditionExpression xsi:type="tFormalExpression">${data.isAvailable(CONTEXT)}</conditionExpression>

conditionExpression should be CDATA

Need to validate it is really severe


Whether possible to use the explainer for the other dataset

Hi,
Thank you for sharing this great work. I am new to the Tf.js. I wonder if I finetune the tiny-VGG to the dataset dog vs cat, can the JS automatically to explain the dog vs cat model? Or I have to rewrite the js part. Thx.

Hey, this is a duplicate of #9


Arabic Numeric Shaping Support

Arabic and many other languages have classical shapes for digits (National Digits) That are different from the conventional Western Digits (European). Arabic digits have the same semantic meaning as the European digits. The difference is Only a difference in glyphs.
This module is used to shape the digits contained in any string from Arabic to European And vice versa.

Hi @AhmedMustafa,
Thank you for taking your time to contribute to Globalize.
I've noticed your solution doesn't make use of CLDR nor reuse any Globalize methods (e.g., number formatter).
As far as I understood, your change converts digits from Latin to Arabic and vice-versa in a hardcoded way (e.g., code). On Globalize, you can use formatNumber() to actually do this conversion not only from latin to arabic, but between any non-algorithmic numbering systems specified in CLDR (http://unicode.org/repos/cldr/trunk/common/bcp47/number.xml). Can we re-use that instead in your code.
For example:
Globalize("en").formatNumber(123);
// > '123'
Globalize("ar").formatNumber(123);
// > '١٢٣'
Globalize("bn").formatNumber(123);
// > '১২৩'
Globalize("th-u-nu-thai").formatNumber(123);
// > '๑๒๓'
You may notice that other Globalize modules (for example, the date module) uses the number module under the hoods. So, it can format the Date digits in the right way:
Globalize("en").formatDate(new Date());
// > '8/26/2015'
Globalize("ar").formatDate(new Date());
// > '٢٦/٨/٢٠١٥'
Globalize("bn").formatDate(new Date());
// > '২৬/৮/২০১৫'
Globalize("th-u-nu-thai").formatDate(new Date());
// > '๒๖/๘/๒๐๑๕'
I am wondering if it's possible to extract the essence of your problem and come up with a more general purpose solution that works for a wider ranger of scripts.
I'm copying @jquery/globalize team to give their input.

Thanks Rafael for reviewing this PR.
Firstly, let me mention that the scope of my task is to convert numerals from European to Arabic & from Arabic to European only.
The conversion between any other numbering systems is outside the scope of my task.
Numeric shaping & numeric formatting are two different processes. Shaping deals with digits shapes(glyphs) while formatting deals with the format. One can take place after the other.
Because its main purpose is to do contextual digit shaping (& unlike formatNumber), shaper.shape() operates on any input string(numbers & characters) not only numbers. Also shaper.shape() can take Arabic numerals(U+0660 to U+0669) as input & convert it to European numerals(U+0030 to U+0039) -which I think is not applicable using formatNumber.
So using formatNumber will not be applicable as it is not just converting from European numerals to Arabic numerals, we also have to convert from Arabic to European as well.
And as we make contextual shaping, we must be aware of the surrounding characters. So we have to deal with characters as well as numbers.- and this is also another thing that formatNumber cannot handle.
Finally, If we are going to support the conversion to/from any other systems, we have to calculate the range of digits, strong characters & weak characters in every system we are going to support. And I find this outside the scope of my task now. So please accept this as a simple Arabic-European numeric shaping feature for the moment & to extend this feature in future updates.

Currently this sounds like the shaper can and should be a standalone library, because it doesn't reuse anything from Globalize and tackles a separate usecase with little or no overlap.

@jzaefferer's conclusion is the same I have. We're open to add new features as long as there's correlation, for example, anything based on the CLDR spec or Ecma-402 would be a good start.
Thanks for considering add this feature to Globalize. You are welcome to keep involved. We'd love to see further contributions from you.

@rxaviers we can certainly provide shaping functionality for a wider range of scripts not only for Arabic.
It is also clear that any formatting function from Globalize (or outside of it), will use the shaper in exactly the way you described earlier:
Globalize("ar").formatNumber(123);
Globalize("th-u-nu-thai").formatDate(new Date());
Globalize("he").messageFormatter("breadcrumb")([ "first123", "second345", "third678" ])
Namely for scripts for which shaping makes sense and is defined in CLDR appropriate shaper will be invoked in the appropriate format functions.
Apologies for my ignorance. Does the fact that ticket is closed means PR can be submitted ?

Related issue is "Message formatting dependent on base text direction (Bidi support)" #539

Information about numbering system used by different languages / locales is available from CLDR: http://cldr.unicode.org/translation/numbering-systems

By the Hebrew numerals discussed in "General purpose API for converting regular numerals to Hebrew ones"  #537 belong to the same category.

Awesome. Reopened it. Feel free to force push to the same branch of this original PR ACGC:numericShaping3 or to submit a new one. Thanks

Closing it in favor of #553.


Vercel build

Docs on Vercel
Specify engine to match .nvmrc
Move bundle analyzer to deps, otherwise vercel would error out

@kylehotchkiss can you give this a review?


Saved Events Persist on Refresh

Saved Events Persist on Refresh
User Story
AS AN employee with a busy schedule
I WANT to add important events to a daily planner
SO THAT I can manage my time effectively
Acceptance Criteria
GIVEN I am using a daily planner to create a schedule
WHEN I refresh the page
THEN the saved events persist

When the page refreshes or reloads the getData function will retrieve previously saved data for each time block.  More detailed information is included in the commit messages of the feature/retrieve-data branch if desired.


Misconfiguration in "close-typos-issues.yaml" workflow file

Describe the bug

A job named "build" was defined in the ".github/workflows/close-typos-issues.yaml" file but steps are not defined. This throws an invalid workflow file error.

Expected behaviour

"close-typos-issues.yaml" attempts to define a GitHub Actions workflow to close issues automatically if they are labelled "typo".

Actual Behavior
throws an invalid workflow file error.
Additional context
Apart from correcting the above mistake, some work is needed to be done to define the GitHub Actions workflow to close issues automatically if they are labelled "typo".

Can I work on this?

can I work on this issue ? @slashben

can I work on this issue ? @slashben

@ryuusama09  I've already solved it and raised a PR

can I work on this issue ? @slashben

@ryuusama09 I've already solved it and raised a PR
oh okay


Warn when user passes a nil Context

context package says,

Do not pass a nil Context, even if a function permits it. Pass context.TODO if you are unsure about which Context to use.

Yet, Go users seem to think passing nil Contexts is valid behavior and expecting packages to handle the case where context is nil.
In order to be able to communicate the expectation from the user, warn if they pass nil.

Hey @dominikh, how frequent were failures caught by this check?

@dsnet I hadn't checked yet (frequency isn't a primary criterion for staticcheck, and my primary corpus is from pre stdlib context days).
I can start a run on a newer corpus tonight  and tell you the results tomorrow.


Error: You cannot upload file for not persisted record. Save record first

My Setup
Schema -
export const UploadedFile = new mongoose.Schema({
  path: String,
  type: String,
  size: Number,
  folder: String,
  filename: String,
});

export const Pods = mongoose.model('Pods', {
  name: {
    type: String,
    required: true,
  },
  message: {
    type: String,
    required: true,
    defualt: '',
  },
  uploadedFile: UploadedFile,
});

config --
 {
      resource: Pods,
      options: {
        parent: 'Manage Groups',
        properties: {},
      },
      features: [
        uploadFeature({
     provider: { local: { bucket: 'uploads' } },
          properties: {
            key: 'uploadedFile.path',
            bucket: 'uploadedFile.folder',
            mimeType: 'uploadedFile.mime',
            size: 'uploadedFile.size',
            filename: 'uploadedFile.filename',
            file: 'uploadFile',
          },
        }),
      ],

Express -
app.use('/uploads', express.static('uploads'));

I get this error on trying to upload an image on a record. Looking at the code it seems that this is result of a record without an id. But my record has an id to confirm i created a new record without uploading an image and then tried to upload with the same result.
Everything else works fine its only the image upload thats not working. Would appreciate any help.
Thanks.

I am sorry, but I cannot see error here? You forgot to put it in?

@SimonB407 This is the error I am facing

My Setup
Schema -
export const UploadedFile = new mongoose.Schema({
  path: String,
  type: String,
  size: Number,
  folder: String,
  filename: String,
});

export const Pods = mongoose.model('Pods', {
  name: {
    type: String,
    required: true,
  },
  message: {
    type: String,
    required: true,
    defualt: '',
  },
  uploadedFile: UploadedFile,
});

config --
 {
      resource: Pods,
      options: {
        parent: 'Manage Groups',
        properties: {},
      },
      features: [
        uploadFeature({
     provider: { local: { bucket: 'uploads' } },
          properties: {
            key: 'uploadedFile.path',
            bucket: 'uploadedFile.folder',
            mimeType: 'uploadedFile.mime',
            size: 'uploadedFile.size',
            filename: 'uploadedFile.filename',
            file: 'uploadFile',
          },
        }),
      ],

Express -
app.use('/uploads', express.static('uploads'));

I get this error on trying to upload an image on a record. Looking at the code it seems that this is result of a record without an id. But my record has an id to confirm i created a new record without uploading an image and then tried to upload with the same result.
Everything else works fine its only the image upload thats not working. Would appreciate any help.
Thanks.

brother same issue


zh-CN: translate tbdev_getting_started.ipynb

translate https://github.com/tensorflow/tensorboard/blob/master/docs/tbdev_getting_started.ipynb
note: tbdev_getting_started.ipynb is already create pull request in https://github.com/tensorflow/docs-l10n/pull/13, and waiting for merge.

CI is failing: Please run notebooks through nbfmt.py.
Looks like https://github.com/tensorflow/docs-l10n/pull/13 is ready (after nbfmt), so reviewers should not review the get_started.ipynb notebook in this PR

get_started.ipynb has been merged: https://github.com/tensorflow/docs-l10n/pull/13
Please remove from this PR and resolve merge conflicts. Thanks

i close this pr and create a new one in
https://github.com/tensorflow/docs-l10n/pull/162
Wish you good health and happiness.

i close this pr and create a new one in
#162
Wish you good health and happiness.


Implement empowerment-specific analyzers and visualizations

@mzimmermann-IDM @emilydriano
I've written an analyzer that plots all empowerment attributes in a similar way to the age_pyramid analyzer.
Let me know what you think and if you'd like me to change/add anything.


Pass Data to Fragment Shader.

I'm new to OpenGL. I played with the examples and noticed that I can't send data directly to the fragment shaders instead of that I need to send to the vertex shader then the vertex shader sends it to the fragment shader. Is this normal?

Yes.

Thanks. https://stackoverflow.com/questions/58007053/how-to-pass-attributes-directly-to-the-fragment-shader-in-opengl


Sutil.Feliz: Proof-of-concept

Hi @davedawkins! There's still work to do but I've finally published a beta version of Feliz.Engine, and I've been testing it with Sutil. I've put the "bindings" in a separate project to avoid touching Sutil core. I've edit the Counter example to use Feliz.Engine and also some styles in the Todos app. Please have a look and let me know what you think 😄

Changes expressed in this PR have been merged - thank you!