Problem with After Update query

Expected Behavior
Trigger should works
Actual Behavior
AccountTrigger: execution of AfterUpdate caused by: System.TypeException: TA_Account_After_Update_Queries does not have a no-arg constructor (System Code) Class.MetadataTriggerHandler.executeActions: line 190, column 1 Class.MetadataTriggerHandler.afterUpdate: line 40, column 1 Class.TriggerBase.run: line 81, column 1 Trigger.AccountTrigger: line 17, column 1
Steps to Reproduce the Problem

Specifications
`public with sharing class TA_Account_After_Update_Queries {
private static TA_Account_After_Update_Queries instance;
private TA_Account_After_Update_Queries() {
}

public static TA_Account_After_Update_Queries getInstance() {
    if (TA_Account_After_Update_Queries.instance == null) {
        TA_Account_After_Update_Queries.instance = new TA_Account_After_Update_Queries();
    }
    return TA_Account_After_Update_Queries.instance;
}
public Map<Id, Case> afterCaseMap { get; private set; }

public class Service implements TriggerAction.AfterUpdate {
    public void afterUpdate(List<Account> newList , List<Account> oldList) {
        TA_Account_After_Update_Queries.getInstance().afterCaseMap = getAllCasesFromAccounts(newList);
    }

    private Map<Id, Case> getAllCasesFromAccounts(List<Account> newList) {
        Set<Id> accIds = new Set<Id>();
        for (Account myAcc : newList) {
            accIds.add(myAcc.Id);
        }
        return new Map<Id, Case>(
            [SELECT Id, Subject FROM Case WHERE AccountId IN :accIds]
        );
    }
}

}
`
`public class TA_Account_AfterUpdates implements TriggerAction.AfterUpdate {
public void afterUpdate(List<Account> newList, List<Account> oldList) {
    Map<Id,Account> oldMap = new Map<Id,Account>(oldList);
    Map<Id, Case> caseIdtoAcc = TA_Account_After_Update_Queries.getInstance().afterCaseMap;
    Map<Id, Account> accountId2Case = new Map<Id,Account>(newList);

    for (Account aList : newList) {
        if ( TriggerBase.idToNumberOfTimesSeenAfterUpdate.get(aList.id) == 1
                && aList.Name != oldMap.get(aList.id).Name
        ) {
            CaseHelper.createCaseAfterAccountRename(accountId2Case);
        }
    }
}

}`
I think this should works or maybe im wrong. I just tried to implement this pattern (which is looks amazing). Can you please check that ?
Metadata are configured and set with order 0 and using after update on account

Version: latest
Platform: mac

my bad :)

i deleted by mistake a custom md and started working but after that map is empty

I think your issue is caused by referencing the TA_Account_After_Update_Queries class in the Trigger_Action__mdt record, instead of the inner TA_Account_After_Update_Queries.Service class.
Separating this into an inner class is necessary to support the singleton pattern because singletons can't be instantiated using the Type.forName mechanism. The top level class is the singleton and the inner Service class enables it to be used in the framework.
There are a few additional opportunities to improve here:

Use one class for all queries on a given Sobject: TA_Account_Queries, don't separate into multiple singletons for each context.
Don't dispatch the logic to CaseHelper, perfom all of the logic in the trigger action itself so it's easier to understand and you can use addError on the parent account if a case DMl operation fails.
When all of your logic is in the trigger action, you might want to change the name of your trigger action to something like TA_Account_MakeRenameCase.

Thank you thats helps me a lot :-) So using this framework i should rather create a more classes where will be executed different logic ? :-) I already create a proper class and this is looks amazing :)

Correct, we want multiple classes, each with a single responsibility or reason to change.
The best analogy I can make is this: if you were a chef, the legacy way of writing triggers is like writing all of your recipes all together on one long scroll. With the Trigger Actions Framework, you are writing your recipes on their own index cards. It makes it much easier to understand a single recipe, and to sort/organize them however you best see fit.

Thank you for your help :) Good job with this framework :)


FIX: Update bedrock endpoint

AWS updated their endpoints per https://docs.aws.amazon.com/general/latest/gr/bedrock.html

lint issues though ...


Is it possible to reload jeelizFaceFilter and pass to it another video source for recognition?

Describe the solution you'd like
Hi!
I want to be able to reload jeelizFaceFilter or pass another video source to it. Now it generates "already initialized" error when I try to start  jeelizFaceFilter more than once.
Is it possible?

Hi,
This is not possible to reload jeefitAPI. This lib use a lot of resources and to run several instances would decrease the performance too much. At the loading it will load the neural network model with AJAX and we want to avoid it occurs several times.
But it is possible to pass a custom video. You can check this demo where a  element is used : https://github.com/jeeliz/jeelizFaceFilter/tree/master/demos/canvas2D/fromVideoFile
or this one where we can change dynamically the input texture using set_inputTexture( tex,  width,  height) and reset_inputTexture (described in the general readme)  : https://github.com/jeeliz/jeelizFaceFilter/tree/master/demos/faceReplacement

@xavierjs thank you for reply. But I don't need to run several instances, I want to destroy the current running instance and restart it, but I guess anyway it's not possible.
Let me clarify one moment - I init api and set videoElement in videoSettings and the question was - can I change video element at run time?

This is definitely possible with set_inputTexture( tex, width, height) and reset_inputTexture methods, and this is what we do in the face replacement example.
But you cannot directly give a video element to these methods, you have to put your video into a webglTexture, to refresh it at each frame and to give this webGLtexture to  set_inputTexture method.
Then if you want to reset to the webcam video, you call reset_inputTexture()

@xavierjs ok, I got it. Thank you!


add .db

What is creating these files?

the native SQLite backend used by touchforms (and optionally CLI) in the refactor


Association rules upload

Hey Zeyu, uploaded the folder with the R code. I think everything should check out but you may want to give it a quick test run on your side and skim.

Hey @DraceZhan, would you mind renaming the pdf file? It is showing .pptx.pdf now. Thanks.

should be changed now. I just deleted the other file because I forgot I could've just editted the name directly lol


Update xml2js

Fixes #5373.

Danabbit.
ERROR: HIGH Security Vulnerability: xml2js is vulnerable to prototype pollution  in xml2js (from ..__..__full-stack-tests__backend>@itwin/imodels-client-authoring>@azure/storage-blob>@azure/core-http>xml2js).  See https://github.com/advisories/GHSA-776f-qx25-q3cc for more info.

we mostly need to wait for azurite to update, which has a dep on the older xml2js. they merged a pr to update yesterdya, just waiting for them to release

can either close this pr/branch, or wait to update once azurite gets updated next qtr. going to draft for now

can either close this pr/branch, or wait to update once azurite gets updated next qtr

We're tracking the issue, closing this PR.


Is there support for handling redundant fields for referenced documents?

I have a Contract documents which references the User document associated with the contract using the annotation @ReferenceMany.
To be able to efficiently search the Contract's collections for all contracts referenced to all Users with name "mike" I want to redundantly save the User's name in the Contract. This means that whenever a User document is updated it should trigger updates to all Contracts referencing the updated User.
In previous projects (not using mongodb-odm) I have just created custom events to ensure the logic, but I wonder if this behavior is automated or somehow supported mongodb-odm?

As far as I know there's no such feature available out of the box, it'd be the best to implement it using event listeners I believe :)

@luttkens if there's something more you'd like to ask please reopen this issue

Could this also be made a custom mapping type in some way?
My contemplation is a "formulaFieldType" and depending on what the formula is asking for, it could recursively store or gather information into the documents or even related documents depending on what happens, like when the formula changes or when the data changes. The changing of data on the data source means we'd need to trigger the updates for the referenced side. Adding a simple field from another related document would be the easiest of formulas to do.
name = user.name
And possibly as annotations.
´´´PHP /** @Field(type="formularFieldType", formula="user.name") */ ´´´
Obviously you'd need some sort of interpreter for the formula too.
A formula field could also collect data out of the same or related documents to "formulate" the data stored in this new field type, with a predefined calculation, like changing a birthdate to an age in years or aggregating some data together to sum it up.
I also realize, some formulas must be calculated in real time (like the age in years example and thus can't be searchable with any accuracy and shouldn't be), but the formula to store a field value or other calculated values from related documents could be done with the event listener and stored successfully for searching. I understand, this could get hairy too, depending on the number of documents needing updating....hmm... but an update of the related field data or the formula itself isn't something that should happen too often. It is more than not probably an administrative task.
I don't know. Just throwing out an idea here for a generic new field type, with some very useful utility purposes.:)
Scott

I think this can be accomplished using the event system. preUpdate() prePersist(), etc. The events are there to handle this type of custom functionality without having to have a feature to handle every scenario.

Thanks Jonathan. I'll look into it. I have to.;)
Scott

@smolinari I've thought about this one multiple times because it would be quite useful. I'd be very interested in whatever you come up with :)

Certainly! It will take a bit though. I am still learning to be honest.:)
Scott


New version: POQDavid.PotatoWall version 1.7

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

From what I am reading it says my program is a PUA but here https://www.virustotal.com/gui/url/de7f032bb5d12a64084e25be7db5bc5c10ed474101f35f7e74ba6a768d3b1668?nocache=1 its all clean what's going on with this?

Hi @poqdavid,
Automatic Validation ended with:

Installer Verification Analysis Context Information:
Installer https://github.com/poqdavid/PotatoWall/releases/download/v1.7/PotatoWall_Release_SelfContained_v1.7_x64_en-us.msi
Scan request id: '82f6876b-14af-4768-a524-1ef5b6883814'
Error information: BlockingDetectionFound

Unfortunately, this package appears to be blocked from download by the host.

/AzurePipelines run

Hi @poqdavid,
Automatic Validation ended with:

Installer Verification Analysis Context Information:
Installer https://github.com/poqdavid/PotatoWall/releases/download/v1.7/PotatoWall_Release_SelfContained_v1.7_x64_en-us.msi
Scan request id: '82f6876b-14af-4768-a524-1ef5b6883814'
Error information: BlockingDetectionFound

Unfortunately, this package appears to be blocked from download by the host. It might be a data center block, to prevent automated downloads.

Wait so you are saying I can't use github to do this?? what do you suggest me to do?

