send EVE service panic logs to files on persistent storage

This patch has the side effect where unexpected crashes (segmentation faults etc) will no longer go into logging system. These stack traces will only be dumped to files in /persist/panic/.
Fatal traces will still enter the logging system and reach cloud.
Signed-off-by: Gopi krishna Kodali<EMAIL_ADDRESS>

To facilitate local (ssh to dom0) developper debugging this makes sense.
But I think we should structure and name the directories in /persist slightly differently so we can use that layout for additional information.
I'd suggest something like /persist/agentdebug/agentname/ and in there we can have the following set of files:
starttime - an empty file which is touched when the agent is started
stdout - from your code; separate from stderr
stderr - from your code; will most likely contain panic info/stack trace
fatal - we can add code for log.Fatal to print the fatal string here
fatalstack - the stack trace from the log.Fatal
sigusr1 - the stack traces from SIGUSR1 are written to this file
sigusr2 - the memory info from SIGUSR2 are written to this file
The above files will never be removed, but a subsequent write will overwrite the previous content (this not append to it). That makes it easy for a developer to look at these files post a reboot/crash.
The "starttime" file is critical to determine whether some file was generated by the agent the last time it was started. Thus if the modification time of a file (like fatal or stderr) is older than the modification time of the starttime file, then those are from a previous/old run of the agent.
That enabled us to automatically extract information from /persist/agentdebug either from the watchdog-report script, or by running some code in device-steps.sh on the way up.
So I'd suggest three things for this PR:

Use above naming scheme
Split stderr and stdout to point at separate files
Create/touch the starttime file when the agent starts.

Then we can add the other info in separate PRs.

Makes sense. Will do 1, 2, 3 and update PR.

Hey @eriknordmark @gkodali-zededa -- I thought we agreed to handle this differently as part of the overall logging pipeline improvement. Why are we still chasing this instead of actually fixing what's broken (the pipeline) @gkodali-zededa ?

Hey @eriknordmark @gkodali-zededa -- I thought we agreed to handle this differently as part of the overall logging pipeline improvement. Why are we still chasing this instead of actually fixing what's broken (the pipeline) @gkodali-zededa ?

Because recent information I received that customer success folks are having a hard to to extract this information from the logs even for systems in the lab where they have ssh access. (And I personally have been running with my personal workaround to get reliable logs on the device for months.)
Wishing that the logging pipeline become usable hasn't worked for me, and when I found it isn't' working for CS either I asked Gopi to do this local saving of state to handle the case when we have ssh access.
Doesn't mean we shouldn't make the logging pipeline reliable and usable end to end, but that seems to still be months away.

Hey @eriknordmark @gkodali-zededa -- I thought we agreed to handle this differently as part of the overall logging pipeline improvement. Why are we still chasing this instead of actually fixing what's broken (the pipeline) @gkodali-zededa ?

Because recent information I received that customer success folks are having a hard to to extract this information from the logs even for systems in the lab where they have ssh access. (And I personally have been running with my personal workaround to get reliable logs on the device for months.)
Wishing that the logging pipeline become usable hasn't worked for me, and when I found it isn't' working for CS either I asked Gopi to do this local saving of state to handle the case when we have ssh access.
Doesn't mean we shouldn't make the logging pipeline reliable and usable end to end, but that seems to still be months away.

Removed code that re-directs stderr to persist file. Fixed sending unexpected crash traces to cloud as part of a separate PR.
Now service stdout/fatal traces/USR1/USR2 traces will go into files in /persist/agentdebug// directory. This happens in addition to these logs/traces being exported to cloud.
Touch files per service to indicate service start time.

I think the stdout, SIGUSR1, SIGUSR2, fatal string, and fatal stack trace can and show go to different files.
That way if we need to extract them (from the watchdog-report script or post-reboot) it is a lot easier.

done

Doesn't mean we shouldn't make the logging pipeline reliable and usable end to end, but that seems to still be months away.

Fair enough @eriknordmark -- I am still unhappy about spoofStdFDs though -- the way I read it seems that we're now circumventing the normal stdout/stderr flow that feeds memlogd? How's that supposed to work @gkodali-zededa ?


Feature: Adding the backend for issuing book

Feature description
I would permit only logged in user to issue a book and store them in database
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Assigned this to me

The Frontend for this is messed up... I have no clue

Assign this to me I am working under GSSOC 22

Hey, can you please assign this task to me. I'm working under GSSOC'22

hey , @SauravMukherjee44  I want to work in this issue. Can I use Springboot as a backend language and mysql as a database for this issue. I have experience in this technology. Please assign me this issue under GSSOC'23 I will try to solve this issue as soon as possible.

Please assign this issue to me. I would like to make it with node, mongo and express.
Excitedly looking to contribute.


System.AccessViolationException System.AccessViolationException

