Fillet UI

Related to #2606

I was eager to see the fillet button working for the simplest case of one sketch and one extrude in the code editor.
And it is working!
You can select the edge, set the radius and that's it.
Selection of extrude node to fillet is just hard-coded for now.
The next step would be to take care of the UI menu in CommandBarSelectionInput.tsx and add the extra step to select the extrude object.
Until now it was crafted for the extrude function, so the text and number of steps are just hard-coded.
I'll have to modify it into a more flexible system that can take any input.

Modified files:
src/Toolbar.tsx - Fillet button and hotkey F
src/machines/modelingMachine.ts - Fillet condition and action
src/lib/selections.ts - canFilletSelection placeholder
src/lib/commandBarConfigs/modelingCommandConfig.ts - Fillet selection types
src/components/ModelingMachineProvider.tsx - ‘fillet selection’ guard
src/components/CommandBarSelectionInput.tsx - Currently works only for the extrude case
src/components/CustomIcon.tsx - Fillet icon placeholder @franknoirot could you please make a nice icon ? ^^
src/lang/modifyAst/addFillet.ts
src/lang/modifyAst/addFillet.test.ts
Next steps
Currently works only with a simplest case of one sketch and one extrude in the kcl

Dope, you're doing really well.
Let us know if you get stuck with the cmdbar stuff, feel free to reach out to Frank too, he's done most of the cmdbar implementation.

Big Update
I've finally touched all the files in the chain and uploaded the working fillet button. Here are the updates:
Button
Icon
src/components/CustomIcon.tsx

Added a fillet icon

@franknoirot, is there an existing naming convention for icons, states, and functions? We might end up with many functions having the same name but different logic for 2D and 3D applications.
States
ModelingMachineProvider.tsx
The button is active if:

Nothing is selected and there are bodies to fillet in the scene.
A sketch segment is selected, and there is a related body.

The button is inactive if:

Nothing is selected, and there are no bodies to fillet.
A sketch segment is selected, but there is no related body.
A non-sketch segment is selected.

The checker currently works only with extrudes. Ideally, we should add a body map similar to sketchLineHelperMap. Functions need refactoring to support chamfers and other features.
Command Bar
Selection Text
src/components/CommandBar/CommandBarSelectionInput.tsx

Thanks to @franknoirot, the text now adapts to selection (point/edge/face).

Selection Types
src/lib/commandBarConfigs/modelingCommandConfig.ts

The selectionTypes currently only accept extrude-wall. @Irev-Dev

Selecting the body
src/lang/modifyAst/addFillet.ts
src/machines/modelingMachine.ts
Currently, I assume one extrusion per sketch in the scene, using the sketch name as a tag. This works for now, but future lofts, sweeps, and multiple extrudes from one sketch will require precise body selection. We'll need a "body selection tab" in the command bar UI. @Irev-Dev I need some tips for having different selectionRanges for edges and bodies.
Tests
src/lang/modifyAst/addFillet.test.ts
Current tests cover single selection cases:

Single fillet after extrusion
Existing tag in another segment
Tag exists in the selected line
Fillet exists on another segment (same sketch)
Fillet exists on the selected segment (updates radius)
Fillet exists on the selected segment and others (updates radius)

Further tests to consider:

[ ] Selecting multiple edges
[ ] Selecting a single edge when it exists in a fillet call with multiple tags (the selected fillet should become a separate call)

Further Steps

[ ] Select multiple edges
[ ] Fix Selection Types
[ ] Add separate fillet pipe
[ ] Add body selection tab
[ ] Add a bodyHelperMap
[ ] Refactor button states

Example of a separate pipe:
const extrude001 = extrude(5, sketch001)
const myBody = fillet({
  radius: 1,
  tags: [seg01 ]
}, extrude001)

Standby
waiting for the opposite and adjacent edges in the selectionRanges:
getNextAdjacentEdge("tag", myExtrude)
getOppositeEdge("tag2", myExtrude)