Hi @poqdavid,
Automatic Validation ended with:

Installer Verification Analysis Context Information:
Installer https://github.com/poqdavid/PotatoWall/releases/download/v1.7/PotatoWall_Release_SelfContained_v1.7_x64_en-us.msi
Scan request id: '82f6876b-14af-4768-a524-1ef5b6883814'
Error information: BlockingDetectionFound

Unfortunately, this package appears to be blocked from download by the host. It might be a data center block, to prevent automated downloads.

Wait so you are saying I can't use github to do this?? what do you suggest me to do?

No - we have many packages that are hosted on GitHub. It appears that GitHub is preventing the VM in our Automated Validation pipeline from downloading the package to analyze it.
I had assumed that this blocking was due to a setting that was enabled within GitHub. But based on your reaction, this might not be a setting in GitHub, but a technical bug with the hosting infrastructure. Could you contact GitHub support to ask about this blocking error?

Hi @poqdavid,
Automatic Validation ended with:

Installer Verification Analysis Context Information:
Installer https://github.com/poqdavid/PotatoWall/releases/download/v1.7/PotatoWall_Release_SelfContained_v1.7_x64_en-us.msi
Scan request id: '82f6876b-14af-4768-a524-1ef5b6883814'
Error information: BlockingDetectionFound

Unfortunately, this package appears to be blocked from download by the host. It might be a data center block, to prevent automated downloads.

Wait so you are saying I can't use github to do this?? what do you suggest me to do?

No - we have many packages that are hosted on GitHub. It appears that GitHub is preventing the VM in our Automated Validation pipeline from downloading the package to analyze it.
I had assumed that this blocking was due to a setting that was enabled within GitHub, because packages on GitHub don't usually see this error. But based on your reaction, this might not be a setting in GitHub, but a technical bug with the hosting infrastructure. Could you contact GitHub support to ask about this blocking error?

Sure I will contact them and as soon as I get a reply I will let you know

/AzurePipelines run

So any progress or how I should solve this do I have to upload my builds some places else?

@wingetbot run

Lets try one more time and see if the same thing happens


Bug: numeric input mask with autogroup and suffix, first digit appears twice

Demo: https://jsfiddle.net/a94edxqt/2/
We have quite simple input form, integer numeric mask, autogroup with comma as group character and suffix part. When user position cursor after the first character of the suffix, and we have no other characters (digits) in the field, first character we type appears twice.
Suffix here in the demo has a space as a first character. It is just to make the problem more obvious, space or no space, behaves the same.

This seems fixed. (even on v3.x)


Alpha Zero or Alpha Go may be better suited

The system doesn't necessarily navigate interfaces.

we are waiting for you in the community!
https://discord.gg/tmtSqmXf


You may want to look at moving this to an environment variable.

https://github.com/lawen4cer/storm-bot/blob/47f68c16084ee7e094fc5fc21568642c9a299863/src/main/java/FortniteStats/Stats.java#L73

Fixed. Moved the API key to the config file so It could be fixed or changed without having to get into the source.


fix: update both cos bucket extension DA to mark the dependant DA as optional

Description
Updates both cos bucket extension DAs to mark the dependant DA as optional. The user can deploy the extension DA using a COS instance that may not of been provisioned with the dependant DA.
This is needed because catalog pushed a changed where by default, optional is now true.
Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

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

GitHub release
v8.11.9

Your semantic-release bot :package::rocket:


Use DistributedSampler when running with custom accelerator

What does this PR do?
Fixes #7813.
This only fixes the problem for DDDPlugin. I suspect the same problem exists for other distributed data parallel plugins, but I'm not familiar enough with those training types to verify that.
Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

Hello @ajtritt! Thanks for opening this PR.

In the file pytorch_lightning/trainer/connectors/accelerator_connector.py:

Line 407:121: E501 line too long (123 > 120 characters)

Do see the Hitchhiker's guide to code style

Dear @ajtritt,
The tests are failing. Do you need help resolving them ?
Best,
T.C

@ajtritt Thanks for looking into this. Are you interested in sending an equivalent fix for the precision plugin logic for a custom accelerator?


Data management - additional statements

:white_check_mark: Checklist

[x] This pull request has a meaningful title.
[x] If your changes are not yet ready to merge, you have marked this pull request as a draft pull request.

:ballot_box_with_check: Maintainers' checklist

[x] This pull request has had the appropriate labels assigned
[x] This pull request has been added to the SATRE backlog project board
[x] This pull request has been assigned to one or more maintainers

:arrow_heading_up: Summary
Additional statements written up by @machintim here with some modifications by @edwardchalstrey1
TODO:

[x] After review, update numbering and change numbering on evaluation(s)
[x] Update pillars diagram
Completed evaluations need to be updated to include responses to the new statements Edit: think we can do a separate PR for that

:raising_hand: Acknowledging contributors

[ ] All contributors to this pull request are already named in the table of contributors in the README file.
[ ] The following people should be added to the table of contributors in the README file:

@jemrobinson @JimMadge @craddm
I suggest that once people are happy we merge this and do a separate PR to complete Turing DSH eval for the new statements? Alternatively, people could add answers on this PR?

Also note that my update to the pillars diagram is a bit nasty - does anyone object to the following:

Keep it that way for this PR
Open a new issue for updating the pillars diagram that could say:

Tidy the diagram and make it pretty
Add clickable section links

Some minor suggestions, none critical.
AFAICT this matches the changes to the linked word doc. The only omission is

Information asset owners should have direct control of who has access to research data and/or access to view users with access.
Permissions applied to researchers within the TRE may be obfuscated from the responsible party (EG. Permission to view or change Active Directory groups may be within the remit of an IT service provider). Permissions to access research data assets should be visible to the owner of those assets with changes completed or directly approved by a responsible party such as an information asset owner.
Recommended

which has some discussion on whether asset owners should delegate identity access management to TRE Operators

I'll also probably wait for @machintim to come back on that comment before merging this

Could we merge this, and deal with the remaining point "Information asset owners should have direct control of who has access to research data and/or access to view users with access." later?

Yep I agree


allow numeric version for NuGet v2 services [powershellgallery chocolatey resharper]

closes #2331
The issue here was that if the version can be expressed as a number e.g: 0.3, d:Version will be a number instead of a string

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @chris48s!

  Generated by :no_entry_sign: dangerJS against 19105af75c1d4f763ba9d8515f8530305fc1971b


[Feature Request] Add option to hide temp/humidity

First, thank you for such a wonderful card!
Now, it would be great to be able to hide the two values for temperature and humidity in the top-right corner of the card. I have found myself using this card on dashboards where I also have the temp/humidity more emphasized on another card.
Thanks again!

🤘thanks


Typo in setting name

Line 34 From:
_maxblogs = SettingService.GetSetting(settings, "MaxBogs", "20");
To:
_maxblogs = SettingService.GetSetting(settings, "MaxBlogs", "20");

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: drakozero sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Add club advisor login/signup

Since it is for clubs, there will be a club head/ advisor, adding login to the club advisors and giving them certain features like:

Option to add a hiring alert to which interested students can register themselves and join.
Add events that are upcoming
Please assign this to me. @Yash-Ainapure
I'd like to work more and enhance a website. I myself being the club advisor of Media and Publications Club at my college, I believe I can add more value to the project.

Since it is for clubs, there will be a club head/ advisor, adding login to the club advisors and giving them certain features like:

Option to add a hiring alert to which interested students can register themselves and join.
Add events that are upcoming
Please assign this to me. @Yash-Ainapure
I'd like to work more and enhance a website. I myself being the club advisor of Media and Publications Club at my college, I believe I can add more value to the project.

At present the hiring component is not done and also the registration things.
So for now we could hold this issue.
you can contribute related to such things first then we could do this

Can I contribute to adding a hiring page?? @Yash-Ainapure

Can I contribute to adding a hiring page?? @Yash-Ainapure

Yeah sure.
I'll explain you the workflow first:
Through club admin there is a hiring button in sidebar which should go on hiring page,and there should be a button to start hiring which has further selection of roles & positions which will get added to db under that club.
and when a user clicks on hiring button on home page,he'll get scrolled down to hiring positions opened currently.
firstly There database table should get created related to this stuffs and after--> backend --->frontend.
I'll create the tables and required stuff then if you could contribute to backend or frontend of hiring pages ,it could be great.
I'll mention you when the tables get created by me

Yes sure, thankyou!

@Yash-Ainapure did you create the table?

@Yash-Ainapure did you create the table?

Yess,
do you want to work @shwetharavindrabaliga  @Ameerjafar  on backend and frontend of them??

@Yash-Ainapure yes I can work on this

@Yash-Ainapure  frontend

@Yash-Ainapure let me do the backend

Great, please a create new issue so that i could assign you the work


onMouseEnter / onMouseExit

In Swing, a component triggers a mouse exit when entering a subcomponent. I find this rather unintuitive and not the behavior I would expect.
Especially if I want to model a simple (CSS style) hover effect, I would need to register listeners on each child of the component. It would be very useful if we had an easy way to do this.
Maybe we can make it the default behavior of the onMouseEnter / onMouseExit listener and introduce two new listeners (onMouseEnterSurface, onMouseExitSurface) for the Swing style approach?

Now that you mention it and after some thinking I agree that the Swing behavior is really unintuitive
behavior which we should definitely correct as part of the SwingTree API.
I was also thinking about naming and really like the idea of naming
the current listener behavior onMouseEnterSurface /  onMouseExitSurface.
What I am not sure about is the implementation details here.
How would we implement this to be reliable as well as maintainable?
I would want to avoid having to register mouse listener on all sub-components.
But then how do we filter out the exit/enter events between the component/sub-component
transition and the mouse leaving the component entirely?
What if the sub-component fills out the component to its entirety, how do we get the events then?

I think the behavior is even weirder than I thought at first :sweat_smile:
If you do not register a listener on the child, it will behave as expected.

