What is the average of the statistics of joint statistical significance?

Hello dear Fernando I hope you are well. I find myself estimating a simple model of csdid2 which is the following: csdid2 income, ivar(id) tvar(month) gvar(event). At the time of producing joint significance:  estat event, revent(1/5)

         | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]

-------------+----------------------------------------------------------------
Post_avg |  -28.59538   4.234151    -6.75   0.000    -36.89416    -20.2966
tp1 |  -17.52506   5.332908    -3.29   0.001    -27.97737   -7.072757
tp2 |   -33.4877   5.400386    -6.20   0.000    -44.07226   -22.90314
tp3 |  -32.28421   5.288163    -6.10   0.000    -42.64882    -21.9196
tp4 |  -31.30726   5.320897    -5.88   0.000    -41.73603    -20.8785
tp5 |  -28.37267   5.475379    -5.18   0.000    -39.10421   -17.64112
I would like to know the process behind the algorithm to produce the post_avg, since, the computer I am accessing for data has many problems to run the post estimation commands of csdid2. In summary, I would like to know the manual process of the estat event, revent(1/5) command (for the post_avg coefficient) or estat cevent, revent(1/5) which gives very approximate coefficients to the Post_avg:
. estat cevent, revent(1/5) /collapsados csdid2/
         | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]

-------------+----------------------------------------------------------------
ATTC |  -28.54053   4.233953    -6.74   0.000    -36.83893   -20.24214
In general, I try to manually average the coefficients, I have tried to get the beta averaging the coefficients weighted by the variance of the periods 1/5 with a very similar result of those collapsed by command, however, for the other statisticians like Std. err. I have not succeeded or give me no approximations.
Look forward to your advice and prompt response thanks!

Sure,
CEVENT estimates the simple average of all ATTGT that fall within the
restriction given in revent()
for post_treatment, it is the average of all post treatment ATTGTs giving
syy Post events the same weight
On Thu, Dec 5, 2024 at 12:40 PM marianalopera99 @.***>
wrote:

Hello dear Fernando I hope you are well. I find myself estimating a simple
model of csdid2 which is the following: csdid2 income, ivar(id)
tvar(month) gvar(event). At the time of producing joint significance: estat
event, revent(1/5)
     | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]

-------------+----------------------------------------------------------------
Post_avg | -28.59538 4.234151 -6.75 0.000 -36.89416 -20.2966
tp1 | -17.52506 5.332908 -3.29 0.001 -27.97737 -7.072757
tp2 | -33.4877 5.400386 -6.20 0.000 -44.07226 -22.90314
tp3 | -32.28421 5.288163 -6.10 0.000 -42.64882 -21.9196
tp4 | -31.30726 5.320897 -5.88 0.000 -41.73603 -20.8785
tp5 | -28.37267 5.475379 -5.18 0.000 -39.10421 -17.64112
I would like to know the process behind the algorithm to produce the
post_avg, since, the computer I am accessing for data has many problems to
run the post estimation commands of csdid2. In summary, I would like to
know the manual process of the estat event, revent(1/5) command (for
the post_avg coefficient) or estat cevent, revent(1/5) which gives very
approximate coefficients to the Post_avg:
. estat cevent, revent(1/5) /collapsados csdid2/
     | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]

-------------+----------------------------------------------------------------
ATTC | -28.54053 4.233953 -6.74 0.000 -36.83893 -20.24214
In general, I try to manually average the coefficients, I have tried to
get the beta averaging the coefficients weighted by the variance of the
periods 1/5 with a very similar result of those collapsed by command,
however, for the other statisticians like Std. err. I have not succeeded or
give me no approximations.
Look forward to your advice and prompt response thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/friosavila/stpackages/issues/18, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASZKKFVPW2LZRLCOS3GIKXL2ECFXPAVCNFSM6AAAAABTC7PLROVHI2DSMVQWIX3LMV43ASLTON2WKOZSG4ZDCMBTGAZDAOA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Dear Fernando, thank you for your answer, the coefficient I managed to get well, however, the Std. err. is not the average of other Std. err. how do you get this?

That is a far more difficult answer
You need to combine the variance covariance matrix
Think wald statistic for combination of coefficients
On Thu, Dec 5, 2024 at 7:02 PM marianalopera99 @.***>
wrote:

Dear Fernando, thank you for your answer, the coefficient I managed to get
well, however, the Std. err. is not the average of other Std. err. how do
you get this?
—
Reply to this email directly, view it on GitHub
https://github.com/friosavila/stpackages/issues/18#issuecomment-2521761780,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASZKKFWKKN7CISJYYJ4F4BL2EDSSVAVCNFSM6AAAAABTC7PLROVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMRRG43DCNZYGA
.
You are receiving this because you commented.Message ID:
@.***>


jenkins cleanvm: Use openSUSE Leap 15.2 for master

That's the latest version and we only build packages for that.

already done with https://github.com/SUSE-Cloud/automation/pull/3933


Add a Makefile for easier local dev and add tests execution with coverage artefacts creation to pipelines

The test coverage report generated by the pipeline can be found in its log (I can't find it in the Github GUI...) here it's https://github.com/PFA-Visualgo/Visualgo-PyPI/actions/runs/8002190016/artifacts/1265805283

I used the types from @Larwive  but he has his own PR for it #9

Alright we good I update the branch with the dev branch, you  can approve/review it again ^^"


[App Service] Location field should be normalized across the API

👋
We've had an issue opened about deploying an App Service Plan into an App Service Environment where the deployment fails if the location field is set to different values. In this particular case the location for the App Service Environment is set to West Europe and the location for the App Service is set to westeurope - which causes this failure.
Given other API's support specifying the location in either form (westeurope vs West Europe) I believe this is a bug in the API - would it be possible to update the API to normalize the location field before doing whatever comparison it's doing that's returning this error? Whilst we're normalizing the location field (by lower-casing it and trimming the whitespace) at our side for the App Service Plan, unfortunately the App Service Environment is provisioned outside of Terraform and we're unable to normalize this value.
For context we're using API version 2018-02-01 via v18.0.0 of the Azure SDK for Go.
Thanks!

ping @naveedaz / @Nking92 :)

@jhendrixMSFT sorry to ping on a couple of different issues - would it be possible to escalate this to the Service Team since this hasn't been looked at since being reported a few months back?

@tombuildsstuff No worries I will follow up on both of these.

This is by design per Azure Resource Manager spec.
https://github.com/Azure/azure-resource-manager-rpc/blob/ebc7ee6acbce4b00be2cff67f4b100ced13c820f/v1.0/resource-api-reference.md

location
Required, string. The location of the resource. This would be one amongst the supported Azure Geo Regions registered by the RP:West US | East US | North Central US | South Central US | West Europe | North Europe | East Asia | Southeast Asia | East US 2 | etc. Resource Providers should ignore whitespace and capitalization when accepting geo regions. That is, "West US," "westus" and "West us" should all be acceptable for the georegion. This will greatly simplify the pattern for CLI / Powershell / SDK clients. An RP should use this to create the resource in the appropriate geo-affinity region. The geo region of a resource never changes after it is created.

This bug has been fixed but is waiting for deployment to production which is scheduled to be completed by end of next week, 5/24. I'll validate the fix and update here when it has been completed.


Tutorial

Is there tutorial anywhere that demonstrates how to apply these tools?

The Usage section isn't enough?

Well that helps, I guess I was looking for a tutorial where you start from scratch and build an app that applies some of these things.   Application declaration file, customizable log system, source map support etc.. I just noticed that there is an "example-app" in the source code so I'll take a look at that too.
Thanks


textarea class conflicts with CSS libraries

Just a suggestion:
the textarea class conflicts with some CSS libraries. In my case, Bulma. It caused the actual textarea to not expand when content was being entered into the box.
I fixed this by adding -isso to all the textarea class references in the embed.js file.
You might consider adopting a more specific class name like this so that it CSS libraries don't cause this type of behavior.

Heads up: Changing existing isso CSS will break many user setups who extend or replace isso's CSS with their own.

Tracked in # 816


Unable to exclude node_modules

Search terms
node_modules, exclude, typescript
Question
I'm having trouble excluding node_modules from my typedoc generation. I have a Typescript/React library that I'm trying to run this on.
My typedoc.json is as follows:
{
  "$schema": "https://typedoc.org/schema.json",
  "entryPoints": ["./src/index.tsx"],
  "out": "doc",
  "externalPattern": "**/node_modules/**",
  "exclude": "**/node_modules/**"
}

and in my tsconfig.json I have skipLibCheck set:
{
  ...
  compilerOptions: {
    ...
    skipLibCheck: true
  }
}

Yet, when I run the docs command from my package.json I still see node_modules showing up in my terminal output.
➜  common git:(ui-docstrings) ✗ npm run docs

><EMAIL_ADDRESS>docs
> typedoc

warning You are running with an unsupported TypeScript version! If TypeDoc crashes, this is why. TypeDoc supports 4.6, 4.7, 4.8, 4.9
error TS5053: Option 'noEmit' cannot be specified with option 'incremental'.

node_modules/@mui/material/styles/experimental_extendTheme.d.ts:304:9 - error TS1110: Type expected.

304       ? `${keyof T}-${ConcatDeep<Split<V>>}`
            ~~~

node_modules/@mui/material/styles/experimental_extendTheme.d.ts:304:18 - error TS1005: '}' expected.

304       ? `${keyof T}-${ConcatDeep<Split<V>>}`
                     ~

node_modules/@mui/material/styles/experimental_extendTheme.d.ts:304:19 - error TS1128: Declaration or statement expected.

What am I missing here?

skipLibCheck can only ignore non-syntax errors. You're running with a very old version of TypeScript, but trying to use newer versions of libraries that expect at least TS 4.1. There is no way for this to work without upgrading TypeScript.
Furthermore, TypeDoc's exclude option only applies to filtering out entry points -- https://typedoc.org/guides/options/#exclude


[OpenMP][OMPT] Refactor first batch of OMPT tests for use with libomptest

A new variable is declared within Makefile.defs: 'OMPTEST' This will cover an include directory and linker flag.
To enable the use of EMI or OMPT tracing, we use the environmental vars:

OMPTEST_USE_OMPT_EMI
OMPTEST_USE_OMPT_TRACING

The first batch will only cover "standard" OMPT use cases within smoke:

aomp-issue376
veccopy-ompt-target-emi-map
veccopy-ompt-target-emi-tracing
veccopy-ompt-target-emi
veccopy-ompt-target-map
veccopy-ompt-target

In smoke there are currently three other tests which are not altered:

veccopy-ompt-target-disallow-both
veccopy-ompt-target-noinit
veccopy-ompt-target-wrong-return

The benefit of moving to this libomptest implementation is that we consolidate the whole registration and output of OMPT events into a single place.
At least for all tests in which we want to test "correct" behavior, this should be preferable.
For now, as Michael mentioned, we observe an issue with the lifetimes of one of the objects, thus, the device finalization was disabled. We are looking into possibilities how to solve it.

Depending on how the calling parameters are provided to FileCheck by check_smoke, etc. we could consolidate OMPT testing even further w.r.t. non-EMI / EMI versions. By adding another "Run-Recipe" and corresponding CHECK prefixes.
But even if that would be desirable, that's something for another patch.