Sorry I might punt the Selecting the body stuff to @franknoirot as well, he know better than me.
I think the priority should be to get this merged, I know it's not ready yet, but we're just going to be constantly fixing conflicts unless we do. We should take a note out of Jess's note book and do what's she's done for copilot and only have it enable for DEV, that we we can merge it before it's 100% done, and do the rest in follow up PRs.
You should be able to use DEV from src/env.ts
The tests are great, since they're all unit test, we'll definitely want a couple of e2e/playwright tests before the feature is finished (doesn't need to be done right now though)

We should take a note out of Jess's note book and do what's she's done for copilot and only have it enable for DEV

@Irev-Dev Could you please leave a couple links related to it?

So the idea with only having it enable in dev mode, is all the code can be present and merged so long as it's not exposed to the user, in this case I think that mostly means the button and the hotkey so like
import { DEV } from 'env'

// ...

{state.matches('idle') && DEV && (
    <li className="contents">

I went ahead and merged this for Jess and Josh, I'll still do a normal review and leave more comments on what I did etc.


decodebbox support xywh and xyxy

Why are we still using the legacy cxx operator while we already have native symbolic implementation.

Align with https://github.com/RogerChern/mxnext/pull/15. Feel free to close this pr.


Add HTTP basic auth for Exhibitor

High Level Description
This adds an optional config param exhibitor_admin_password. If provided, requests to Exhibitor must be authenticated with the userid admin and the password.
Related Issues

DCOS_OSS-1064 Add config param for Exhibitor basic HTTP auth

Checklist for all PR's

[x] Included a test which will fail if code is reverted but test is not. If there is no test please explain here: CLI installer test for this PR was run with exhibitor_admin_password: "deleteme": https://teamcity.mesosphere.io/viewLog.html?buildId=650776&buildTypeId=ClosedSource_Dcos_IntegrationTests_CloudIntegrationTests_DcosOssCcmIntegration_2. After this is merged, I'll update the job to use that config param with every test run.
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

@amitaekbote @mellenburg This PR is ready for review. Here's an integration test run that uses the new config param: https://teamcity.mesosphere.io/viewLog.html?buildId=646626&buildTypeId=ClosedSource_Dcos_IntegrationTests_CloudIntegrationTests_DcosOssCcmIntegration_2&tab=buildResultsDiv
I intend to configure that job to use exhibitor HTTP basic auth by default after this is merged.

@mesosphere-mergebot label ready for review

I don't have any other comments. LGTM.

Note: this SHOULD work perfectly downstream, but the downstream change needs to be rebased on master to verify that. https://github.com/mesosphere/dcos-enterprise/pull/880#pullrequestreview-38216293

@mesosphere-mergebot label shipit

I updated the CLI installer test job to always install DC/OS with exhibitor_admin_password: deleteme.


Normalize composer

[QA]

Normalize composer.json and/or update composer.lock

Restructure composer.json according to the underlying JSON schema.
Prevent inconsistencies between all (200+) repositories across all 3 GitHub organizations (laminas, mezzio, and laminas-api-tools).

Looks like composer.lock was updated without considering the fact that we need to operate under the constraints of our CI setup: need to close this therefore.
Please consider re-opening if you want to run a composer update nothing instead.

okay, re-open it. I'll correct the PR.

Excellent, thanks!


X-fade landuse verus landcover at high zooms

Fade out the "park" color, fade in the forest/grassland/shrub/etc colors.

Related #32.


Create a logo

It'd be great to have a simple logo.
The target audience is drummers (any age, any gender) with an electric kit who want to play drums (any style)
The logo should be a vector possibly based on this colour palette:

https://coolors.co/182825-016fb9-22aed1-6d8ea0-afa98d
Ideally, a web version (png with width of 400px) and a high quality SVG should be created

India won the competition with this logo:


whisper-update read from stdin

Is your feature request related to a problem? Please describe.
When loading values via whisper-update, we're limited by the maximum length of argv. As such, xargs or similar utilities are needed to chop up the data.
Describe the solution you'd like
What would be helpful instead is if whisper-update could read one value per line from stdin.
Happy to offer a PR for this, if desirable.

Hi @rowlap ,
Yes, looks like valid use case, please do PR. Much appreciated!

PR #318 submitted.

Merged to master, will be released in next release.


Changed hardcode white to variable for CalendarMonthGrid.background

Coverage remained the same at 86.839% when pulling 08f02bef03422d1ffaae0beed2d585d2034fad15 on MihaMarkic:fix-calendarmonthgrid-background into d58f6a90b2c88209db07e4b75a2831cd339fd1bb on airbnb:master.

Look legit to me!


[Bug]: Crash after starting the game

All of the following criteria must be met

[ ] Full Latest.log file included. If no file exists then leave this unchecked and state so.

All of the following are optional to answer

[X] Tried reinstalling the game.
[X] Tried reinstalling LemonLoader.
[ ] Tried restarting device.

Describe the issue.
After I tried to patch the game Among Us on Android, when I opened the game it would start with an infinite black screen, with an icon in the upper left corner showing that it was loading, and then crash directly after the black screen ended
Did you attach your log file?

[ ] Yes, I attached my log file to the text box above.
[X] No, I could not find a log file at /storage/emulated/0/Android/data/<package name>/files/melonloader/etc/Latest.log

Stripping issue, #8


How to generate .ocr.json files programatically?

Is your feature request related to a problem? Please describe.
I didn't find the code to generate .ocr.json files. This sample only produces the result part, but there seems to be additional fields.
{
	"status": "succeeded",
	"createdDateTime": "2023-03-24T16:53:24Z",
	"lastUpdatedDateTime": "2023-03-24T16:53:29Z",
	"analyzeResult": {
		"apiVersion": "2023-02-28-preview",
		"modelId": "prebuilt-layout",
		"stringIndexType": "utf16CodeUnit",
		"content":

sample_form
Describe the solution you'd like
A GetRawResponse method to get the entire json.
Additional context
These files are needed to train a classifier.

@ai-learner-00 Thanks for your contact! You can get raw response by passing callback(), here's the test you can follow: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_dac_analyze_prebuilts.py#L203-L223


Failed to update from to 3.3.11 to 4.1.0

I am trying to update from to 3.3.11 to 4.1.0 and builds fails with following message.
info Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag.
Jetifier found 959 file(s) to forward-jetify. Using 8 workers...
info JS server already running.
info Installing the app...

> Configure project :react-native-webview
:react-native-webview:reactNativeAndroidRoot /Users/krz/workspace/Android-app/node_modules/react-native/android

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.4.1/userguide/command_line_interface.html#sec:command_line_warnings

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:preDebugBuild'.
> Could not resolve all task dependencies for configuration ':app:debugRuntimeClasspath'.
   > Could not resolve project :react-native-sqlite-storage.
     Required by:
         project :app
      > Unable to find a matching configuration of project :react-native-sqlite-storage:
          - None of the consumable configurations have attributes.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s

error Failed to install the app. Make sure you have the Android development environment set up: https://facebook.github.io/react-native/docs/getting-started.html#android-development-environment. Run CLI with --verbose flag for more details.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:preDebugBuild'.
> Could not resolve all task dependencies for configuration ':app:debugRuntimeClasspath'.
   > Could not resolve project :react-native-sqlite-storage.
     Required by:
         project :app
      > Unable to find a matching configuration of project :react-native-sqlite-storage:
          - None of the consumable configurations have attributes.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s

    at checkExecSyncError (child_process.js:616:11)
    at execFileSync (child_process.js:634:13)
    at runOnAllDevices (/Users/krz/workspace/Android-app/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/runOnAllDevices.js:75:39)
    at buildAndRun (/Users/krz/workspace/Android-app/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/index.js:169:41)
    at then.result (/Users/krz/workspace/Android-app/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/index.js:135:12)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Your Environment

React Native version used: react-native": "0.60.4"
Operating System: macOS

Removing
include ':react-native-sqlite-storage'
project(':react-native-sqlite-storage').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-sqlite-storage/src/android')

from android/settings.gradle fixed the issue for me.


End portal creation sound is very loud

Hiya, just want to preface by saying THANK YOU for making this mod, it's exactly what I've been looking for!
Been playing around with it in Creative and found that the global sound made when completing the portal frame is ear-piercingly loud, disproportionately so when compared to most other sounds in the game. I'd like to request either a config to disable the sound, or reduce the default volume of the sound.

I wondered if I'd get a request to disable.  I don't play with headphones and my laptop's speakers are pretty weak.  I'll see if I can figure out how to scale it to be similar to the completion sound volume.

  I guess you probably disable the portal activation sound somehow?
Anyway, given that fact I'll probably eventually tackle this by adding configuration rather than by nerfing the volume.  It is intended to be an important notification for other players, much like the other global sounds.


Fix missing disposals pipes on Core

About the PR

I added some missing disposals trunks and pipes. Specifically:

Added a missing disposals trunk to the bin in the hall next to Cargo
Added a missing disposals trunk to the bin in the hall next to Medical
Added a missing disposals line to Virology, which had a disposals bin that was not connected to the network

Why / Balance

Technical details

Media

[ ] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

why did you never make an issue, i was going to fix anything that people post

damn. i control clicked or something and it submitted before i was finished typing! This is my first time, sorry.

Didn't make an issue cause i wanted to figure out the tools and saw an obvious issue. Sorry! If you'd rather fix this yourself or something I can just drop this.

For the future, i recommend fixing/changing maps that are maintained by emisse like meta, marathon, box, etc. If you really want to give a map some love, try fix cluster maybe?

okay! i suppose its worth closing this then. i mostly did it for the skill building anyways


Create Lottie animations for the onboarding flow

We have some illustrations we show during onboarding that could be animated.

Note that we can also update these illustrations, they are not set in stone. Certain styles lend themselves better to animation than others, so this may be warranted.
I think the process would be:

We find references to cool animations that we like and would work well here
We pick one of our illustrations and do a proof-of-concept animation
We pick our animation direction and do the rest

I have done all my Lottie animations in AfterEffects, since it has an easy plugin for export. Maybe something has changed, but that would be my go-to tool.

I found some reference animations and I gathered them together on this Figma file.
You can view the animations by playing the frame in prototype mode.
If anyone has more references, please add them and then we can discuss and make a selection.
https://www.figma.com/file/ORktkqxw51n42sZ1O1x0BS/BTC-Core?type=design&node-id=5%3A6161&mode=design&t=Cc6b9pAAUe0Cc0QV-1

Here's an idea for the network animation. You think this works overall?
https://github.com/BitcoinDesign/Bitcoin-Core-App/assets/695901/f65d912a-92eb-4504-936c-270dc128cc57

Yes, I think this idea works. Thanks for mocking this up, because in my mind, I was seeing the nodes rotate and it was getting very complicated. The idea of "strengthening" really comes through, I think.

Run away file (from Bitcoin package) ...
Dot.png.zip

Hm, I cannot access the Lottiefiles link. Is it set up for public sharing?
AfterEffects -> Lottie export is super tricky. You can only use some very basic AE features and need to keep compositions flat (little to no nesting). It requires doing a lot of things manually and thorough testing if things render well in Lottie. Unfortunate, but it's just part of using a super-powered animation tool to generate basic SVG animations.

Here is a cleaned up project file, in case anyone else would like to make changes.
Bitcoin Core AE 2.zip

I have been experimenting with loading lottie files into the application and I am ready to try to add these to our onboarding flow, Can you republish the lottie files or share them with me on lottiefiles.com. I created an account and this is my profile https://lottiefiles.com/hbd26js5pgddz1i7

@johnny9 Here is the 3rd animation, still working on the 4th.
Node Network 4.json.zip
https://app.lottiefiles.com/share/f8db0eca-3e1d-46d1-9805-bd19a7f90e1f

No luck with these.
qt.lottieqt.bodymovin.parser: assets not supported
qt.lottieqt.bodymovin.parser: Unsupported layer type: 2
qt.lottieqt.bodymovin.parser: Unsupported layer type: 1

I dont completely understand the lottie format but the latest Qt documentation (https://doc.qt.io/qt-6/qtlottieanimation-index.html) has some information about its limitations. This could end up being challenging. I think I'll try to create a simple test app for you to try loading your generated assets.

Hey there. It looks like I may have rendered them wrong to begin with (using a standard Lottie plugin instead of the QT Body Moving Plug-In). This morning I downloaded the new plugin and tried to re-render the first 3 animations. So, here are three new versions.
BTC CORE_QT Lottie.zip
Try these out. If they don't work, then I would be willing to experioment and test with a simple test app.
Hoping this new plugin does the trick.

Hi All,
Hmmm.... not sure what is going on at this point.
When I reviewed the Lottie .json files I uploaded (with the correct plugin) they seemed to have changed. It's as if some reference images in them were swapped with other images. I wasn't aware that the .json file pointed to other image files. This is getting confusing. Apologizes.
Christoph -- when you say visually quite different, I want to make sure I understand:
Here are stills from After Effects:

2)

3)

If they look different than this on your end, there is another, bigger problem.

So in answer to your question Christoph, I can change things if needed, but I want to make sure we are actually looking at the same things, first.
Here is an update AE project file.
Bitcoin Core AE 2.zip

Sorry, I mean the design in Figma, and the animation. Below is an example. Left is the Figma illustration, right is the animation. There's a huge difference and it would be great if they could be the same.

@GBKS
Ok, got it. You seem to be really fixated on those little numbers :)
Well, the animation will need to be changed. You have any storyboards for that? Or is this part of a long process?
I can give this one another try.
This is how I see it going forward:

RedDot -- this is very basic and already matching.
To do -- test final .json

Download Node -- you would like to add the little numbers and create an entirely new motion animation
To do -- keep working on the animation until everyone is happy then export .json

Strengthening the Network -- I'm guessing you would like more node connectors lines to match the Figma file
To do -- keep working on the animation until everyone is happy then export .json

Blockclock -- this one I've been working on, but even trying to do something that does not match the Figma file is proving challenging. I will not be able to match the animation. This one needs help. You have something specific in mind -- go for it, especially if you'd like it it match.

Haha, yes, I love my little details and pixel perfection. I gave it a try creating one that is an exact match. Below I included the render as a video, Lottie JSON, and I also published it to Lottiefiles here (you have to change the background color to black).
Was trying to go for a staggered effect, where the bottom block slides down first and then pulls down the other blocks (an alternative would be a block coming in from above, creating pressure and pushing the other ones down in a staggered fashion). It's 6 seconds and loops, since the new blocks coming in from above are identical to the ones that slide out. How does that look?
https://github.com/BitcoinDesign/Bitcoin-Core-App/assets/695901/ca26c024-6fa6-401f-9be8-9966e0157746
blocks.json
@johnny9 could you maybe do a quick test with this JSON file just to see if it works on your side?
I am also realizing that we may need two versions of each animation for light and dark modes. The white boxes will now show up on a light background (we also have light and dark static illustrations).
The block clock one is really tough. Let me take a look and think about this one for a bit.

First stab at a block clock animation. Except for the dark circle, all the elements slide/fade in in a staggered fashion. Then blocks start ticking by, with both the numbers and circle segments appearing. It's definitely not final. Too hectic, and there's no loop, but I wanted to see first what you think of this direction before spending more time (seems to render fine in web Lottie from a quick test).
https://github.com/BitcoinDesign/Bitcoin-Core-App/assets/695901/6dc8e418-af7d-4179-9a1f-8c6e2898dc87

@GBKS
The block sync looks good. Very simple—more simple than I was thinking. I never would have tried that :)
The block clock — boy, I’m not sure. This is kind of the problem I was running into. Tracking the tick marks AND the numbers is almost too much, simultaneously. At one point I tried it with a percent and it was still a little much (but closer).
Maybe it would be better to think of this animation SEPARATELY from the download clock that will be featured in the app, and really simplify the concept? Maybe it’s focus should be more about 10 minute intervals to match the copy? Maybe a bigger, bolder colored ring? Just some thoughts.

I created updated animations based on all the variations above.
Block clock
This one now starts with just the peer dots, starting to connect to peers. Then it transitions to the full block clock. Not 100% happy with the initial bounce in of the dots, need to tweak that still.
https://github.com/BitcoinDesign/Bitcoin-Core-App/assets/695901/67bb080e-df49-45c6-9dfa-de5915757328
Blocks
Pretty much the same as the previous version I shared. Slight difference is that the new block pushes the existing blocks down, rather than the existing blocks making space preemptively. Feels nicer that way.
https://github.com/BitcoinDesign/Bitcoin-Core-App/assets/695901/08fbefc7-528e-474d-8412-91c0e3743cb9
Notifications
Kept this one very subtle because. It's a slow pulse, just like the actual notification will be a slow pulse of blocks coming in via the node. And a calm appearance makes it more clear that we won't spam notifications.
https://github.com/BitcoinDesign/Bitcoin-Core-App/assets/695901/a037020c-3a13-40c2-9a61-f0139a7d75f3
Nodes
I slowed this one down to where the dots appear (almost) one by one and start making connections with each other. Similar metaphor to the dots connecting at the start of the block clock animation. This one feels the least finished yet.
https://github.com/BitcoinDesign/Bitcoin-Core-App/assets/695901/082ad866-aa7f-4c57-929a-470778289fd8
Anyhow, hope it's a good update. Would love to hear what you think and then wrap things up and get them in app.

These all look great and almost ready to roll.
The favorites are the nodes and the blocks. Agree that the peer dots in the block clock animation could be a bit smoother.
So far everything really looks smooth. Thanks for wrapping this up.

I just updated the web prototype with the animations (for dark-mode only, using lottie-web). The animations are on the "Strengthen bitcoin", "Block clock intro", "Initial download", and "Notification permissions" pages.
The "Strengthen bitcoin" and "Block clock intro" animations only play once and do not loop automatically. But you can click them to restart. The other two animations auto-loop.
Check it out
Realized I need two different versions of each animation, for light and dark modes. Just means switching out some colors. Added to my list.

The web prototype now also has animations with light modes where some of the colors are switched around.

Johnny created a test application to run the animations in Qt/QML here. Unfortunately, they are really broken. The application will update to a newer version of Qt soon. And since Lottie support varies by version, we'll just put a hold on this for now. Once the version is decided, we can then do some tests to see which specific AfterEffects features are breaking things, and then work around them. It's unfortunately not an exact science (and the animations already consider the restrictions described in the Qt Lottie docs, so there must be something else).

Oh boy. Thanks for the update. Understood.

The animations look great. Especially the block clock is awesome.


GLES3 fix normal map flipping with nvidia workaround

When not using TEXTURE_RECT path, flips have to sent via another method to the shader, to ensure that normal maps are correctly adjusted for direction. This PR adds an extra vertex attribute, LIGHT_ANGLE.
For nvidia workarounds, where the shader still has access to the final transform and extra matrix, the LIGHT_ANGLE can be 0 (no adjustment), 180 degrees for a horizontal flip, and negative indicates a vertical flip.
For batching path, the LIGHT_ANGLE can be used to directly specify the light angle for normal mapping, even when the final transform and extra matrix have been baked into vertex positions, so the same shader can be used for both.
Fixes #40905
Partly fixes #41324
Notes

This will also need to be fixed in GLES2 nvidia workaround and GLES2 batching, and can use the same method. (And also be applied in GLES3 batching)

Overall, looks pretty good to me.
Is it worth fixing GLES2 At the same time?

Yes I'm just looking at GLES2 now. :+1:
I'm planning to have them separate PRs, for the nvidia workaround (with the shader change) and the batching (which will have the transforms baked in the rotate too).
The technique should be mostly similar though. The light angle approach was the best / most compact way I could come up with for storing all the information required.

Actually scratch that above idea about removing extra combinations.
On further investigation, the matrix is for combinations of color , uv, and light_angle, and for vertex arrays not shaders. Although a combination of no-uv and light_angle doesn't seem to make sense, I don't know enough to specifically say it can't happen due to either programmer or user error. So unless reviewers are confident enough for removing this, I'm inclined to leave as is. This will probably use negligible memory either way.
On the shader front, I'm now assuming they won't get created unless that particular combination of conditionals is bound, in which case I don't think there is a problem with unneeded shader combinations.
So yeah this PR should be good to go as is. :+1:

Thanks!

Sorry I should have really closed this in advance, it is now part of unified batching and will be replaced when that PR is merged.
Still it should be okay to have this merged in the meantime as it will get some extra testing. :+1: :grin:


Error on "contains" operator with number

The default filter provided in the UI is Proxy ~ socks4 which generates a error, the correct would be Proxy ~ "socks4" for this case.

Want to give it a stab? Deep in the query execution engine for the sake of not using sqlite

Sure, no problem


fix for people pasting in emails with leading whitespace

The bug is when you paste in an email with leading whitespace like '<EMAIL_ADDRESS>it breaks the ui somewhat. The ng-model for the hint strips out the spaces while the input value retains them. So I am simply setting the input value to the ng-model value which strips the spaces

@kulor

Note to self don't forget to tag and release and update our repos bower version for this

@merrickfox good to go functionally just as mentioned, it'd be great to see some comments (most relevant to the new line you entered, explaining it keeps the viewModel in sync when something's pasted). Also, ensure you update the Codepen.


fix!: reject PFBs based on share count

@cmwaters noticed that the ante handler rejects txs but doesn't account for the shares used by each blob size. See https://github.com/celestiaorg/celestia-app/issues/3072#issuecomment-1930466074
This means that a PFB with many small blobs would not be rejected by the ante handler even though it can't possibly fit. This PR modifies the ante handler to reject based on the # of shares occupied by each blobSize instead of the # of total bytes. Also adds a test case that would fail with the previous implementation but passes with this implementation.

This ante handler could be refactor to use GovSquareSizeUpperBound in square_size.go


[Question] Android supply automatic release

Hi guys,
Can someone confirm that you cannot release an ANDROID app using fastlane supply but you have to manually click the Review button from the desired track? I have looked into the android publisher API and indeed there is no support for this, but I'm thinking maybe you guys found another way to do it.
Also, is there a way to retrieve the app status (Approved, rejected, etc)?
Thanks.

As far as I know supply only uses Google's Ruby API which, as you said, doesn't support this.


Set maintenace task to "" after  PUCM pending operation

Which issue this PR addresses:

Fixes bug introduced by https://github.com/Azure/ARO-RP/pull/3194
What this PR does / why we need it:

We never unset PUCM pending maintenance task
If we do admin update with no maintenance task set, we're suppose to do a complete admin update, but instead we get PUCM pending task completed again

Test plan for issue:

Unit
INT

Is there any documentation that needs to be updated for this PR?

No - bug fix

/azp run e2e


X-linked recessive model needs to handle het calls in males

We had a huge project with hundreds of samples and noticed spurious variants showing up under the X-linked recessive model that should be in X-linked de novo. In all cases so far, the proband was male and HET and parents unaffected and HOMREF. (this is distinct from issue #843).
I'm guessing the X-linked recessive model code doesn't have specific handling for scenarios where males show up as het (either from variants in the pseudoautosomal region, calling artifacts, contamination, or mosaicism). I think you probably need to add handling such that if a male affected/proband is het for an X chr call and both parents are homref, the variant should be X de novo. If a male proband is het and so is the affected mother, then it should be X-linked recessive (with the caveat that there's got to be something unusual about the call in the male proband).
FYI @oleraj

For x-linked recessive, for affected males, we just require not HOM_REF or UNKNOWN. And unaffected males must be HET, unaffected females must be HET or HOM_REF.
I think the solution to your concern here is to simply remove putative (x recessive) calls from samples that unaffected parents. Is that correct?

Yeah. Or actually the more accurate option might be to have a lenient option that allows for unaffected mothers to pass on the variant and otherwise it would default to strict such that unaffected people cannot have the variant?

I'd like to avoid --lenient if possible. It creates too many questions and not using that flag is almost always the right answer. I could be convinced otherwise, but do you think the solution I propose will meet expectations nearly all of the time?

Ok sorry for delay, needed time to think things through.
First, can you modify XLR and XLdenovo to be limited to the X chromosome? That helps reduce the mess anyway.
Second, I think the solution is for XLR to require affected males to be HOM_ALT (hemizygous), unaffected males should be HOM_REF, affected females should be HET or HOM_ALT, unaffected females should be HET or HOM_REF.
XLde novo: affected males should be HOM_ALT (hemizygous) or HET, unaffected males should be HOM_REF, affected females should be HET, unaffected females should be HOM_REF.
I'm not sure how to handle the unknown genotype situation, so I'll leave that to you :)

@brentp circling back to this. We're currently having to manually review all outputs from these models and remove the ones where a male is showing up as het.

I think the solution is to facilitate outputting the HET,HOM_REF,HOM_ALT status for each sample so it's a simple filter on the results. Would that be sufficient for you?
Otherwise, we'd have to implement a --lenient to satisfy those who want HET calls to appear as de-novo.
I suppose we could default to filtering to the X chrom, but since gemini now supports non-human, that would rule out cases where the female chromosome is named "X" or "chrX".

What about supporting cases where the female chromosome is X or chrX? I think these built-in X-linked models aren't necessarily great for non-human species anyway since sex determination can be vastly different (females can be the ones that are hemizygous; or sex is not determined by the chromosomes).
I don't think outputting those is a great solution because it doesn't scale -- if you have 90 trios, you'd have to manually figure out which of the samples are male, then write scripts to filter for only variants where those males have the correct genotype.
I don't think you need to implement --lenient though? For changes to the genotype filtration, I'm only talking about modifying the X-linked recessive model -- don't show variants where the male is het and parents are homref in the X-linked recessive model because those variants already show up in the X-linked de novo model.

Now that I'm looking at the code, it looks like I added it to filter to X or chrX in f15706b6 . So, I assume that's not working for you? Regardless, I'll just make them use X, chrX on your recommendation.
Likewise, for x-recessive, I will exclude sites where the male is het and parents are hom ref.

Hmm let me revisit. Maybe I was looking at old results (re: X/chrX). Thanks for the X-recessive change!!

How do I get the change to X-recessive? Do I need to download a dev build?

@brentp
Would it be possible to make a new stable release that includes this change (and other new changes)?  We tried to install from master and there were quite a few errors in the test script so we would prefer to work with a named release in production here if possible.  Thanks!


[SPARK-23654][BUILD] remove jets3t as a dependency of spark

What changes were proposed in this pull request?
Remove jets3t dependency, and bouncy castle which it brings in; update licenses and deps
Note this is just #22081 with merge conflict resolved; submitting to see what jenkins says.
How was this patch tested?
Existing tests on a JVM with unlimited Java Crypto Extensions

Test build #94834 has started for PR 22117 at commit 3cad78f.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/2234/
Test PASSed.

Test build #94834 has finished for PR 22117 at commit 3cad78f.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/94834/
Test FAILed.

Jenkins, retest this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/2238/
Test PASSed.

Test build #94840 has started for PR 22117 at commit 3cad78f.

Test build #94840 has finished for PR 22117 at commit 3cad78f.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/94840/
Test FAILed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/2247/
Test PASSed.

Test build #94851 has started for PR 22117 at commit 3cad78f.

Test build #94851 has finished for PR 22117 at commit 3cad78f.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/94851/
Test FAILed.

Test failure in  org.apache.spark.sql.hive.client.HiveClientSuites.(It is not a test it is a sbt.testing.SuiteSelector):
Caused by: sbt.ForkMain$ForkError: java.lang.NoClassDefFoundError: javax/jdo/JDOException
	at org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:5501)
	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:184)
	at org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.<init>(SessionHiveMetaStoreClient.java:73)
	... 41 more