Hi,
We keep getting a number of errors in our system that always have a very similar stack trace. Have you seen anything like this before. We are using FluentValidation.<IP_ADDRESS>
Here is one stack trace.
Nine.Saturn.Services.Campaigns.Service.CampaignEndpoint NNA\MTuckey 3431bc65-7c40-4fa3-9d41-d31b95f55cfc An unhandled error has occurred in Nine.Saturn.Services.Campaigns.Service.CampaignEndpoint. | System.AccessViolationException System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at FluentValidation.Internal.Extensions.<>c__DisplayClass12.<CoerceToNonGeneric>b__0(Object x) in c:\Projects\FluentValidation\src\FluentValidation\Internal\Extensions.cs: line 108    at FluentValidation.Validators.PropertyValidatorContext.get_PropertyValue() in c:\Projects\FluentValidation\src\FluentValidation\Validators\PropertyValidatorContext.cs: line 53    at FluentValidation.Validators.PropertyValidator.Validate(PropertyValidatorContext context) in c:\Projects\FluentValidation\src\FluentValidation\Validators\PropertyValidator.cs: line 68    at FluentValidation.Internal.PropertyRule.<Validate>d__10.MoveNext() in c:\Projects\FluentValidation\src\FluentValidation\Internal\PropertyRule.cs: line 234    at System.Linq.Enumerable.<SelectManyIterator>d__142.MoveNext()
at System.Collections.Generic.List1..ctor(IEnumerable1 collection)
at System.Linq.Enumerable.ToList(IEnumerable1 source)    at FluentValidation.AbstractValidator1.Validate(ValidationContext1 context) in c:\Projects\FluentValidation\src\FluentValidation\AbstractValidator.cs: line 113    at FluentValidation.DefaultValidatorExtensions.ValidateAndThrow(IValidator1 validator, T instance) in DefaultValidatorExtensions.cs: line 791
at Nine.Saturn.Services.Campaigns.DomainLogic.SpotOperations.SpotBookingOperationService.PlaceNewSpot(SpotParameters parameters, SpotOperationOptions operationOptions, BookingSource bookingSource) in SpotBookingOperationService.cs: line 172
at Nine.Saturn.Services.Campaigns.DomainLogic.SpotOperations.SpotBookingOperationService.PlaceBooking(NormalBookingRequest bookingRequest, Nullable`1 auditTransactionType, Boolean publishChangeNotifications) in SpotBookingOperationService.cs: line 143
at Nine.Saturn.Services.Campaigns.Service.CampaignEndpoint.PlaceBooking(NormalBookingRequest bookingRequest) in CampaignEndpoint.cs: line 516
at SyncInvokePlaceBooking(Object, Object[], Object[])
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(ref MessageRpc rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(ref MessageRpc rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(ref MessageRpc rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
and Here is another stack trace
Nine.Saturn.Services.Campaigns.Service.CampaignEndpoint NNA\TSkippington ce8fe531-0d75-4751-aaee-b5d01704b736 : An unhandled error has occurred in Nine.Saturn.Services.Campaigns.Service.CampaignEndpoint. | System.AccessViolationException System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at FluentValidation.Internal.Extensions.<>c__DisplayClass12.<CoerceToNonGeneric>b__0(Object x) in c:\Projects\FluentValidation\src\FluentValidation\Internal\Extensions.cs:line 108    at FluentValidation.Validators.PropertyValidatorContext.get_PropertyValue() in c:\Projects\FluentValidation\src\FluentValidation\Validators\PropertyValidatorContext.cs:line 53    at FluentValidation.Validators.PropertyValidator.Validate(PropertyValidatorContext context) in c:\Projects\FluentValidation\src\FluentValidation\Validators\PropertyValidator.cs:line 68    at FluentValidation.Internal.PropertyRule.<Validate>d__10.MoveNext() in c:\Projects\FluentValidation\src\FluentValidation\Internal\PropertyRule.cs:line 234    at System.Linq.Enumerable.<SelectManyIterator>d__142.MoveNext()
at System.Collections.Generic.List1..ctor(IEnumerable1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source)    at FluentValidation.AbstractValidator1.Validate(ValidationContext1 context) in c:\Projects\FluentValidation\src\FluentValidation\AbstractValidator.cs:line 113    at FluentValidation.DefaultValidatorExtensions.ValidateAndThrow[T](IValidator1 validator, T instance) in c:\Projects\FluentValidation\src\FluentValidation\DefaultValidatorExtensions.cs:line 791
at Nine.Saturn.Services.Campaigns.DomainLogic.SpotSearchService.SearchSpots(PagingContext pagingContext, SpotSearchRequest searchRequest) in d:\SourceControl\SaturnProd\Services\Campaigns.DomainLogic\SpotSearchService.cs:line 160
at SyncInvokeSearchSpots(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

No I've not seen this before.
Can you reproduce it in a unit test or a standalone project?

No. It only seems to happen under heavy load. It is a wierd one. If you can
think of anything it would be much appreciated.
Matt
On 10 Jul 2015 18:12, "Jeremy Skinner"<EMAIL_ADDRESS>wrote:

No I've not seen this before.
Can you reproduce it in a unit test or a standalone project?
—
Reply to this email directly or view it on GitHub
https://github.com/JeremySkinner/FluentValidation/issues/94#issuecomment-120284079
.

So I just started seeing this also. In my case it started happening after about 3 hours of running a data load process. I had three agents running in separate xunit processes and they all crashed after about 3 hours with this error. We're on <IP_ADDRESS>.
System.AccessViolationException : Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at FluentValidation.Internal.Extensions.<>c__DisplayClass12.<CoerceToNonGeneric>b__0(Object x) in c:\Projects\FluentValidation\src\FluentValidation\Internal\Extensions.cs:line  108    at FluentValidation.Validators.PropertyValidatorContext.get_PropertyValue() in c:\Projects\FluentValidation\src\FluentValidation\Validators\PropertyValidatorContext.cs:line 53    at FluentValidation.Validators.PropertyValidator.Validate(PropertyValidatorContext context) in c:\Projects\FluentValidation\src\FluentValidation\Validators \PropertyValidator.cs:line 68    at FluentValidation.Internal.PropertyRule.<Validate>d__10.MoveNext() in c:\Projects\FluentValidation\src\FluentValidation\Internal\PropertyRule.cs:line 234    at System.Linq.Enumerable.<SelectManyIterator>d__142.MoveNext()
at System.Collections.Generic.List1..ctor(IEnumerable1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source)    at FluentValidation.AbstractValidator1.Validate(ValidationContext1 context) in c:\Projects\FluentValidation\src\FluentValidation\AbstractValidator.cs:line 113    at WebIZ.Common.Validators.ValidatorBase1.Validate(T instance) in Common\Validators\ValidatorBase.cs:line 40
at FluentValidation.DefaultValidatorExtensions.ValidateAndThrow[T](IValidator1 validator, T instance) in c:\Projects\FluentValidation\src\FluentValidation \DefaultValidatorExtensions.cs:line 791    at Services.ServiceBase.Save[TEntity](TEntity entity, IValidator1 validator, IDbContextScope scope) in c:\Services\ServiceBase.cs:line 172
at Services.Services.CaseService.SaveCaseComplaint(CaseComplaint caseComplaint) in \Services\CaseService.cs:line 355
at (Object , Object[] )
at Ninject.Extensions.Interception.Invocation.InvocationBase.Proceed()
at Ninject.Extensions.Interception.Wrapper.DynamicProxyWrapper.Intercept(IInvocation castleInvocation)
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at Castle.Proxies.ICaseServiceProxy.SaveCaseComplaint(CaseComplaint caseComplaint)
at IntegrationTests.DataLoad.Loaders.CaseLoader.Load(List1 clinics, IServiceFactory serviceFactory, IIdResolver idResolver, TestContext testContext, List1 users) in
IntegrationTests\DataLoad\Loaders\CaseLoader.cs:line 68
at IntegrationTests.DataLoad.DataLoader.load_data() in IntegrationTests\DataLoad\DataLoader.cs:line 78

Unfortunately that's not really enough to go on. Unless there's some reliable steps to reproduce it there's not much I can do.

We've been running into the same issue that's causing the app pool to recycle:
Exception object:<PHONE_NUMBER>4a0790
Exception type:   System.AccessViolationException
Message:          Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
InnerException:
StackTrace (generated):
SP               IP               Function
000000005204D160 000007FE9E65EEE9 FluentValidation!FluentValidation.Internal.Extensions+<>c__DisplayClassd2[[System.__Canon, mscorlib],[System.Decimal, mscorlib]].<CoerceToNonGeneric>b__c(System.Object)+0x39<PHONE_NUMBER>04D1B0 000007FE9E65EE79 FluentValidation!FluentValidation.Validators.PropertyValidatorContext.get_PropertyValue()+0x29<PHONE_NUMBER>04D1E0 000007FE9E65ECB7 FluentValidation!FluentValidation.Validators.PropertyValidator.Validate(FluentValidation.Validators.PropertyValidatorContext)+0x57<PHONE_NUMBER>04D230 000007FE9E65E234 FluentValidation!FluentValidation.Internal.PropertyRule+<Validate>d__10.MoveNext()+0x274<PHONE_NUMBER>04D2B0 000007FEF2B5ECAC System_Core_ni!System.Linq.Enumerable+<SelectManyIterator>d__142[[System.__Canon, mscorlib],[System.__Canon, mscorlib]].MoveNext()+0x1fc
000000005204D310 000007FEF3A355B9 mscorlib_ni!System.Collections.Generic.List1[[System.__Canon, mscorlib]]..ctor(System.Collections.Generic.IEnumerable1<System.__Canon>)+0x219
000000005204D380 000007FEF2B61201 System_Core_ni!System.Linq.Enumerable.ToList[System.__Canon, mscorlib]+0x51
000000005204D3C0 000007FE9E65DCCF FluentValidation!FluentValidation.AbstractValidator1[[System.__Canon, mscorlib]].Validate(FluentValidation.ValidationContext1<System.__Canon>)+0xaf
...

That could indeed be the issue - the validators themselves are designed to be thread-safe, but PropertyValidatorContext is not. The idea was always that you can reuse the validator instances across threads, but not the context objects.
Here's the code for PropertyValue:
public object PropertyValue {
	get {
		if (!propertyValueSet) {
			propertyValue = Rule.PropertyFunc(Instance);
			propertyValueSet = true;
		}

		return propertyValue;
	}
	set {
		propertyValue = value;
		propertyValueSet = true;
	}
}

...as you can see, the property is lazily-loaded (and doesn't use any locking), so it's certainly possible that you could run into problems if you've got multiple threads trying to read from this property at once.

I'd really appreciate that.  I don't mean to sound like I'm rushing but what would the ETA be to have this in the next release?  We're considering removing FluentValidation to recover site stability since we run into this issue perhaps about once per week but we'd prefer to keep it, given how helpful it is.  Please let me know if I can be of any assistance.

I'm away with work until early September, so not until then at the earliest I'm afraid. Your best bet would be to build from source and patch it yourself rather than wait for me to do a release.

Roger that.  I'll take a look and discuss with my colleagues.  Thanks for getting back to me on this so quickly.

OK, let me know what you decide. I'm happy to make the change to the source - it should be fairly quick, but then you'd be 'on your own' with it until I'm back in September

I'd prefer if you made the change, then we can pull the branch and rebuild. We can revert back to nuget when you release a new version.
This happens to us about 3 times a day which is quite frustrating, so we'd really like to get a fix asap. Thanks Jeremy.

I've committed the change. Please give it a try and let me know whether or not it seems to make a difference.

Thank you for the fast turnaround on this JeremySkinner.  We won't be able to determine whether this fix has addressed the issue until later this week or perhaps sometime next week when we can get it under load.  Mattdone01, would you please indicate whether this change has resolved the issue on your end when you have that information?  Thank You.

Thanks for looking at this Jeremy. Just to give everybody more info on this from our side, we are not in production yet and we saw the error during a lengthy data load process. There weren't multiple threads and was very much a serial process that ran. And it was a new instance of the validator on every save, but eventually it crashed after about 3 hours. Memory wasn't out of ordinary at the time of the crash. I'm having a hard time recreating it unfortunately.

I will compile and test everything today and then put into production
tonight. I should know if it was successful by tomorrow afternoon 24th.
Matt
On 23 Jul 2015 00:23, "gtaylor55sumtio"<EMAIL_ADDRESS>wrote:

Thanks for looking at this Jeremy. Just to give everybody more info on
this from our side, we are not in production yet and we saw the error
during a lengthy data load process. There weren't multiple threads and was
very much a serial process that ran. And it was a new instance of the
validator on every save, but eventually it crashed after about 3 hours.
Memory wasn't out of ordinary at the time of the crash. I'm having a hard
time recreating it unfortunately.
—
Reply to this email directly or view it on GitHub
https://github.com/JeremySkinner/FluentValidation/issues/94#issuecomment-123739299
.

Hi Matt,
Any word back on the success of this fix?  We're at a point where we are ready to decide whether to remove the library or not and your feedback would be pivotal towards that decision.
Thank You.

The code changes made by Jeremy have *not *made a difference. We are still
getting the same error with the same stack trace. We are now looking at
removing fluent validation for high volume server-side validations. UI
validations seem fine. If you have a large transactional system I'd
probably look at something else, unless Jeremy can fix this issue. We get
about 3 service crashes a day, we have 7 load balanced servers so it isn't
a major issue but still causes us a number of operational issues.
On 28 Jul 2015 23:31, "benadam777"<EMAIL_ADDRESS>wrote:

Hi Matt,
Any word back on the success of this fix? We're at a point where we are
ready to decide whether to remove the library or not and your feedback
would be pivotal towards that decision.
Thank You.
—
Reply to this email directly or view it on GitHub
https://github.com/JeremySkinner/FluentValidation/issues/94#issuecomment-125607189
.

Ok, I didn't think it would work, but it was worth a try.
Unfortunately I still have nothing to go on - I can't reproduce the issue,
and the stack trace isn't from any FV code itself (it's from invoking a
delegate).
Unless anyone has any suggestions on how to proceed I'm going to have to
park this for now.

Cleanup: Closing this as it hasn't been active in some time. Feel free to re-open if necessary.


Little updates on home and graphs for CRAN, youtube, and citations pages as well as adding icon and favicon

I updated the home (index.Rmd) and CRAN (cran.Rmd) pages by removing extraneous info and some rearrangements.
Also switched out the icon on the home page and updated the favicon to be open case studies specific.

Latest round of commits include edits to the youtube page (youtube.Rmd)

@carriewright11 is this one good to merge and I'll put github and google analytics in another PR?

@carriewright11 is this one good to merge and I'll put github and google analytics in another PR?

sure , that's fine. Would be good to angle the labels in the first github plot - that can be in another PR


Error logon dreamecloud

Good afternoon, I have S30 Pro Ultra, HA version 2024.9.1, Dreame vacuum integration version <IP_ADDRESS>b. I can’t add work to the integration in HA. Everything works in the program on the Dreame phone, the Dreamer and Xiaomi accounts are linked. I’m trying to log in with both a Dream home Account and a MiHome account. The robot + server and even the laptop from which I work all sit on the same network under VPN China (they have an IP on the same network on the router, and one IP on the Internet). I tried to take the server out from under the VPN, but I left it in the same subnet, there is no result.
Please help me to launch the integration.
Updated:
I checked the version of the robot in the list of supported models, and it is dreame.vacuum.r2310d.
I tried to make the first login via phone number+ password and email + password. I have an account in dreamecloud of mainland China, I also choose CN, I tried b15 and b16, there is no difference, the first login still does not work.
Other users even have a server and work in different networks on different routers and everything is connected and working, I do not.
I did a complete removal of all versions from acs and installing from scratch only b16 without the main version also does not work.
For the test, I made a bundle of the account together with the mihome account, I thought it would work in this application.
In Myhome, there is a connection between the systems, but there are no devices in the list, then the MiHome sent to Alice Yandex (voice assistant) the robot appeared in Yandex, but there it is limited in functionality by 99%.
I am 100% sure of the correctness of passwords and logins. It was the fifth day… I read the entire thread of this topic, everything that was suggested did not fit.
By the way, where can I clean the cache from which b16 can be installed with an error?

I have exactly the same problem when logging in, and I also know several other people with similar problems. So it's not the user doing something wrong.

Dont know what are you doing wrong and i dont have time to understand your mistake.
I have exactly the same problem when logging in, and I also know several other people with similar problems. So it's not the user doing something wrong.

actually I have the same issue:
I have dreame x20pro (mainland China version) that works quite OK from Dreamehome app. But when I am trying to get connected via HA intergration, I get the same error.
My dreame x20 account is mainland China.


Make incremental compilation artifacts reusable (aka cached compilation)

Goal is achieved by providing custom mappers to TextAnalysisFormat.
Based on client can create CacheProviders that using given mappers can migrate incremental compilation artifacts between workspaces.
This is can be done in two steps:

export cache to intermediate format (e.g. map path as a relative to abstract roots)
import cache from intermediate format (e.g. replace abstract roots with concrete values).

Zinc is not responsible for maintaining caches (e.g. there is no verification if correct cache provider is used) or searching caches for build, this is client responsibility (zinc only provides utilities).
This PR also include two basic cache implementation based on making all paths relative to project root. They are used to test whole mechanism internally and are base for any custom caches.

project rebased cache (copy artifacts and classes from different project)
exportable cache (first export cache as pair or zipped classes and incremental compilation metadata) that can be later imported to another workspace

Internally, we are just about to beta tests this with huge scala codebase (way over 100K lines of scala code). Results so far are promising:

currently we can observe ~ 4-5 times improvement on full build (when relatively close to cache)
most of time is spent on extracting zips with classfiles and with few fixes we should get speedups around x10 times.
Of course workspace after cache import behaves as it was compiled locally.

Our integration is not open source but in future (hopefully close) we will release at least part of it to public domain.
I am working on open source plugins for sbt (both 0.13.x and 1.0.x versions) based on that PR (deep WIP so far): https://github.com/romanowski/hoarder
For certain reasons this time I have to paste the below disclaimer:
THIS PROGRAM IS SUBJECT TO THE TERMS OF THE BSD 3-CLAUSE LICENSE.
  THIS SOFTWARE MAY BE REDISTRIBUTED TO OTHERS ONLY BY EFFECTIVELY USING THIS OR
ANOTHER EQUIVALENT DISCLAIMER IN ADDITION TO ANY OTHER REQUIRED LICENSE TERMS.
 NO OTHER SOFTWARE CODE OR MATERIALS ARE A CONTRIBUTION.

I'm out in Canada this week for Lightbend meetings, but I'll take closer look at this when I get back.

Have you tested these changes thoroughly @romanowski ?

Do you know any repository that uses sbt 1.0? I've created mine based on shapless (https://github.com/romanowski/shapeless).
I tested this a lot with my custom (not open source yet) integration and so far all works fine (including cached compilation based on this PR)

No, I do not, but since we'd like to stabilize Zinc for a beta release, we better start thinking about this stuff as soon as possible :smile:. I didn't find the commit that sets up 1.0 in that shapeless fork, maybe you can describe how to try 1.0 out?
It's good that this PR has been tested in such an intense codebase as Shapeless. So thanks for that!

I put it wrong: I have shapless repo but I didn't test new zinc there (I tested zinc on non-open source codebase).
Of course now I will (rather tomorrow).

Here is 1.0 based branch https://github.com/romanowski/shapeless/tree/profiling/problem
Beware! By default it uses sbt 1.0.0-M4 that has a problem with extracting names (it takes ages for shapless) but it is fixed in 1.0 branch.

I did basic tests with shapeless repo and except #220 that is IMO not related to this PR zinc worked fine.

I'm happy to see this merged @romanowski. I agree that #220 is not strictly related to this, though in the same lines. Could you have a look at it? I'll comment on the strategy in the ticket.

I fear I won't be able to look at #220 soon (maybe end of Feb). If I have enough time I would create PR instead of issue :)

Branch is rebased and headers are added for new files.

@eed3si9n is there anything I need to change/explain? Since zinc repo become much more alive now I don't want to rebase this (quite big) PR multiple times :)

I'm wondering if we need this change if we implement https://github.com/sbt/zinc/issues/218 instead. The purpose of transformation is to make it machine-independent, correct?

@eed3si9n

The purpose of transformation is to make it machine-independent, correct?
This is only one option. Generally with this PR clients can easy modify analysis and make it not only machine independent but also system or even build tool.

#218 can be based on this PR. As commented in #218 I don't think we can make zinc analysis 100% machine independent without full knowledge from build tool. E.g. how you can handle sbt's unmannaged jars or sources?
Naive implementation of #218 is also part of this PR ( ProjectRebasedCache ).
Is there anyone working on #218? Is there any plan how to implement it?

Is there anyone working on #218? Is there any plan how to implement it?

I can certainly work on #218. Not 100% sure if it can be done, but my idea was to essentially strip the information until it is machine-independent and have some sort of a tag that can be substituted per machine.

Did you know that even option to scalac can be machine depended? E.g. path to compiler plugin or parameters passed to it. Same goes for almost every entry kind in Analysis so I am interested how do you want to detect and tag all those cases?
I think using my Mappers is a good start for #218. Since you can implement it as specific mapper can merge this PR and stat another one based on my work? Or merge this one and if we can (somehow) implement #218 inside zinc then we can remove all not-used logic?

ok. Let's merge this first then.

@romanowski thanks for this! Just to understand, will this be available in sbt directly, or should we wait for hoarder to be ready?

@gabro this will be part of sbt 1.0 and AFAIK there is almost no project using it.
Hoarder will use this PR for 1.0 branch and will implement similar solution for 0.13 (I am working on that).

Awesome, thanks

In the case of scalac parameters + plugins, etc: those must be part of the
cache key. Therefore, there is no need to strip them from the file. It's
only stuff that has no effect on the outcome of the build that should be
stripped.
On Feb 13, 2017 12:15 PM, "Krzysztof Romanowski"<EMAIL_ADDRESS>wrote:
Did you know that even option to scalac can be machine depended? E.g. path
to compiler plugin or parameters passed to it. Same goes for almost every
entry kind in Analysis so I am interested how do you want to detect and tag
all those cases?
I think using my Mappers is a good start for #218
https://github.com/sbt/zinc/issues/218. Since you can implement it as
specific mapper can merge this PR and stat another one based on my work? Or
merge this one and if we can (somehow) implement #218
https://github.com/sbt/zinc/issues/218 inside zinc then we can remove all
not-used logic?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sbt/zinc/pull/216#issuecomment-279508961, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAC2lP86XaHdCFnM-UcTLKF_Z0PDME9Uks5rcLnVgaJpZM4LzI77
.

@romanowski Is there something we can do to follow up on @stuhood's remark? This is related https://github.com/pantsbuild/pants/issues/3923.

I mentioned scalac plugins and I don't see how this is related to pant's plugin written in Java (but I don't know pants so I might miss something).
I generally agree with @stuhood's but we've got a case where compiler plugin is a part of same project so it should use relative path in such case.
Generally as said before this PR open multiple possibilities such as cached compilation or #218


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/56374

TagBot fix

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/56538

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/58252

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/58258

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/58268

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/61244


Several JPA search fixes

Fixes #1188
Fixes #1223

@fil512 Code review please.
This change fixes the "double identifier search not working".. And I've also added some utility methods for logging generated SQL statements in hopefully a more helpful way. See FhirResourceDaoR4SearchNoFtTest#testSearchOnPeriod() for an example.

Oops- Sorry @fil512 , looks like a few tests are failing actually. Maybe hold off.

@fil512 this is ready now

Coverage increased (+0.007%) to 75.211% when pulling bd3331b3d39085e182bc4428205cdb3c42393be7 on ja_search_fixes into 94021989b095f67b6e89382fb5aed85387c80524 on master.


Rollup + Tree shaking throw an error

Hello! First I'd just like to say thanks for maintaining this library! Very happy to use it for most.js
I spent some time experimenting with converting most.js' core codebase to ES2015 imports/exports to take advantage of tree-shaking for third-party libraries and applications that use it (PR here if interested). When I use rollup with a plugin to use node's import resolution (so it can find imports in node_modules) it has an option to use a packages jsnext:main as I'm sure you already know. However I have to disable it in our current configuration to allow things to build. I receive the following error
Error parsing /home/tylor/code/most/most/node_modules/symbol-observable/es/index.js: 'import' and 'export' may only appear at the top level (5:0) in /home/tylor/code/most/most/node_modules/symbol-observable/es/index.js

Here is the full error for sake of thoroughness
https://gist.github.com/TylorS/097632154b662778068ff8dc7c9852c7
This is not urgent for me as our build still currently requires using rollup's commonjs plugin and happily consumes this library, but that might not be the case for very long. I just wanted to let you know if this is in fact an issue with how things are exported or possibly you or someone else already knows the solution that I'm missing.
Thank you for your time :)

Thanks @TylorS! I don't have a lot of experience running Rollup. Perhaps @robwormald could chime in here? Rob, have you hit this issue before?

Hey @blesh thank you for the response. I found the solution today. The issue was the combination of plugins I was using. We are currently using the  buble, node-resolve, and commonjs rollup plugins.
The commonjs plugin wraps all the packages it finds from your node_modules in a wrapper to be compatible with the rest of the the rollup build, but does not expect for the package it is resolving to be using ES6 imports/exports. When buble comes around and sees the import/exports it throws the error from above.
The solution was ignoring symbol-observable from the commonjs plugin as seen here
Thanks again for this library.

I see. Thank you for providing feedback on your findings. Hopefully this issue will help someone else in a similar situation.

I have the same issues since<EMAIL_ADDRESS>updated its symbol-observable dependency. Your fix works @TylorS. So the issue is that rollup-plugin-commonjs wraps an already es6 module with import/exports into an es6 module with extra imports/exports?
Shouldn't the rollup-plugin-commonjs be able to detect this, you think?

Well, I se now that a few issues and even a PR fix by @Rich-Harris himself has already been made at rollup-plugin-commonjs github regarding this issue:
https://github.com/rollup/rollup-plugin-commonjs/pull/96


Showcase Submission for challenges/179-wolfram-ca

Thank you Thomas Countz for your contribution! A member of the Coding Train team will review it shortly.

Conway's Fireworks
Thomas Countz

I just realized, perhaps this is better submitted for conway's game of life: https://github.com/CodingTrain/thecodingtrain.com/tree/main/content/videos/challenges/85-the-game-of-life/showcase

@Thomascountz Sure, I moved the files for you. Cool sketch idea!

Thank you @fturmel! This is so creative @Thomascountz sorry for the long delay in reviewing!!


history.csv

history.csv has a lot of unnamed columns because of pd.merge misuse.

fixed in 1a9a03508d0be7265cb3c98c36523fdf2483a50d


[EN] Feedback for: /fundamentals/performance/optimizing-content-efficiency/http-caching.html

Although I found some of the information in this article helpful, I think it would have been helpful if they would have specified if you could setup caching for individual files (if you wanted to cache some jpegs but not all).  Further, the apache config information they linked to didn't appear to show how to setup cache-control.
It would have been nice if they had clear examples of what you could and couldn't accomplish with cache-control.

@igrigorik - can you evaluate and decide if it's worth including, if not please close.


Update to Next 13.x

The following dependencies are not directly compatible with Next 13:
{
   "react-burger-menu": "^3.0.6",
    "react-google-recaptcha": "^2.1.0",
    "react-touch-events": "^3.0.0",
    "react-waypoint": "^10.1.0",
}

See also: https://nextjs.org/docs/upgrading#upgrading-from-12-to-13
There are additional steps to check new features are working correctly.

closed by #62


Replace num-bigint with malachite-bigint

BigUint::parse_bytes seems rejecting _ in input, which is legal on num-bigint.

Don't change bytes_to_int, malachite-bigint should handle it. I think it is a bug involved on the last commit

@qingshi163 Can we run a benchmark about this? A benchmark with many small int binary operations will fit.

@youknowone @qingshi163
FYI for the Fibonacci benchmark

Mean +- std dev: [base] 60.0 us +- 2.0 us -> [pr_4952] 55.4 us +- 1.1 us: 1.08x faster

import pyperf

runner = pyperf.Runner()
runner.timeit(name="bench fib",
              stmt="""
_ = fib(10)
""",
              setup = """
def fib(n):
    if n == 0:
        return 0
    if n == 1 or n == 2:
        return 1
    return fib(n-1) + fib(n-2)
""")

hmm, this is unexpected. what's changed?

I can't locally reproduce it.

ah, main is already broken


Add Categories to nodes to add to engine

Add Categories to nodes to add to engine
With the number of available nodes getting larger, the list of nodes to add to an engine will soon be hard to read. Need to add categories to the nodes so they are shown under a folder.

We need to agree on the names of the categories that we want to use. We should limit the number of categories and their overlap, while providing a mechanism for users to define their own. Here are some ideas for brainstorming, but I'm not super happy with them yet.
Categories:
Channel I/O - Scan Engine, FPGA Interface, DAQmx
Protocol I/O - Modbus, Profibus, etc.
Data Processing - PID, Most User Control Modules
Data Services - TDMS,
I'm not sure how to categorize these modules though. Maybe if we can figure these out the rest will be easier.
Where do we put other I/O like CVT, Web Services, and UI? Is this a different I/O category or do they fit into the existing ones? If we just have one I/O category I fear it will be too big, but maybe that is OK.
What is Alarming? Is it processing or a service?
What about things like benchmarking, Watchdogs, and Diagnostics? Can these just go in an 'Other' category?
Ideally we can get to a flow where people add their I/O, then add their processing, then add their services/other and deploy.

What about things like benchmarking, Watchdogs, and Diagnostics - Utilities
Local IO (Scan Engine, CVT, FPGA, DAQmx, etc)
Protocol IO (Modbus, Web Services, etc)
Processing - Alarming
File IO
Utilities (Watchdog, benchmark, etc)

Looking a bit into this, the changes we need to do is Overide Shortcut Menu in the Engine class. Also need to add a new field to the class cache for modules. And Add the extra fields to the editor node. It would be an enum with the defined categories and a string, that will be selected with other.
Also update all Modules to use this.
What would be the expected behavior for modules that have this empty? just put them as other? Or custom?

Good question. I think we put them in 'Other'. We can use a string for a custom category, like 'My Company Name' modules, but if that is blank then we just put them into 'Other'.

I like 'Local IO' and 'Protocol IO' a lot. Maybe we call 'Protocol IO' 'Remote IO' instead though so it's a more obvious subset? Something should only ever be local or remote, but not all remote I/O is necessarily a protocol.
I also like Processing.
Could we add File I/O to Utilities? Right now we only have the TDMS logging as a type of File I/O. If we remove File IO and add an 'Other' category then we have 5 categories. I think it'd be good to avoid having much more than 5.

Any thoughts on allowing the end user to add categories, such as "Favorites"? I also think there's some merit in allowing a module to belong to more than one category.

I see a feature like that as valuable once we get so many modules(even in the categories) that users can’t easily find what they need.  I think that this can be safely deferred for a later time, unless the feature is trivial to implement and imposes no new burdens on module developers.

Matt Pollock
Senior Systems Engineer, Embedded Systems
(512) 683-9435 |<EMAIL_ADDRESS>From: tannerblair<EMAIL_ADDRESS>Sent: Monday, April 18, 2016 10:43 AM
To: LabVIEW-DCAF/TagEditorCore<EMAIL_ADDRESS>Cc: Matthew Pollock<EMAIL_ADDRESS>Subject: Re: [LabVIEW-DCAF/TagEditorCore] Add Categories to nodes to add to engine (#199)
Any thoughts on allowing the end user to add categories, such as "Favorites"? I also think there's some merit in allowing a module to belong to more than one category.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHubhttps://github.com/LabVIEW-DCAF/TagEditorCore/issues/199#issuecomment-211438448

I feel confident in saying that multiple categories would be trivial, and custom categories less so but still very doable. I'll start with multiple categories and go from there.

Categories can now be added by overriding the Get Category method for your module. I didn't create fixed categories, but this would be trivial to add in the future if it seems necessary.


DirectShape.Translate/Transform need to be made compatible with 2018+

as per the title..
https://dynamonodes.com/2016/02/18/directshape-bygeometry-directshape-transform/comment-page-1/#comment-2408

fixed in 0dac8095f04d24283c6c7db58bcdbc6105c3dfd5


resolves : 146-fix-tasks-per-node-calculation

Closes #146

@vincentchabannes I have now added support for specifying different task-nodes-tasks_per_node combinations from #162 .


Fix/alignment in the navbar(#1)

@HassanBahati  To me, this looks better!.
This PR closes #13

hello @mosespace please resolve the conflicts on this pr....
also please update your branch upto #14 , there onwards i see as though the button seems aligned.....nevertheless please update and we have a look at it from your end

hello @mosespace please resolve the conflicts on this pr....
also please update your branch upto #14 ,
from the above screen, taken from the current state of the codebase, i see as though the button seems well aligned.....nevertheless please update and we have a look at it from your end

Hi, I've worked upon these

Hi, I've worked upon these

awesome, though seems you accepted current changes rather than changes from main branch so this reverts changes in the main


[Feature] Also display corresponding value of x-axis along with y-axis.

Is your feature request related to a problem? Please describe.
My request isn't related to a problem, rather I thought it'd be convenient if the value of the x-axis (e.g., step number) would also be displayed along with the y-axis value (e.g., F1 score) on the dashboard. It's convenient that the values of the y-axis are displayed as you move along the chart, but sometimes I'd like to know at what step that value was there.
Describe alternatives you've considered
I'm currently saving the best score and corresponding epoch/step so that I print that at the end of the process.

Could you post a screenshot of what you mean - in my basic graph the x-axis values show up:

Sure, I should have been more explicit in my original post. The x-axis itself also shows for me as well, but what I was referring to is something like this:

I'm not sure if you can see it, but I edited in a "Step: 130,302" on top of the y-axis values (it's supposed to be inside the box).
Perhaps it may be a bit verbose/unnecessary, but I thought that it'd be convenient if this were also displayed so that we can quickly find which step corresponds to which score.

Oh, I didn't realize that was the value until now. Seems like a misunderstanding on my part. Thanks for the clarification, I'll close this issue.


six commonly used Network Layer messages should be implemented; and BVLC's 6 thru 8

There are six Network Layer messages:
X'00': Who-Is-Router-To-Network
X'01': I-Am-Router-To-Network
X'02': I-Could-Be-Router-To-Network
X'03': Reject-Message-To-Network
X'04': Router-Busy-To-Network
X'05': Router-Available-To-Network
which are in common use, and two more defined, which are deprecated:
X'06': Initialize-Routing-Table
X'07': Initialize-Routing-Table-Ack
These are at network level below, so differently encoded, from the bvlc_function layer atop UDP which your work identified and which zeek-plugin-bacnet has handled:
switch(bvlc_function) {
case 0x00:  ##! BVLC_RESULT
case 0x05:  ##! REGISTER_FOREIGN_DEVICE
case 0x01,  ##! WRITE_BROADCAST_DISTRIBUTION_TABLE
0x02,   ##! READ_BROADCAST_DISTRIBUTION_TABLE
0x03:   ##! READ_BROADCAST_DISTRIBUTION_TABLE_ACK
case 0x04,  ##! FORWARDED_NPDU
0x09,   ##! DISTRIBUTE_BROADCAST_TO_NETWORK
0x0a,   ##! ORIGINAL_UNICAST_NPDU
0x0b:   ##! ORIGINAL_BROADCAST_NPDU
You have a comment there in the consts.zeek:
[5] = "Register Foreign Device",
##! 6-8 is not assigned for IPv4?
[9] = "Distribute Broadcast To Network",
but they are assigned, as follows:
BVLC Function:	1-octet	X'06'	Read-Foreign-Device-Table
BVLC Length:	2-octets	X'0004'	Length, in octets, of the BVLL message
BVLC Function:	1-octet	X'07'	Read-Foreign-Device-Table-Ack
BVLC Length:	2-octets	L	Length L, in octets, of the BVLL message
List of FDT Entries:	N*10-octets
BVLC Function:	1-octet	X'08'	Delete-Foreign-Device-Table-Entry
BVLC Length:	2-octets	X'000A'	Length, in octets, of the BVLL message
FDT Entry:	6-octets
The standard in 135-2016 edition, starting advocating a new and different methodology to achieve those functions, but most of the installed base are older. These designate themselves using a network-visible Protocol_Revision and if that is 16 or less, then they are still implementations which will use the older method.

@duffy-corelight,  thank you for providing this insight!  I'll start by updating the enumeration.  Do you also know the data structure of messages 6-8?  I found this on the BACNet website, so maybe we could use it as reference: http://www.bacnet.org/Tutorial/BACnetIP/sld016.html

The data structure of BVLC messages 6-8 is there above, in the three sections which each start with a BLVC Function: line.
One addl clarification that might not be self-evident, where N as indicate, is the number of entries in the FDT whose contents are being returned. N can be calculated by (L-4)/10. Each returned entry consists of the 6-octet B/IP address (and IPv4 then a port as uint16_t) of the registrant; the 2-octet (as uint16_t) Time-to-Live value supplied at the time of registration; and a 2-octet (as uint16_t) value representing the number of seconds remaining before the BBMD will purge the registrant's FDT entry if no re-registration occurs. The time remaining includes the mandated 30-second grace period.

So many parts of BACnet are not represented in the present state of zeek-plugin-bacnet, that to productively prioritize and proceed, when we evaluate the options for "what next?" I hope we do so against a criterion selected with a larger perspective than just "what's missing?"
One crucible by which I would like us to prioritize, is to pursue things that would qualify to be captured in a probe.log.  By that term, I mean things that indicate a networked exploration that would not be expected nor encountered during ordinary production traffic.

Over time, I'm sure we'll settle upon our preferred mechanism and arrangement of enhancement-priority discussions. I didn't want to be the one to start a proliferation of places that we need to look to follow the discussion, so for now, I am somewhat overloading this issue's comment history with a kitchen-sink of ideas, until we pick a different direction or mechanism.

RFDT.pcap.zip
The reason for pkt#6 being different from pkt#8 is because after time-to-live expires, the BBMD holding the Foreign Device subscription auto-purges it from its table.

@duffy-corelight, adding this to our next commit sometime this week


acrostiche:0.4.0

I am submitting

[ ] a new package
[x] an update for a package

After the last two bugfixes in a few days, I decided to refactor the code.
The code is now much simpler, I introduced shortcuts for the commands, and I resolved a bug that was reported to me.
While this is not technically a breaking update, it is a major rework of the code so I am updating the medium version number.

I have read and followed the submission guidelines and, in particular, I

[x] selected a name that isn't the most obvious or canonical name for what the package does
[x] added a typst.toml file with all required keys
[x] added a README.md with documentation for my package
[x] have chosen a license and added a LICENSE file or linked one in my README.md
[x] tested my package locally on my system and it worked
[x] excluded PDFs or README images, if any, but not the LICENSE

[ ] ensured that my package is licensed such that users can use and distribute the contents of its template directory without restriction, after modifying them through normal use.

Thanks :)


LOG4J2-2629: Avoid losing log events when the PurgePolicy races a log event

Stacked on top of #278

You will also have to apply this to release-2.x. As far as I am concerned you don't need another PR - just commit it.

Done, thanks for the quick review @rgoers!


Finished graph

Changes Unknown when pulling 8d562e7bc734c2420f719726c7bfdca2af310695 on OP-282-add-dependency-graph into ** on master**.


"Relativity" problem of codechef

Aim
I want to add the code for "Relativity" problem of codechef (July Challenge 2021)
Contest ended on July 12th
Details
Problem name : Relativity
Problem Code : RELATIVE
Problem link : https://www.codechef.com/JULY21C/problems/RELATIVE
Please assign me this issue
LGM-SOC Participant
Programming language
C++

[ ] C
[x] C++
[ ] Java
[ ] Python

@Amit366 @ravikr126 @Ayush7614 Please assign this issue to me under the label LGM-SOC


Sending messages/questions and listen for a reply

Description
Is there any way to send messages/questions with the bot and "listen" for a reply from a user?
I'm trying to find something like this and I'm not finding anything in the docs.
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[ ] enhancement (feature request)
[x] question
[ ] documentation related
[ ] example code related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Bug Report
Filling out the following details about bugs will help us solve your issue sooner.
Reproducible in:
package version: 3.11.1
node version: 14.18.2
OS version(s): Linux Ubuntu 20.04

Hey @WendellAdriel! Thanks for writing in - There are many ways to accomplish this and it depends on the specifics of your use case / desired experience for the end user. For example:

are you planning on having your app communicate with your user on public / private channels or in a dm?
Are you listening for specific messages (based on the text contained) or specific users (based on ID)?
Do you want to listen for messages and respond in thread to the user?

Having some answers to these UX points can guide which API methods to take:
Some starting points I would suggest are thebolt js sending and listening to messages docs.
Also checkout the API method documentation with a list of all the methods you might employ. Some useful ones to look into are chat.postMessage (send a message, in thread or a totally new message), conversations.create (open a channel with a user) etc.
One last recommendation I would have is to take your question to community.slack.com our open community of developers and see what others are doing out there! Happy building 🚀


optimize: update kernel parameters

Signed-off-by: zhuzhenfan<EMAIL_ADDRESS>
What type of PR is this?
/kind flake

What this PR does / why we need it:
Deployment of cluster modifications to node system parameters
Which issue(s) this PR fixes:

Fixes #136
Special notes for reviewers:

Does this PR introduced a user-facing change?

None

Additional documentation, usage docs, etc.:

@x893675 @qinyer

/retitle optimize: update kernel parameters

/remove-kind flake
/kind optimize

/close


Fix bug issue #11790

What is the purpose of the change
Fix issue #11790
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #11824 (d266b84) into 3.1 (a6ef891) will decrease coverage by 0.03%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##                3.1   #11824      +/-   ##
============================================
- Coverage     64.72%   64.69%   -0.03%
  Complexity       14       14
============================================
  Files          1433     1433
  Lines         60074    60075       +1
  Branches       8829     8829
============================================
- Hits          38883    38866      -17
- Misses        17118    17137      +19
+ Partials       4073     4072       -1

Impacted Files
Coverage Δ

.../apache/dubbo/rpc/protocol/dubbo/DubboInvoker.java
71.66% <100.00%> (+0.48%)
:arrow_up:

... and 12 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Add colors to PR status in github-pull-requests-board

Also remove "at" from "Created" line to match "Last update"
Hey, I just made a Pull Request!

Add colors to PR status in github-pull-requests-board
Also remove "at" from "Created" line to match "Last update"
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Thanks for your reviews @awanlin and @vinzscam! I don't have merge permissions, so please merge when ready


Remove the Local Storage for the disconnect function

What would you like to share?
Please remove the local storage function so that the disconnect function would work cause it doesn't work at this moment...
CustomConnectWallet.tsx
import React, { useEffect, useRef, useState } from "react";
import { Button } from "@/components";
import { WalletConnectWallet, WalletConnectChainID } from "@tronweb3/walletconnect-tron";

interface CustomConnectWalletButtonProps {
  cta: {
    title: string;
  };
}

const CustomConnectWalletButton: React.FC<CustomConnectWalletButtonProps> = ({ cta }) => {
  const [address, setAddress] = useState<string | null>(null);
  const [hover, setHover] = useState<boolean>(false);
  const walletRef = useRef<WalletConnectWallet | null>(null);

  const connectWallet = async () => {
    try {
      walletRef.current = new WalletConnectWallet({
        network: WalletConnectChainID.Mainnet,
        options: {
          relayUrl: process.env.NEXT_PUBLIC_APP_RELAY_URL || "wss://relay.walletconnect.com",
          projectId: process.env.NEXT_PUBLIC_APP_PROJECT_ID || "",
          metadata: {
            name: "Camell (CAMT)",
            description: "CAMT Wallet Connect",
            url: "https://camt.cloud/",
            icons: ["https://camell-web-logo.s3.ap-northeast-2.amazonaws.com/image-removebg-preview.png"],
          },
        },
        web3ModalConfig: {
          themeMode: "dark",
          themeVariables: {
            "--wcm-z-index": "1000",
          },
          explorerRecommendedWalletIds: [
            "1ae92b26df02f0abca6304df07debccd18262fdf5fe82daa81593582dac9a369",
            "4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0",
          ],
        },
      });

      const { address: connectedAddress } = await walletRef.current.connect();
      const formattedAddress = `${connectedAddress.slice(0, 6)}...${connectedAddress.slice(-5)}`;
      setAddress(formattedAddress);

      localStorage.setItem("walletAddress", connectedAddress);
    } catch (error) {
      console.error("Failed to connect wallet:", error);
    }
  };

  const disconnectWallet = async () => {
    try {
      if (walletRef.current) {
        await walletRef.current.disconnect();
        walletRef.current = null;
        setAddress(null);

        localStorage.removeItem("walletAddress");
      } else {
        console.warn("No wallet instance found.");
      }
    } catch (error) {
      console.error("Failed to disconnect wallet:", error);
    }
  };

  useEffect(() => {
    const savedAddress = localStorage.getItem("walletAddress");
    if (savedAddress) {
      const formattedAddress = `${savedAddress.slice(0, 6)}...${savedAddress.slice(-5)}`;
      setAddress(formattedAddress);
    }
  }, []);

  return (
    <Button
      type="button"
      onClick={address ? disconnectWallet : connectWallet}
      size="sm"
      center
      onMouseEnter={() => setHover(true)}
      onMouseLeave={() => setHover(false)}
    >
      {address ? (hover ? "Disconnect Wallet" : `${address}`) : cta.title}
    </Button>
  );
};

export default CustomConnectWalletButton;

✨ Browser
Google Chrome
Checklist 🚀

[X] I checked and didn't find similar issue
[X] I have read the Contributing Guidelines
[ ] I am willing to work on this issue (blank for no).

Done!
import React, { useEffect, useRef, useState } from "react";
import { Button } from "@/components";
import { WalletConnectWallet, WalletConnectChainID } from "@tronweb3/walletconnect-tron";

interface CustomConnectWalletButtonProps {
  cta: {
    title: string;
  };
}

const CustomConnectWalletButton: React.FC<CustomConnectWalletButtonProps> = ({ cta }) => {
  const [address, setAddress] = useState<string | null>(null);
  const [hover, setHover] = useState<boolean>(false);
  const walletRef = useRef<WalletConnectWallet | null>(null);

  const connectWallet = async () => {
    try {
      walletRef.current = new WalletConnectWallet({
        network: WalletConnectChainID.Mainnet,
        options: {
          relayUrl: process.env.NEXT_PUBLIC_APP_RELAY_URL || "wss://relay.walletconnect.com",
          projectId: process.env.NEXT_PUBLIC_APP_PROJECT_ID || "",
          metadata: {
            name: "Camell (CAMT)",
            description: "CAMT Wallet Connect",
            url: "https://camt.cloud/",
            icons: ["https://camell-web-logo.s3.ap-northeast-2.amazonaws.com/image-removebg-preview.png"],
          },
        },
        web3ModalConfig: {
          themeMode: "dark",
          themeVariables: {
            "--wcm-z-index": "1000",
          },
          explorerRecommendedWalletIds: [
            "1ae92b26df02f0abca6304df07debccd18262fdf5fe82daa81593582dac9a369",
            "4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0",
          ],
        },
      });

      const { address: connectedAddress } = await walletRef.current.connect();
      const formattedAddress = `${connectedAddress.slice(0, 6)}...${connectedAddress.slice(-5)}`;
      setAddress(formattedAddress);
    } catch (error) {
      console.error("Failed to connect wallet:", error);
    }
  };

  const disconnectWallet = async () => {
    try {
      if (walletRef.current) {
        await walletRef.current.disconnect();
        walletRef.current = null;
        setAddress(null);
      } else {
        console.warn("No wallet instance found.");
      }
    } catch (error) {
      console.error("Failed to disconnect wallet:", error);
    }
  };

  useEffect(() => {
    // Removed logic for localStorage.
  }, []);

  return (
    <Button
      type="button"
      onClick={address ? disconnectWallet : connectWallet}
      size="sm"
      center
      onMouseEnter={() => setHover(true)}
      onMouseLeave={() => setHover(false)}
    >
      {address ? (hover ? "Disconnect Wallet" : `${address}`) : cta.title}
    </Button>
  );
};

export default CustomConnectWalletButton;

Thankyou it works!


Waterfurnace component not connecting

Home Assistant release with the issue:
0.81.6

Last working Home Assistant release (if known):
First time trying the component
Operating environment (Hass.io/Docker/Windows/etc.):
Docker

Component/platform:
Waterfurnace
https://www.home-assistant.io/components/waterfurnace/

Description of problem:
Component loads and creates the entities but all the values are "Unknown" and I get the following error in the logs : Unknown exception, socket probably failed
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
waterfurnace:
  username: XXXXX
  password: XXXXXX
  unit: 999999999

Traceback (if applicable):
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/waterfurnace/waterfurnace.py", line 164, in read
    datadecoded = json.loads(data)
  File "/usr/local/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/usr/local/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/local/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
2018-11-07 10:46:27 ERROR (Thread-2) [homeassistant.components.waterfurnace] Failed to read data, attempting to recover
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/waterfurnace/waterfurnace.py", line 164, in read
    datadecoded = json.loads(data)
  File "/usr/local/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/usr/local/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/local/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/app/homeassistant/components/waterfurnace.py", line 149, in run
    self.data = self.client.read()
  File "/usr/local/lib/python3.6/site-packages/waterfurnace/waterfurnace.py", line 174, in read
    raise WFWebsocketClosedError()
waterfurnace.waterfurnace.WFWebsocketClosedError

Additional information:
I activated my Symphony system 2 days ago and tried configuring this component but I keep getting this socket connection error. Other than that the symphony website works correctly on my network.

@mdallaire how comfortable are you on building software from git? I've got code on the master branch now that includes a debug tool for the water furnace connection. Would love to see how that works for you.
git clone https://github.com/sdague/waterfurnace
cd waterfurnace
pip install -U .
waterfurnace-debug -u 'username' -p 'password' -n 'unitnumber'

My guess is that something odd is coming back on the websocket, possibly a byte mismatch, that we'll need to decode.

@mdallaire how comfortable are you on building software from git? I've got code on the master branch now that includes a debug tool for the water furnace connection. Would love to see how that works for you.
git clone https://github.com/sdague/waterfurnace
cd waterfurnace
pip install -U .
waterfurnace-debug -u 'username' -p 'password' -n 'unitnumber'

Thank you for the quick reply! I am both trilled about my new geothermal pump and the fact that there is a home-assistant component for it :)
I ran the debug command and here is the output with some personal info redacted:
# waterfurnace-debug -u<EMAIL_ADDRESS>-p 'mysecurepassword' -n '123456789'
User<EMAIL_ADDRESS>Pass: mysecurepassword, Unit: 123456789

Step 1: Login
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): symphony.mywaterfurnace.com:443
DEBUG:urllib3.connectionpool:https://symphony.mywaterfurnace.com:443 "POST /account/login HTTP/1.1" 302 None
DEBUG:waterfurnace.waterfurnace:Login response: {"firstname":"MyName","lastname":"MyLastName","emailaddress":"my@email.com","key":5069,"success":true,"locations":[{"description":"Home","postal":"A1A2b2","city":"MyCity","state":"QC","country":"CA","latitude":45.xxx,"longitude":-74.xxx,"gateways":[{"gwid":"00ABCDDEB","description":"PremiumV","type":"AWL","awltstattype":103,"awltstattypedesc":"Color","iz2_max_zones":1,"awlabctypedesc":"Variable Speed","awlabctype":3,"blowertype":1,"online":1}]}],"rsp":"login","tid":1,"err":""}
Login Succeeded: session_id = h6k1lti421qm66k225hg6m03e07ej2p4h4554upqci8s0shk7vp3k24r5lvvk3f2921suj8080q8ek7rss1ir2mv9g3nvv7j7e8uj03
Attempting to read data
DEBUG:waterfurnace.waterfurnace:Req: {'cmd': 'read', 'tid': 2, 'awlid': '123456789', 'zone': 0, 'rlist': ['compressorpower', 'fanpower', 'auxpower', 'looppumppower', 'totalunitpower', 'AWLABCType', 'ModeOfOperation', 'ActualCompressorSpeed', 'AirflowCurrentSpeed', 'AuroraOutputEH1', 'AuroraOutputEH2', 'AuroraOutputCC', 'AuroraOutputCC2', 'TStatDehumidSetpoint', 'TStatHumidSetpoint', 'TStatRelativeHumidity', 'LeavingAirTemp', 'TStatRoomTemp', 'EnteringWaterTemp', 'AOCEnteringWaterTemp', 'lockoutstatus', 'lastfault', 'lastlockout', 'humidity_offset_settings', 'humidity', 'outdoorair', 'homeautomationalarm1', 'homeautomationalarm2', 'roomtemp', 'activesettings', 'TStatActiveSetpoint', 'TStatMode', 'TStatHeatingSetpoint', 'TStatCoolingSetpoint', 'AWLTStatType'], 'source': 'consumer dashboard'}
DEBUG:waterfurnace.waterfurnace:Successful send
DEBUG:waterfurnace.waterfurnace:Successful recv
ERROR:waterfurnace.waterfurnace:Unable to decode data as json:
Traceback (most recent call last):
  File "/root/wf/lib/python3.6/site-packages/waterfurnace/waterfurnace.py", line 182, in read
    datadecoded = json.loads(data)
  File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "/root/wf/lib/python3.6/site-packages/waterfurnace/waterfurnace.py", line 182, in read
    datadecoded = json.loads(data)
  File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/wf/bin/waterfurnace-debug", line 11, in <module>
    load_entry_point('waterfurnace==0.7.0', 'console_scripts', 'waterfurnace-debug')()
  File "/root/wf/lib/python3.6/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/root/wf/lib/python3.6/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/root/wf/lib/python3.6/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/root/wf/lib/python3.6/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/root/wf/lib/python3.6/site-packages/waterfurnace/cli.py", line 30, in main
    data = wf.read()
  File "/root/wf/lib/python3.6/site-packages/waterfurnace/waterfurnace.py", line 192, in read
    raise WFWebsocketClosedError()
waterfurnace.waterfurnace.WFWebsocketClosedError

Ok, well it's definitely not responding to the same back and forth that mine is. How comfortable do you feel in chrome inspector? I'd like to see what your send and recv looks like. You'd pop up chrome inspector once you are logged into symphony, and select the Network tab. Then reload the page, and look for the awlclientproxy resource. Highlighting that and selecting "Frames" you should see the websocket communicate back and forth.

I'd need the json dumps of the send and recv. Because I must be asking for data that's not there for your system.

{"cmd":"read","tid":20,"awlid":"001EC06EBBEB","zone":0,"rlist":["compressorpower","fanpower","auxpower","looppumppower","totalunitpower","AWLABCType","ModeOfOperation","ActualCompressorSpeed","AirflowCurrentSpeed","AuroraOutputEH1","AuroraOutputEH2","AuroraOutputCC","AuroraOutputCC2","TStatDehumidSetpoint","TStatRelativeHumidity","LeavingAirTemp","TStatRoomTemp","EnteringWaterTemp","AOCEnteringWaterTemp","lockoutstatus","lastfault","lastlockout","homeautomationalarm1","homeautomationalarm2","roomtemp","activesettings","TStatActiveSetpoint","TStatMode","TStatHeatingSetpoint","TStatCoolingSetpoint","AWLTStatType"],"source":"consumer dashboard"}
{"rsp":"read","awlid":"001EC06EBBEB","tid":20,"err":"","compressorpower":738,"zone":0,"fanpower":112,"auxpower":0,"looppumppower":69,"totalunitpower":919,"awlabctype":3,"modeofoperation":5,"actualcompressorspeed":4,"airflowcurrentspeed":5,"auroraoutputeh1":0,"auroraoutputeh2":0,"auroraoutputcc":1,"auroraoutputcc2":0,"tstatdehumidsetpoint":50,"tstatrelativehumidity":38,"leavingairtemp":86.9,"tstatroomtemp":70.8,"enteringwatertemp":40.3,"aocenteringwatertemp":40.5,"lockoutstatus":{"lockoutstatuscode":0,"lockedout":0},"lastfault":16,"lastlockout":{"lockoutstatuslast":19},"homeautomationalarm1":0,"homeautomationalarm2":0,"roomtemp":70,"activesettings":{"temporaryoverride":0,"permanenthold":0,"vacationhold":0,"onpeakhold":0,"superboost":0,"tstatmode":0,"activemode":3,"heatingsp_read":70,"coolingsp_read":78,"fanmode_read":1,"intertimeon_read":0,"intertimeoff_read":5},"tstatactivesetpoint":70,"tstatmode":0,"tstatheatingsetpoint":70,"tstatcoolingsetpoint":78,"awltstattype":103}

{"cmd":"read","tid":20,"awlid":"XXXXXXXXXX","zone":0,"rlist":["compressorpower","fanpower","auxpower","looppumppower","totalunitpower","AWLABCType","ModeOfOperation","ActualCompressorSpeed","AirflowCurrentSpeed","AuroraOutputEH1","AuroraOutputEH2","AuroraOutputCC","AuroraOutputCC2","TStatDehumidSetpoint","TStatRelativeHumidity","LeavingAirTemp","TStatRoomTemp","EnteringWaterTemp","AOCEnteringWaterTemp","lockoutstatus","lastfault","lastlockout","homeautomationalarm1","homeautomationalarm2","roomtemp","activesettings","TStatActiveSetpoint","TStatMode","TStatHeatingSetpoint","TStatCoolingSetpoint","AWLTStatType"],"source":"consumer dashboard"}
{"rsp":"read","awlid":"XXXXXXXXXX","tid":20,"err":"","compressorpower":738,"zone":0,"fanpower":112,"auxpower":0,"looppumppower":69,"totalunitpower":919,"awlabctype":3,"modeofoperation":5,"actualcompressorspeed":4,"airflowcurrentspeed":5,"auroraoutputeh1":0,"auroraoutputeh2":0,"auroraoutputcc":1,"auroraoutputcc2":0,"tstatdehumidsetpoint":50,"tstatrelativehumidity":38,"leavingairtemp":86.9,"tstatroomtemp":70.8,"enteringwatertemp":40.3,"aocenteringwatertemp":40.5,"lockoutstatus":{"lockoutstatuscode":0,"lockedout":0},"lastfault":16,"lastlockout":{"lockoutstatuslast":19},"homeautomationalarm1":0,"homeautomationalarm2":0,"roomtemp":70,"activesettings":{"temporaryoverride":0,"permanenthold":0,"vacationhold":0,"onpeakhold":0,"superboost":0,"tstatmode":0,"activemode":3,"heatingsp_read":70,"coolingsp_read":78,"fanmode_read":1,"intertimeon_read":0,"intertimeoff_read":5},"tstatactivesetpoint":70,"tstatmode":0,"tstatheatingsetpoint":70,"tstatcoolingsetpoint":78,"awltstattype":103}

Can you do another git pull, install, and try the debug again. The only fields you seem to be missing are the ones related to the humidifier. I didn't think this would break if you asked for fields that don't exist, but maybe that's the case. So the current pull should match all your fields exactly. Hopefully that returns well.

I pulled and resintalled and get the following:
`Login Succeeded: session_id = 71rhqbc7vr3e4fagfihd152matuk2e12dmok2upq7g692h7l5n3mf0nm1c8ikv0pdfagdffveh2m0ciec8jt1hmtp1h7l6hehdttik3
Attempting to read data
DEBUG:waterfurnace.waterfurnace:Req: {'cmd': 'read', 'tid': 2, 'awlid': 'xxxxxxxxx', 'zone': 0, 'rlist': ['compressorpower', 'fanpower', 'auxpower', 'looppumppower', 'totalunitpower', 'AWLABCType', 'ModeOfOperation', 'ActualCompressorSpeed', 'AirflowCurrentSpeed', 'AuroraOutputEH1', 'AuroraOutputEH2', 'AuroraOutputCC', 'AuroraOutputCC2', 'TStatDehumidSetpoint', 'TStatRelativeHumidity', 'LeavingAirTemp', 'TStatRoomTemp', 'EnteringWaterTemp', 'AOCEnteringWaterTemp', 'lockoutstatus', 'lastfault', 'lastlockout', 'homeautomationalarm1', 'homeautomationalarm2', 'roomtemp', 'activesettings', 'TStatActiveSetpoint', 'TStatMode', 'TStatHeatingSetpoint', 'TStatCoolingSetpoint', 'AWLTStatType'], 'source': 'consumer dashboard'}
DEBUG:waterfurnace.waterfurnace:Successful send
DEBUG:waterfurnace.waterfurnace:Successful recv
ERROR:waterfurnace.waterfurnace:Unable to decode data as json:
Traceback (most recent call last):
File "/root/wf/lib/python3.6/site-packages/waterfurnace/waterfurnace.py", line 182, in read
datadecoded = json.loads(data)
File "/usr/lib/python3.6/json/init.py", line 354, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
File "/root/wf/lib/python3.6/site-packages/waterfurnace/waterfurnace.py", line 182, in read
datadecoded = json.loads(data)
File "/usr/lib/python3.6/json/init.py", line 354, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/wf/bin/waterfurnace-debug", line 11, in
load_entry_point('waterfurnace==0.7.0', 'console_scripts', 'waterfurnace-debug')()
File "/root/wf/lib/python3.6/site-packages/click/core.py", line 764, in call
return self.main(*args, **kwargs)
File "/root/wf/lib/python3.6/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/root/wf/lib/python3.6/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/root/wf/lib/python3.6/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/root/wf/lib/python3.6/site-packages/waterfurnace/cli.py", line 30, in main
data = wf.read()
File "/root/wf/lib/python3.6/site-packages/waterfurnace/waterfurnace.py", line 192, in read
raise WFWebsocketClosedError()
waterfurnace.waterfurnace.WFWebsocketClosedError
`

Doing some more digging in chrome inspector I found that right after the login I have the following query happening:
{cmd: "read", awlid: "xxxxxxxx", zone: 0, rlist: ["awltstattype", "iz2_max_zones", "AWLABCType"],…}
awlid: "001EC06EBBEB"
cmd: "read"
rlist: ["awltstattype", "iz2_max_zones", "AWLABCType"]
0: "awltstattype"
1: "iz2_max_zones"
2: "AWLABCType"
source: "consumer dashboard"
tid: 1
zone: 0

{rsp: "read", awlid: "xxxxxxxx", tid: 1, err: "", awltstattype: 103, zone: 0, iz2_max_zones: 0,…}
awlabctype: 3
awlid: "xxxxxxxx"
awltstattype: 103
err: ""
iz2_max_zones: 0
rsp: "read"
tid: 1
zone: 0

This runs once between the login and the regular update loop. I am not sure if this could be causing the issue.

Yes that works! Thanks for fixing this!
I also went a bit further and uncommented the humidity readings you commented out and it still work.
I was able to clone and install this version in my docker container and the component works now.
Thanks for your help!

Great! Ok, I'll work on a more ready for production release of this. It
will make the configuration less confusing for sure. It will take me a
couple of weeks to get the library into a release state, but hopefully
will make it for either the next release or the one after of home assistant.
On 11/12/18 8:54 AM, mdallaire wrote:

Yes that works! Thanks for fixing this!
I also went a bit further and uncommented the humidity readings you
commented out and it still work.
I was able to clone and install this version in my docker container
and the component works now.
Thanks for your help!
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant/issues/18306#issuecomment-437888973,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAA4HxjW5_iDJ89ld41ZrwfXzPUITSyIks5uuX2ngaJpZM4YSuAg.

--
Sean Dague
http://dague.net

Hi Sean,
What is the status on the library? Do I still need to clone the repo and install it manually to my docker container after the updates?
Thanks!

I removed my custom configs and components from the previous tests and all is working fine after changing the following:

I had to remove the unit: configuration option (I will take a few minute and update the documentation for this)
The sensor name changed to the AWLID so I had to change my lovelace UI and influxdb component to use the new name.

Thanks a lot for the help in making this work :+1:


accessibility signals are broken

Also, when debouncePositionChanges is false, there's still a delay per accessibility.signalOptions.experimental.delays.* which there should not be.
Those should only apply when that is true.

tested a few audio queues and they seem to be working. Let me know if there was something more specific to verify.


vcv-rack: 2.4.0 -> 2.4.1

Diff: https://github.com/VCVRack/Rack/compare/v2.4.0...v2.4.1

Was just testing something, will create a real pr later


can sortable support multilevel menu drop'n'drag??

hello!I want to know how can I use sortableJs to realize a multilevel menu drop'n'drag? I don't any examples in your sample code...please~

yes, do you have parent/child examples please?

I did it in a rather complicated setup but I had to manage the whole state myself.
https://codereview.tryton.org/265181002/diff/275161002/sao/src/view/tree.js
The drag_data_received function is doing the hard work there.


Update most of the OntoFox imports

I did not update 'core promoter binding' #1215 and left the OBO_imports.owl unchanged from #1209.

Note: Almost all the difference are due to an updated OWLAPI version. I ran robot diff to check that the substantive changes to axioms looked good. The only one I'm a little worried about is NCBITaxon.


Final disc image not produced, but I have got stages (5MB) and an EFI file

I was following this tutorial part: Minimal Rust kernel: Printing to screen.
I have stopped as I migrated the project structure conforming to the Create a Disk Image section referenced in the Bootloader crate home.
I have done that, but I had to discard my x64.json target description due to location errors involving ../ segments and use the official x86_64-unknown-none target that produces an ELF executable.
Log and prints

It looks like you are using bootloader 0.11. The second edition of blog os depends on bootloader 0.9.

@bjorn3 I wasn't aware! I have just cloned the post-03 branch and it worked perfectly with QEMU. Guess I'll just use it ready then.

I have just one question: there are two license files in the post-03 branch, but they have copyright owner and year.


tests-ci : kernel: memory_protection: userspace test Timeout

Describe the bug
userspace test is Timeout on zephyr-v2.6.0-1424-g14f09a3b00d4 on lpcxpresso55s28
see logs for details
To Reproduce
1.
scripts/twister --device-testing --device-serial /dev/ttyACM0 -p lpcxpresso55s28  --sub-test kernel.memory_protection

See error

Expected behavior
test pass
Impact
Logs and console output
*** Booting Zephyr OS build zephyr-v2.6.0-1424-g14f09a3b00d4  ***
Running test suite userspace
===================================================================
START - test_is_usermode
PASS - test_is_usermode in 0.1 seconds
===================================================================
START - test_write_control
PASS - test_write_control in 0.1 seconds
===================================================================
START - test_disable_mmu_mpu
ASSERTION FAIL [esf != ((void *)0)] @ WEST_TOPDIR/zephyr/arch/arm/core/aarch32/cortex_m/fault.c:993
ESF could not be retrieved successfully. Shall never occur.
ASSERTION FAIL [esf != ((void *)0)] @ WEST_TOPDIR/zephyr/arch/arm/core/aarch32/cortex_m/fault.c:993
ESF could not be retrieved successfully. Shall never occur.

Environment (please complete the following information):

OS: (e.g. Linux )
Toolchain (e.g Zephyr SDK)
Commit SHA or Version used: zephyr-v2.6.0-1424-g14f09a3b00d4

@dleach02  @MaureenHelm


Todo list

(in no particular order)

[x] Martinique
[ ] British Indian Ocean Territory
[ ] Saint Pierre et Miquelon
[x] Curacao
[x] Saint Martin
[x] Aruba
[x] Canary Islands
[x] Basque Country
[ ] Sint Maarten
[ ] Catalonia

https://en.wikipedia.org/wiki/Réunion is also missing

Ascension Island https://en.wikipedia.org/wiki/Ascension_Island

https://en.wikipedia.org/wiki/Chinese_Taipei_Olympic_flag please
I need it.


About ReactorUI-Maui

Hello, is the implementation of ReactorUI-Maui like flutter? Does the component distinguish whether it is stateful or not?

Stateless component:
class MyWidget : Component
{
}

Statefull:
class MyWidgetState : IState
{
public int Counter{get;set;}
}

class MyWidget : Component<MyWidgetState>
{

}

Ok, I got it , Thank you


no action advanced option

Hi,
when I add the options via the commands, they are not taken into account. Is this normal?
I did / lp group peasant meta set griefprevention.create-claim-limit-basic 1
but when I test, I can still create multiple claims
thank you

You need to run /gpreload as stated in wiki.

I executed the command and I even restarted the server but the options do not apply


Allow simultaneous X11 and Wayland support

XWayland detection is a hack currently. Feedback is welcome how to do this in a less ugly way

XWayland "detection" fails for mame for example so it definitely needs to be improved. Suggestions are welcome.

I think this would be ideal. Anything else is going to be a workaround to some extent. Do you have something like my original attempt in #3143 in mind?

Not original because you were adding new field for specific type of window handle. What I'm thinking just one enum to identify pointer type. Since all platforms have one type it would be default (on Linux default would mean X11) and if you passing Wayland handle on Linux you would specify with enum.
struct NativeWindowHandleType
{
     enum Enum
     {
           Default = 0,
           Wayland,

           Count
     };
};

Something like this? If so, I will add the code to other examples.

Submit another PR where you use BX_UNUSED(_handle) on code like this:
	bgfx::NativeWindowHandleType::Enum getNativeWindowHandleType(WindowHandle _handle)
	{
		return bgfx::NativeWindowHandleType::Default;
	}

Submit another PR where you use BX_UNUSED(_handle) on code like this:
	bgfx::NativeWindowHandleType::Enum getNativeWindowHandleType(WindowHandle _handle)
	{
		return bgfx::NativeWindowHandleType::Default;
	}

I just tried but this results in SIGILL:
	bgfx::NativeWindowHandleType::Enum getNativeWindowHandleType(WindowHandle _handle)
	{
		BX_UNUSED(_handle);
	}

BX_UNUSED is just for handle, you don't need to change anything else...

	bgfx::NativeWindowHandleType::Enum getNativeWindowHandleType(WindowHandle _handle)
	{
	        BX_UNUSED(_handle); <--- prevents warnings about unused argument...
		return bgfx::NativeWindowHandleType::Default;
	}

See: https://github.com/bkaradzic/bgfx/commit/cbfea75cfde00a06d7ef290fa06142f3f69083f6


Support Python 3.7

Adds Python 3.7 support.
TODO:

[ ] Unit tests and/or doctests in docstrings
[ ] tox -e py36 passes locally
[ ] tox -e py27 passes locally
[ ] Docstrings and API docs for any new/modified user-facing classes and functions
[ ] Changes documented in docs/release.rst
[ ] tox -e docs passes locally
[ ] AppVeyor and Travis CI passes
[ ] Test coverage to 100% (Coveralls passes)

Thoughts on this?


Unable to open this file using latest version of everything

Expected Behavior
Please describe what should happen
This project should open with blue ribbon
Actual Behavior
Describe what actually happens, screenshots are helpful.
I had this problem (only on files created from this ipad. Other ipads did not generate the problem) about 3 weeks ago and had student upgrade ipad and scratchjr. Then it worked  for a week. Now it is not working again.
opening file switches to opened instance of scratch jr, but nothing happens. Tried opening via airdrop on mac and via email on mac and pixel.
Steps to Reproduce
Explain what someone needs to do in order to see what's described in Actual behavior above
open attached file via email on android, or via airdrop/bluestacks on mac.
Device and Operating System
e.g. iPad mini, iOS 10.3 or Samsung Galaxy Tab S6, Android 10
macs (running bluestacks 4.106 and big sur and high sierra) and pixel 3a running latest android.
These don't work
hijklmnopqrstuvwxyz.sjr
abcdefg.sjr
abcdefg2.sjr
Not working.zip
This one (I believe) from same computer did last week:
mao.sjr
working project.zip

I am still getting this problem. It is quite mystifying. I can open some files created by the same ipad, but not others. Another ipad was able to open the files. I have tried to open it in android both via bluestacks emulator and natively on the latest android and an old android version. Here they are:
troubled files.zip
Project 33 opens, project 32 doesn't. They were created on the same, fully updated (I believe) ipad within a few days of each other.
There is another problem, possibly related, which is demonstrated in this video.

Closing for now, will reopen if there's new instances.


fix: remove unused media library package (resolves #968)

We aren't letting users upload media at this point so I think it makes sense to remove this unused dependency for now.
Prerequisites
If this PR changes PHP code or dependencies:

[x] I've run composer format and fixed any code formatting issues.
[x] I've run composer analyze and addressed any static analysis issues.
[x] I've run php artisan test and ensured that all tests pass.
[x] I've run composer localize to update localization source files and committed any changes.

If this PR changes CSS or JavaScript code or dependencies:

[x] I've run npm run lint and fixed any linting issues.
[x] I've run npm run build and ensured that CSS and JavaScript assets can be compiled.

There is still use of MediaLibrary in image-uploader.blade.php, but I wonder if this blade template and its model are used in the platform?

There is still use of MediaLibrary in image-uploader.blade.php, but I wonder if this blade template and its model are used in the platform?

Good call— they aren't. I will remove them as well.


Faster database schema

The database schema was previous just a single table called ensembl, which required every query to specify e.g. feature='transcript'. This branch splits the schema into multiple tables (one for genes, one for transcripts, &c). This allows transcript_id and gene_id to be primary keys of their respective tables, and speeds up searches for a particular ID by reducing the number of rows which must be inspected.
This branch relies on the datacache branch https://github.com/hammerlab/datacache/pull/16
The impact on performance is ~10x faster for gene lookups, ~3x faster for transcript lookups and confusingly ~2x slower for exon lookups. Since the latter are rarer, this is a net win but it's still worth figuring out how/why exon queries became slower.
Other changes:

added license headers to several files
deleted type_checks module, using the typechecks pip package instead
parsing requirements in setup.py from requirements.txt

I wouldn't spend too much time tuning the database performance with sqlite. At some point we'll want to move to a real database and then we can start digging in to performance characteristics of the workload.

I agree, figuring out the performance of exon lookups is a very low
priority for me. As for this PR, a schema with one table per feature
(rather than a big monolithic table) is what we'll want regardless of the
backend.
On Mar 1, 2015 8:23 PM, "Jeff Hammerbacher"<EMAIL_ADDRESS>wrote:

I wouldn't spend too much time tuning the database performance with
sqlite. At some point we'll want to move to a real database and then we can
start digging in to performance characteristics of the workload.
—
Reply to this email directly or view it on GitHub
https://github.com/hammerlab/pyensembl/pull/52#issuecomment-76646068.

 Maybe a brief explanation of why: "because the tables, regardless of the feature they contain, should be filterable by gene_id, transcript_id, etc."

pyensembl/database.py, line 113 [r1] (raw file):
I think i'd prefer this little "%s_id" line of logic pulled out, e.g. get_primary_key(feature), with a docstring clarification. The simple assumption of being able to add _id worries me, but you know the Ensembl data better than I do.
Where does protein_id fit in? In https://github.com/hammerlab/pyensembl/pull/44/files, I needed to set feature='CDS' to grab protein_id, but I very well might have been doing things wrong.

pyensembl/database.py, line 117 [r1] (raw file):
I think checking for nulls and uniqueness should also be factored out into an is_valid_primary_key method.

pyensembl/database.py, line 171 [r1] (raw file):
This should be changed in a few spots, as this error is thrown in a few spots. (Wasn't sure of the best way to centralize message, though that'd be great.)
Also, are you preparing to move beyond Ensembl?

setup.py, line 33 [r1] (raw file):
See my comments in the datacache PR, and also https://github.com/hammerlab/pyensembl/blob/travis/setup.py: I'd prefer to do it that way, and I also think it'd be good to share this logic between these different repos. (The logic sharing can be a separate PR.)

Comments from the review on Reviewable.io

pyensembl/database.py, line 27 [r1] (raw file):
I don't think so, it's an implementation detail that only matters when you're modifying the contents of this module.

pyensembl/database.py, line 61 [r1] (raw file):
I realized it's a silly database index since the number of matching results is still gigantic, and I'm not often asking for "all the features on this contig". Doesn't seem worth the extra time spent indexing upon install.

pyensembl/database.py, line 103 [r1] (raw file):
There are some situations when a feature totally lacks non-null values for some index column(s), so creating that index is a waste of time. Handled via _feature_indices helper.

pyensembl/database.py, line 113 [r1] (raw file):
You're right, I didn't realize that protein_id is effectively acting a primary key for CDS.
I like your idea of moving the tricky stuff into helpers, I split out a lot of the logic inside this loop into _get_primary_key and _feature_indices.

pyensembl/database.py, line 117 [r1] (raw file):
I disagree, I find that when I'm reading code, one liners with clear logic are actually easier to understand than helper methods. I would still wonder how we know whether a primary key is "valid" or what that means, but here it's spelled out without much fuss.

pyensembl/database.py, line 171 [r1] (raw file):
Maybe we can make an error_messages module? That seems over the top. I'm not really sure how to centralize this either.
Re; "move beyond Ensembl";  you mean with the "Ensembl" -> "Genome" change? Nope, I just though that it's clearer to call it "genome annotation data", since, well, we're downloading annotations over a genome and from the context it should be pretty clear we're doing that through Ensembl.

setup.py, line 33 [r1] (raw file):
See: https://github.com/machinalis/iepy/issues/63
(pip doesn't have a stable external API)
I agree with your idea in the other PR, we should make a little library of setup helpers.

(rebased off master)

Comments from the review on Reviewable.io
Reviewed files:

pyensembl/gtf.py @ r1
pyensembl/gtf_parsing.py @ r1
pyensembl/locus.py @ r1
pyensembl/reference_transcripts.py @ r1
pyensembl/release_info.py @ r1
pyensembl/search.py @ r1
pyensembl/shell.py @ r1

Looks good to me! Sorry for the delay.

pyensembl/database.py, line 129 [r1] (raw file):
Ah, I wasn't necessarily saying that get_primary_key needed an additional helper method, so your factoring out the primary key logic meets my needs!

Comments from the review on Reviewable.io

No worries!


Ensure S3 general purpose buckets require requests to use SSL

The S3 general purpose buckets should require requests to use SSL control is defined as follows:
[S3.5] This control checks whether an Amazon S3 general purpose bucket has a policy that requires requests to use SSL. The control fails if the bucket policy doesn't require requests to use SSL. Remediation instructions
S3 buckets should have policies that require all requests (Action: S3:*) to only accept transmission of data over HTTPS in the S3 resource policy, indicated by the condition key aws:SecureTransport.
Several resources were identify as non-compliant, see the list in: https://jaas.gsfc.nasa.gov/servicedesk/customer/portal/2/GSD-4081

This is fixed for the MC bucket