of(this).withLayout("wrap 2, fill", "20[100]20[100]20", "20[100]20[100]20")
    .withBackground(COLOR_1)
    .onMouseEnter(delegate -> delegate.getComponent().setBackground(COLOR_1_HOVER))
    .onMouseExit(delegate -> delegate.getComponent().setBackground(COLOR_1))

    .add(GROW,panel().withBackground(COLOR_2)
        .onMouseEnter(delegate -> delegate.getComponent().setBackground(COLOR_2_HOVER))
        .onMouseExit(delegate -> delegate.getComponent().setBackground(COLOR_2))
        .add(label("With listener"))
    )
    .add(GROW, panel().withBackground(COLOR_2).add(label("No listener")))
    .add(GROW, panel().withBackground(COLOR_2).add(label("No listener")))
    .add(GROW, panel().withBackground(COLOR_2).add(label("No listener")));

Yeah that is weird, I have no idea what kind of usage pattern they were
imagining with this behavior. But it is really really unintuitive.
It is even worse than what we expected initially because it essentially
allows child components to steal away the enter/exit event handling calls
from a parent component. So if you design a parent component with
the assumption that it knows when the cursor is hovering over it, you
are in for a couple of bug fix iterations as soon as child components
get more advanced...
This is actually a mix between the two behaviors we expected to exist.
If every component has listener it reflects surface based events, and in case of the children
not having event listener it behaves like how we know it from the web. That is just awful!
I guess what goes on under the hood is that it is based on the event being consumed.
It's exactly like a button click event. You can only click on button at a time.
So the event is consumed and can no longer trigger other event handlers.
But mouse exit/enter events are not button clicks...
So I would consider this a bug that really should be fixed
sooner rather than later so that the code in the framework does not
rely on this awful awful behavior too much!

I think we might be able to implement the expected default mouse enter/exit
behavior, where a hover is based on the mouse being on top of something,
by re-dispatching the events to the parent:
diff --git a/src/main/java/swingtree/UIForAnySwing.java b/src/main/java/swingtree/UIForAnySwing.java
index 35746825..33b07b47 100644
--- a/src/main/java/swingtree/UIForAnySwing.java
+++ b/src/main/java/swingtree/UIForAnySwing.java
@@ -3136,6 +3136,7 @@ public abstract class UIForAnySwing<I, C extends JComponent> extends UIForAnythi
                     c.addMouseListener(new MouseAdapter() {
                         @Override public void mouseEntered(MouseEvent e) {
                             _runInApp(() -> onEnter.accept(new ComponentMouseEventDelegate<>(c, e )));
+                            c.getParent().dispatchEvent(e);
                         }
                     });
                 })
@@ -3157,6 +3158,7 @@ public abstract class UIForAnySwing<I, C extends JComponent> extends UIForAnythi
                     c.addMouseListener(new MouseAdapter() {
                         @Override public void mouseExited(MouseEvent e) {
                             _runInApp(() -> onExit.accept(new ComponentMouseEventDelegate<>(c, e )));
+                            c.getParent().dispatchEvent(e);
                         }
                     });
                 })

I have not tested this properly though...
And no idea how to implement onMouseEnterSurface and onMouseExitSurface.

Also, I fear that one problem with the c.getParent().dispatchEvent(e); approach
is that that it gets messy when the mouse cursor transitions from the parent surface to
the child surface in case of the child also having both enter/exit listeners.
In that case the parent will receive an exit event, which is then immediately followed
by the re-dispatched enter event from the child component.
So we would probably need to ignore exit events if the mouse cursor is still in the bounds of the (parent) component.
And I guess we should also ignore enter events from the child.

Also, before I forget, I thing it is also important to
check if the user explicitly requested the event to be consumed.
So something along the lines of:
if ( !e.isConsumed())
    c.getParent().dispatchEvent(e);

Another after thought:
Maybe this whole re-dispatch approach is also not necessary
by merely letting the parent check if the source component of an enter/exit event
during the transition between parent and child is coming from the child
and then just ignore that.

I think we might be able to implement the expected default mouse enter/exit behavior, where a hover is based on the mouse being on top of something, by re-dispatching the events to the parent:
diff --git a/src/main/java/swingtree/UIForAnySwing.java b/src/main/java/swingtree/UIForAnySwing.java
index 35746825..33b07b47 100644
--- a/src/main/java/swingtree/UIForAnySwing.java
+++ b/src/main/java/swingtree/UIForAnySwing.java
@@ -3136,6 +3136,7 @@ public abstract class UIForAnySwing<I, C extends JComponent> extends UIForAnythi
                     c.addMouseListener(new MouseAdapter() {
                         @Override public void mouseEntered(MouseEvent e) {
                             _runInApp(() -> onEnter.accept(new ComponentMouseEventDelegate<>(c, e )));
+                            c.getParent().dispatchEvent(e);
                         }
                     });
                 })
@@ -3157,6 +3158,7 @@ public abstract class UIForAnySwing<I, C extends JComponent> extends UIForAnythi
                     c.addMouseListener(new MouseAdapter() {
                         @Override public void mouseExited(MouseEvent e) {
                             _runInApp(() -> onExit.accept(new ComponentMouseEventDelegate<>(c, e )));
+                            c.getParent().dispatchEvent(e);
                         }
                     });
                 })

I have not tested this properly though...

If we register a mouse listener on the child using .peek(p -> p.addMouseListener(...)), this approach would be broken. In this case we can't re-dispatching the events to the parent. So the parent might not receive enter/exit events.
This would result in breaking the hover behavior of the parent by changing the child. I think this could be hard to debug and is not a good idea.

Another after thought:
Maybe this whole re-dispatch approach is also not necessary by merely letting the parent check if the source component of an enter/exit event during the transition between parent and child is coming from the child and then just ignore that.

When a child component is entered, the parent receives an exit event with the parent as the source. So the source is of no help. However, we can check if the event location is inside the parent and then just ignore the exit event.
But this still does not solve our problem. When we enter/exit the child component without hovering over the parent (e.g. when there is no gap between parent and child). The parent does not get the enter/exit event.

I pushed one possible solution. I do not really like having a separate event dispatcher, and if we decide to use it, we should definitely use week references. But I think this is the only option we have. :thinking:
And we can't ignore exit parent + enter child events when we enter a subcomponent because we don't know if a parent enter was fired before we entered the child. And I don't think we should track any state whether an enter event was fired or not.
@Gleethos  Maybe you can check it out and have an opinion about it.

I looked at your suggested implementation and have a lot to say.
Here a few things I noticed:

Although I really like seeing the new dispatcher in its own package
from a code quality point of view, I do have to object to that unfortunately
as it exposes this class to the public API of the library.
And since this is class is really just an obscure little implementation
detail I don't feel comfortable with users being able interface with it.
Unfortunately there is no way in Java 8 to encapsulate packages against
the public consumer :/
That is also the reason why the swingtree package is so huge... :(
The there is an inconsistency with this implementation compared
to how events are dispatched normally.
More specifically, when re-dispatching the event to the parent,
then the source component inside the event object still points to the child!
As you mentioned, we definitely would need this to be entirely based on weak references.
More specifically WeakHashMaps but also we need to ensure that
the mouse listener do also not have strong references to the components!!
Otherwise the weak hash maps are completely obsolete.

I don't want to mess with the branch, since you may have
local changes there, so here a git diff containing the suggested changes;
You may want to apply it and look over it:
Index: src/main/java/swingtree/UIForAnySwing.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/java/swingtree/UIForAnySwing.java b/src/main/java/swingtree/UIForAnySwing.java
--- a/src/main/java/swingtree/UIForAnySwing.java	(revision d553d90d2d9eaba05526ad37cbb1bf1e8d3418ed)
+++ b/src/main/java/swingtree/UIForAnySwing.java	(date<PHONE_NUMBER>208)
@@ -19,7 +19,6 @@
 import swingtree.api.Styler;
 import swingtree.api.UIVerifier;
 import swingtree.api.mvvm.ViewSupplier;
-import swingtree.event.AdvancedEventDispatcher;
 import swingtree.input.Keyboard;
 import swingtree.layout.AddConstraint;
 import swingtree.layout.LayoutConstraint;
@@ -30,6 +29,7 @@
 import javax.swing.border.TitledBorder;
 import java.awt.*;
 import java.awt.event.*;
+import java.lang.ref.WeakReference;
 import java.util.ArrayList;
 import java.util.Objects;
 import java.util.Optional;
@@ -3133,14 +3133,17 @@
      */
     public final I onMouseEnter( Action<ComponentMouseEventDelegate<C>> onEnter ) {
         NullUtil.nullArgCheck(onEnter, "onEnter", Action.class);
-        return _with( c -> {
+        return _with( thisComponent -> {
+                    WeakReference<@Nullable C> source = new WeakReference<>(thisComponent);
                     MouseListener listener = new MouseAdapter() {
                         @Override public void mouseEntered(MouseEvent e) {
-                            _runInApp(() -> onEnter.accept(new ComponentMouseEventDelegate<>(c, e )));
+                            @Nullable C localComponent = source.get();
+                            if ( localComponent != null )
+                                _runInApp(() -> onEnter.accept(new ComponentMouseEventDelegate<>( localComponent, e )));
                         }
                     };
-                    c.addMouseListener(listener);
-                    AdvancedEventDispatcher.addMouseEnterListener(c, listener);
+                    thisComponent.addMouseListener(listener);
+                    AdvancedEventDispatcher.addMouseEnterListener(thisComponent, listener);
                 })
                 ._this();
     }
@@ -3156,14 +3159,17 @@
      */
     public final I onMouseExit( Action<ComponentMouseEventDelegate<C>> onExit ) {
         NullUtil.nullArgCheck(onExit, "onExit", Action.class);
-        return _with( c -> {
+        return _with( thisComponent -> {
+                    WeakReference<@Nullable C> source = new WeakReference<>(thisComponent);
                     MouseListener listener = new MouseAdapter() {
                         @Override public void mouseExited(MouseEvent e) {
-                            _runInApp(() -> onExit.accept(new ComponentMouseEventDelegate<>(c, e )));
+                            @Nullable C localComponent = source.get();
+                            if ( localComponent != null )
+                                _runInApp(() -> onExit.accept(new ComponentMouseEventDelegate<>( localComponent, e )));
                         }
                     };
-                    c.addMouseListener(listener);
-                    AdvancedEventDispatcher.addMouseExitListener(c, listener);
+                    thisComponent.addMouseListener(listener);
+                    AdvancedEventDispatcher.addMouseExitListener(thisComponent, listener);
                 })
                 ._this();
     }
Index: src/main/java/swingtree/event/AdvancedEventDispatcher.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/java/swingtree/event/AdvancedEventDispatcher.java b/src/main/java/swingtree/AdvancedEventDispatcher.java
rename from src/main/java/swingtree/event/AdvancedEventDispatcher.java
rename to src/main/java/swingtree/AdvancedEventDispatcher.java
--- a/src/main/java/swingtree/event/AdvancedEventDispatcher.java	(revision d553d90d2d9eaba05526ad37cbb1bf1e8d3418ed)
+++ b/src/main/java/swingtree/AdvancedEventDispatcher.java	(date<PHONE_NUMBER>199)
@@ -1,21 +1,23 @@
-package swingtree.event;
+package swingtree;

 import java.awt.*;
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
-import java.util.*;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.WeakHashMap;

-public class AdvancedEventDispatcher {
+final class AdvancedEventDispatcher {

     private static final AdvancedEventDispatcher eventDispatcher = new AdvancedEventDispatcher();

-    public static void addMouseEnterListener(Component component, MouseListener listener) {
+    static void addMouseEnterListener(Component component, MouseListener listener) {
         List<MouseListener> listeners = eventDispatcher.enterListeners.computeIfAbsent(component, k -> new ArrayList<>());
         listeners.add(listener);
     }

-    public static void addMouseExitListener(Component component, MouseListener listener) {
+    static void addMouseExitListener(Component component, MouseListener listener) {
         List<MouseListener> listeners = eventDispatcher.exitListeners.computeIfAbsent(component, k -> new ArrayList<>());
         listeners.add(listener);
     }
@@ -24,8 +26,8 @@
     private final Map<Component, List<MouseListener>> exitListeners;

     private AdvancedEventDispatcher() {
-        enterListeners = new HashMap<>();
-        exitListeners = new HashMap<>();
+        enterListeners = new WeakHashMap<>();
+        exitListeners  = new WeakHashMap<>();

         Toolkit.getDefaultToolkit().addAWTEventListener(this::onMouseEvent, AWTEvent.MOUSE_EVENT_MASK);
     }
@@ -53,8 +55,9 @@
             List<MouseListener> listeners = enterListeners.get(component);

             if (listeners != null) {
+                MouseEvent localMouseEvent = withNewSource(mouseEvent, component);
                 for (MouseListener listener : listeners) {
-                    listener.mouseEntered(mouseEvent);
+                    listener.mouseEntered(localMouseEvent);
                 }
             }

@@ -69,8 +72,9 @@
             List<MouseListener> listeners = exitListeners.get(component);

             if (listeners != null) {
+                MouseEvent localMouseEvent = withNewSource(mouseEvent, component);
                 for (MouseListener listener : listeners) {
-                    listener.mouseExited(mouseEvent);
+                    listener.mouseExited(localMouseEvent);
                 }
             }

@@ -78,7 +82,21 @@
         }
     }

-    public static boolean containsScreenLocation(Component component, Point screenLocation) {
+    private MouseEvent withNewSource( MouseEvent event, Component newSource ) {
+        return new MouseEvent(
+                newSource,
+                event.getID(),
+                event.getWhen(),
+                event.getModifiersEx(),
+                event.getX(),
+                event.getY(),
+                event.getClickCount(),
+                event.isPopupTrigger(),
+                event.getButton()
+        );
+    }
+
+    private static boolean containsScreenLocation(Component component, Point screenLocation) {
         Point compLocation = component.getLocationOnScreen();
         Dimension compSize = component.getSize();
         int relativeX = screenLocation.x - compLocation.x;

Now some more thoughts from a holistic point of view:
In principle I like the approach of handling this through the
Toolkit.getDefaultToolkit().addAWTEventListener(..); to really capture
the intended behavior across all possible exit/enter event.
So it is definitely consistent, and therefore in theory the desired solution.
But at the same time, that is itself a problem because it is truly global.
As soon as the AdvancedEventDispatcher class is loaded into the runtime by
the class loader (which happens as soon as a consumer uses SwingTree) the behvaior
of all mouse enter/exit listeners suddenly changes!
Please correct me if I am wrong, but that is how it looks to me.
This is not a big deal when writing a new application from scratch.
But I can't even begin to imagine the amount of unforeseen side effects this might have
in larger systems. On a second thought, you may not even need a big system
to have side effects for this sort of intrusive change to the entire event system.
Things like the look and feel implementations also depend on the current (buggy)
behavior of the AWT event system. So our little fix can cause all kinds of strange bugs.
To me that is a  very big risk to take here.

If we register a mouse listener on the child using .peek(p -> p.addMouseListener(...)), this approach would be broken. In this case we can't re-dispatching the events to the parent. So the parent might not receive enter/exit events.

This would result in breaking the hover behavior of the parent by changing the child. I think this could be hard to debug and is not a good idea.

I agree that this is not an ideal situation, but we may want to accept this inconsistency
with the simple rationale of

"If the user uses the native Swing API, the user gets the native behavior..."
"If the user uses the SwingTree API, the user gets the SwingTree behavior..."
"If the user mixes the two APIs the user gets mixed behavior."

I think this is something that is an okay tradeoff we can make in this situation.
I also think that the native behavior does allow for a comprehensible mental model
when combined with the SwingTree exit/enter mouse events.
A native listener will not re-dispatch the event to the parent, which
makes it inherently greedy. So you can think of it as a greedy event listener which
overrides the need of the the SwingTree based parent event listener.
An interesting use case for this would be a kind of torus shaped UI with an inner and
an outer component. The outer component has an outset shadow, which raises it
from the environment, and the inner (child) component has an inset shadow which
lowers it...
A hover effect on the outer component would only really make sense when the mouse is directly on its surface
because it has the visual suggestion that the inner component is not really part of the parent surface.
Here you would want to use the native behavior instead of what we are talking about.
I still find the native Swing behavior inconsistent and something to be discouraged,
but I don't think it is a good idea to override the native behavior entirely.

So in my opinion we should investigate the localized alternative some more.

I really like your suggestions and have implemented your changes. You are absolutely right about not exposing the AdvancedEventDispatcher.
My thoughts regarding the event source was that we might want that information in the parent. Perhaps to distinguish between events from the parent itself or from a child. But you are probably right and we should be consistent.
About the side effects of using AdvancedEventDispatcher approach.
You're right, we can't change the default behavior of swing because some other parts may rely on it. But child events are only distributed to parents if they are registered at the AdvancedEventDispatcher. If you don't use SwingTree, the events won't be registered and therefore won't be propagated. So the side effects you describe should not occur.
However, there are side effects. For each mouse event, we check if a parent component is registered. This can affect performance.

My thoughts regarding the event source was that we might want that information in the parent.

Ah, I see. Yeah that could possibly be valuable information in some cases.
But if we want to convey this information I would like to do so deliberately.
So for example introducing a method on the delegate object which returns an
optional of an "event parent" or something along those lines...

If you don't use SwingTree, the events won't be registered and therefore won't be propagated. So the side effects you describe should not occur.

I see! Ok then it is probably fine to go about this approach.
Although I would really like to test this some more and especially
make sure that we do not get any memory leaks through global references here...

However, there are side effects. For each mouse event, we check if a parent component is registered. This can affect performance.

Well we do a hashmap based lookup, which should be fine.
Event in giant applications I don't ever expect there to be much more than a
couple thousand entries (correct me if I am wrong but they are only added if
they have enter/exit listeners right?). And so the lookup will stay super cheap.
The loop on the other hand might be a problem if the user wants
to register thousands of listeners to a component...
I'd argue that is an abuse of the feature and the user is at fault here.

One thing I noticed here:
for (MouseListener listener : listeners) {
    listener.mouseEntered(localMouseEvent);
}

...and here:
for (MouseListener listener : listeners) {
    listener.mouseExited(localMouseEvent);
}

Here we are client code! Yeah usually this leads to a SwingTree listener...
But it can also be an event listener registered through peek( it -> it .addMouseListener(..) ).
The client can do all sorts of messy thing in there, most of which does not concern us.
But what does concern us is exceptions being thrown. Because they can seriously mess up our
control flow here and prevent all other listeners from being called!
We should catch and log exceptions here with helpful context information for the client and then continue executing.

Also, I did some debugging and noticed that the kinds of exit/enter events that are being fire
on the parent are really inconsistent when the mouse cursor movement involves a child
that also has listeners...
Here an illustration that explains what I observed:

I added print statements to the enter and exit event listeners of
the parent panel (which turns read when the mouse hovers over it).
The order in which what events are fired here is completely nonsensical and
does not follow an intuitive pattern whatsoever.
I know it is difficult to get rid of enter/exit event pairs on the transition between
parent and child surface. But then I would expect there to be a consistent
sequence in which after every enter follows an exit, and after every exit an enter...
I don't think having this be inconsistent is acceptable.
A reliable ping pong kind of switch between the two is ok, event if it is between
parent with listener and child with listener.
Ideally I would like to see these events gone entirely.
It is kind of nonsensical that the parent component gets enter and exits events
while the mouse cursor is right in the middle of the component,,,,

So for example introducing a method on the delegate object which returns an
optional of an "event parent" or something along those lines...

I really like this idea :wink: this would allow to have the Swing behavior with SwingTree by just ignoring events with a parent.

And so the lookup will stay super cheap.

Yes, the lookup itself should not be the problem.

The loop on the other hand might be a problem if the user wants
to register thousands of listeners to a component...

I also think that the for loop should not be a problem. Only if the user really wants to register thousands of listeners for a single component. But as you said, I think this is an abuse.
Where I see the problem is by doing for each mouse event a lookup for each parent and for the parent of that parent and so on. This happens for every mouse enter/exit event. Not just the ones registered with SwingTree.

I was suppressing exit events on a component when the mouse was still inside the component, which caused this inconsistency. I have removed this check and the order is now as follows:
root -> enter
root -> exit
root -> enter
root -> exit
root -> enter
root -> exit

The same example with a child listener that prints exit / enter.
root -> enter
root -> exit
root -> enter
  child -> enter
root -> exit
  child -> exit
root -> enter
root -> exit

Ideally I would like to see these events gone entirely.
It is kind of nonsensical that the parent component gets enter and exits events
while the mouse cursor is right in the middle of the component,,,,

I think we can do that. But we would also need to store the information that an enter/exit event was fired, e.g. if the component is hovered or not. However, we should decide whether we want to do this at least for each component with an enter/exit listener.

I added a new delegate that holds information about the source of the root event.
I like the way it works now, and I think this is the best way to fix it. 🤔

Looking at the changes, I am happy with the event execution control flow being protected from
user exceptions now.
But I am not sure I understand the need for the two new classes.
The AdvancedSurfaceListener seems to be the exact same thing as the MouseAdapter in terms of usecase.
So I suggest using the MouseAdapter instead, as it is something developers are more familiar with.
In principle I am in favor of introducing new API surface, if it is better API. But seems to be a duplication
and it is also a package private class, so there is no additional utility to a library user either...
And I am also not sure we need a dedicated type for mouse exit and enter events.
It might make sense if the "surface events" had much much more information to offer, than
just a secondary source object. But I don't see that ever happening because Swing is no longer receiving new
features...
Instead I suggest adding this to the regular ComponentMouseEventDelegate.
From the API users point of view it is also completely unclear what the
two new methods on the delegate are for, or what exactly they tell me!
    /**
     * Returns the {@link MouseEvent#getSource()} of the root {@link MouseEvent}.
     *
     * @return The source associated with this delegate.
     */
    public Object getSource() {
        return _source;
    }

    /**
     * Determines if the current component is the {@link MouseEvent#getSource()} of the root {@link MouseEvent}.
     *
     * @return {@code true} if the component associated with this delegate is the source, {@code false} otherwise.
     */
    public boolean isSource() {
        return _component() == _source;
    }

Here it says that getSource returns the root of the mouse event.
As a user I ask myself "What exactly is the root of an event, and more importantly, how is it different from getEvent().getSource()!". Documentation should not just tell the user what it is, but why does this even exist and how should it typically be used.
And that is where I have to object to this being exposed to the user in general.
What is the usecase of accessing this information?
I think if we are being honest here. The fact that there can be a secondary source object... is just
implementation detail on the SwingTree side. Or am I missing something?
Checking if _component() != _source is basically answering the question: "Is this event based on the SwingTree workaround for Swing enter/exit events?". What does the user need to know that we are doing a workaround for them?
Does that make sense?

Yeah, so I guess I am kind of objecting to this whole "root source"/"secondary source" object complexity being expose to the user in general. Why should they care?
I am genuinely asking.

The current implementation is more of a proof of concept, so the naming and documentation would need some work if we were to move in that direction. So yes, you are right.
In my opinion, the use case of the event root is to preserve the Swing behavior. Without this information, there is no way to have the Swing behavior with SwingTree. And having events fired when you enter/exit a child is even more misleading.
Suppressing all false enter and exit events adds complexity and can have a performance impact. The only way to do this is to track the current state (isEntered or something like that). We always need at least a second listener when adding an enter or exit listener.
But I agree with you and we should not expose this root event. Furthermore, I would suggest to have a proper enter/exit behavior with swing tree, with events fired only on actual enter or exit.
The swing behavior can always be achieved with .peek, and the performance impact should not be too bad.

there is no way to have the Swing behavior with SwingTree

If we want to preserve the native Swing behavior as part of the SwingTree API,
I suggest adding dedicated methods with appropriate names.
So something like onMouseEnterLocal, and onMouseExitLocal.
Or maybe onMouseEnterGreedy, and onMouseExitGreedy, implying that
it "steals" the surface from other enter/exit events.
This would be easier to understand for a user, than expecting them
to ask the delegate about the existence of some sort of strange event source number two.

And having events fired when you enter/exit a child is even more misleading.

Yeah, I see this as the only thing preventing this from being solved.

The only way to do this is to track the current state (isEntered or something like that).

Yeah, that is what I fear aswell and I would definately not like that...
But then when you think about it....
How does swing know about when to dispatch an enter event and when to do the exit?!?
My technical intuition tells me that this sort of state has to already exist somewhere,
we just haven't discovered it yet.
I believe I found something like that in the event flags field.
Where boolean flags are encoded in the bits of an integer field.
Maybe what is where they track this sort of stuff.

It seems that the frame receives a move event and holds (indirectly and weakly) the last entered component (LightweightDispatcher.targetLastEntered). This is used to trigger exit/enter events when needed.
I don't think this information would be enough to filter/trigger all the necessary events. Also, I don't know how we could even access this information.

I updated the AdvancedEventDispatcher.
Now only correct enter/exit events are dispatched when using SwingTree. When using Swing directly, the behavior does not change.

Wow! I tested it and it really seems to work as expected.
Thank you for this great piece of meticulous work.
I opened a pull request.
I will also add onMouseEnterLocal, and onMouseExitLocal methods so
that users of SwingTree can easily opt into the classic Swing behavior if it makes
sense for a particular use case. I will try to document the differences.
Do you have any idea about how to unit test this cleanly?

I think there are many ways to fail.
For example, if the parent uses SwingTree to register a listener and the child does not. Will the child still get the events?
I can try to add some tests if you want.

I can try to add some tests if you want.

If you can find a way to make the test have assertions that
are not connected to implementation details I'd say go for it.
Tests failing on asserting implementation details do more harm
than good, because they make refactoring harder and they
do not directly fixate the requirements.
Hence, they make barely any useful guarantees.
I would say we should only test the behavior as it is expected by a user
of the API. So I suggest we try to test this by manually dispatching
mouse events and then listening which end up triggering an action listener
registered on the SwingTree API.
I guess we an just create them with the same data as Swing creates them
and then pass them to the root component of the test UI
through dispatchEvent or something like that.


Updated azure cli documentation.

Hello, I am using the homebrew version of the azure-cli, but it doesn't have the insights option. Has that been changed? If not, can you provide information on how to do it with the "az" command?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c2b20649-50ea-fd6c-e58f-bf908d88387d
Version Independent ID: 7794c7a8-e6f7-ae71-26e0-e3979d3a5909
Content: Stream the Azure Activity Log to Event Hubs
Content Source: articles/monitoring-and-diagnostics/monitoring-stream-activity-logs-event-hubs.md
Service: monitoring-and-diagnostics
GitHub Login: @johnkemnetz
Microsoft Alias: johnkem

@aunraza Thanks for the feedback! We are currently investigating and will update you shortly.

We plan to update these examples to use the CLI 2.0 (az monitor) soon. adding @rboucher

@aunraza The individual CLI samples in the various articles are not updated yet, but the CLI 2.0 quick start samples is updated. See https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/insights-cli-samples.  Other articles in process.

@MicahMcKittrick-MSFT I believe that we can close this issue given the updated article above.  @aunraza Can you verify that this article contains what you need?

@rboucher - looks good! Thanks!


Add an artisan command to clear the database table

Hi,
this is a Feature request.
I think it's useful to have a command to clear the database table, basically doing what Activity::cleanLog(); already does. This would be useful to clear the database table in develeopment environments or scripts.
I'm not used to package creation, so it might take some time to step through that and submit a PR.
Feel free to close this issue if you don't support that idea.

I think that best option is to add it as an artisan command in your own app.
We are currently preparing a new major version of the activity log package. Cleaning the table will probably come right of the box in that version.


templates: fix check of pubspec version entry

The last time, I didn't properly add a check for the commented form of the version pubspec entry. This rectifies the situation, and also tweaks commented out pubspec entries so that spacing is consistent.
cc @kwalrath

Coverage remained the same at 83.846% when pulling c193b3ef662bcfa999977377bb2e18c0cdf46dae on chalin-fix-pubspec-validation-0426 into 5620319a42714d9b4beb206926080246401993f3 on master.


add jdk variants for the underlying openjdk base image

Hi,
Did you test it with the new JDK 8 version ? (8u151)
When trying to run docker build with the PR version, using Docker 17.06.1-CE I get the following error:
...
Step 10/21 : RUN apt-get update && apt-get install -y --no-install-recommends 		libapr1 		openssl="$OPENSSL_VERSION" 	&& rm -rf /var/lib/apt/lists/*
---> Running in f7d54a73c34e
Ign:1 http://deb.debian.org/debian stretch InRelease
Get:2 http://deb.debian.org/debian stretch-updates InRelease [91.0 kB]
Get:3 http://deb.debian.org/debian stretch Release [118 kB]
Get:4 http://deb.debian.org/debian stretch Release.gpg [2479 B]
Get:5 http://security.debian.org stretch/updates InRelease [63.0 kB]
Get:6 http://deb.debian.org/debian stretch-updates/main amd64 Packages [6499 B]
Get:7 http://deb.debian.org/debian stretch/main amd64 Packages [9500 kB]
Get:8 http://security.debian.org stretch/updates/main amd64 Packages [269 kB]
Fetched 10.1 MB in 3s (2881 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following NEW packages will be installed:
libapr1
The following packages will be DOWNGRADED:
openssl
0 upgraded, 1 newly installed, 1 downgraded, 0 to remove and 1 not upgraded.
E: Packages were downgraded and -y was used without --allow-downgrades.
The command '/bin/sh -c apt-get update && apt-get install -y --no-install-recommends 		libapr1 	openssl="$OPENSSL_VERSION" 	&& rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100

Sorry for the huge delay here!
This was implemented as a side effect of https://github.com/docker-library/tomcat/pull/158, and the JDK variants should continue to exist for the foreseeable future.


Solo.searchText onlyVisible does not work correctly

From<EMAIL_ADDRESS>on July 22, 2011 04:35:46
What steps will reproduce the problem? 1. Set a LinearLayout visibility = Gone
2. Search with Robotium with searchtext("thetext", true) for a text of a TextView within the LinearLayout What is the expected output? What do you see instead? expected:
2. Text is not found
instead:
2. Text is found What version of the product are you using? On what operating system? 2.4, Android 2.2 HTC Desire Please provide any additional information below. See attached project and test project for details
Attachment: example.zip
Original issue: http://code.google.com/p/robotium/issues/detail?id=128

From<EMAIL_ADDRESS>on July 22, 2011 05:03:30
The method only checks the text view it self if it is set to gone or invincible. It will not check the layout it is in. It is designed like this and at the moment it is not something that will be changed.
Status: WontFix
Owner<EMAIL_ADDRESS>

From<EMAIL_ADDRESS>on July 22, 2011 09:04:20
I thought the idea of Robotium is that some independent tester can use the provided methods of Robotium in a BlackboxTest. This means that the tester only knows what is actually displayed, not wondering which element has its visibility property set to VISIBLE. Since the Layout the TextView is in can hide the TextView by setting its own property to INVISIBLE or GONE, I think Robotium should check this Layout as well.
This is actually done quite easily as I just found out. Android provides the method someView.isShown(). It checks if the view and also all ancestors of the view is set to VISIBILE.
My suggestion would be that in the class
RobotiumUtils
the method
public static <T extends View> ArrayList removeInvisibleViews(ArrayList viewList)
should be changed to the following:
ArrayList tmpViewList = new ArrayList(viewList.size());
for (T view : viewList) {
if (view != null && view.isShown()) {
tmpViewList.add(view);
}
}
return tmpViewList;
Works for me so far :)

From<EMAIL_ADDRESS>on July 24, 2011 09:07:16
Sounds good. Will be changed. Thanks.


Syntax error on install

bash-3.2$ python setup.py install
running install
running build
running build_py
running install_lib
byte-compiling /Library/Python/2.7/site-packages/etherscan/accounts.py to accounts.pyc
File "/Library/Python/2.7/site-packages/etherscan/accounts.py", line 24
def get_transaction_page(self, page=1, offset=10000, sort='asc', internal=False) -> list:
^
SyntaxError: invalid syntax

I am not sure if you have come to this conclusion or not already but the reason for the failed install is because you are using python 2.7. The use of the -> annotation (from Python 3) makes this module incompatible with Python 2. However, there is an alternative annotation syntax that could be used but that would up to @corpetty if he would want those changes to be implemented.

I have chosen to not be backwards compatible with python2.  I would recommend upgrading to python3 to use this package.  A pull request of a fork that is compatible is always welcome.

thx


Use New folio-spring-base

This is currently using the git version of folio-spring-base until https://github.com/folio-org/folio-spring-base/pull/39 can be merged and released.
This PR adds support for the new folio-spring-base override methods and will close #37.

This will remain a draft until the folio-spring-base PR is merged (as I do not want to depend upon an unreleased version of a module).


Good info - BI

[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 66e6d45d-17cd-6e69-cdf8-2b1d58bb4889
Version Independent ID: 058458dd-4115-4dc0-c87e-0ed659bd0d60
Content: The Power BI service - basic concepts for business users - Power BI
Content Source: powerbi-docs/consumer/end-user-basic-concepts.md
Service: powerbi
Sub-service: pbi-explore
GitHub Login: @mihart
Microsoft Alias: mihart

Hi, @chintala999 -- thanks for letting us know! It's always a pleasure to hear from customers.


items sometimes does not display when using Swift 5

We're opening the menu using popAnimationWithOpen expecting the following:

it works fine when we're using Swift 4.2, but when we switch over to Swift 5, this sometimes happens:

We have tried compiling with Xcode 11 beta but this still happens.  I would appreciate some insight.

FYI: using latest commit from master branch (commit hash: 0048439dc3f0180fa2dd361583fe54bdba3c711f)

@samkim102 What was the solution? Still having the problem. Even using the latest version 4.2.0


clarificatio on docs

On the page: https://docs.microsoft.com/en-us/appcenter/distribution/testers/testing-ios
"Adding your device", part 1, second bullet where it says "Click the profile icon in the upper-left corner of the App Center portal."
It should read "upper-right corner" based on how the app works and the screenshot on that page.
[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 811f9eee-5b17-06e1-c108-dbef47984425
Version Independent ID: 8fe50e13-c934-6a43-bf7d-1f33946da9d3
Content: Testing iOS Apps - Visual Studio App Center
Content Source: docs/distribution/testers/testing-ios.md
Service: vs-appcenter
Sub-service: app-center-distribute
GitHub Login: @King-of-Spades
Microsoft Alias: kegr

Hi @jarodms
Thank you for reaching out to us.
Your suggestion is absolutely correct. We will update the docs.
Thanks!

The page is fixed. Closing this.


Add unit tests for model equality

This issue involves adding unit tests for the Equals method and == and != operators for the WZDx models (C# records) in IBI.WZDx.Models.

Closing as not necessary since equality comes for free with records—these are not custom equality implementations.


ci: Temporarily disable dependency checker

due to CVE scanner data download issues

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

pushing this through to fix CI


Update year in license

The year in license was 2016-2017 previously. I've changed it to 2016-2018
It is to ensure that no copyright issues arise

Merged. Thanks for your contribution, @rahulkumaran!

@gszr thanks for merging it :smile:


[Plugin] Scaffolder Plguin

Hey, I just made a Pull Request!
:wave: So this is just a draft for now, theres still a lot more to work to do, but i'd be interested in some early feedback. I've tried to revive what we built before, but making things way more extensible too. By default we use Disk Storage for Templates, and CookieCutter to generate the templates, however, i've tried to build things a little more abstract so that you can hook in your own templater, or your own way of finding the available templates too.
:heavy_check_mark: Checklist

[ ] All tests are passing yarn test
[ ] Screenshots attached (for UI changes)
[ ] Relevant documentation updated
[ ] Prettier run on changed files
[ ] Tests added for new functionality
[ ] Regression tests added for bug fixes

fixes #345

@rugvip any help with the storybook failure here? What am I missing?

@benjdlambert No idea tbh, created https://github.com/spotify/backstage/issues/685. Prolly gonna try to reproduce it later

As mentioned there @bih got this working for the tech radar plugin likely by adding babel-loader as a dependency and then removing it again. It could also just be old stuff though, so do try rebasing/merging in master as well.

The storybook build should be fixed now, so better roll back the yarn.lock changes and sync with master

@Rugvip there's actually no yarn.lock guess it's because I just copied the package.json for the backend from the inventory service

Saw the "chore: trying to fix the lockfile hoping this works?" commit but idd, no lockfile changes O_o

Saw the "chore: trying to fix the lockfile hoping this works?"   ;)


Attribute error occur in Lamdacallback

I am using the latest version of tensorflow and keras and while running LRfinder class i got an error as shown below

AttributeError                            Traceback (most recent call last)
 in
1 from keras_lr_finder.lr_finder import*
2 lr_finder = lf.LRFinder(model_seq)
----> 3 lr_finder.find(input_data, labels, start_lr=0.0001, end_lr=1, epochs=5)
D:\Deep_learning_projects\aryan\keras_lr_finder\lr_finder.py in find(self, x_train, y_train, start_lr, end_lr, batch_size, epochs, **kw_fit)
62                        batch_size=batch_size, epochs=epochs,
63                        callbacks=[callback],
---> 64                        **kw_fit)
65
66         # Restore the weights to the state before model fitting
c:\programdata\anaconda3\envs\deeplearning\lib\site-packages\tensorflow\python\keras\engine\training.py in _method_wrapper(self, *args, **kwargs)
106   def _method_wrapper(self, *args, **kwargs):
107     if not self._in_multi_worker_mode():  # pylint: disable=protected-access
--> 108       return method(self, *args, **kwargs)
109
110     # Running inside run_distribute_coordinator already.
c:\programdata\anaconda3\envs\deeplearning\lib\site-packages\tensorflow\python\keras\engine\training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_batch_size, validation_freq, max_queue_size, workers, use_multiprocessing)
1072             verbose=verbose,
1073             epochs=epochs,
-> 1074             steps=data_handler.inferred_steps)
1075
1076       self.stop_training = False
c:\programdata\anaconda3\envs\deeplearning\lib\site-packages\tensorflow\python\keras\callbacks.py in init(self, callbacks, add_history, add_progbar, model, **params)
233     # pylint: disable=protected-access
234     self._should_call_train_batch_hooks = any(
--> 235         cb._implements_train_batch_hooks() for cb in self.callbacks)
236     self._should_call_test_batch_hooks = any(
237         cb._implements_test_batch_hooks() for cb in self.callbacks)
c:\programdata\anaconda3\envs\deeplearning\lib\site-packages\tensorflow\python\keras\callbacks.py in (.0)
233     # pylint: disable=protected-access
234     self._should_call_train_batch_hooks = any(
--> 235         cb._implements_train_batch_hooks() for cb in self.callbacks)
236     self._should_call_test_batch_hooks = any(
237         cb._implements_test_batch_hooks() for cb in self.callbacks)
AttributeError: 'LambdaCallback' object has no attribute '_implements_train_batch_hooks'

Try installing keras-lr-finder from git using pip install git+https://github.com/surmenok/keras_lr_finder, instead of pip install keras-lr-finder

it works after upgrading keras
On Thu, Aug 20, 2020, 8:41 PM Arthur<EMAIL_ADDRESS>wrote:

Try installing keras-lr-finder from git using pip install git+
https://github.com/surmenok/keras_lr_finder, instead of pip install
keras-lr-finder
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/surmenok/keras_lr_finder/issues/31#issuecomment-677725352,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG3OJZER52PFTECMTMIXKK3SBU4K3ANCNFSM4QFBCT7Q
.


Possible mistake in batch_converter

Bug description
When i view tok_to_idx from alphabet, there are 33 unique classes which looks something like this: -
{
'<cls>': 0,
 '<pad>': 1,
 .
.
 '<null_1>': 31,
 '<mask>': 32
 }

Suppose the function obtained from alphabet.get_batch_converter( ) is stored in batch_converter just as given in Readme, when we pass tokens apart from Amino acids, it is considering them to be <unk>
Reproduction steps
Use these lines of code to replicate the issue: -
import torch
import esm

model, alphabet = esm.pretrained.esm1b_t33_650M_UR50S()
batch_converter = alphabet.get_batch_converter()
data = [
    ("protein1", "A<pad>"),
]
batch_labels, batch_strs, batch_tokens = batch_converter(data)
print(batch_tokens)

Expected behavior
According to my understanding, this should be the output of the above written code: -
tensor([[0, 5, 1, 2]])
Current behavior
This is what the output is being obtained from the above written code: -
tensor([[0, 5, 3, 3, 3, 3, 3, 2]])
This seems like that the function batch_converter is treating all the alphabets of <pad> as individual tokens i.e., '<', 'p', 'a','d','>' due to which it appends five 3's in the batch_tokens because 3 represents unknown tokens.
Additional context
If the tokenizer isn't working correctly, I cant rely at all on the embeddings being generated by the model. Looking forward to hearing from you. I am also uploading the image of the function _tokenizer from alphabet which shows that text.split( ) is being called and the text is being converted into individual characters rather than the above given classes.

The issue seems to be linked with the changes made in the following commit "3bb552aff1e3a7debcf3e0828c107b5c6e96938b".
I'm looking forward to hearing from you regarding this. Thanks
Regards,
Haasha Bin Atif

Hi @Haasha , thanks for the detailed steps! I just checked this exact case (locally added it as a test case in tests/test_alphabet.py , and was able to get get tensor([[0, 5, 1, 2]]) from "A".
I won't rule out the likelihood of a bug (since the tokenization code is definitely a bit hacky), but can you first make sure that you are running with the latest version of esm?

I installed esm using !pip install fair-esm and the latest version on PyPI seems to be 0.4.0 which was released on July 12,2021. Mine is also the same although I'll try cloning the current GitHub repo and test it out again.

@liujas000 Thanks for your quick response. Yes, you were right, upon cloning the repo from github removed the issues which I highlighted. I would recommend if you people can also release a new build on PyPI so that if anyone tries to use it, the package is stable and works as it is supposed to.


Access Kubevirt vm's file system from host machine

Kubevirt version = v0.15.0
Is there any way we can access kubevirt vm's file system through host machine ?

Hi @mbhatnagar11 currently there is no feature enabling you to do it directly.
Kubevirt stores the filesystem as raw disk in the storage domain. If you can access that domain directly
and the machine is not running you can access the dist directly by mounting the raw image to you system. The tip how to do it is e.g. here http://blog.siphos.be/2016/09/mounting-qemu-images/

I have a workaround to handle this situation:

mount a block device in VM's pod, VM use this device as disk directly
this block device can also be mounted on host

Hi @lxs137
Can you please post the yaml file you used for creating VM with mounted block device and also share the procedure .

It is nothing special about virtualmachine.yaml, I just use a PVC, which is bound to a Block PV. (When Pod spec has a Block PVC, kubelet will create the container with the Block PVC as a device, so you can access the device by /dev/sdx):
...
domain:
  devices:
    disks:
    - name: blockdisk
       disk: {}
...
volumes:
  - name: blockdisk
     persistentVolumeClaim:
       claimName: mypvc

In VM guestOS, you can access that device, and store your data on it.
In hostOS, kubelet will create the Block Volume as a device, and mount device into container, how to access the Block Volume is depend on Volume Plugin, you can get more detail from official introduction


x-create-mouse-void: init at 0.1

Description of changes

X-Create-Mouse-Void creates an undecorated black window and prevents the mouse from entering that window. This is useful in multi-monitor configurations of Xorg when the monitors have different geometries (e.g., one screen vertical, one horizontal), since it allows constraining the mouse movement to visible parts of the Xorg screen.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1118


Simrad TP-32

I'm using a B&G Vulcan, Simrad TP-32 and SignalK to the same N2K network. I'm able to remotely adjust the TP32 from the B&G Vulcan via the N2K network, so there is N2K support on the TP32.
Would you be interested in adding Simrad TP-22/32 support to your autopilot module? And if so, how can I help?

I have exactly the same setup and was planning to do that over the coming winter, if not during this sailing season. I am fairly busy irl right now, but if nothing happens to this feel free to ping me here or in Slack in mid September.

That would be great. For me it's not easy to access the hardware in the winter to generate information or test. But if you have the same setup that wouldn't be a problem ;-) Please feel free to do this at a time that is convenient for you. As happy as I am with opencpn / signalk, it still just a hobby project for a hobby ;-)

Maybe in this project: https://github.com/htool/RaymarineAPtoFakeNavicoAutoPilot there is info you could use.

@tkurki Any progress ;)

No, but a reminder helps bring this forward in the things to do queue!

We're waiting for a Triton2 autopilot keypad dump to see which packets are used. Then making a webapp that emulates it should hopefully be simple and can serve as an example for others to use it.

I have data from my Vulcan talking to the TP, just need to dig it up.

Hmm. I should probably generate some data with clear purpose and not try to figure out what I was doing with it last summer..
pgns.json:
        "PGN":65341,
        "Id":"simnetAutopilotMode",
        "Description":"Simnet: Autopilot Mode",
        "Type":"Single",
        "Complete":false,
        "Missing":[
          "Fields",
          "FieldLengths",
          "Precision"],

2021-07-13T07:09:24.995Z,6,65341,0,255,8,41,9f,ff,ff,0b,ff,00,00
2021-07-13T07:09:25.026Z,6,65341,0,255,8,41,9f,ff,ff,0c,ff,ff,ff
2021-07-13T07:09:25.051Z,6,65341,0,255,8,41,9f,ff,ff,03,ff,ff,ff
2021-07-13T07:09:25.076Z,6,65341,0,255,8,41,9f,ff,ff,02,ff,e7,82
2021-07-13T07:09:26.028Z,6,65341,0,255,8,41,9f,ff,ff,0d,ff,ff,7f
2021-07-13T07:09:27.083Z,6,65341,0,255,8,41,9f,ff,ff,0d,ff,ff,7f
2021-07-13T07:09:28.137Z,6,65341,0,255,8,41,9f,ff,ff,0d,ff,ff,7f
2021-07-13T07:09:29.192Z,6,65341,0,255,8,41,9f,ff,ff,0d,ff,ff,7f
2021-07-13T07:09:30.251Z,6,65341,0,255,8,41,9f,ff,ff,0d,ff,ff,7f
2021-07-13T07:09:30.277Z,6,65341,0,255,8,41,9f,ff,ff,0b,ff,00,00
2021-07-13T07:09:30.303Z,6,65341,0,255,8,41,9f,ff,ff,0c,ff,ff,ff
2021-07-13T07:09:30.328Z,6,65341,0,255,8,41,9f,ff,ff,03,ff,ff,ff
2021-07-13T07:09:30.353Z,6,65341,0,255,8,41,9f,ff,ff,02,ff,e7,82
2021-07-13T07:09:31.306Z,6,65341,0,255,8,41,9f,ff,ff,0d,ff,ff,7f
2021-07-13T07:09:32.360Z,6,65341,0,255,8,41,9f,ff,ff,0d,ff,ff,7f
2021-07-13T07:09:33.429Z,6,65341,0,255,8,41,9f,ff,ff,0d,ff,ff,7f
2021-07-13T07:09:34.469Z,6,65341,0,255,8,41,9f,ff,ff,0d,ff,ff,7f
2021-07-13T07:09:35.533Z,6,65341,0,255,8,41,9f,ff,ff,0d,ff,ff,7f
2021-07-13T07:09:35.561Z,6,65341,0,255,8,41,9f,ff,ff,0b,ff,00,00
2021-07-13T07:09:35.586Z,6,65341,0,255,8,41,9f,ff,ff,0c,ff,ff,ff
2021-07-13T07:09:35.603Z,6,65341,0,255,8,41,9f,ff,ff,03,ff,ff,ff
2021-07-13T07:09:35.638Z,6,65341,0,255,8,41,9f,ff,ff,02,ff,e7,82
2021-07-13T07:09:36.585Z,6,65341,0,255,8,41,9f,ff,ff,0d,ff,ff,7f

I finally finally started with this, based on a recording I made.
130851 decoding in canboat does not work https://github.com/canboat/canboat/issues/272

https://github.com/SignalK/n2k-signalk/pull/242

Any updates on this topic? I have tried to emulate a B&G autopilot based on information in the RaymarineAPtoFakeNavicoAutoPilot, but it sends so many messages at strange intervals. I have not been able to replicate it in a way that the Vulcan displays the AP-panel.  I understand that this is not the same as replicating a AP-keypad, but my winter project is to build a simple Autopilot that can act as a B&G or Simrad AP on the network.


Fix minor typo in mk_int.sh

There was a minor typo ("GENETATED" instead of "GENERATED") in a comment in the mk_int.sh script. This PR fixes that typo in both the script and the generated int files.

Is this covered by https://github.com/FStarLang/FStar/pull/2425 or does it have more files modified?

Ah yep looks like it's covered. I'll go ahead and close this one out then. Thanks!

You're welcome. If you're interested in looking for typos, I did not check under src/ and tests/...


Collision is broken when disabled after pausing

Tested versions

Reproducible in v4.2.1.stable.official [b09f793f5] and 4.0.stable.official [92bee43ad].

System information
Godot v4.2.1.stable - Windows 10.0.22621 - Vulkan (Forward+) - integrated Intel(R) Iris(R) Xe Graphics (Intel Corporation; <IP_ADDRESS>75) - 13th Gen Intel(R) Core(TM) i7-1360P (16 Threads)
Issue description
If a game is paused while 2 CollisionBoxes are overlapped, then unpaused, and one of them is disabled, the other one will fail to recognize this, and it will believe that it is colliding with the other CollisionBox as long as they both exist.
Steps to reproduce
Run the program. There are two timer nodes. When the first one, the one under the root Node2D node runs, it will briefly pause the game. When the other one runs, it will disable one of the Area2D's collision and print "disable". The other Area2D is continually printing get_overlapping_areas(). It will not ever change, even after the collision is disabled. If the pausing functionality is disabled, it works as expected.
Minimal reproduction project (MRP)
PauseBug2.zip

Related to #60577, which describes a similar problem in 3.x.

Can you test with 4.3-dev2, might be fixed by:

https://github.com/godotengine/godot/pull/81809

I tried it in 4.3-dev2, and it has a different issue instead. After the pause, the Area2D fails to recognize the overlapping area, even if it is not disabled.

So then the original issue is solved, the other needs to be evaluated if it is a bug or not
I'd say to close this an open a new report for that issue as it's separate and different 🙂

Good call.


update copyright and license headers

closes #1594 #1598
Checklist

[x] No CHANGELOG update needed

[x] No new tests needed

[x] No documentation update needed

do we have to update the year every year?

i understand that the year doesn't have any real importance when it comes to making copyright claims, but i changed them all here for consistency.
in the future, we can use the following to update everything in one go (or just let them be out of date, its fine):
for F in (rg -l "2023 Mandiant");  sed -i "s/2023 Mandiant/2024 Mandiant/g" $F; end


added validation to prevent negative value in composite()

Note: getting issue when path=41.892986,12.4820967000001|43.7731,11.2559|43.7223534,10.3966957|43.72327,10.39584|43.723333,10.393889|43.731417,7.420275|43.6667,6.9167|43.550861,7.01725|45.465556,9.19|45.470244,9.179549|45.464167,9.191389|45.4412034,12.3154028|45.4335817,12.3378987999999|45.4335817,12.3378987999999|41.892986,12.4820967000001
width=378 and height=264

Hi @pratikt4f
Sry for the late response but I had trouble with Github 2FA due to a stolen phone.
I try to reproduce the error:
  const options = {
        width: 378,
        height: 264,
      };

const map = new StaticMaps(options);

const polygon = {
        coords: [
          [41.892986,12.4820967000001],
          [43.7731,11.2559],
          [43.7223534,10.3966957],
          [43.72327,10.39584],
          [43.723333,10.393889],
          [43.731417,7.420275],
          [43.6667,6.9167],
          [43.550861,7.01725],
          [45.465556,9.19],
          [45.470244,9.179549],
          [45.464167,9.191389],
          [45.4412034,12.3154028],
          [45.4335817,12.3378987999999],
          [45.4335817,12.3378987999999],
          [41.892986,12.4820967000001]
    ]};
map.addPolygon(polygon);

Result

Hi @StephanGeorg, Thanks for the replay.
for reproducing the issue you need to use a marker. as I checked the issue is due to the marker's top-left position was outbound of an image...
Let me know if need any details
Thanks

Do you have any example data or test case?

marker's top-left position was outbound of an image...

shouldn't be possible because the bound of all features (markers, lines, ...) is calculated based on their positions. I totally agree with your fix but I want to understand how this can be possible.
Thanks
Stephan

Hellow @StephanGeorg, Thanks for understanding.
Do you have any example data or test case?
-> Try with marker image and try to draw image like

Please let me know if any thing
Thanks
Pratik

Ok, I think you're right:

shouldn't be possible because the bound of all features (markers, lines, ...) is calculated based on their positions

... but does not include the marker image itself.
I need to check that case. Thank you.

Bug occurs when using render() with zoom option. I fixed it https://github.com/StephanGeorg/staticmaps/blob/master/src/staticmaps.js#L350 by rejecting markers which would be outside the base image.


Listening to events returns only 20 events

Hello! I have synced a node with event plugin and tried to run the sample code from https://developers.tron.network/docs/trc20-event to listen usdt contract events, but whenever I launch my code, it always returns me only first twenty events and freezes. I can't really figure out  why does it work this way. Is it a normal behavior or do I need to make some changes in my code/node configuration?
Code example
const TronWeb = require('tronweb')
const HttpProvider = TronWeb.providers.HttpProvider
const fullNode = new HttpProvider('http://localhost:8090')
const solidityNode = new HttpProvider('http://localhost:8091')
const eventServer = new HttpProvider('http://localhost:8080')
const tronWeb = new TronWeb(fullNode, solidityNode, eventServer)

async function listen() {
  const trc20ContractAddress = "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"; //mainnet USDT contract
  let contract = await tronWeb.contract().at(trc20ContractAddress);

  //contract.[eventname].watch(callback) enventname is the name of the event of the contract
  await contract && contract.Transfer().watch((err, event) => {
    if(err)
      return console.error('Error with "Message" event:', err);

    console.group('New event received');
    console.log('- Contract Address:', event.contract);
    console.log('- Event Name:', event.name);
    console.log('- Transaction:', event.transaction);
    console.log('- Block number:', event.block);
    console.log('- Result:', event.result, '\n');
    console.groupEnd();
  });
}

listen()

https://api.trongrid.io/event/contract/TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t/Transfer/latest?size=20&page=1&since=1644646998208&fromTimestamp=1644646998208&sort=block_timestamp
could you support api-doc above so that i can call myself

I would suggest you use Trongrid EVENT service.  The same time window can get up to 1000 records.
here is the guide:
https://developers.tron.network/reference/events-by-contract-address

I would suggest you use Trongrid EVENT service. The same time window can get up to 1000 records. here is the guide: https://developers.tron.network/reference/events-by-contract-address

404 error page not found?

I would suggest you use Trongrid EVENT service. The same time window can get up to 1000 records. here is the guide: https://developers.tron.network/reference/events-by-contract-address

404 error page not found?

https://developers.tron.network/reference/get-events-by-transaction-id  try this


Disabled button's tooltip displays on Firefox

Disabled buttons don't normally fire the mouseenter event, but they do in Firefox. As a result, the tooltips of disabled buttons (<button disabled>) are displayed when the mouse enters the button.
If this is the desired behaviour, this is broken for other browsers. If not, a fix for Firefox could be to check whether the button is disabled before showing the tooltip. This may also affect other elements such as <input>.

Operating system: Windows 10 Pro x64
Browser: Firefox 50.0
Test case and workaround: https://jsbin.com/qigazerate

The fix in Bootstrap's JavaScript would skip the processing of the mouseenter event, rather than show.bs.tooltip, as was used in the above workaround.
This issue was encountered with Bootstrap v4.0.0-alpha.5.

https://www.fxsitecompat.com/en-CA/docs/2016/disabled-form-controls-now-trigger-mouseover-and-similar-mouse-events/

@toby-howell
This issue can be fixed using custom code using jQuery
Please check my solution here - https://jsbin.com/guzikakuba/edit?html,css,js,output
I have tested in Mozilla, Chrome & Opera, IE11. In all these browsers it showing the desired behaviour.
I am attaching screen shot.

Please let me know in case of any further concerns.

This is still an issue. It could be fixed by adding pointer-events: none to disabled button style. However, this also "disables" cursor style so might not be a solution for everyone.

This will be addressed in v5. Up to @MartijnCuppens and rest of @twbs/css-review if we backport something to v4. See #29296 for more details.


Cannot type or interact with terminal

Environment
Windows build number:  Win32NT 10.0.19041.0 Microsoft Windows NT 10.0.19041.0
Windows Terminal version (if applicable): Version: 1.2.2381.0

Steps to reproduce
Try to type or click into the terminal
Expected behavior
Can type characters in the terminal, right-click, etc.
Actual behavior
Cannot type any character or interact with the terminal in any way. Previously it worked fine, but something has changed and now I cannot do anything with the terminal.

https://github.com/microsoft/terminal/issues/4448 suggests that disabling "Touch Keyboard and Handwriting Panel Service" could cause this.

@KalleOlaviNiemitalo Thanks for the suggestion, but that service is already set to Manual and has the recommended default registry values from that post. I've not ever messed with that.

#4448 suggests that disabling "Touch Keyboard and Handwriting Panel Service" could cause this.

Thanks a lot !
That was the tip. Everything is ok now.

@lucasyvas If you explicitly start that service, does keyboard input start working?

After, enable the Ink Workspace and the Tablet Input Service again, the Terminal works as it should. It's strange to understand, why this 2 services should be enabled on a pure Desktop machine.
Because i was looking for un-needed resource eater on my DAW, I did this "cleanup task" to disable some services, and the receipt followed immediately: "punishment after self-experiment".

@DHowett Nope... is it possible this is permission related? I may have recently altered some innocuous looking Windows privacy settings, but that's all I can think off.

OK weird it now works. Everything looks the same but I did it once more and tossed in a reboot for good measure. Maybe at that to the list of recommended steps after flipping all the correct switches :)

That's really quite strange, and I'm not sure where to go from here.
Somebody mentioned that they've got MSI Afterburner running, and exiting it made input start working again. That doesn't seem like a completely reasonable thing to do, but ... you know. Software is rarely reasonable!

I'll take a look at what else is running and report back.

I believe this is caused by running Rivatuner Statistics Server in my case, which is a utility that caps framerate to smooth frame times.


Remove redundant clause regarding operator spaces

The removed clause is redundant with the first sentence in this paragraph, and it makes this sentence confusing.  A hasty reader might mistake the "always be consistent" as a statement about arithmetic operators within a particular project/file.  The true intent of the clause appears to be in differentiating arithmetic operators from binary ones; but I believe that can be done more explicitly and clearly by simply listing them, as is done for the binary operators.  Further, there is no actual need to restate that consistency is necessary for binary operators since the first sentence of the paragraph puts it in black and white, and the following example shows clearly that there is no grey area.

I signed it!


Document better the TywavesAnnotation.scala

The code in core/src/main/scala/chisel3/tywaves/TywavesAnnotation.scala is not well documented. Some operations miss proper explanation and in addition there are still some TODOs not completed.

Fixed by https://github.com/rameloni/chisel/commit/c289be66542c9f09ae68cd02e1cffc84e071fe26


test output log cluttered with telephony logs

Has there been consideration to disable (or have an option to disable) coretelephony?  It's frequently clutters our log output log and I've never known of a use for it.
This is what I usually do for local tests which requires to be run each time you spawn a simulator.  However, this isn't currently an option for tests run on CI:
xcrun simctl spawn booted log config --mode "level:off"  --subsystem com.apple.CoreTelephony

I think running
log config --mode "level:off" --subsystem com.apple.CoreTelephony

via the --script-file flag would work.


[DOC] Correcting the documentation of the random_state parameter

Describe the issue linked to the documentation
Given the problem solved in #1271 we should make sure in all modules if there exists a miss-explanation of the random_state parameter in the docstrings
Suggest a potential alternative/fix
No response

hey @AnonymousCodes911, can you assign this to me..

Hi @hx4nn, I am already in the process of doing this 😅

sure 👍

i think we can close this now and re-open if we find something again or disagree