Caused by: sbt.ForkMain$ForkError: java.lang.ClassNotFoundException: javax.jdo.JDOException
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at org.apache.spark.sql.hive.client.IsolatedClientLoader$$anon$1.doLoadClass(IsolatedClientLoader.scala:227)
	at org.apache.spark.sql.hive.client.IsolatedClientLoader$$anon$1.loadClass(IsolatedClientLoader.scala:216)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 44 more

somehow datanucleus JARs aren't on the CP for the hive test. I can't see how this patch is causing this —can anyone else? But if not: why is it surfacing here


limactl: add tunnel command

$ limactl tunnel --help
Create a tunnel for Lima

Create a SOCKS tunnel so that the host can join the guest network.

Usage:
  limactl tunnel [flags] INSTANCE

Flags:
  -h, --help             help for tunnel
      --socks-port int   SOCKS port, defaults to a random port
      --type string      Tunnel type, currently only "socks" is implemented (default "socks")

Global Flags:
      --debug               debug mode
      --log-format string   Set the logging format [text, json] (default "text")
      --log-level string    Set the logging level [trace, debug, info, warn, error]
      --tty                 Enable TUI interactions such as opening an editor. Defaults to true when stdout is a terminal. Set to false for automation. (default true)

$ limactl tunnel default
Open <System Settings> → <Network> → <Wi-Fi> (or whatever) → <Details> → <Proxies> → <SOCKS proxy>,
and specify the following configuration:
- Server: <IP_ADDRESS>
- Port: 54940
The instance can be connected from the host as <http://lima-default.internal> via a web browser.