I'm not sure what sort of run recipe you mean TBH. What is needed is that we add a set of check rules that follow a different prefix. Then we can use the check-prefixes option and set that to whatever desired.
Since this adds more complexity to the Makefiles again, I tend to prefer to keep them separate.

Sorry for the high latency.
Completely agree, keeping things separate also keeps it more manageable and interpreting the results more easy.
By "Run-Recipe" I meant exactly those required changes to the Makefiles.

@ronlieb Would this change "work" / be acceptable?
JP pointed out that we might need to install the "libomptest headers" in order to pass the different testing pipelines (locally it does work).
So, the question is especially directed towards the "#include" statements.

can you move these to smoke-fails or if you are sure they will pass, smoke-limbo

Sure, then I'd go with smoke-fails, since I only ran these tests locally (where they passed).


Bug: sessionResave default value should be true

Currently the default value for sessionResave is false. The default for this option should be true.
Having it set to false is causes sessions to eventually expire after sessionMaxAge (which has a default of 7 days) instead of rotating (the expiry time being bumped every time the session is active).
Some people will prefer to be able to control this option so it should still be exposed, but the default should be to automatically rotate sessions once active.
A fix will be coming this week. To work around this for now, just specify sessionResave : true in the options in next-auth.config.js.

Fixed in 1.12.1


[BUG] Console spammed with console.warns of failed to validate: Failed to resolve injected property for Dragonblood Surki

Describe the bug
I'm seeing console.warns spammed for any scene in which my Surki player is loaded into, sometimes so often it causes lag for all my players
It seems to be an interaction with Simple Calendar module, which is causing it to retrigger every time the calendar ticks 1 second, and when I pause the time progressing in Simple Calendar it no longer sends these console.warns into the console
To Reproduce
Steps to reproduce the behavior:

Pause time
Create a Sukri with Ancestral Paragon & Dragonblood Ancestry
Add Surki Player to a Scene
Unpause Time
See console.warn trigger, once every second

Expected behavior
No console.warn spam
Foundry Information

Foundry Version: 12 (build 331)
Game System: Pathfinder Second Edition (system version 6.6.2)
Simple Calendar Version: 2.4.18
Simple Calendar Configuration: None
Simple Weather Version: 1.17.0

Browser (please complete the following information):

Firefox Developer Edition v133.0b6 (64-bit)

Additional context
Add any other context about the problem here.

Error Log

PF2e System | Roll Option rules element on item Breath of the Dragon (Dragonblood) (Actor.ZKvt0lB0cXOmt9ga.Item.YGOclf03x1urMG7F) failed to validate: Failed to resolve injected property "breath-of-the-dragon:{actor|flags.pf2e.dragonblood.shape}" :1:145535
PF2e System | Roll Option rules element on item Breath of the Dragon (Dragonblood) (Actor.ZKvt0lB0cXOmt9ga.Item.YGOclf03x1urMG7F) failed to validate: Failed to resolve injected property "breath-of-the-dragon:{actor|flags.pf2e.dragonblood.save}" :1:145535
PF2e System | Item Alteration rules element on item Breath of the Dragon (Dragonblood) (Actor.ZKvt0lB0cXOmt9ga.Item.YGOclf03x1urMG7F) failed to validate: Failed to resolve injected property "{actor|flags.pf2e.dragonblood.tradition}" :1:145535
PF2e System | Roll Option rules element on item Breath of the Dragon (Dragonblood) (Actor.ZKvt0lB0cXOmt9ga.Item.YGOclf03x1urMG7F) failed to validate: Failed to resolve injected property "breath-of-the-dragon:{actor|flags.pf2e.dragonblood.shape}" :1:145535
PF2e System | Roll Option rules element on item Breath of the Dragon (Dragonblood) (Actor.ZKvt0lB0cXOmt9ga.Item.YGOclf03x1urMG7F) failed to validate: Failed to resolve injected property "breath-of-the-dragon:{actor|flags.pf2e.dragonblood.save}" :1:145535
PF2e System | Item Alteration rules element on item Breath of the Dragon (Dragonblood) (Actor.ZKvt0lB0cXOmt9ga.Item.YGOclf03x1urMG7F) failed to validate: Failed to resolve injected property "{actor|flags.pf2e.dragonblood.tradition}" :1:145535
PF2e System | Roll Option rules element on item Breath of the Dragon (Dragonblood) (Actor.ZKvt0lB0cXOmt9ga.Item.YGOclf03x1urMG7F) failed to validate: Failed to resolve injected property "breath-of-the-dragon:{actor|flags.pf2e.dragonblood.shape}" :1:145535
PF2e System | Roll Option rules element on item Breath of the Dragon (Dragonblood) (Actor.ZKvt0lB0cXOmt9ga.Item.YGOclf03x1urMG7F) failed to validate: Failed to resolve injected property "breath-of-the-dragon:{actor|flags.pf2e.dragonblood.save}" :1:145535
PF2e System | Item Alteration rules element on item Breath of the Dragon (Dragonblood) (Actor.ZKvt0lB0cXOmt9ga.Item.YGOclf03x1urMG7F) failed to validate: Failed to resolve injected property "{actor|flags.pf2e.dragonblood.tradition}" :1:145535
PF2e System | Roll Option rules element on item Breath of the Dragon (Dragonblood) (Actor.ZKvt0lB0cXOmt9ga.Item.YGOclf03x1urMG7F) failed to validate: Failed to resolve injected property "breath-of-the-dragon:{actor|flags.pf2e.dragonblood.shape}" :1:145535
PF2e System | Roll Option rules element on item Breath of the Dragon (Dragonblood) (Actor.ZKvt0lB0cXOmt9ga.Item.YGOclf03x1urMG7F) failed to validate: Failed to resolve injected property "breath-of-the-dragon:{actor|flags.pf2e.dragonblood.save}" :1:145535
PF2e System | Item Alteration rules element on item Breath of the Dragon (Dragonblood) (Actor.ZKvt0lB0cXOmt9ga.Item.YGOclf03x1urMG7F) failed to validate: Failed to resolve injected property "{actor|flags.pf2e.dragonblood.tradition}"

Can you provide the actor json data?
Please and thank you.

Can you provide the actor json data?
Please and thank you.

sure, I'll send that for you in a few hours once I finish work 👍 (in 5 hours)

I created an actor with the same specifications provided and I did not get the error  :|
Looking at the console messages, it seems like the ancestry option for which Dragon was not selected properly and the rule elements are constantly generating error messages. This is conjecture on my part, would still need to see the actor data to validate.

xol.json
here's their character data, grabbed it from let actor = game.actors.get(actorId); in console

You have an older version of the Dragonblood Versatile Heritage - Delete the heritage and grab it again from the compendium. It should prompt you for the type of Dragon. Once that's done, it should resolve the errors.

guess it's maybe technically a bug in that it doesn't give an error message about it?


[Event Request] Codeunit 7324 - Code

Please add events to the Code function in Codeunit 7324
LOCAL Code()
// NEW EVENT >>
OnBeforeWhseActivityPost(WhseActivLine);
// NEW EVENT <<
PostingReference := WhseSetup.GetNextReference;

WITH WhseActivHeader DO BEGIN
  WhseActivLine.SETRANGE("Activity Type",WhseActivLine."Activity Type");
  WhseActivLine.SETRANGE("No.",WhseActivLine."No.");
  WhseActivLine.SETFILTER("Qty. to Handle",'<>0');
  IF NOT WhseActivLine.FIND('-') THEN
    ERROR(Text003);

And second event in the bottom of Code function.
IF NOT HideDialog THEN
  Window.CLOSE;

IF PrintDoc THEN
  CASE "Source Document" OF
    "Source Document"::"Purchase Order",
    "Source Document"::"Purchase Return Order":
      PurchPostPrint.GetReport(PurchHeader);
    "Source Document"::"Sales Order",
    "Source Document"::"Sales Return Order":
      SalesPostPrint.GetReport(SalesHeader);
    "Source Document"::"Inbound Transfer":
      TransferOrderPostPrint.PrintReport(TransHeader,Selection::Receipt);
    "Source Document"::"Outbound Transfer":
      TransferOrderPostPrint.PrintReport(TransHeader,Selection::Shipment);
  END;

// NEW EVENT >>
OnAfterWhseActivityPost(WhseActivLine);
// NEW EVENT <<

COMMIT;
CLEAR(WhseJnlRegisterLine);
END;

I was going to ask just the same events 😄
For coherence, though, they should probably be called OnBeforeRun and OnAfterRun, and be included in the Run procedure (which is basically the same as @spookymattress requested, because the only thing that Run does is call the local Code procedure).
Note that I think that the event names that @spookymattress suggested are much, much, better, but the events in the 5763 Whse.-Post Shipment and 5760 Whse.-Post Receipt codeunits are already defined as OnBeforeRun and OnAfterRun, so it seems logical that all follow the same naming criteria...

@salgiza I actually disagree that we should keep the same naming convention. It would be much better to refactor the events in 5763 Whse.-Post Shipment and 5760 Whse.-Post Receipt as these are hopeless names  - OnBeforeRun/OnAfterRun

Actually, we don't disagree. I'd also prefer if Microsoft renamed the events in code units 5763 and 5760.
I only suggested to do it the other way around because I don't think that Microsoft wants to break compatibility with existing extensions, but I'd be happy if someone at Microsoft proved me wrong.
Bonus points if the event passed the Header as the param and not a Line, because the existing OnBeforeRun/OnAfterRun events can easily lead to confusion as to when the are raised, unless you know the existing code...

We cannot rename events, this is breaking change for our partners and their extensions.

I know it is a breaking change, but that's why it is important to give the integration event meaningful names in the first place instead of OnBeforeRun etc...


Adding filtering for HDR maps

Closes #7867
.hdr environment files that are loaded will now give accurate PBR reflections.
Description
Added a scene component to filter HDR cube maps on load. Filtering is achieved by importance-sampling a GGX distribution and applying it on different mip levels of a render target, corresponding to different roughness values.
Realtime filtering capacities were also added on PBR material, though it's not really efficient compared to the above baking-on-load method. It should be used only for dynamic reflection textures like probes.
Implementation was based on IBLBaker shaders and the following article :
http://blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_notes_v2.pdf
Performance impact
Prefiltering of the cube map is activated by default on HDRCubeTexture, thus resulting in a slight impact in the loading time of the HDR (offscreen renderings must be performed to filter the map).
Additionnal notes
HDRCubeTexture could now be a child class from CubeTexture, or be merged with CubeTexture to simplify the API and avoid code duplication.
Example PG
http://localhost:1338/Playground/index-local.html#P2NE2S#2
Top sphere is a prefiltered DDS environment
Bottom left sphere is realtime prefiltered environment with 16 samples
Bottom right sphere is a .hdr texture prefiltered on load with 128 samples
Slider adjusts roughness of all 3 spheres.

Ok I reviewed more in depth so we ll take it offline in meeting next week, I do not think it would be lots of changes but mainly in the used formula, precomputed values and such. I ll try to share the formulas before end of day Monday in includes so  that we can all pick and choose the same :-)