$ curl --proxy socks5h://<IP_ADDRESS>:54940 http://lima-default.internal
<!DOCTYPE html>
[...]

Does this also allows connecting to other VM in case of user-v2 network ?

Does this also allows connecting to other VM in case of user-v2 network ?

Yes

The changes looks good for me for now.
I was thinking if providing 1 tunnel for every instance is confusing. Rather shouldn't we provide 1 for every network instance (like user-v2).

I wrote a POC, but seems much worse

https://github.com/lima-vm/lima/pull/2782

Usage:
curl \
  --proxy socks5h://localhost/$HOME/.lima/_networks/user-v2/user-v2_socks.sock \
  <IP_ADDRESS>

This is similar to the limactl tunnel proposal (PR #2710). While PR #2710 creates a proxy per an instance, this commit creates a proxy per a user-v2 network.
Remarks:

Only works for user-v2 networks.
DNS lookup is not implemented yet in this POC. Could be taken from https://github.com/norouter/norouter/blob/v0.6.5/pkg/agent/socks/socks.go#L57-L75
https://github.com/cybozu-go/usocksd is a dependency hog (See the go.mod diff). Should be replaced with a fork or another library.

Overall, PR #2710 might be better than this commit, as PR #2710 works for any network driver, does not need an additional DNS resolver, and does not incur additional go.mod deps.

Maybe limactl tunnel may have limactl tunnel --target=instance INSTANCE (default?) and limactl tunnel --target=network NETWORK to support the both concepts


Direct CLI plutus testing

This introduces a test Plutus transaction test which does not use an intervening test.  Doing this directly from Haskell allows us more flexibility to make assertions.

All comments addressed.  Merging.

bors merge

bors merge

bors merge

bors merge


search improvements

Requirements
Allow search to work with the following fields:

speaker
sponsor
series
subject_category

We have also to adjust the boost for this fields.
Acceptance

series

search for CERN Academic Training Lecture - 316 (series) should get lecture_id : 294504 lecture as first result
search for series:CERN Academic Training Lecture - 316 (series) should get lecture_id : 294504 lecture as the only result

sponsor

search for Massimo Giovannozzi should get only results for sponsor `Massimo Giovannozzi
search for sponsor:Massimo Giovannozzi should get only results for sponsor `Massimo Giovannozzi

speaker

search for Maria Dimou should get only results for speaker Maria Dimou
search for speaker:Maria Dimou should get only results for speaker Maria Dimou

subject_category

search for Particle Physics  should get only results for subject_category Particle Physics
search for subject_category:Particle Physics should get only results for subject_category Particle Physics

The ones without the field names should be ES boosted


Please add LABEL or ENV to docker image with version number of weConnect-mqtt

I would like to see a label or ENV variable added that holds the version number of the build.
That makes it easier to see which version is in use.
There is current a label called: org.opencontainers.image.version that says 0.40.3 but I am running 0.41.1

hmm, this is strange. I just pulled the image and it says:

org.opencontainers.image.version
0.41.1

Hi,
You are right. I am using portainer to manage my docker images.
When you post an update I just do recreate with latest image. But then the env variables are not updated.
I now did a full recreate with the stack and now the ENV variables are updated.
Thanks for the quick response. I am really a big fan from your weconnect implementation.
I am now waiting on VW for the 3.0 update. I ask VW Germany when I can expect it. They just say be patient. Last update is more then 6 month old.
Issue can be closed.

I keep the fingers crossed for you!


add a pterm formatter

This PR adds a formatting command {pterm, key, DefaultVal}.
This is meant for adding global things to the formatting string, which can be set once, on startup, rather than repeatedly stuffed into the pid-specific metadata.  My particular use case is the OS pid, so it's easier to tell when, in the logs, a particular process restarted.

The only hesitation I have is that persistent_term was introduced in OTP 21.2, so the test should skip if OTP is less than that. But I can fix that up

closing in favor of #530


Ensure onSuccess is called with transformed data when tranformResponse is used

Following the conversation with @phryneas on the discord channel (link ), we noticed that the flow of responses in callback methods with a transformResponse does not guarantee the same shape of data, this requires to transform in each callback (potential bottleneck and error prone).
I don't have the time for a PR, so here's the steps to get there.
How to reproduce:

create a service
add a transformResponse callback (with a simple fn that changes the shape of response)
add an onSuccess callback and log "result".

Expected:
"result" should be transformed
What happens:
"result" is not transformed
Code:
https://github.com/rtk-incubator/rtk-query/blob/c769479a056f4ddf0972ae9bff19a2ca4352751f/src/core/buildThunks.ts#L235-L241
The above lines of code demonstrate that onSuccess and onError are called with the original data.

It's a bit unexpected that onSuccess and onError are called before the data is persisted in the store
Could be moved out of the asyncThunk into initiate.

Might actually make sense to tackle this together with #215 and move all lifecycle event handling into one central place in the middleware.

EDIT: Check that also selectFromResult adheres to the same shape.

@asherccohen it should, that one reads from the redux store wayyy later

This is on the integration branch right now, closing it here.


Error in applying patch for mcap-vendor

Hi,
The patch file, 0001-CMakeLists.txt-fetch-dependencies-with-bitbake-fetch.patch, described in the mcap-vendor_0.15.8-1.bbappend is  not applicable now.
ERROR: mcap-vendor-0.15.8-1-r0 do_patch: Applying patch '0001-CMakeLists.txt-fetch-dependencies-with-bitbake-fetch.patch' on target directory '/home/bchoi/nvidia-yocto-bsp/official_ros_humble_build/bchoi-build/tmp/work/armv8a-poky-linux/mcap-vendor/0.15.8-1-r0/git'
CmdError('quilt --quiltrc /home/bchoi/nvidia-yocto-bsp/official_ros_humble_build/bchoi-build/tmp/work/armv8a-poky-linux/mcap-vendor/0.15.8-1-r0/recipe-sysroot-native/etc/quiltrc push', 0, 'stdout: Applying patch 0001-CMakeLists.txt-fetch-dependencies-with-bitbake-fetch.patch
patching file CMakeLists.txt
Hunk #1 succeeded at 3 with fuzz 2.
Hunk #2 FAILED at 18.
Hunk #3 succeeded at 61 with fuzz 1 (offset 13 lines).
Hunk #4 succeeded at 82 (offset 13 lines).
1 out of 4 hunks FAILED -- rejects in file CMakeLists.txt
Patch 0001-CMakeLists.txt-fetch-dependencies-with-bitbake-fetch.patch does not apply (enforce with -f)

stderr: ')
ERROR: Logfile of failure stored in: /home/bchoi/nvidia-yocto-bsp/official_ros_humble_build/bchoi-build/tmp/work/armv8a-poky-linux/mcap-vendor/0.15.8-1-r0/temp/log.do_patch.598964
ERROR: Task (/home/bchoi/nvidia-yocto-bsp/official_ros_humble_build/sources/meta-ros/meta-ros2-humble/generated-recipes/rosbag2/mcap-vendor_0.15.8-1.bb:do_patch) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1026 tasks of which 1022 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/bchoi/nvidia-yocto-bsp/official_ros_humble_build/sources/meta-ros/meta-ros2-humble/generated-recipes/rosbag2/mcap-vendor_0.15.8-1.bb:do_patch
Summary: There was 1 ERROR message, returning a non-zero exit code.
bchoi@nvidia-build:~/nvidia-yocto-bsp/official_ros_humble_build/bchoi-build$

I think patch file need to update.
BR,
Mark

This should be fixed with this commit: https://github.com/ros/meta-ros/commit/cefbb613078031a5c59f7716d52f91328c1ee0c2
Please feel to reopen this issue if you encounter any problems.


Guards are checked after validations?

Expected Behavior
Guards to be checked first, before validations.
Actual Behavior
When there is a guard and validations on an input object, the input validations are executed first.
Steps to Reproduce the Problem
#[derive(InputObject)]
struct CreateUserInput {
    #[graphql(validator(email))]
    email: String,
}

#[Object]
impl MutationRoot {
    #[graphql(guard = "RoleGuard::new(Role::Admin)")]
    async fn createUser(&self, input: CreateUserInput) -> Result<CreateUserPayload) {
      todo!()
    }
}

When a request is sent in with an invalid email (for a user who is NOT an admin), the user receives the invalid email validation error instead of the "Forbidden" error that I would expect.
Specifications

Version: async-graphql 4.0.0

Since the validation is before execution, this error seems reasonable. 🙂


Make pwrite64 available on uclibc

Fixes #2130

r? @Amanieu
(rust-highfive has picked a reviewer for you, use r? to override)

@bors r+

:pushpin: Commit 7a3e51a770b4f4a7332a6b1fcf050653a60482eb has been approved by Amanieu

:hourglass: Testing commit 7a3e51a770b4f4a7332a6b1fcf050653a60482eb with merge 8df930f012f13a0062247cb62d1ed03afdb4a704...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-11, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13
Approved by: Amanieu
Pushing 8df930f012f13a0062247cb62d1ed03afdb4a704 to master...


[FEATURE]Integration registry - loading and filtering

Previous  Step
Next Step
Is your feature request related to a problem?
As part of the Integration Ux workflow, once the Integration plugin is loaded it should load all the available integrations that are bundled in the integration repo.

The API needed from the backend should be as follows:
Query:
GET _integration/repository?filter=type:Logs&category:web,html

Response:
{
  "name": "nginx",
  "version": {
    "integ": "0.1.0",
    "schema": "1.0.0",
    "resource": "^1.23.0"
  },
  "description": "Nginx HTTP server collector",
  "Information":"file:///.../schema/logs/info.html",
  "identification": "instrumentationScope.attributes.identification",
  "categories": [
    "web","http"
  ],
  "collection":[
    {
      "logs": [{
        "info": "access logs",
        "input_type":"logfile",
        "dataset":"nginx.access",
        "labels" :["nginx","access"],
        "schema": "file:///.../schema/logs/access.json"
      },
        {
          "info": "error logs",
          "input_type":"logfile",
          "labels" :["nginx","error"],
          "dataset":"nginx.error",
        "schema": "file:///.../schema/logs/error.json"
        }]
    },
    {
      "metrics": [{
        "info": "status metrics",
        "input_type":"metrics",
        "dataset":"nginx.status",
        "labels" :["nginx","status"],
        "schema": "file:///.../schema/logs/status.json"
      }]
    }
  ],
  "repo": {
    "github": "https://github.com/opensearch-project/observability/tree/main/integrarions/nginx"
  }
}

The integration object schema is supported by both B/E & F/E for display & query to the correct fields
Integration config schema

The backend responsibilities :

scan the Integration folder (on-load)

In the future this can also be loaded from a remote publish location

load into cache each integration config file

allow filtering on the registry API

The frontend responsibilities :

enable shared info (html, images) resources in a CDN
allow filtering for the integrations

In addition the following API is also supported
GET _integration/repository/$name

This call results in returning the cached integration config json object
It would be used for display and route the F/E for fetching the relevant page assets

Once an integration was selected

This page will require the F/E to fetch multiple assets from different locations

images
repository url
license url
html
json schema objects for that integration content

What solution would you like?
implement B/E :

registry loading & cache mechanism
registry API
registry filter API

implement F/E :

integrations list display
integrations filter display
integration panel display

Flow Diagram

What alternatives have you considered?
N/A
Do you have any additional context?

https://github.com/opensearch-project/observability/tree/2.x/integrations/docs
https://github.com/opensearch-project/OpenSearch-Dashboards/issues/3412

The UX full happy flow for loading an integration

Currently outdated, closing it out


IDE missing

Hello,
Just wanted to add one more IDE for the section.
I am talking about VSCodium, based on VSCode but with all telemetry removed.
There is a GitHub page and the official one as well.
Not an issue, just an addition.
Regards.

i suggest just adding the following settings:
  "telemetry.enableCrashReporter": false,
  "telemetry.enableTelemetry": false,
  "telemetry.telemetryLevel": "off",


compile mruby without ruby

compile mruby without ruby

Currently, it's not possible because mruby uses rake (build tool written in ruby). We have used other tools in the past, but they were too weak to handle a very complex build process of mruby.
Theoretically gmake is strong enough to support the mruby build. Any contribution welcome.


google play location v26 causes link error

Can we change the dependency on google location services from "exactly 26" to "at least 26"?
If I install v26 in my project I get an "already added" exception from java when building, because two different google play services are installed (26 and 29).

If you use the latest pre release of Xamarin Forms this is possible, otherwise you need to install exactly 26.

updated the latest xamarin forms release that adds support for 29 - but Google Play location doesn't update because TK.Maps set to exactly 26. Not sure if it's related, but then my Android AppCompat theming files don't compile.
There an issue with making the package >= 26?

Hi, I will update the dependencies and release a new version by tomorrow hopefully.


DataType.TEXT Columns

Hi @RobinBuschmann, it seems there is a problem with TEXT type columns. I think it's at the model level because migrations are ran correctly and I can also insert rows into the DB directly.
I'm defining the column in the model in the same way as it is in the README. Do you mind confirming if this works for you?
In order to reproduce the bug all you need to do is define a new object of that model. Eg:
const modelName = new ModelName({
  payload
})

ModelName.ts
@AllowNull(false)
@Column(DataType.TEXT)
payload: string;

Error log
TypeError: Cannot read property 'hasPrimaryKeys' of undefined
    at Log.Model (/Users/project_dir/node_modules/sequelize/lib/mo
del.js:2960:51)
    at Model (/Users/project_dir/node_modules/sequelize-typescript
/lib/models/v4/Model.js:8:9)
    at Log (/Users/project_dir/dist/public/js/server.bundle.js:259
2:11)
    at LogController.saveLog (/Users/project_dir/dist/public/js/se
rver.bundle.js:2534:25)
    at /Users/project_dir/dist/public/js/server.bundle.js:2056:44
    at Layer.handle [as handle_request] (/Users/project_dir/node_m
odules/express/lib/router/layer.js:95:5)
...

@connected-pjeri this appears when ModelName is not added to a Sequelize instance of sequelize-typescript
So you need to initialize the model first like:
import {Sequelize} from 'sequelize-typescript';

const sequelize = new Sequelize({
  ...,
  modelPaths: ['path/to/models-directory']
});

// or

sequelize.addModels([ModelName]);

// then you can call
const modelName = new ModelName({
  payload
})

But you revealed a bug though: Model not initialized: "ModelName" needs to be added to a Sequelize instance before "$expandAttributes" can be called. should be thrown instead of Cannot read property 'hasPrimaryKeys' of undefined

See #96

Of course, I'm often forgetting this step. Thank you so much. Also, thanks for the bug surfacing silver lining lol.

You're welcome


Schema manager should handle shard key on reference

Schema manager should also know how to handle shard key on reference
This PR is part of sharding key on reference fix. Referencing another PR #1687

:+1:

@notrix after an eternity without updates, I finally managed to revisit this. I've created #1748 to fix this issue in the 1.2 branch, to be released in 1.2.2 soon.
I've rebased this branch on top of the current master to spare you the trouble - with the ext-mongodb and CS merges lots of things have changed. Due to the ext-mongodb change, sharding support in master is currently incomplete, so I've skipped the test for now. I'll revisit this in #1698 to work around the issues preventing finalizing this. Once #1748 has been merged, I'll also merge this branch down.
Thanks for your contribution! 🎉


TypeError: DeepSpeech.Model is not a constructor

Hey Louis, I recently came across your awesome project and really wanted to try it out. But I ran into this deepspeech error which I can't figure out.  Can you please look into it and help me out.
Specs

Leon version:1.0.0-beta.4
OS (or browser) version: Ubuntu (checked on both VirtualBox and WSL2)
Node.js version: v16.13.1
Complete "npm run check" output:

><EMAIL_ADDRESS>check
> babel-node scripts/run-check.js

Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db

Why you should do it regularly:
https://github.com/browserslist/browserslist#browsers-data-updating
⠋
---

.:  You can setup the offline STT by running: "npm run setup:offline-stt"

---

.: REPORT :.

➡ Here is the diagnosis about your current setup
✔ Run
✔ Run modules
✔ Reply you by texting
✔ Amazon Polly text-to-speech
❗ Google Cloud text-to-speech
❗ Watson text-to-speech
✔ Offline text-to-speech
❗ Google Cloud speech-to-text
❗ Watson speech-to-text
❗ Offline speech-to-text

✔ Hooray! Leon can run correctly
➡ If you have some yellow warnings, it is all good. It means some entities are not yet configured

Expected Behavior
I wanted to try the offline configuration.
The TTS_Provider is working fine, there isn't any problem with that. (except the voice🙄). But I have some issues with the STT_Provider (deepspeech). I'm getting the following error output, whenever I open localhost after npm start.
Actual Behavior
><EMAIL_ADDRESS>start
> cross-env LEON_NODE_ENV=production node ./server/dist/index.js

---

.: INITIALIZATION :.

✔ The current env is production
✔ The current version is 1.0.0-beta.4
✔ The current language is en-US
✔ The current time zone is Asia/Calcutta
✔ Collaborative logger enabled
✔ Server is available at http://localhost:1337

---

.: REQUESTING :.

➡ GET /

---

.: REQUESTING :.

➡ GET /assets/index.10acce3d.js

---

.: REQUESTING :.

➡ GET /assets/vendor.fb5407a4.js

---

.: REQUESTING :.

➡ GET /assets/index.77f1e308.css

---

.: REQUESTING :.

➡ GET /assets/mic.d8267246.svg

---

.: REQUESTING :.

➡ GET /assets/logo.0679f287.svg

---

.: REQUESTING :.

➡ GET /v1/info

---

.: GET /INFO :.

✔ Information pulled.

---

.: CLIENT :.

✔ Connected
➡ Type: webapp
➡ Socket id: BTDbrHJSD5p2pk1PAAAB

---

.: BRAIN :.

✔ New instance

---

.: TTS :.

✔ New instance
➡ Initializing TTS...

---

.: FLITE SYNTHESIZER :.

✔ Synthesizer initialized

---

.: TTS :.

✔ TTS initialized

---

.: NER :.

✔ New instance

---

.: NLU :.

✔ New instance

---

.: ASR :.

✔ New instance

---

.: STT :.

✔ New instance
➡ Initializing STT...

---

.: DEEPSPEECH PARSER :.

➡ GPU version not found, trying to get the CPU version...
✖ No DeepSpeech library found:
GPU: Error: Cannot find module 'deepspeech-gpu'
Require stack:
- /home/varun/projects/leon/server/dist/stt/deepspeech/parser.js
- /home/varun/projects/leon/server/dist/stt/stt.js
- /home/varun/projects/leon/server/dist/core/server.js
- /home/varun/projects/leon/server/dist/index.js
CPU: Error: Cannot find module '/home/varun/projects/leon/node_modules/deepspeech/lib/binding/v0.9.3/linux-x64/node-v93/deepspeech.node'
Require stack:
- /home/varun/projects/leon/node_modules/deepspeech/index.js
- /home/varun/projects/leon/server/dist/stt/deepspeech/parser.js
- /home/varun/projects/leon/server/dist/stt/stt.js
- /home/varun/projects/leon/server/dist/core/server.js
- /home/varun/projects/leon/server/dist/index.js
➡ Loading model from file bin/deepspeech/deepspeech.pbmm...
/home/varun/projects/leon/server/dist/stt/deepspeech/parser.js:75
    model = new DeepSpeech.Model(args.model);
            ^

TypeError: DeepSpeech.Model is not a constructor
    at Object.parser.init (/home/varun/projects/leon/server/dist/stt/deepspeech/parser.js:75:13)
    at Stt.init (/home/varun/projects/leon/server/dist/stt/stt.js:55:27)
    at Socket.<anonymous> (/home/varun/projects/leon/server/dist/core/server.js:163:20)
    at Socket.emit (node:events:390:28)
    at Socket.emitUntyped (/home/varun/projects/leon/node_modules/socket.io/dist/typed-events.js:69:22)
    at /home/varun/projects/leon/node_modules/socket.io/dist/socket.js:428:39
    at processTicksAndRejections (node:internal/process/task_queues:78:11)

Extra (like a sample repo to reproduce the issue, etc.)
I believe I should fix this 👇
➡ Offline STT
❗ Cannot find bin/deepspeech/lm.binary. You can setup the offline STT by running: "npm run setup:offline-stt"

You are using node v16, which isn't supported by deepspeech. Mozilla discontinued it's development and  i don't think if it will ever get any support for node v16 or any other latest versions.
if you still want to use deepspeech STT, downgrade your node version to v14, it'll work.

Understood, thanks for your support @NXture


feat: add extension point to the top of welcome page

SUMMARY

adds a registration point for adding components to the top of welcome page
add new dark color and new icon

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

I removed that asset since I believe that's meant to be part of the Preset feature, not part of Superset


ComfyUI hardcoded "3" key causes "Key Error" if the key changes

I love that this extension is able to read the metadata from ComfyUI exports, however on light modifications to the default nodes, the extension will fail  at reading the metadata from a "KeyError"
The bug occurs on this line:
https://github.com/zanllp/sd-webui-infinite-image-browsing/blob/da9fbe162a923e971f8877a7a0929ecfdc93082f/scripts/iib/tool.py#L309C1-L310C1
Because it expects the key to be "3".
The problem is that some of my outputs have the key as "4" (and I imagine the actual prompt may increment even further)
I am not familiar with the outputs of ComfyUI enough to determine what causes this behavior and if this is certain to be intended behavior from their API.
I do know that the bug was easily reproducible on my system by starting with the default layout, changing the model to a 2.1 checkpoint (and also increasing dimensions to 768x768), and replacing the KSampler node with the KSampler (Advanced Node).

In the latest version, I have fixed this issue and it will attempt to acquire KSampler from key “3”. In fact, the support for ComfyUI in IIB is limited and it is still an experimental feature. I haven't even mentioned this feature in the README. If you're interested, you can check our previous discussion #202.

Makes sense. I noticed this feature is very new. I just saw the change. And while a definite improvement it didn't fix the problem if the node was the advanced version of the KSampler.
I just made a light edit into a pull request here that fixed the problem for me:
https://github.com/zanllp/sd-webui-infinite-image-browsing/pull/359

oops, looks like I missed some of the information you provided 😲

The branch has already been merged.

Awesome! Thanks!


Finalization phase of the install fails due to missing /run/lock

At the end of the system install performed by Calamares, the following packages are removed:
https://github.com/msdobrescu/os-commons/blob/41301bfbfd49ee21dd00f235882eb3c854be31b4/packages/mocaccino/mocaccino-calamares/mocaccino/main.py#L17
The operation fails due to missing /run/lock on the target system.
Adding that right before the removal would succeed:
...
# create /run/lock
libcalamares.utils.target_env_call(["mkdir", "-p", "/run/lock"])

if len(luet_packages2remove) > 0:
        args = ["luet", "uninstall", "-y"]
        # args = args + luet_packages2remove
        # libcalamares.utils.target_env_call(args)
        # Temporary trying to remove every package singolary
        for pkg in luet_packages2remove:
            libcalamares.utils.target_env_call(args + [pkg])

...

On the target system, /var/lock already exists and points to /run/lock.

calamares-FAILS.log
calamares-OK.log

Thanks for the report.
It seems related to this: https://forums.gentoo.org/viewtopic-t-1089460-start-0.html
@joostruis I think that you can to add the package 'sys-apps/gentoo-systemd-integration or create the needed file to set under the directory /usr/lib/tmpfiles.d/

Just FYI we have sys-apps/gentoo-systemd-integration installed.

Thanks for the report.
It seems related to this: https://forums.gentoo.org/viewtopic-t-1089460-start-0.html
@joostruis I think that you can to add the package 'sys-apps/gentoo-systemd-integration or create the needed file to set under the directory /usr/lib/tmpfiles.d/

The package and the config file to create the filesystem exists as part of the live system in `/usr/lib/tmpfiles.d/gentoo-run.conf`:

# New OpenRC versions replace /var/lock with a symlink to /run/lock.
# We just create that directory for now, just in case.
# Of course, it's not guaranteed that'll satisfy all relevant packages.

d /run/lock 0775 root uucp -

Testing shows that the above file is deployed too, so, presumably, the service is not run before luet packages uninstall, so no /run/lock is created. How to check that?

If the package is there then:

check if in the current rootfs exists a file under /etc/tmpfiles.d/*.conf  or /usr/lib/tmpfiles.d/*.conf with the rules for the creation of the directory /run/lock. If not, add the file on package spec directory with a step like this: - cp lock.conf /usr/lib/tmpfiles.d/
check if the systemd service systemd-tmpfiles-setup is active and enabled. If not enable it at live-setup systemdctl enable systemd-tmpfiles-setup

The rule must be something like described in the gentoo issue:
d /run/lock 0775 root uucp -

Thanks, @geaaru, as said above, the file is deployed on the target system. I am waiting for the installer to finish and report the service status in a log.

Fixed with #24


run_look does not handle 0's well

If an output cell in Looker is empty, it looks like Looker fills in that empty cell with whatever was in the first column. This is the warning message below:
Warning message:
In rbind(c("2014-11", "3"), c("2014-12", "84", "99", "16"), c("2015-01",  :
  number of columns of result is not a multiple of vector length (arg 1)

@lawwu Could you provide a bit more context in order to reproduce please? For instance, what is the look returning? How many and what type of dimensions, measures, pivots, filters, etc? What is the expected response data format?
Thanks!

I pulled a Look that has 1 dimension (month), 4 measures and 1 pivoted dimension. Filtering the pivoted dimension to only show 4 values and filter the month for the latest year.
In Looker I've confirmed that the first row should only have one of the measures populated. But in R when using run_look, the data isn't carrying over. I can share screenshots if that'd be helpful.

@lawwu If you don't mind sharing an image, that'd be very useful. Please obfuscate any potentially sensitive data of course.

It seems like if a value is null, the run_look function is filling in that null value with whatever is in the first column:

@lawwu This should be resolved. You can update your LookR version by running install_github("looker/lookr"). You should see that we're using the RJSONIO library rather than rjson. That seems to have done the trick. Thanks, @thekenz for the change.


SyncedCron not exported on the server

Once I try to set a config file, I get an unresolved error. It tells me that SyncedCron is undefined.
And there is no package for it so I can't import it. How can I set my config?

Did you import SyncedCron?
import {SyncedCron} from 'meteor/percolatestudio:synced-cron';

I would never have guessed that string 😮 can we add that to the docs?

@MichalW Error: Can't find npm module 'meteor/percolatestudio:synced-cron'. Did you forget to call 'Npm.depends' in package.js within the 'modules-runtime' package?
You have to use percolate and drop the studio for it to work


fix: create sync task by 'GET /:fullname/-/:filenameWithVersion.tgz'

used by pnpm project with lock
closes https://github.com/cnpm/cnpmcore/issues/525

rebase 一下？带了已经合并的代码。

好了


Fill missing data points

We need capabilities to fill in missing data points

@pastewka, @mcrot,
It appears that this functionality (filling in missing data) has been added to the web app.
My student Meg reports (screenshot below) that when she uploads samples with missing data, the web app result shows no missing data. (In her case, there was a lot of it!)
On the one hand, I'm happy we have implemented this. Good job! And much needed functionality!
On the other hand, I'm not happy that it's not notifying the user that it is filling in interpolated data. I'd suggest adding a warning to the user, and also specifying the percent of pixels that have been filled in. We can also consider possibly coloring/shading the pixels differently to designate that they have been filled in.
-Tevis

This has not been added to the webapp. I am not sure what is going on. @mcrot can you check what is happening here?

Hey Meg,
I wanted to loop you into this discussion - but I don't know your github
handle, so I'm adding you on to the email thread.
Can you please reply-all to this email and attach the raw file (opd format,
or whatever) that was used to create the below screenshot?
Thanks,
Tevis
[image: Screen Shot 2021-07-23 at 1.06.19 PM.png]
Tevis Jacobs
William Kepler Whiteford Faculty Fellow and Associate Professor
Mechanical Engineering and Materials Science
University of Pittsburgh
http://www.engineering.pitt.edu/JacobsLab/
Mail: 636 Benedum Hall, 3700 O'Hara St., Pittsburgh, PA 15261
Office: 538-E Benedum Hall,<PHONE_NUMBER>
@.***
On Fri, Jul 23, 2021 at 2:52 PM Lars Pastewka @.***>
wrote:

This has not been added to the webapp. I am not sure what is going on.
@mcrot https://github.com/mcrot can you check what is happening here?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ContactEngineering/TopoBank/issues/321#issuecomment-885835073,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFOUYWRAREFO6B4JOBWON6DTZG27DANCNFSM4IFJVECA
.

Hi all, Meg's GitHub handle is @megannescio, so now she's also included here in this discussion, I think.
Yes, it would be useful to have the file, either sent by mail or alternatively, you could also share that surface with me inside the web app (read-only). Then I can also look up was happend to that topography in the logs.
@pastewka ist right, we haven't implemented the filling of missing data points explicitly. I'm also not sure what
has happened here, yet. What maybe is the case that the internal conversion of data to NetCDF, which now always happens for speed up reasons, has filled the points. Or it's the plotting routine. I have to check that with a file having missing points.

I think you are right, it is the NetCDF business. You can specify fill values to fill in missing that and that may be handled in a wrong manner. The scipy netcdf implementation may actually treat this different from the Unidata one.

Hm .. I've tested it and I think the NetCDF is doing okay with my little example with missing data points. Please
see #699. I've opened a new issue for this, because it seems to be a bug which is different from the original feature request
in the issue here.
In that example, the NetCDF looks exactly the same as what the readers git from the original file.
And I assume that the analysis functions in SurfaceTopography know how to handle masked arrays.
So the question is, what the plotting does with masked arrays. I think missing values are either not displayed as black spots
so far or the fill value of masked arrays is taken somehow, not sure what's going on there. I'll continue that in #699, so this
issue can be kept open when the problem is fixed.

Just to summarize #699 so all are notified:

filling missing points has not been implemented yet
the filling in the example above is caused by a bug in the SurfaceTopography library
it has quite some impact: For measurements with missing points, the squeezed files and all analyses need to be recalculated; if there were downloads of the related surfaces, the respective squeezed files in there would be wrong

I've implemented the filling of missing data points on the backend, see here: https://github.com/ContactEngineering/SurfaceTopography/pull/169 - the pipeline function is called interpolated_undefined_data.
It should be easy to add an option to enable filling of missing data points.

Is this correct, @pastewka ?

this option should be global for each measurement
if chosen, this pipeline function is applied before every usage of the data like detrending

Exactly. I still need to work on the backend but will hopefully be finished this evening. (I have a better idea how to do the imputation.)

I do believe that this feature is highly requested since more and more optical measurements are uploaded to the web app,

The PR ready now. I've asked @AntoineSIMTEK to look at it.

SurfaceTopography 0.100.0 has the data imputation - I'll now work on putting it into TopoBank

I'm working on it and hope getting it online today.

No rush.  We just wish to test it once it goes live! :)
-Tevis
Tevis Jacobs
William Kepler Whiteford Faculty Fellow and Associate Professor
Mechanical Engineering and Materials Science
University of Pittsburgh
http://www.engineering.pitt.edu/JacobsLab/
Mail: 636 Benedum Hall, 3700 O'Hara St., Pittsburgh, PA 15261
Office: 538-E Benedum Hall,<PHONE_NUMBER>
@.***
On Wed, Dec 1, 2021 at 3:52 AM Michael Röttger @.***>
wrote:

I'm working on it and hope getting it online today.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ContactEngineering/TopoBank/issues/321#issuecomment-983421738,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFOUYWR7VENMWU5BAEDTL23UOXO55ANCNFSM4IFJVECA
.


Prometheus refuses to parse valid-by-spec metrics (Golang hex floats)

What did you do?
$ echo 'testmetric 0x1p0' | promtool check metrics
What did you expect to see?
testmetric no help text
According to https://prometheus.io/docs/instrumenting/exposition_formats/ , valid input to https://pkg.go.dev/strconv#ParseFloat should be a valid metric value.
Go's ParseFloat supports hexademical fp numbers, like e.g. "0x1p0"
What did you see instead? Under which circumstances?
error while linting: text format parsing error in line 1: expected float as value, got "0x1p0"
Prometheus, contrary to go's ParseFloat() does not support hexademical fp values, due to them containing a 'p'.
(I believe this is due to https://github.com/prometheus/common/blob/ca1f99be33b31b804a85a42cb7d3a1df23500bf8/expfmt/text_parse.go#L771 )
I encountered this issue after I wrote instrumentation code that outpus hexadecimal floats, and then noticed that Prometheus unexpectedly (and I believe contrary to spec) rejected them.
System information
No response
Prometheus version
2.30.3
(My distribution broke prometheus --version; I do not think this is crucial, since the relevant code seems to have been unchanged for multiple years.)

Prometheus configuration file
No response
Alertmanager version
No response
Alertmanager configuration file
No response
Logs
No response

Hello,
The spec is wrong and should be fixed. Prometheus should not accept those floats because it is quite specific and could be in many cases just typos.
The spec predates the introduction of that notation in golang.

This is a documentation change rather than a code change. I will move this issue to the documentation repository for further review and update the spec accordingly.


Update upgrade-analytics-deployment-script.md

I'd like to be able to link directly to the error codes.

Approved


Restart parsing on errors for better reporting

This adds reporting for multiple parse errors in a backwards compatible
fashion.

@simon04 @westnordost https://oss.jfrog.org/artifactory/webapp/#/builds/OpeningHoursParser/1607284995146/1607284995133 has a build of this if you want to test it.
The API remains backwards compatible, but OpeningHoursParseException has an additional method getExceptions() that will return a list of OpeningHoursParseException corresponding to the errors that were detected (it will always contain at least one exception).
This is by far not perfect, in particular I continue to suppress TokenManagerErrors by generating an UNEXPECTED_CHAR token that will cause a ParseException instead, which imho leads to a bit a confusing message as the error will be reported at the start of the token containing an invalid char. I've prototyped a version that does this differently (and returns better error messages) however that depends on an undocumented API so I'm not doing anything with that right now. The other issue is that the restarting isn't particularly fine grained but it seems to work reasonably well as is.


RV32 code size regression from #11576 LLVM integrate on 2022-12-16

Suspected LLVM integration: #11576
https://perf.iree.dev/serie?IREE?PersonDetect [int8] (TFLite) CPU-RV32-Generic full-inference%2Cdefault-flags [compilation%3Amodule%3Acomponent-size%3Atotal-dispatch-size]
Direct local repro is nontrivial due to MLIR IR format change since that time, requires an iree-import-tflite from that timeframe. To make it easier, attaching here the already imported file.
person_detect.zip
cmake --build . --target iree-compile && tools/iree-compile --iree-hal-target-backends=llvm-cpu --iree-input-type=tosa --iree-llvm-target-abi=ilp32 --iree-llvm-target-cpu-features=+m,+a,+f,+zvl512b,+zve32x --iree-llvm-target-cpu=generic-rv32 --iree-llvm-target-triple=riscv32-pc-linux-elf --riscv-v-fixed-length-vector-lmul-max=8 --riscv-v-vector-bits-min=512 benchmark_suites/TFLite/person_detect.tflite.mlir -o /tmp/a.vmfb --iree-llvm-keep-linker-artifacts 2>&1 | grep -o '/.*\.so' | xargs size -A | grep '^\.text' | awk '{print $2}'

Prints:

at IREE commit (and git submodule update)
value

79b90d32d1723b0650b33bc5584dccb4828e5421
871912

7b4688272e40e939dc02053c7178b111a21eadd5
180752

@hcindyl @pzread @julianwa

Could you try replacing +zve32x with +zve32f and see if the problem is still there

That doesn't make a significant difference (872080 vs 871912).

Bisect results coming soon (~ 5 bisection steps remaining)

Bisection points to this commit (and I have verified that's indeed the case):
https://github.com/llvm/llvm-project/commit/f39b47264edda30b90ea9cc435fc1434a2e06edc
$ git bisect bad
f39b47264edda30b90ea9cc435fc1434a2e06edc is the first bad commit
commit f39b47264edda30b90ea9cc435fc1434a2e06edc
Author: Jakub Kuderski<EMAIL_ADDRESS>Date:   Mon Dec 12 14:39:57 2022 -0500

    [mlir][arith][tosa] Use extended mul in 32-bit `tosa.apply_scale`

    To not introduce 64-bit types that may be difficult to handle for some
    targets.

    Reviewed By: rsuderman, antiagainst

    Differential Revision: https://reviews.llvm.org/D139777

 mlir/lib/Conversion/TosaToArith/TosaToArith.cpp     | 16 ++++------------
 mlir/test/Conversion/TosaToArith/tosa-to-arith.mlir |  8 +-------
 2 files changed, 5 insertions(+), 19 deletions(-)

paging @kuhar / @rsuderman / @antiagainst

Maybe the arith.mulsi_extended lowering doesn't exist/is silly for all these backends?

@kuhar actually added lowering patterns for arith.mulsi_extended for LLVM: https://github.com/llvm/llvm-project/commit/285d321a855efb9415d0dcfa92141ae725dc7339#diff-04e8290220df887ebaa6c4bf8ba9d121af3df7536732e447029b6f342b5aaa62. The generated op sequence looks similar enough to me.. I'm not an expert on how LLVM would under the hood do the magic though.

Are we sure it survives vectorization and such?

@hcindyl would it be good enough as a short-term work-around if a new non-default flag restored the older TosaToArith lowering?

This seems to be bringing back the 64-bit vector issue that we fixed for zve32x some time ago. If a 64-bit vector instruction reaches the LLVM backend with zve32x, the whole operation will be scalarized. The LLVM lowering of arith.mulsi_extended seems to be generating 64-bit instructions, right?

The LLVM lowering of arith.mulsi_extended seems to be generating 64-bit instructions, right?

Yes, which should be identical to the original expansion in tosa.apply_scale before the change to arith.mulsi_extended

The original IR generates two mul ops: from the first one, only the high part is used, from the second one, only the low part is used. The backend is able to match these patterns and generate the corresponding hi/lo muls included in zve32x. If we generate a single mul and extract from hi/low from it, the backend will try to generate a single mul and will end up scalarizing it.

I can't think of a robust solution for this problem since there is no generic mulhi mullo or mul extended representation in LLVM, right?

Expecting that this problem might not have a very easy+robust solution, I asked above https://github.com/iree-org/iree/issues/12239#issuecomment-1433526034 if we might temporarily address this with a flag, if that would be acceptable to @hcindyl ?

I can't think of a robust solution for this problem since there is no generic mulhi mullo or mul extended representation in LLVM, right?

Correct, there are no dedicated intrinsics for those yet and it's generally onto each backend to pattern-match wide multiplication of sign/zero-extended inputs.

Expecting that this problem might not have a very easy+robust solution, I asked above #12239 (comment) if we might temporarily address this with a flag, if that would be acceptable to @hcindyl ?

The most straightforward solution that comes to my mind would be to add an option to the tosa to arith pass and conditionally used the old lowering without mulsi_extended.

Repro with a single dispatch:
https://gist.github.com/kuhar/6e319a0a2b9af642cbcb54e9e10edc5b
Command:
iree-opt --iree-hal-translate-executables --iree-hal-serialize-executables --iree-llvm-keep-linker-artifacts repro.mlir

With full debug output:
iree-opt --iree-hal-translate-executables --iree-hal-serialize-executables --iree-llvm-keep-linker-artifacts repro.mlir --mlir-disable-threading --mlir-print-ir-after-all --print-after-all

The size is 5440 (vector<5440xi8>, format = "embedded-elf-riscv_32", mime_type = "application/x-elf") with https://github.com/iree-org/iree/commit/79b90d32d1723b0650b33bc5584dccb4828e5421 and 3200 with just the llvm commit reverted: git revert f39b47264edda30b90ea9cc435fc1434a2e06edc.

The most straightforward solution that comes to my mind would be to add an option to the tosa to arith pass and conditionally used the old lowering without mulsi_extended.

Would it make sense to have an optional arith->arith lowering for mulsi_exended that can generate the original code in tosa?

I tried changing the arith-to-llvm lowering to match exactly what the old tosa-to-arith did so that
mlir-opt third_party/llvm-project/mlir/test/Conversion/TosaToArith/tosa-to-arith.mlir --split-input-file --tosa-to-arith="include-apply-rescale=true use-32-bit=true" --convert-arith-to-llvm

but despite this being identical, it still diverges in IREE's LLVMCPU/ConvertToLLVM.cpp. This seems brittle.

The most straightforward solution that comes to my mind would be to add an option to the tosa to arith pass and conditionally used the old lowering without mulsi_extended.

Would it make sense to have an optional arith->arith lowering for mulsi_exended that can generate the original code in tosa?

both tosa.apply_scale and arith. lowering happens in ConvertToLLVM.cpp, so I assumed this would have the same effect to changing the lowering in ArithToLLVM, but I guess different folds (on the level or arith vs. llvm) may change the outcome. I'll give it a try too -- we could have it as a local pattern in IREE.

An arith -> arith rewrite worked in my local setup: https://github.com/iree-org/iree/pull/12241
Do we want to fix this against the main branch or some release? @bjacob @dcaballe @antiagainst?

If possible, I would really appreciate this to be included in main, as our project pull IREE's release candidate for iree-compile instead of building from source. I am okay with hiding this behind a compile flag if we don't want the behavior to be default.

I confirm that #12241 fixes the testcase here.  Using the test in this Issue description (and using current iree-import-tflite to generate person_detect.tflite.mlir):
Current main | 905036
With #12241 | 185720
Thanks a lot @kuhar for the effective fix!

@hcindyl The fix has just been merged into main. It doesn't require any flags.

Thanks. However, I don't see a size drop in https://perf.iree.dev/serie?IREE?d967e293594998e48355d30d900dbdf77dbd6eedbff768112dbe8e7ec332b9eb-9e15f7e6-383c-47ec-bd38-ecba55a5f10a

Is this because of the zve32x -> zve32f in https://github.com/iree-org/iree/commit/3a91bd8f9ba6049dfe93ea796a50f5112c2c3283? @dcaballe

Yes, 1 sec...

https://github.com/iree-org/iree/pull/12266


Sequence Diagram & Flow

[Enter feedback here]
Isn't it better if API endpoint redirects (302) to status endpoint instead of returning (202). This way client will not have to manage the status endpoint and call it explicitly.

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

ID: 6fea460c-4fac-723f-8df4-9d0811855a68
Version Independent ID: 4be364ca-aee7-7b49-13e1-3a94408ed7b9
Content: Asynchronous Request-Reply Pattern - Azure Architecture Center
Content Source: docs/patterns/async-request-reply.md
Service: architecture-center
Sub-service: design-pattern
GitHub Login: @WillEastbury
Microsoft Alias: wieastbu

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 464317

On further thought, 202 will give the client flexibility to choose not to poll the Status endpoint once Accepted is received. The only disadvantage is client will have to handle the poll explicitly.

am-ar-r.
It certainly could be handled that way, but the semantics of the 202 do not dictate that the representation of the result is somewhere else like the 302 redirect would.
In practice there are a number of variants of this pattern.

Thanks for the response @WillEastbury.

I fully agree with @WillEastbury here (and your self response as well -- witch is a great point -- the client MIGHT want to fire-and-forget). Lots of options on how you do this, but it's really hard to say that the immediate redirect via a 302 is "better" unless you know that statistically your work goes so quick that it's likely the request will be 302'd once again from the status endpoint to the resource URI. More often than not, a process like this might take many seconds (or minutes) and checking right away would be unnecessary resource usage when statistically the response is going to be "Nope, try again later."


Move daemon code out of the core

Moved all daemon related code to a new sub directory. This should separate the core lwm2m functionality from the daemon/ipc/xml functionality.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Great stuff - thanks for doing this. It's been something we've intended to do for a long time :)
I'll give @delme-imgtec, @rory-latchem-imgtec and @rolandbewick-img a chance to review this themselves before merging.

I already review it also (looked fine), but since was assigned to you @DavidAntliff  I didn't merge it


specify arguments for bundle cli parameters

With the recent commander adition to the local-cli (ref), some parameters were misconfigured.
This change makes sure that parameters like reset-cache are accepting a boolean argument. Without this, when running the bundle command, it wouldn't recognize the
--reset-cache true parameter and just show the command help.
with @fampinheiro

By analyzing the blame information on this pull request, we identified @grabbou and @mroswald to be potential reviewers.

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at<EMAIL_ADDRESS>Thanks!

Just noticed that #9163 also fixes this bug, but --verbose is still broken with that fix

lgtm

Hey, thanks for the PR. I think --verbose is still better than --verbose true, esp. given that we already shipped --reset-cache w/o boolean to master and RCs. Do you think it's possible to fix verbose issues so that it works w/o true?

It's been a while since the last commit was reviewed and the labels show this pull request needs review. Based on the blame information for the files in this pull request we identified @grabbou as a potential reviewer. Could you take a look please or cc someone with more context?


Fix jar conflict

Make ams-api not flat jar

LGTM

@zhoujinsong curator conflict need to shade curator


Update manifests/e/Eugeny/Tabby/1.0.170/Eugeny.Tabby.locale.en-US.yaml

Fixes an issue where this package has multiple different monikers
Microsoft Reviewers: Open in CodeFlow

[Policy] Reset Labels


Use unique test file locations for crypto tests

Make CryptoTest and RFileTest use unique key files, so they don't
interfere with one another when run concurrently
Fix tests being run twice when specified explicitly with -Dtest=
parameter (found while testing this PR) by creating separate profile
in pom.xml files that had a second surefire execution, that is
automatically disabled when that property is used

Fixes #2343

I was able to reproduce the error about 1 out of every 2 or 3 runs on a specific dev box with 16 cores.  Pulling in this patch, I ran the following for 30 mins on that box without a failure
mvn clean install -DskipTests
while mvn test -pl core -Dformatter.skip -Dimpsort.skip -Denforcer.skip -Dassembly.skip -Dsort.skip -Drat.skip -Dwarbucks.skip -Dmodernizer.skip -Dlicense.skip -Dremoteresources.skip; do true; done

LGTM, I don't see how to approve a PR that has been merged, maybe I am missing it

That option goes away once it's merged. Your comment is sufficient. :smiley_cat:
If you had been able to reproduce it still after testing the merged PR, we'd have had to troubleshoot further or revert, but I tested for about 4 hours without seeing the failure again, so I had a high degree of confidence this was fixed and that wouldn't be necessary. That's why I went ahead and merged it.

That option goes away once it's merged. Your comment is sufficient. smiley_cat If you had been able to reproduce it still after testing the merged PR, we'd have had to troubleshoot further or revert, but I tested for about 4 hours without seeing the failure again, so I had a high degree of confidence this was fixed and that wouldn't be necessary. That's why I went ahead and merged it.

Sounds like you were able to reproduce it locally, which I missed from the threads.  Thanks for fixing it.

Sounds like you were able to reproduce it locally, which I missed from the threads. Thanks for fixing it.

Yes. I may have forgotten to mention it earlier. No problem!


Clarify fileName argument by changing to path

I noticed we can do something like .toFile("tmp/temp.jpg")

Great, thank you Ray.
I prefer your naming as it uses the path parameter consistent with Node's built-in fs module.


relax 1:1 mapping of WiFi switches and devices

This could potentially alleviate some of the issues from #4