All changes as discussed offline have been applied
New PG to try with probe filtering, looks pretty good :)
http://localhost:1338/Playground/index-local.html#P2NE2S#3
I'm still wondering if we should set reflectionTexture.realtimeFiltering to true by default on probes (with low quality), since :

enabling this flag will have no effect on standardMaterial having this reflectionTexture
on PBR, with this flag disabled, material BDRF becomes really wrong since roughness is not taken into account

I'm still wondering if we should set reflectionTexture.realtimeFiltering to true by default on probes (with low quality)

Yes pretty please :-)

Actually no :-) cause it couples as in the PR hdrFiltering and baseTexture meaning any ppl who are not using it still have it in their bundles.
I think all is good in the PR except this part :-) It is looking great actually.
I ll make a thorough review in a bit Thanks a lot !!!

I ll merge yours before my gltf extensions one as soon as you have done the tiny changes so I ll do the merge :-)

Decoupled for lighter bundles and enabled by default on probes !
new PG : http://localhost:1338/Playground/index-local.html#P2NE2S#4


Javadoc for AvajeJavalinPlugin and tidy javalin ControllerWriter only

Notes / thoughts:

AvajeJavalinPlugin could almost be called AvajeJavalinRoute
Oh, I don't like that the Javalin Plugin is an abstract type - yuk !!!

FYI: I've added a comment to the Javalin PR that changed Plugin into an abstract type, will see what the reply there is.


Feature: Dual pane design tweak

TBA in the next release officially.

Remove accent color on the bottom for the active pane to display
Use shadow and focus background only for the active pane

Steps used to test these changes
Stability is a top priority for Files and all changes are required to go through testing before being merged into the repo. Please include a list of steps that you used to test this PR.

Open Files app
Open the one more pane
Open InfoPane
Make window smaller and see InfoPane at the bottom

I moved background/borderbrush to each user control's Grid to remove unneeded xaml tree (like you did in #7824). Should I separate changes?

I moved background/borderbrush to each user control's Grid to remove unneeded xaml tree (like you did in #7824). Should I separate changes?

I think it'll be easier for future reference if it's seperate.

Nice work on the shadows!

We should make sure to test this with Column View

There's an issue where the preview doesn't load when switching between panels
https://github.com/files-community/Files/assets/84145589/17d02cf5-0011-4d24-91f2-f9332c5a154f

How about instead of changing the shadow, which isn't as pronounced, you use the pane selector.
https://github.com/files-community/Files/assets/84145589/0a4335e4-594f-4af2-b69b-7fb3f570b42f

Additional design work will take place in a second PR.


Improved: create invoice service (OFBIZ-12387)

added:
InvoiceServices.groovy: def createInvoice

the added service also checks and ensures that the user has the appropriate PartyRole
the added service also creates the InvoiceRole record for the user
AccountingSeedData.xml
RoleType definitions for InvoiceRole

modified:
services_invoice.xml, createInvoice: engine attribute and location attribute
removed:
InvoiceServices.xml: simple-method createInvoice

The changes are not only a conversion to Groovy but also introduce changes to the service business logic.
The conversion should be a separate PR, the changes should be in another PR with some explanation why they are necessary.

I agree with Michael, explanations are less about what you did, but more about why you did them.


Basic notification system

Activity manager will use our backend database
also please use this issue to discuss best ways/practices to deliver push notification to desktop users

i think we made this one :) @feruzm


Updater.exe isnt working [BUG]

Hey, i am updated openbullet2 with update its now on last version but update isnt updated correct thats why translate block still giving issue, Updater.exe isnt working!
Thanks.

You have to close OB2 completely (also the terminal window) before running the updater otherwise it will not be able to update properly. Please redownload the full build (or the patch) from github and replace all old files.


soc: nxp_imx: Define CLOCK_CONTROL_IMX_CCM outside Kconfig.defconfig

Define CLOCK_CONTROL_IMX_CCM in soc/arm/nxp_imx/Kconfig to make it
always available. That way, the Kconfig.defconfig definitions can skip
the type, making them incomplete if the base definition of the symbol
disappears. That makes the organization easier to understand and errors
easier to spot.
The help text is based on googling. Help texts for invisible symbols
appear in the generated documentation and can be checked in the
menuconfig too if you go into show-all mode, so they're better than
adding a comment.

Superseded by #20403


fix(tests): make all the tests pass

When cloning the repo, users expect to (or should expect to) be able to run go test ./... and run all the tests. If running all the tests on a fresh clone of main doesn't work, then it's hard to contribute. This ensures that all of the tests run with go test ./... -short. The short flag is used because there are some tests that are "costly" in terms of time or environment. This is a well-known flag in Go for bypassing these tests to provide a good onramp for new contributors.
Also, where one test was failing documentation has been improved and failing tests were fixed.

I've temporarily based this off #47 since I believe that this will fix CI here. Once that passes, and #47 merges, I will rebase off main. Disabling auto-merge as a result.


license-header check stopped working

license-header check for recent builds has being failing since around 15 days ago, probably because the servers Github actions run on upgraded go version from 1.17.7 to 1.18, and newer version of go now requires some additional config file. See this link for details.

Memo:
Run go get -u github.com/google/addlicense
  go get -u github.com/google/addlicense
  addlicense -c "Google LLC" -l apache -check $(find $PWD -type f -name '*.java' ! -iname '*PlaceholderFile.java')
  shell: /usr/bin/bash -e {0}
  env:
    GOROOT: /opt/hostedtoolcache/go/1.18.0/x6[4](https://github.com/googleapis/gapic-generator-java/runs/6099235480?check_suite_focus=true#step:4:4)
go: go.mod file not found in current directory or any parent directory.
	'go get' is no longer supported outside a module.
	To build and install a command, use 'go install' with a version,
	like 'go install example.com/cmd@latest'
	For more information, see https://golang.org/doc/go-get-install-deprecation
	or run 'go help get' or 'go help install'.


Memory-safety proofs for aws_byte_buf

Description of changes:
Adds preconditions, postconditions and proof harnesses for the following functions:

aws_byte_buf_append
aws_byte_buf_append_dynamic
aws_byte_buf_append_with_lookup
aws_byte_buf_clean_up
aws_byte_buf_from_array
aws_byte_buf_from_empty_array
aws_byte_buf_init
aws_byte_buf_init_copy_from_cursor
aws_byte_buf_reserve
aws_byte_buf_secure_zero

Updates the implementation of the following functions to correctly handle empty aws_byte_buf structures:

aws_byte_buf_from_array
aws_byte_buf_from_empty_array
aws_byte_buf_init
aws_byte_buf_init_copy
aws_byte_buf_is_valid
aws_byte_cursor_is_valid
aws_byte_buf_init_copy_from_cursor
aws_byte_buf_append_dynamic
aws_byte_buf_reserve
aws_byte_buf_reserve_relative
aws_hex_encode
aws_hex_decode

Updates the following test cases:

test_buffer_init_copy_null_buffer
s_run_hex_encoding_test_case

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

The upstream issues will be fixed by https://github.com/awslabs/aws-c-io/pull/132

@karkhaz any feedback on the harnesses?


Adding second slide

This adds a new slide to the slide deck

This was a cool walk through. I enjoyed it.


[EPIC] e2e: Celestia network tests

Celestia network tests roadmap
Before incentivised testnet, we should have a set of test plans that contain such scenarios:

[x] PoC: testground is a viable option for further test automation to catch regressions on a e2e level

#638

[x] K8s Infra Setup:

https://github.com/celestiaorg/test-infra/issues/25

[x] appkit: Finish app-validator story

https://github.com/celestiaorg/test-infra/issues/24

[x] plan 1: Big blocks

https://github.com/celestiaorg/test-infra/issues/77

[ ] plan 2: Benchmarking Bridge/Full nodes serving shares to Light Nodes

https://github.com/celestiaorg/test-infra/issues/83

[ ] plan 3: Node download data by namespace

#602 (for plan 1/2)

[ ] plan 4: Peer discovery (peers (quickly) find/discover each other)

#649

[ ] plan 5: Block recovery

https://github.com/celestiaorg/test-infra/issues/21,
#600

[ ] plan 6: composition tests for sync scenarios

#647
Nice to have:

[ ] plan 7: working out custom malicious app nodes to test out befp

CI/CD
In order to put out the tests above into a regular run cadence/schedule we need to do the following:

Polish/Harden out the set of tests that are used for experiments
Split tests by amount of instances and which test-plans are executed in different stages
Define the inbound requirements which triggers test runs (e.g. once a release candidate is released in either of the stack app/node/optimint)
Implement a new github action for e2e/network runs
Store a bucket of output logs
Notification mechanism

This will be resolved with Swamp.

Ref: #315

Swamp PR was merged now but at least some of this was rather about e2e tests with more realistic networking instead of integration tests and mocked networks.

@Bidon15 1 bridge (4MB) and 1k light nodes das it

Updated the issue description to reflect this upcoming test-plan

We will close this issue once we get manual work for BR ods 128


[WIP] consensus: fix prevote logic when a block is locked

Closing in favor of https://github.com/cometbft/cometbft/pull/1203


Data collection.

Collecting data from SLSC. Data is present in Dropbox, Flickr, and google photos. Find necessary APIs of the services and scrape data.

we can scrape data from the access point given to us using python


update for RagAgent

Abstract
This submission is to upgrade biochatter to use RagAgent (introduced in<EMAIL_ADDRESS>

Looks good, thanks. Will build the docker image.


Recursive Calcite sub-schema support

Doesn't work currently, but also doesn't break existing code
I'm not sure how to create a new ML relation type and attach the results nested under that, but this is a decent scaffold of the logic (I hope)

Updated with test, ready for review

Thanks for the PR. In https://github.com/julianhyde/morel/tree/147-recursive-sub-schema I've fixed the formatting issues that were causing checkstyle to fail and added several other review comments.

Merged. Thanks for the PR, @GavinRay97!


Add feature export Data

Description:
Add a feature to the contacts section of the website that allows users to export their contacts. Users should be able to select specific contacts to export instead of exporting the entire list.
Acceptance Criteria:

Add a "Select Contacts" option in the menu bar.
Allow users to select individual or multiple contacts.
Provide an "Export" button that only exports the selected contacts.
Support common export formats, such as CSV or Excel.
Ensure the feature is intuitive and integrates seamlessly with the existing UI/UX.

Additional Notes:

Consider providing options to select all or deselect all contacts quickly.
Ensure the export functionality handles large datasets efficiently.

implemented


Update data-sources-custom-logs.md

Deleted note about needing to restart agent in order to discover certain files. However, this is an old limitation which has since been fixed.

@aliabuckner : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@aliabuckner - This article was updated last week or earlier this week already to address that note, and this PR can be closed.  Side note, as you can see the article is showing a merge conflict because the updated article in master is newer than your PR changes.  Thanks.

Closing this PR per @MGoedtel, as the changes have been previously made.


adding .expanded to a row nested inside a row with class expanded wil…

…l expand nested row to full width of previous row
closes #9886

I updated #9886 with a codepen, I think you can get the results you're looking for by just adding .collapse to the nested rows

Thanks @gpspake ..... i think you should close this @mrYakamoto
.collapse aka no-gutters is the solution for this

@gspake, @iammanchanda, isn't alignment still an issue in this case though? The nested rows don't line up using collapse

Yup .... looked deeply and yup you have a point
cc @kball !

@mrYakamoto yeah, I see what you mean now and that fix is nice. +1 on this 👍

@brettsmason @andycochran @ncoden what do one of you sassy folks think? ;)

ping @andycochran can you take a look at this?

This seems like a specificity rabbit hole. Right, @ncoden?

Did we have a verdict @andycochran @ncoden? Is this a go or no-go?

Hello. Sorry for the wait ;)
So, it seems there is a problem with what you're expecting.
Actually, we have:

.row .row must be aligned (negative marging on child to counter the parent padding)
.row.expanded .row must be centered (auto margin)
So: .row.expanded .row .row is centered instead of being aligned.

You want to make the 3rd row with .expanded have negative margins too, but it does not have anything to do with .expanded, this is a behavior you expect from any nested row.
Despite of the name (let's say we use .forced-nested instead of .expanded), the problem is we're f*** by specificity (again, huh ?). Adding an other modifier do the job for this particular situations, but will create more problems for tons of other situations.
So, for now, I only have a bad solution: Ensure both .row .row and .row.expanded .row .row is aligned (negative margins).
This increase the specificity, complexify the behavior, this is nothing but a hack for a badly declared .row.expanded .row, but... this is what any API base with an uncontrolled specificity will always leads to.
Let me know what you think about it.

@mrYakamoto @kball @andycochran Hello. Sorry for the wait ;)
So, it seems there is a problem with what you're expecting.
Actually, we have:

.row .row must be aligned (negative marging on child to counter the parent padding)
.row.expanded .row must be centered (auto margin)
So: .row.expanded .row .row is centered instead of being aligned.

You want to make the 3rd row with .expanded have negative margins too, but it does not have anything to do with .expanded, this is a behavior you expect from any nested row.
Despite of the name (let's say we use .forced-nested instead of .expanded), the problem is we're f*** by specificity (again, huh ?). Adding an other modifier do the job for this particular situations, but will create more problems for tons of other situations.
So, for now, I only have a bad solution: Ensure both .row .row and .row.expanded .row .row is aligned (negative margins).
This increase the specificity, complexify the behavior, this is nothing but a hack for a badly declared .row.expanded .row, but... this is what any API base with an uncontrolled specificity will always leads to.
Let me know what you think about it.

Closing as old stranded PR


Thread Safety

There are two approaches to thread safety for interpreters:

Fine-grained Mutexes (Slows the single-threaded programs, Allows parallel threads)
Global Interpreter Mutex (Disallows parallel threads, Allows conccurent threads)

We will have to choose between them, and potentially make custom data structures

I made a GIL (Global Interpreter Lock) approach to close this issue for now


Execution fails for JDK 16

A user reported https://stackoverflow.com/questions/68841415/upgrading-micronaut-2-x-to-3-x-using-openrewrite-superclass-access-check-failed and I was able to replicate with an empty Micronaut 3.0.0 project with just the openrewrite feature. Downgrading to JDK 15 worked.

Starting with java 16, the default JVM behavior is not to allow access to protected modules. The workaround for this issue is to add explicit exports for packages used by rewrite's java parser.
You can do this on the command line like this:
gw rewriteRun -Dorg.gradle.jvmargs="--add-exports jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"

or add the following to your gradle.properties file:
org.gradle.jvmargs=--add-exports jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED

Hi @burtbeckwith,
I have updated the plugins to check for the necessary JVM-protected module exports and to log a message with instructions on configuring either the Maven or Gradle configuration if necessary.
Also, I have updated the documentation as it turns out that Java 17 requires three additional module exports.
Thanks again for raising this issue.


Cordova usage and documentation

Hi is there any way to implement this on cordova/phonegap apps?
I would like to recognize face and emotion from image, where can i check a deeper documentation for this?
thank you

@poshetz
Hi! did you get it work ?
I am testing a couple of things with these recent module:
https://github.com/Moonware/cordova-cameraserver
It is too slow for the moment.

@lucmichalski  unfortunately not :(


Background section on dynamic Scenario Outlines runs even when scenarios are not selected for execution

If a Feature file has a tag which is not selected (e.g. @ignore and run with ~@ignore ) the background section of those scenarios still run. No impacts in the output results but if could impact performance of the overall execution.
It only happens for dynamic scenario outlines.

1.0 released


Apple Silicon M1 Error

When I try to install this on the Mac M1 I encounter the following error:
codyaldaz@Codys-Mac-mini bash-it % source ~/.bash_profile
/Users/codyaldaz/bash-it/bash_it.sh:source:48: no such file or directory: /Users/codyaldaz/bash-it/lib/*.bash
/Users/codyaldaz/bash-it/scripts/reloader.bash:23: command not found: compgen
/Users/codyaldaz/bash-it/themes/base.theme.bash:525: command not found: _command_exists
/Users/codyaldaz/bash-it/themes/base.theme.bash:535: command not found: _command_exists
safe_append_prompt_command:3: = not found

Is this something that can be fixed relatively easy?

@NoahGorny Despite the other issues we're going to find in this ticket, first and foremost I think it's safe to say the script should have errored before continuing on with any of the other steps.

@NoahGorny Despite the other issues we're going to find in this ticket, first and foremost I think it's safe to say the script should have errored before continuing on with any of the other steps.

When I try to install this on the Mac M1 I encounter the following error:
codyaldaz@Codys-Mac-mini bash-it % source ~/.bash_profile
/Users/codyaldaz/bash-it/bash_it.sh:source:48: no such file or directory: /Users/codyaldaz/bash-it/lib/*.bash
/Users/codyaldaz/bash-it/scripts/reloader.bash:23: command not found: compgen
/Users/codyaldaz/bash-it/themes/base.theme.bash:525: command not found: _command_exists
/Users/codyaldaz/bash-it/themes/base.theme.bash:535: command not found: _command_exists
safe_append_prompt_command:3: = not found

Is this something that can be fixed relatively easy?

Hey @craldaz, thanks for the report, can you please specify which version of bash is located, and how did you install bash-it?
I suspect that the bash version is weird or misconfigured, it seems like the globbing of lib/*.bash is failing, and it also fails to find compgen which comes default with bash.

When I try to install this on the Mac M1 I encounter the following error:
codyaldaz@Codys-Mac-mini bash-it % source ~/.bash_profile
/Users/codyaldaz/bash-it/bash_it.sh:source:48: no such file or directory: /Users/codyaldaz/bash-it/lib/*.bash
/Users/codyaldaz/bash-it/scripts/reloader.bash:23: command not found: compgen
/Users/codyaldaz/bash-it/themes/base.theme.bash:525: command not found: _command_exists
/Users/codyaldaz/bash-it/themes/base.theme.bash:535: command not found: _command_exists
safe_append_prompt_command:3: = not found

Is this something that can be fixed relatively easy?

Hey @craldaz, thanks for the report, can you please specify which version of bash is located, and how did you install bash-it?
I suspect that the bash version is weird or misconfigured, it seems like the globbing of lib/*.bash is failing, and it also fails to find compgen which comes default with bash.

@craldaz I'm going to bet this is because it's actually running in zsh, which is the new default shell for mac.
The solution for that is:
brew install bash bash-completion
sudo sh -c 'echo "/usr/local/bin/bash" >> /etc/shells
chsh -s /usr/local/bin/bash

@craldaz I'm going to bet this is because it's actually running in zsh, which is the new default shell for mac.
The solution for that is:
brew install bash bash-completion
sudo sh -c 'echo "/usr/local/bin/bash" >> /etc/shells
chsh -s /usr/local/bin/bash

That worked thanks @NoahGorny @cornfeedhobo

That worked thanks @NoahGorny @cornfeedhobo


Add Search Bar in Home Page

Directions

Sample Wireframe

Sample Reference

Please make sure that the colors are consistent with the remaining website

@smaranjitghose Can I work on this??

@smaranjitghose can i work on this??

@akriti143 Sure!
We have a default search bar already. Try to make a new one (check the reference). Consult @anushbhatia w.r.t the color scheme

@smaranjitghose Okk , I'll update with the new one

I want to work on this issue under JWOC

I want to work on this issue under JWOC

I want to work on this issue under JWOC

I want to work on this issue under JWOC?

I want to work on this issue under JWOC it's gonna be one of the first opportunities for me to start with open source can i get this issue assigned.

I want to work on this issue under JWOC

@combatantash Assigned to you for 2 days. After that @raxvab can take over if there are any UI updates required.

@smaranjitghose After @combatantash it will be assigned to me, right? bcoz I commented after @combatantash

Sure will work on it
I have to replace the previous search bar with the new search bar, right?

Assign this to me

@smaranjitghose Where am I supposed to add search bar? the website is a blank page only.

replace the current search bar with the one in the home page.

But when I'm opening index.html from the public repo it is opening just a blank page

@anushbhatia and the website link attach in the github repo that link is opening another website in which a search bar and some text and footer is there

This is what I'm getting after opening it form github repo

and this is I'm getting after opening(index.html) it form my pc

@anushbhatia and the website link attach in the github repo that link is opening another website in which a search bar and some text and footer is there  This is what I'm getting after opening it form github repo  and this is I'm getting after opening(index.html) it form my pc

remove public/index.html from the url

I want to work on this issue under JWOC

I want to work on this issue under JWOC

You have been assigned to this @03amir

@anushbhatia  can you  please assign me, you just mentioned me.

I want to work on this issue under JWOC


Prevent recursive panics from happening

Previously if a panic occured while processing a panic the logic would
get stuck in a loop trying to handle the panic.
Now if a panic happens while processing a panic, a hard abort is
immediately executed.

Current dependencies on/for this PR:

main

PR #14

PR #13

PR #15

PR #22

PR #24

PR #30

PR #31

PR #32

Codecov Report

Merging #50 (d97b920) into nick/panic-log-aborts (cdc44ad) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@                  Coverage Diff                   @@
##           nick/panic-log-aborts      #50   +/-   ##
======================================================
  Coverage                  92.87%   92.87%
======================================================
  Files                          9        9
  Lines                        323      323
======================================================
  Hits                         300      300
  Misses                        23       23

Impacted Files
Coverage Δ

panic/src/lib.rs
100.00% <ø> (ø)

panic/sys/src/lib.rs
100.00% <ø> (ø)

panic/sys/src/panicking.rs
97.56% <ø> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

This is good, but I think we're probably going to need GLOBAL_PANIC_COUNT: AtomicUsize in order to properly handle mutex poisoning.

Captured this in #53


(svelte) mutation not working for newer svelte versions

I tried to use the mutation function from @urql/svelte with the newest version of svelte but somehow there is a problem with the intern context functionality that uses the client! What wonders me is that queries work wonderfully fine and they also use the intern get/setContext functions from svelte. I also found out that it starts working when downgrading svelte to 3.24.1
urql version & exchanges:
"@urql/svelte": "^1.1.0",
Steps to reproduce

clone example
update svelte to any version above 3.24.1
add mutation example from https://formidable.com/open-source/urql/docs/basics/mutations/#svelte
execute the mutation

Expected behavior
The mutation getting executed
Actual behavior
When I call the mutation, the browser console logs an error: Function called outside component initialization and the mutation isn´t getting executed!

Have you accidentally pasted the mutation example code inside a function body outside of your component's <script> block? It needs to become part of the component lifecycle, i.e. you need to call the mutation helper function itself inside the component body and not delayed inside a nested function.

Hiya :wave: Let me know if you've resolved this or still need some help. For now, I'll close this issue since it's gone unreplied for a couple of days, but feel free to keep posting here with any questions you may have!

@kitten Why can't it be inside a nested function? I'm struggling with the same issue and I think calling the fetch at a later time (on interaction) is a valid use case. Is it not?
Here's a demo: https://stackblitz.com/edit/sveltekit-urql-issue-demo
Thanks for any guidance, I feel completely stuck and I've already read about 20 threads about this error. :-/


Add LXC built in support deprecation notice

Signed-off-by: Michael Crosby<EMAIL_ADDRESS>

Should we say IS deprecated and will be removed in docker 1.10 now that we have deprecation guidelines in place?

+1 on @calavera's suggestion. Are we still able to have lxc in 1.9 though? Don't know the exact plans

+1 to @calavera  - it "is deprecated" now, but "will be removed in release 1.x"

LGTM

LGTM moving to docs review

Hm, wanted to say the "deprecation policy" mentions two releases, but it looks like it's a bit open to interpretation;

Before an existing feature is removed it will be labeled as "deprecated" ... and will remain in Docker for, usually, at least 2 releases.

LGTM then, I guess (but I would have preferred giving users one more release to adapt)
Do we have statistics, i.e., how many users are still running with the LXC driver?

It should be 1.10, like @thaJeztah mentions. For good or bad, we agreed on keeping something deprecated for two releases.

@calavera What if there won't be replacement ready for 1.10? :)

@LK4D4 the current change says that it will be removed in 1.9, so I hope there is a replacement for 1.10. Besides, 1.10 gives us more flexibility in case of not having a replacement.

@LK4D4 at that point we can decide to either remove it (without replacement), or keep it around for (one) more release.
My point was that 1 release (two months) notice might be too short for users.

@LK4D4 I guess what it means is that user who rely on this should not upgrade to <whatever_version_drops_support>. We warn early enough for implementers to provide an alternative.

@icecrime not sure I understand your opinion; you want to remove in 1.9, or 1.10?

@thaJeztah I think it's 1.10 (two releases deprecation warning).

Thanks, LGTM

cherry picked into #15091


AutoComplete with grouplist

Is it possible to make it like this with autoComplete?

The current implementation of Autocomplete doesn't allow for grouping items within unfortunately.

Sure, you can do that. You need to provide an itemToString function as well in that case:
<Autocomplete
  onChange={(changedItem) => console.log(changedItem)}
  items={[{ name: "item 1" }, { name: "item 2" }, { name: "item 3" }]}
  itemToString={(item) => (item ? item.name : "")}
>
  {(props) => {
    const { getInputProps, getRef } = props;
    return (
      <TextInput placeholder="Fruits" ref={getRef} {...getInputProps()} />
    );
  }}
</Autocomplete>

Thanks, @zkuzmic.This really helpful. But my item list contains images and names.
[{name: 'item 1', image: 'url'}, {name: 'item 2', image: 'url'}, {name: 'item 3', image: 'url'}]
So want to paint the item with the image.
Almost similar to what I attached in NY screenshot

Ah gotcha, here's a codesandbox for how I'd accomplish that:
https://codesandbox.io/s/goofy-water-3qfyzi?file=/src/App.tsx

Hi @zkuzmic ,
I m trying to build autocomplete with group list and made it almost. But I m getting some errors when I try to select an item.
https://codesandbox.io/s/evergreen-autocomplete-mgrt8h?file=/index.js
Can you please, guide me to solve it.

Here is some issue if going with the below data.
const items = [
  { name: "item 1", img: "img1" },
  { name: "item 2", img: "img2" },
  { name: "item 2", img: "img3" }
];

In the above list, we have 2 items with has the same name. Now how do we solve with itemToString?
If itemToString filter with img, however, I want to show the name in inputBox.
This is my exact issue

Hi @ksankumar - unfortunately I think you're at the mercy of itemToString to serve as the "unique selector" function for your items right now.
#1345 expands the ability of the Autocomplete to pass through the item object (not just stringify'd) to renderItem, which would give you more control over how to render the individual item. We haven't really needed this additional functionality yet so we haven't merged it in.
I hacked together an example of how you might be able to concatenate an id or some other piece of data to the display name and then split it out with a custom renderItem function. This isn't ideal, but it might get you where you need to be. https://codesandbox.io/s/evergreen-issues-1411-5w9b1f?file=/src/App.tsx


Elastalert searching current timezone but Filebeat pushing to UTC time

I'm pretty new to Elastalert so I'm hoping my issue is fairly simple to fix.
I have Filebeat capturing a log and sending to Elasticsearch. I can see my logged message just fine.
The logged message in Elasticsearch/Kibana shows a UTC timestamp of my current timezone (-0600)  I have a timestamp in my test error message too, showing my current time.
March 5th 2019, 11:03:11.000  error: 'ECONNRESET' Tue Mar  5 17:03:11 CST 2019
Running elastalert-test-rule I see the message being found:
elastalert_status - {'hits': 4, 'matches': 4, '@timestamp': datetime.datetime(2019, 3, 5, 23, 23, 52, 988633, tzinfo=tzutc()), 'rule_name': 'ECONNRESET Error', 'starttime': datetime.datetime(2019, 3, 5, 15, 19, 4, 664891, tzinfo=tzutc()), 'endtime': datetime.datetime(2019, 3, 5, 23, 23, 52, 664891, tzinfo=tzutc()), 'time_taken': 0.31819915771484375}
Now Elastalert seems to be searching with my local time with Zulu UTC adjustment.
'starttime': '2019-03-05T22:21:53.567323Z', 'endtime': '2019-03-05T23:26:50.485586Z'
When using --debug
msplwb400:/opt/elastalert> python -m elastalert.elastalert --debug --rule rules/errors_econnreset.yaml
INFO:elastalert:Note: In debug mode, alerts will be logged to console but NOT actually sent.
            To send them but remain verbose, use --verbose instead.
INFO:elastalert:Starting up
INFO:elastalert:Queried rule ECONNRESET Error from 2019-03-05 16:21 CST to 2019-03-05 16:36 CST: 0 / 0 hits
INFO:elastalert:Queried rule ECONNRESET Error from 2019-03-05 16:36 CST to 2019-03-05 16:51 CST: 0 / 0 hits
INFO:elastalert:Queried rule ECONNRESET Error from 2019-03-05 16:51 CST to 2019-03-05 17:06 CST: 0 / 0 hits
INFO:elastalert:Queried rule ECONNRESET Error from 2019-03-05 17:06 CST to 2019-03-05 17:21 CST: 0 / 0 hits
INFO:elastalert:Queried rule ECONNRESET Error from 2019-03-05 17:21 CST to 2019-03-05 17:26 CST: 0 / 0 hits
INFO:elastalert:Skipping writing to ES: {'hits': 0, 'matches': 0, '@timestamp': '2019-03-05T23:26:50.532205Z', 'rule_name': 'ECONNRESET Error', 'starttime': '2019-03-05T22:21:53.567323Z', 'endtime': '2019-03-05T23:26:50.485586Z', 'time_taken': 0.046607017517089844}
INFO:elastalert:Ran ECONNRESET Error from 2019-03-05 16:21 CST to 2019-03-05 17:26 CST: 0 query hits (0 already seen), 0 matches, 0 alerts sent
INFO:elastalert:Sleeping for 59.947655 seconds

What do I need to adjust in my alert.yaml file to have the search done on the same time as my Filebeat posted log message?
My alert config:
#  UncaughtException { Error: read ECONNRESET
#      at TCP.onread (net.js:660:25) errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' }
#
es_host: xsplwbx00
es_port: 9200
name: ECONNRESET Error
type: frequency
index: filebeat-*
num_events: 1
timeframe:
    hours: 8
filter:
- query:
    query_string:
      query: "system.syslog.message: *ECONNRESET*"
alert:
- email
email:
-<EMAIL_ADDRESS>smtp_host: mail.xxx.com
#smtp_port: 25

Thank your in advance for your assistance.
Dan

You can add --start timestamp and/or --end timestamp where timestamp is an ISO8601 timestamp, to control what time period elastalert queries. By default, it just starts at the present time and runs continuously.

You can add --start timestamp and/or --end timestamp where timestamp is an ISO8601 timestamp, to control what time period elastalert queries. By default, it just starts at the present time and runs continuously. You can't control the time period via a config file.

Thank you for responding.
So I figured out that Filebeat is sending the log data with Zulu time, so my log entries are posted to Elastisearch with -0600 (we are in Minnesota).  It seems that Elastalert only picks up my current timezone and runs.
Can I set the config timeframe: 12 (or ??) to look back 12 hours? Is that what the --start and --end are for?  Are the start and end in the Elastalert config?

You should probably try to fix Filebeat to send the correct timestamps. That's the proper fix.
But there is also an elastalert setting, query_delay, which you can use to force elastalert to subtract a number of hours from its querying. So
query_delay:
  hours: 12

will make elastalert run at a 12 hour delay from current time.

@MinnMoto Elasticsearch stores the documents in UTC time no matter which timezone your original document is.

I also met this problem。
Elasticsearch stores the documents in UTC time no matter which timezone your original document is. +1


Legend3d not rendering

I am attempting to add a legend to my WebGL scene in shiny. Although the code works locally with the legend displayed, this does not work when it is ran on shiny. I am just attempting to run some example code at this point.
output$myWebGL <- renderWebGL({
   x <- cumsum(rnorm(100))
   y <- cumsum(rnorm(100))
   z <- cumsum(rnorm(100))
   cuts = cut(x = 1:length(x), breaks = 3)

  plot3d(x, y, z, col=rainbow(3)[cuts],  size = 2, type='s')
  legend3d("topright", legend = paste('Type', c('A', 'B', 'C')), pch = 16, col = rainbow(3), cex=1, inset=c(0.02))
 })

When it is ran as a regular script with
open3d()
par3d(windowRect = c(100, 100, 612, 612))
The window renders properly with the legend. I am not quite sure why this happens and have yet to figure out a workaround for this issue. If you have any ideas for a temporary workaround it would be appreciated.
Thanks.

Here my 2 cents:
#The dataset you provided
data<-data.frame(x=cumsum(rnorm(100)),
y=cumsum(rnorm(100)),
z=cumsum(rnorm(100)))
data$cluster <- cut(x = 1:length(data$x), breaks = 3)
rgl_plot <- function(
data
){
require(rgl) #3d graphic library
require(clusterSim) #function data.Normalization
#data dataframe preparation:
#let's start normalizing data between [0,1]: it' much more easier to deal with!
data <- data.frame(cbind(data.Normalization(data[,1:3],"n4",normalization="column"),cluster=data$cluster))
#add colors to data dataframe depending on clusters
data$colors <-rainbow(length(levels(data$cluster)))[data$cluster]
#legend dataframe preparation:
#a few parameters
distance_x<-1.1 #legend x distance from origin
distance_y<-1.1 #legend y distance from origin
separation_z<-0.1 #vertical separation between legend elements
#the legend dataframe
legend <- data.frame(x=rep(distance_x,length(levels(data$cluster))),
y=rep(distance_y,length(levels(data$cluster))),
z=seq(0.1,
(0.1+separation_z*(length(levels(data$cluster))-1)),
separation_z),
cluster=levels(data$cluster),
colors=rainbow(length(levels(data$cluster))))
#RGL plot preparation:
#a few parameters
size <- ifelse(((100/length(data$x))^(1/3))*0.015>0.01,
((100/length(data$x))^(1/3))*0.015,
0.01) #the size of the spheres depending on the number of your observations
#Here if you have a lot of observation you should consider to plot them as point (rgl.points())
#RGL rendering set-up
rgl.bg(col="white", fogtype="linear")
#RGL plotting:
#data plotting
rgl.spheres(data$x, data$y, data$z,
color=data$colors,
radius=size)
#legend plotting
rgl.spheres(legend$x, legend$y, legend$z,
color=legend$colors,
radius=size)
text3d(legend$x, legend$y, legend$z,
texts=legend$cluster,
adj=1.2,
cex=0.4,
col="black")
#axis,grids and plane plotting
a<-list(c(0.1,0.1),c(0.2,0.2),c(0.3,0.3),c(0.4,0.4),c(0.5,0.5),c(0.6,0.6),c(0.7,0.7),c(0.8,0.8),c(0.9,0.9))
b<-list(c(-0.1,1),c(-0.1,1),c(-0.1,1),c(-0.1,1),c(-0.1,1),c(-0.1,1),c(-0.1,1),c(-0.1,1),c(-0.1,1))
c<-list(c(0,0),c(0,0),c(0,0),c(0,0),c(0,0),c(0,0),c(0,0),c(0,0),c(0,0))
#x axis
rgl.lines(c(-0.2,1.1), c(0,0), c(0,0), color="black")
rgl.triangles(c(1.05,1,1), c(0,0.02,-0.02), c(0,0,0), color="black")
for(i in 1:9){
rgl.lines(a[[i]],b[[i]],c[[i]], color="black", alpha=0.3)#x,y
rgl.lines(a[[i]],c[[i]],b[[i]], color="black", alpha=0.1)#x,z
}
rgl.texts(0.97, 0, 0.01, "X", adj=1, cex=0.5, color="black")
#y axis
rgl.lines(c(0,0), c(-0.2,1.1), c(0,0), color="black")
rgl.triangles(c(0,0.02,-0.02), c(1.05,1,1), c(0,0,0), color="black")
for(i in 1:9){
rgl.lines(b[[i]],a[[i]],c[[i]], color="black", alpha=0.3)#x,y
rgl.lines(b[[i]],c[[i]],a[[i]], color="black", alpha=0.1)#x,z
}
rgl.texts(0, 0.97, 0.01, "Y", adj=1, cex=0.5, color="black")
#z axis
rgl.lines(c(0,0), c(0,0), c(-0.2,1.1), color="black")
rgl.triangles(c(0,0.02,-0.02), c(0,0,0), c(1.05,1,1),color="black")
for(i in 1:9){
rgl.lines(c[[i]],a[[i]],b[[i]], color="black", alpha=0.1)#y,z
rgl.lines(c[[i]],b[[i]],a[[i]], color="black", alpha=0.1)#y,z
}
rgl.texts(0.01, 0.01, 0.97, "Z", adj=1, cex=0.5, color="black")
#x,y plane
rgl.planes(c(0,0,-1), color="black", alpha=0.1)
}
#now you can call the rgl_plot function
output$myWebGL <- renderWebGL({
rgl_plot(data)
})
Saluti,
Marco

Thanks Marco. This is very helpful. :+1: :)
Best,
Amber


Please add an example image with a live workflow

Please add an example image with its embedded workflow so that we can see the wiring. The current node is different from that in your readme images as it has only two text areas.

There are 3 different nodes now. Which one are you talking about?


VLM filtering - the input is an image with bounding boxes overlaid

[text_input] "television: 2, television: 3, television: 4, television: 5, bin: 6, toy car: 7, car: 8",
[vlm_response]
"Step 1: Verify each tag matches the object in its bounding box.
 - Tags 2, 3, 4, 5: \"television\" - These tags all refer to the same television mounted on the wall.
 - Tag 6: "bin" - This tag correctly identifies the blue recycling bin on the floor.
 - Tag 7: "toy car" - This tag correctly identifies the toy car on the table.
 - Tag 8: "car" - This tag also refers to the toy car on the table.

 Step 2: Determine the most precise tag for objects with multiple tags.
- Tags 2, 3, 4, 5: The most precise tag is "television." The other tags are redundant.
- Tags 7 and 8: The most precise tag is "toy car" as it specifies the type of car.

Step 3: Provide conclusions.
nunmatched_tags = [3, 4, 5, 8]

Step 4: Extract the list.
nunmatched_tags = [3, 4, 5, 8]

remove [ "television", "television", "television", "car"]


b19: Unable to call HotWater boost service: "Failed to call service hive/boost_hot_water. string indices must be integers"

I am trying to set up a Boost Hot Water service as per: https://www.home-assistant.io/integrations/hive/
      - service: "hive.boost_hot_water"
        data:
          entity_id: "water_heater.hotwater"
          time_period: "01:00:00"
          on_off: "on"

When I try to run the service I get the following pop-up error:
"Failed to call service hive/boost_hot_water. string indices must be integers"
The HomeAssistant log shows the following:
2020-11-13 17:23:14 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140699679918400] string indices must be integers
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 135, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1448, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1483, in _execute_service
    await handler.job.target(service_call)
  File "/config/custom_components/hive/__init__.py", line 175, in hot_water_boost
    await hive.hotwater.turn_boost_on(node_id, minutes)
  File "/usr/local/lib/python3.8/site-packages/pyhiveapi/hotwater.py", line 185, in turn_boost_on
    await self.log.log(device["hive_id"], "Extra", "Turning on boost")
TypeError: string indices must be integers

@KJonline I am really not trying to be a pain to you, just trying to provide best debug reports possible!!
Boost Service is working in b20 but Boost status ( sensor.ground_floor_boost_2) is no longer reporting boost being on. This error also appears in log:
2020-11-17 22:58:22 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.ground_floor_boost_2 fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 278, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 474, in async_device_update
    raise exc
  File "/config/custom_components/hive/sensor.py", line 139, in async_update
    endsin = await self.hive.hotwater.get_boost_time(self.device)
  File "/usr/local/lib/python3.8/site-packages/pyhiveapi/hotwater.py", line 101, in get_boost_time
    if await self.get_boost(device["hive_id"]) == "ON":
  File "/usr/local/lib/python3.8/site-packages/pyhiveapi/hotwater.py", line 82, in get_boost
    await self.log.log(device["hive_id"], "Extra", "Getting boost")
TypeError: string indices must be integers
2020-11-17 22:58:51 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.ground_floor_boost_2 fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 278, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 474, in async_device_update
    raise exc
  File "/config/custom_components/hive/sensor.py", line 139, in async_update
    endsin = await self.hive.hotwater.get_boost_time(self.device)
  File "/usr/local/lib/python3.8/site-packages/pyhiveapi/hotwater.py", line 101, in get_boost_time
    if await self.get_boost(device["hive_id"]) == "ON":
  File "/usr/local/lib/python3.8/site-packages/pyhiveapi/hotwater.py", line 82, in get_boost
    await self.log.log(device["hive_id"], "Extra", "Getting boost")
TypeError: string indices must be integers

@CaptInsano dont worry about it hard working blind with the hotwater stuff so the process is taking a bit longer to get things correct. But I appreciate the bug reports, at least until the bugs have have gone.

@CaptInsano please can you update to beta 21 and advise if you get any more issues with boosting?

Fixed in b21!!
Boost reporting correctly and no more errors appearing logs!


Norwegian translation

Just testing v1.0.18. I think the norwegian translation file needs adjustment cause the letters æ, ø and å makes the whole word disapear. For example "swimlanes" means "svømmebaner" in norwegian and if you set norwegian language, you can not modify swimlanes (or see the word swimlanes in settings). Is the anything I can do? Replace æ by æ, ø by ø and å by å if that helps?
Sincerely,
Danny

You could try to experiment with the translation and replace characters /app/Locale/nb_NO/translations.php

Hi!
I have replaced:
æ with “&aering;”
ø with “ø”
å with “å”
and Å with “Å”
Now it works on my installation.
New version of the file is attached.
Mvh
Danielhttp://mittomrade/Person.aspx?accountname=common\RADA
Fra: Timo<EMAIL_ADDRESS>Sendt: 6. oktober 2015 11:39
Til: fguillot/kanboard
Kopi: Raknes Daniel Wik
Emne: Re: [kanboard] Norwegian translation (#1326)
You could try to experiment with the translation and replace characters /app/Locale/nb_NO/translations.php
—
Reply to this email directly or view it on GitHubhttps://github.com/fguillot/kanboard/issues/1326#issuecomment-145798848.

The translation file is badly encoded, it need to be converted in utf-8 to see special characters like ø correctly without to have to use html entities.

Hi!
Now i have converted the file from ISO-8859-15 to UTF-8, and it works fine on my localhost.
Converted version with special characters attached.
Mvh
Danielhttp://mittomrade/Person.aspx?accountname=common\RADA
Fra: Frédéric Guillot<EMAIL_ADDRESS>Sendt: 7. oktober 2015 04:39
Til: fguillot/kanboard
Kopi: Raknes Daniel Wik
Emne: Re: [kanboard] Norwegian translation (#1326)
The translation file is badly encoded, it need to be converted in utf-8 to see special characters like ø correctly without to have to use html entities.
—
Reply to this email directly or view it on GitHubhttps://github.com/fguillot/kanboard/issues/1326#issuecomment-146062105.

I converted the file master and now it works.
Thanks to report this issue.


Made livestream hide when perms are changed

Closes #1552

https://github.com/OpenSlides/openslides-client/issues/1439 and https://github.com/OpenSlides/openslides-client/issues/1421 seem similar. Would it be possible to find a generic solution where the operator gets automatically updated when a permission changes and the page updates automatically accordingly?

#1439 and #1421 seem similar. Would it be possible to find a generic solution where the operator gets automatically updated when a permission changes and the page updates automatically accordingly?

You're right, and the permission-observable that is introduced in this PR should probably be used as a solution for those, but it should probably still be done in a different PR


Check --emit flag presence

Miri hopelessly fails with no MIR available for DefId(2:9560 ~ core[7538]::fmt::num::DEC_DIGITS_LUT) when --emit rustc flag is set.

RUSTFLAGS="--emit=llvm-ir" cargo miri run

with the help from discord community it figures out to be system global RUSTFLAGS="--emit=llvm-ir" what cause it, took two days.
Since miri doesn't play with --emit flag at all, its presence could be checked at the start to give reasonable error message in case.

Thanks for the report!
Interesting, I wonder why that flag causes these problems. We do explicitly unset RUSTFLAGS when building the sysroot and yet the error looks like the sysroot build went wrong so something is odd here.
Do regular builds still work? I kind of assumed cargo would get mad at you for messing with which artifacts rustc is producing.

Okay the error even happens when using a previously built sysroot, so it's not the sysroot that is going wrong.
When I try this is test-cargo-miri, I get
error: internal compiler error: compiler/rustc_monomorphize/src/collector.rs:971:9: no MIR available for DefId(1:10229 ~ std[8367]::panicking::HOOK_LOCK)
[...]
query stack during panic:
#0 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack
error: could not compile `byteorder`

@oli-obk any idea why setting --emit during the crate build means MIR from the sysroot cannot be found any more, but only when going through Miri...? Why would it even ask for the MIR of a static?
Or maybe the error is lying and the actual problem is that this is a check-only sysroot, i.e. without LLVM bitcode -- so trying to emit specifically LLVM IR in that sysroot fails? That would make sense, but the error complains about missing MIR, not missing bitcode.

The ICE happens at https://github.com/rust-lang/rust/blob/100f12d17026fccfc5d80527b5976dd66b228b13/compiler/rustc_monomorphize/src/collector.rs#L971 I think normally is_reachable_non_generic would return true and thus should_codegen_locally would return false. Because is_reachable_non_generic doesn't return true, it checks that MIR is available. is_reachable_non_generic returns false because we have a shortcut at https://github.com/rust-lang/rust/blob/45e2c2881d11324d610815bfff097e25c412199e/compiler/rustc_codegen_ssa/src/back/symbol_export.rs#L49 where for crates that don't get codegend reachable_non_generics_provider returns an empty map. This then ends up in the crate metadata.
The fix for this would be to early error when trying to compile with sess.opts.output_types.should_codegen() returning true, while it returned false for any dependency.

The fix for this would be to early error when trying to compile with sess.opts.output_types.should_codegen() returning true, while it returned false for any dependency.

This would have to happen in rustc, not Miri, right?

Yes


Add simulated IMU to pybullet

Overview
Based on the discussion in email, it appears that there is no way to get simulated IMU data natively in pybullet as most sensors simulations are not supported (https://github.com/bulletphysics/bullet3/issues/2759).
Theory
Simulating an IMU is straightforward and was done in SL; we may be able to reuse that C++ code if it still exists, or write our own simulator. The simulated IMU acceleration is computed as:

where R rotates the true acceleration of the IMU plus gravity into the IMU frame (assumed to be the same as base frame or at a known rotation offset), b is the accelerometer bias which has random walk dynamics, and w is accelerometer noise. The true acceleration of the IMU is computed from the base acceleration using the known offset vector r as follows:

where omega and alpha are the angular velocity and acceleration of the base, respectively. All quantities above are in world frame. If base twist is available in bullet, we should be able to compute accelerations (linear/angular) of the base numerically.
The simulated IMU angular velocity is simpler:

Again, the simulated noisy angular velocity has bias and noise terms. The bias terms follow random walk models:

Note that I threw together the above LaTeX equations pretty quickly so I was sloppy with notation and maybe made a mistake, but I wanted to illustrate the general idea of simulating the IMU data.
Considerations
Note that it appears others using pybullet desire an IMU "plugin" (https://www.google.com/search?channel=fs&client=ubuntu&q=pybullet+imu) so if there's a way to write one which is robot agnostic it would be beneficial to the community, however I haven't read enough about pybullet to know if this is possible.

Sorry @MaximilienNaveau I didn't see the option to add this to the estimation project; seems I don't have permissions to modify anything in the right hand column on this page (or maybe I'm missing something).

Sorry @MaximilienNaveau I didn't see the option to add this to the estimation project; seems I don't have permissions to modify anything in the right hand column on this page (or maybe I'm missing something).

Thanks a lot Nick for this!
This simulation must be added to:
https://github.com/machines-in-motion/bullet_utils
This package is our interface to pybullet through a simple wrapping class.
This class could definitely use pybullet to simulate and imu located wherever we need.

Thanks a lot Nick for this!
This simulation must be added to:
https://github.com/machines-in-motion/bullet_utils
This package is our interface to pybullet through a simple wrapping class.
This class could definitely use pybullet to simulate and imu located wherever we need.

@nrotella you should be able to modify the right column. Let me know if you still can't

@nrotella you should be able to modify the right column. Let me know if you still can't

Thanks a lot Nick for this!
This simulation must be added to:
https://github.com/machines-in-motion/bullet_utils
This package is our interface to pybullet through a simple wrapping class.
This class could definitely use pybullet to simulate and imu located wherever we need.

Do you mean in this wrapper module? https://github.com/machines-in-motion/bullet_utils/blob/main/src/bullet_utils/wrapper.py#L126-L133
I see some relevant code already in the wrapper class, so it seems like get_imu_accel and get_imu_angvel methods would fit right in here. This wrapper appears robot-independent, such that these get_imu methods would pass through to the derived classes in robot_properties_solo (like this onehttps://github.com/open-dynamic-robot-initiative/robot_properties_solo/blob/master/src/robot_properties_solo/quadruped12wrapper.py#L22), is that all correct?
The only thing about IMU simulation which would be robot-dependent is the location of the IMU. We can start by assuming it has a fixed pose offset relative to the base, which the derived robot properties class would set from config, does that sound reasonable (without me really knowing how anything works here) ?
If you think it's useful to have a very generic IMU sensor class which allows any number of sensors to be added to any link, then it would take more thought.

Thanks a lot Nick for this!
This simulation must be added to:
https://github.com/machines-in-motion/bullet_utils
This package is our interface to pybullet through a simple wrapping class.
This class could definitely use pybullet to simulate and imu located wherever we need.

Do you mean in this wrapper module? https://github.com/machines-in-motion/bullet_utils/blob/main/src/bullet_utils/wrapper.py#L126-L133
I see some relevant code already in the wrapper class, so it seems like get_imu_accel and get_imu_angvel methods would fit right in here. This wrapper appears robot-independent, such that these get_imu methods would pass through to the derived classes in robot_properties_solo (like this onehttps://github.com/open-dynamic-robot-initiative/robot_properties_solo/blob/master/src/robot_properties_solo/quadruped12wrapper.py#L22), is that all correct?
The only thing about IMU simulation which would be robot-dependent is the location of the IMU. We can start by assuming it has a fixed pose offset relative to the base, which the derived robot properties class would set from config, does that sound reasonable (without me really knowing how anything works here) ?
If you think it's useful to have a very generic IMU sensor class which allows any number of sensors to be added to any link, then it would take more thought.

Do you mean in this wrapper module? https://github.com/machines-in-motion/bullet_utils/blob/main/src/bullet_utils/wrapper.py#L126-L133

Yes.

I see some relevant code already in the wrapper class, so it seems like get_imu_accel and get_imu_angvel methods would fit right in here. This wrapper appears robot-independent, such that these get_imu methods would pass through to the derived classes in robot_properties_solo (like this one https://github.com/open-dynamic-robot-initiative/robot_properties_solo/blob/master/src/robot_properties_solo/quadruped12wrapper.py#L22), is that all correct?

Correct.

The only thing about IMU simulation which would be robot-dependent is the location of the IMU. We can start by assuming it has a fixed pose offset relative to the base, which the derived robot properties class would set from config, does that sound reasonable (without me really knowing how anything works here) ?

That sounds good!
What you could do is adding a new imu_base_offset argument to the constructor, which is by default None. None would indicate the robot does not simulate any IMU.

If you think it's useful to have a very generic IMU sensor class which allows any number of sensors to be added to any link, then it would take more thought.

I would start with a specific implementation for now (that is, maximum one IMU with a fixed offset). If we need more IMUs later, I think we can generalize the code then as needed.

In terms of API, we are currently getting these measurements from the IMU we are using accelerometer, gyroscope, attitude, linear_acceleration. So it would be good if the imu API on the wrapper would provide similar/the same readings.
FYI, the code reading the values for solo12 is here: https://github.com/open-dynamic-robot-initiative/blmc_robots/blob/master/src/solo12.cpp#L181

Do you mean in this wrapper module? https://github.com/machines-in-motion/bullet_utils/blob/main/src/bullet_utils/wrapper.py#L126-L133

Yes.

I see some relevant code already in the wrapper class, so it seems like get_imu_accel and get_imu_angvel methods would fit right in here. This wrapper appears robot-independent, such that these get_imu methods would pass through to the derived classes in robot_properties_solo (like this one https://github.com/open-dynamic-robot-initiative/robot_properties_solo/blob/master/src/robot_properties_solo/quadruped12wrapper.py#L22), is that all correct?

Correct.

The only thing about IMU simulation which would be robot-dependent is the location of the IMU. We can start by assuming it has a fixed pose offset relative to the base, which the derived robot properties class would set from config, does that sound reasonable (without me really knowing how anything works here) ?

That sounds good!
What you could do is adding a new imu_base_offset argument to the constructor, which is by default None. None would indicate the robot does not simulate any IMU.

If you think it's useful to have a very generic IMU sensor class which allows any number of sensors to be added to any link, then it would take more thought.

I would start with a specific implementation for now (that is, maximum one IMU with a fixed offset). If we need more IMUs later, I think we can generalize the code then as needed.

In terms of API, we are currently getting these measurements from the IMU we are using accelerometer, gyroscope, attitude, linear_acceleration. So it would be good if the imu API on the wrapper would provide similar/the same readings.
FYI, the code reading the values for solo12 is here: https://github.com/open-dynamic-robot-initiative/blmc_robots/blob/master/src/solo12.cpp#L181

BTW, if you guys think that simulating IMU in Pybullet is time-consuming and is not worth it, we have some data from experiments on Solo12 or Bolt that can be used for testing the estimator.

BTW, if you guys think that simulating IMU in Pybullet is time-consuming and is not worth it, we have some data from experiments on Solo12 or Bolt that can be used for testing the estimator.

I think we should create a simple class that would take the parent joint, the location of the imu in the parent joint and then compute the imu data as Julian describe it.
Then in the wrapper you can imu_id = wrapper.add_imu(joint_id, SE3_imu_location_in_parent_frame)
and then data = wrapper.get_imu_data(imu_id)
then data would contain:

accelerometer
gyroscope
unbias acceleration
attitude
...
WDYT?

I think we should create a simple class that would take the parent joint, the location of the imu in the parent joint and then compute the imu data as Julian describe it.
Then in the wrapper you can imu_id = wrapper.add_imu(joint_id, SE3_imu_location_in_parent_frame)
and then data = wrapper.get_imu_data(imu_id)
then data would contain:

accelerometer
gyroscope
unbias acceleration
attitude
...
WDYT?

BTW, if you guys think that simulating IMU in Pybullet is time-consuming and is not worth it, we have some data from experiments on Solo12 or Bolt that can be used for testing the estimator.

I think it's definitely worth spending the time to simulate any sensors on Solo, having an accurate simulator is always a worthy goal in my opinion :) but real data will also be very useful and should be used after validating in simulation.

BTW, if you guys think that simulating IMU in Pybullet is time-consuming and is not worth it, we have some data from experiments on Solo12 or Bolt that can be used for testing the estimator.

I think it's definitely worth spending the time to simulate any sensors on Solo, having an accurate simulator is always a worthy goal in my opinion :) but real data will also be very useful and should be used after validating in simulation.

I think we should create a simple class that would take the parent joint, the location of the imu in the parent joint and then compute the imu data as Julian describe it.
Then in the wrapper you can imu_id = wrapper.add_imu(joint_id, SE3_imu_location_in_parent_frame)
and then data = wrapper.get_imu_data(imu_id)
then data would contain:

accelerometer
gyroscope
unbias acceleration
attitude
...
WDYT?

I think this is a good approach, and could try writing it myself starting today if that's okay - seems like something simple enough to get me familiar with bullet and Pinocchio's kinematics.
Regarding the quantities measured by the IMU, I should take a look at the datasheet for your IMU to understand them better, but I think we only really need to simulate the first two quantities. I assume that "unbiased acceleration" let's you calibrate away the accelerometer offsets when stationary? This should be handled by the filter automatically.
The IMU attitude is a tricky one to simulate as the IMU is running its own orientation estimator onboard by integrating the gyro and using the accelerometer (and magnetometer if present) to correct drift. Of course we can just pass through the actual orientation of the IMU from the simulator, but I'm not sure that's useful. Since the base state estimation will provide attitude (orientation) itself, is there any reason you might need the IMU onboard attitude?

I think we should create a simple class that would take the parent joint, the location of the imu in the parent joint and then compute the imu data as Julian describe it.
Then in the wrapper you can imu_id = wrapper.add_imu(joint_id, SE3_imu_location_in_parent_frame)
and then data = wrapper.get_imu_data(imu_id)
then data would contain:

accelerometer
gyroscope
unbias acceleration
attitude
...
WDYT?

I think this is a good approach, and could try writing it myself starting today if that's okay - seems like something simple enough to get me familiar with bullet and Pinocchio's kinematics.
Regarding the quantities measured by the IMU, I should take a look at the datasheet for your IMU to understand them better, but I think we only really need to simulate the first two quantities. I assume that "unbiased acceleration" let's you calibrate away the accelerometer offsets when stationary? This should be handled by the filter automatically.
The IMU attitude is a tricky one to simulate as the IMU is running its own orientation estimator onboard by integrating the gyro and using the accelerometer (and magnetometer if present) to correct drift. Of course we can just pass through the actual orientation of the IMU from the simulator, but I'm not sure that's useful. Since the base state estimation will provide attitude (orientation) itself, is there any reason you might need the IMU onboard attitude?

The Attitude on-board is computed at a much higher rate and is really well tuned. I think it's a very good source of information regarding roll and pitch (yaw is to handle as it starts at zero whenever the imu is turned on (logical as it is not observable).
I would input these in the filter, if we can, to increase the precision and stability (if applicable).

The Attitude on-board is computed at a much higher rate and is really well tuned. I think it's a very good source of information regarding roll and pitch (yaw is to handle as it starts at zero whenever the imu is turned on (logical as it is not observable).
I would input these in the filter, if we can, to increase the precision and stability (if applicable).

Regarding the quantities measured by the IMU, I should take a look at the datasheet for your IMU to understand them better,

Here is the IMU we are using. https://github.com/open-dynamic-robot-initiative/open_robot_actuator_hardware/blob/master/mechanics/quadruped_robot_12dof_v1/README.md#inertia-measurement-unit

Regarding the quantities measured by the IMU, I should take a look at the datasheet for your IMU to understand them better,

Here is the IMU we are using. https://github.com/open-dynamic-robot-initiative/open_robot_actuator_hardware/blob/master/mechanics/quadruped_robot_12dof_v1/README.md#inertia-measurement-unit

The Attitude on-board is computed at a much higher rate and is really well tuned. I think it's a very good source of information regarding roll and pitch (yaw is to handle as it starts at zero whenever the imu is turned on (logical as it is not observable).
I would input these in the filter, if we can, to increase the precision and stability (if applicable).

It makes sense to consider using the attitude since it's integrated onboard at a high rate, but typically these approaches do their own attitude integration because the IMU attitude doesn't provide any additional information. The onboard algorithm usually takes advantage of the fact that roll/pitch can be observed from the accelerometer measured gravity vector when the IMU is stationary, but for a dynamic robot this may not work well. Certainly it's worth comparing the onboard attitude with base estimation and Vicon to see if it makes sense to incorporate it.
Have you done any comparisons of the IMU attitude and Vicon for a dynamic task?

The Attitude on-board is computed at a much higher rate and is really well tuned. I think it's a very good source of information regarding roll and pitch (yaw is to handle as it starts at zero whenever the imu is turned on (logical as it is not observable).
I would input these in the filter, if we can, to increase the precision and stability (if applicable).

It makes sense to consider using the attitude since it's integrated onboard at a high rate, but typically these approaches do their own attitude integration because the IMU attitude doesn't provide any additional information. The onboard algorithm usually takes advantage of the fact that roll/pitch can be observed from the accelerometer measured gravity vector when the IMU is stationary, but for a dynamic robot this may not work well. Certainly it's worth comparing the onboard attitude with base estimation and Vicon to see if it makes sense to incorporate it.
Have you done any comparisons of the IMU attitude and Vicon for a dynamic task?

We did not do the test but it would be worth it. Though I am not sure we have a lot of rolling and pitching in our "dynamic motions".
@majidkhadiv @jviereck do you guys have logs on this?

We did not do the test but it would be worth it. Though I am not sure we have a lot of rolling and pitching in our "dynamic motions".
@majidkhadiv @jviereck do you guys have logs on this?

I recorded static walks and jumps. The base was not rotating in either case.

I recorded static walks and jumps. The base was not rotating in either case.

It could still be intersting as the acceleration is not zero... Where are those logs?

It could still be intersting as the acceleration is not zero... Where are those logs?

The data (movies + data) for the jumps and static walks is in rsec: https://rsec-motion-group.is.localnet/experiments/16/

The data (movies + data) for the jumps and static walks is in rsec: https://rsec-motion-group.is.localnet/experiments/16/

It could still be intersting as the acceleration is not zero... Where are those logs?

Yes exactly - the roll/pitch correction on the onboard attitude estimation should come from periods of low linear acceleration, which for a walking robot I think is not so valid. But thank you @jviereck for linking the IMU datasheet, I will to take a look there. I can tell you that I haven't ever seen anyone use the IMU's onboard attitude in base estimation, but it's not a bad idea to benchmark it in case it's useful generally.

It could still be intersting as the acceleration is not zero... Where are those logs?

Yes exactly - the roll/pitch correction on the onboard attitude estimation should come from periods of low linear acceleration, which for a walking robot I think is not so valid. But thank you @jviereck for linking the IMU datasheet, I will to take a look there. I can tell you that I haven't ever seen anyone use the IMU's onboard attitude in base estimation, but it's not a bad idea to benchmark it in case it's useful generally.

I wrote a simple simulated base IMU with noise terms in the bullet wrapper module over the weekend, just haven't had the chance to push and open a PR, sorry. I'll try to do that tomorrow.

I wrote a simple simulated base IMU with noise terms in the bullet wrapper module over the weekend, just haven't had the chance to push and open a PR, sorry. I'll try to do that tomorrow.

Thanks a lot for that. Gonna check that today.

Thanks a lot for that. Gonna check that today.

@nrotella shall we close this issue since we merged the PR?


Use tox to test against all supported environments

Supported environments depends on the Python version installed on the developers' machine. Tox will automatically detect the available python versions and run the tests against them.
Using tox makes it easier to configure continuous integration (such as travis-ci which is free for open-source projects and has a documentation for python projects).

This did not receive interest, I think it can be closed.
I am happy to update the PR if there’s interest.

This did not receive interest, I think it can be closed.
I am happy to update the PR if there’s interest.

Instead of Travis CI you could then target GitHub Actions. See bittner/pyclean for an implementation example.

Instead of Travis CI you could then target GitHub Actions. See bittner/pyclean for an implementation example.


feat(pretter): start formatting ModuleDeclaration and ArrowExpression

Current dependencies on/for this PR:

main

PR #1354   👈

This stack of pull requests is managed by Graphite.

Merge activity

Nov 16, 8:38 AM: @Boshen merged this pull request with Graphite.


CI: make sure the lockfile is up-to-date

@jethrogb This seems like a useful thing to do on CI?

This is odd, CI should have failed because the lockfile actually isn't up-to-date...

Are you sure --locked works properly when the only changes are not related to dependencies? There's also --frozen but I never know the difference.

A cargo build --locked locally failed when I prepared this PR.
But maybe cross breaks --locked?

Turns out that yes, this is a cross issue and they are working on it.
Meanwhile, no reason not to land this here so that we get the fix once cross is fixed  -- @jethrogb what do you think?

There's also --frozen but I never know the difference.

--frozen implies --locked, but also refuses to download new crates into cargo's cache (it's basically "offline mode").

The cross issue is fixed; I will land this here.
bors r+


VAULT SHARE ISSUE - hex code ends

https://github.com/vultisig/airdrop-registry/issues/2#issue-2392579456

The public key is correct , and valid
1.EdDSA (Edwards Curve Digital Signature Algorithm): For EdDSA, particularly when using Curve25519 or Ed25519, the public key is represented by a single coordinate (the (x) coordinate for Curve25519, and the (y) coordinate for Ed25519), because the other coordinate can be deterministically computed from it. The public key is typically 32 bytes long when serialized because it only needs to store one 256-bit coordinate.
2.ECDSA (Elliptic Curve Digital Signature Algorithm): In ECDSA, when public keys are compressed, they include one coordinate (either (x) or (y)) and an additional byte to indicate which of the two possible (y) coordinates is the correct one (since for every (x) value there are two possible (y) values). This is why compressed ECDSA public keys are 33 bytes long: 32 bytes for the coordinate and 1 byte for the indication of the (y) coordinate.


Voice Chat User Context Menu Volume contrast is bad

When in a voice channel the volume slider on a user has awful contrast.
A screenshot of an example below.
https://prnt.sc/ya7b93

Thanks!
Should be fixed in #1


Update to the steps to deploy parsers

For the most common use cases, there is normally no need to clean-up existing parsers as they will be automatically overwritten by the new ones in the ARM template.
I kept a reference to the "function delete PowerShell tool" since the default ARM template incremental deployment mode will not delete any parsers (but will update them) and customers need to use the “complete” mode which has it’s own challenges: very risky, cannot be used with linked templates and has to be done at the root of the template deployment.

@oshezaf
Can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@oshezaf
Can you review this old PR and determine whether it needs to be closed or merged?
@MicrosoftDocs/public-repo-pr-review-team

@didier-danloy : at the time we had a lot of issues when deploying over existing functions. The challenge was AFAIR, if the name was different but the function alias the same. This is why we esablished this best practice. Might be better to udpate the PowerShell, rather than remove the guideline.

@didier-danloy - Can you respond to the comment or close this PR if the changes are no longer needed?
@oshezaf - If this PR should be closed, enter a comment that says #please-close.

#please-close


Add DevOps Roadmap to Career

Devops Roadmap 2024:
This is a step-by-step guide on how to become a DevOps engineer, with links to relevant learning resources.
Why add it?
Its Up to Date
Contains lists of high quality and free resources
Much helpful to people who wants to start career in DevOps

LGTM 🚀