Crash when adding UIView as overlay to export session

My app crashes when I try to add a UIView as an overlay for a video export session. I'm not sure if I am misunderstanding how to use overlay for videos
I have a UITextView that the user can edit on my screen, when time to save the video, I do the following:
let tempView: UIView = UIView(frame: CGRectMake(0, 0, self.view.frame.width, self.view.frame.height))
tempView.backgroundColor = UIColor.clearColor()

NSKeyedUnarchiver.unarchiveObjectWithData(NSKeyedArchiver.archivedDataWithRootObject(overlayText))!

tempView.addSubview(tempOverlayText as! UITextView)

exportSession.videoConfiguration.overlay = tempView

It crashes at line         [overlay.layer renderInContext:ctx]; (Line 181)
in - (void)CGRenderWithInputPixelBuffer:(CVPixelBufferRef)inputPixelBuffer toOutputPixelBuffer:(CVPixelBufferRef)outputPixelBuffer atTimeInterval:(NSTimeInterval)timeSeconds
with the error:
Assertion failure in void _UIPerformResizeOfTextViewForTextContainer(NSLayoutManager *, UIView *, NSTextContainer *, NSUInteger)(), /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIFoundation/UIFoundation-432.1/UIFoundation/TextSystem/NSLayoutManager_Private.m:1551
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Only run on the main thread!'

Would it be plausible to wrap
            CGContextRef ctx = SCCreateContextFromPixelBuffer(outputPixelBuffer);
            overlay.frame = CGRectMake(0, 0, CVPixelBufferGetWidth(outputPixelBuffer), CVPixelBufferGetHeight(outputPixelBuffer));
            [overlay layoutIfNeeded];

            [overlay.layer renderInContext:ctx];

            CGContextRelease(ctx);

in a         dispatch_sync(dispatch_get_main_queue(), ^{  });  ?

Seems like UITextView requires to layout in the main thread. You can't just have a dispatch_sync every time since it will probably greatly slow down the encoding. I just added a new method in SCVideoOverlay: requiresUpdateOnMainThreadAtVideoTime:videoSize: that is called to determine whether setFrame:, updateWithVideoTime: and layoutIfNeeded should be called on the main thread.
Here is what I would do now:

Make your tempView implements SCVideoOverlay (create a subclass of UIView and make it implement SCVideoOverlay)
Override requiresUpdateOnMainThreadAtVideoTime:videoSize: and make it return YES if videoSize is 0 or if videoSize is != than bounds.size

That way your initial layout will be called in the main thread and it should be fast for any following frames. Let me know if that fix your issue. Thanks!

Hi rFlex,
Thanks for the turnaround. I'm trying to override requiresUpdateOnMainThreadAtVideoTime in my UIView subclass, but am running into the error: "Method does not override any method from its superclass"
I tried
    override func requiresUpdateOnMainThreadAtVideoTime(videoSize: CGSize) -> Bool {
        print("**requiresUpdateOnMainThreadAtVideoTime called**")

        if videoSize == CGSizeZero || videoSize != self.bounds.size {
            return true
        }

        return false
    }

However if I do not override it in the new tempView subclass (which just inits a UIView with same dimensions as my captured video and copies the UITextView over into the UIView subclass and calls self.addSubview(UITextView)) it works. Or is that still synchronously putting it on the video?

Make sure to make your subview implement SCVideoOverlay. Your implementation will then look like this:
        print("**requiresUpdateOnMainThreadAtVideoTime called**")

        if videoTime == 0.0 || videoSize != self.bounds.size {
            return true
        }

        return false
    }```

I tried it two ways:

To programmatically re-create a new UITextView with attributes of my editable one scaled to video size, this is done in the subclass of UIView implementing SCVideoOverlay.  This calls the override function and works 100% of the time.

To create a UITextView attribute within my subclass and set it with

let tempView: SCVideoOverlayView = SCVideoOverlayView(frame: CGRectMake(0, 0, 720.0, 1080.0))
            tempView.backgroundColor = UIColor.clearColor()
            tempView.tempTextView = NSKeyedUnarchiver.unarchiveObjectWithData(NSKeyedArchiver.archivedDataWithRootObject(overlayText)) as! UITextView

This failed with
requiresUpdateOnMainThreadAtVideoTime called
2016-06-20 17:39:22.745 TallyyBeta[4845:1136198] *** Assertion failure in void _UIPerformResizeOfTextViewForTextContainer(NSLayoutManager *, UIView *, NSTextContainer *, NSUInteger)(), /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIFoundation/UIFoundation-432.1/UIFoundation/TextSystem/NSLayoutManager_Private.m:1551
2016-06-20 17:39:22.749 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Only run on the main thread!'
It could be that my 2nd approach is not the correct way to tackle the feature.

Forgot to mention that in 2nd approach it failes at [overlay.layer renderInContext:ctx]; still

Would you mind create a sample project so I can fix the issue directly? As a workaround in the mean time you could just create a UIImage out of your UITextView and use it instead. You could also try creating a snapshot view from the overlayText instead of making a deep copy using NSKeyedArchiver.


Error during an import file in TABLE

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.22.1
Regression From
1.22.0
Architecture
x64
Storage Explorer Build Number
No response
Platform
Windows
OS Version
No response
Bug Description
An RestError appear during an update from import
Steps to Reproduce
Steps:
Select TABLE X
import file.csv
if the record exist an error appear
Actual Experience
An error appear during the import
Expected Experience
No response
Additional Context
No response

Help us please!

Hi @giuale88 a fix will be going for this in our upcoming release. In the meantime, if you are blocked, you can download 1.21 here: https://github.com/microsoft/AzureStorageExplorer/releases/tag/v1.21.3
Duplicate of #5387


Intelligent diffing of Notion API result leaves

When we cache results locally and ping the agency-kit polling server to see if the response has changed, we should record which specific pages have changed so that we can minimize calls from Notion CMS.
This will make the local build cycles much faster as number of pages in the CMS grows. If only one page changes, get just that page. Pairs well with incremental builds.

Or just do it internal to notionCMS. Perhaps use: https://github.com/benjamine/jsondiffpatch


Created steppable Optimizer and steppable gradient descent

This pull request has the objective of start developping steppable optimizers before making a pull request into Qiskit/main.

Callback has a different signature depending on the optimization algorithm. I don't know how I will handle, but I wanted to leave a message here to point it out.
For example, in gradient descent CALLBACK = Callable[[int, np.ndarray, float, float], None] but in spsa Callable[[int, np.ndarray, float, float, bool], None].

I just realized that minimize() and other methods are already defined in the parent class. For those, should I copy-paste the documetation? Modify it if necessary? Or just leave them without documentation and they will inherit the documentation from the abstract method?


Bubble graph - colors and layout options?

I'm really excited to use the D3Plus library. However, I have two questions before I dig in and spend a lot of time. I apologize if this isn't the correct forum for questions.

With the old D3 library, when we created a bubble graph, the bubbles would automatically color in a range of colors based on their size. It was using the D3 scale category20c function. Is this (or something similar) available in the D3Plus library on bubble graphs?

In the example for the bubble graphs, it shows all the bubbles fitting into a circular area. Is it possible to define that container as a rectangular space? It would be nice to fill an area on the site and not have a lot of whitespace in the corners.

Thanks for the help!

Take a look at the "scale" property of .color( ). You would set it like this:
.color({"scale": "category20c"})

Rectangular containers are not currently supported. D3plus uses the D3 Pack Layout, which puts them in a circle. My understanding is that rectangles could work by using a force layout/quadtree to pack them in the inner bounds. If you're interested in this feature, please create a separate issue about it to start the discussion.
I have no problem using Github for discussions/questions. There's also a Google Group that is geared more towards discussion/implementation.
Happy coding :beers:


'Link Shader failed' with Phaser 3.70.0 with a very small % of users

We've had an issue with a very small % of users that are getting the error 'Link Shader failed' on Chrome 119 and 120, Windows and Linux with Phaser 3.70.0. We can't repro locally but our stack trace comes back to compiling the PreFXPipeline shaders
    function FXPipeline (config)
    {
        //  This order is fixed to match with the FX_CONST. Do not adjust.
        config.shaders = [
            Utils.setGlowQuality(Shaders.FXGlowFrag, config.game),
            Shaders.FXShadowFrag,
            Shaders.FXPixelateFrag,
            Shaders.FXVignetteFrag,
            Shaders.FXShineFrag,
            Shaders.FXBlurLowFrag,
            Shaders.FXBlurMedFrag,
            Shaders.FXBlurHighFrag,
            Shaders.FXGradientFrag,
            Shaders.FXBloomFrag,
            Shaders.ColorMatrixFrag,
            Shaders.FXCircleFrag,
            Shaders.FXBarrelFrag,
            Shaders.FXDisplacementFrag,
            Shaders.FXWipeFrag,
            Shaders.FXBokehFrag
        ];

        PreFXPipeline.call(this, config); // This line

We are still investigating and working around this by disabling the both the pre and post pipelines via the config. Unfortunately, we can't narrow down which one of these is causing the issue.
All users reporting the issue are on different hardware/GPUs/OSs as well.

Wrong repo!


Types: change the type for call() to support generics

Q
A

Fixed Issues?
#1286 mentions this

Patch: Bug Fix?
Should probably be a minor

Major: Breaking Change?
No

Minor: New Feature?
Yes

Tests Added + Pass?
Yes

Any Dependency Changes?
dtslint 0.9.0 -> 3.4.1

Generic functions have never worked super-well with the types for call, and as of TS 3.8, creating a call effect with a generic function will always return a CallEffect<unknown>. Additionally, trying to call call with a generic higher-order function gets rejected by the TS compiler in all scenarios I've seen.
In this PR, I've changed the type for call to be generic over the parameters and return type of its first argument, rather than being generic over the type of the function itself. This seems to fix the problems that call had, and now it really supports regular and higher-order generics.
I also upgraded dtslint, since the older version only checked using TS 3.6 (where the higher-order generics wouldn't explicitly error), but the newer version should test using every valid version of TS for the file. I tried using $ExpectType in the places where there are now assignment checks, but it didn't work with the CallEffect type alias, so I figured assignment checks were fine.
Also, on consistency: this PR only changes the type for exactly one overload of call, and for no other effects in the project. If this approach seems like a good idea, I can add it to other functions like fork and spawn, and see if the other overloads of call could benefit from this approach (though it's probably less likely that people are using those with generics).
cc @gilbsgilbs

Greetings!  Thanks for your contribution and sorry for the delay.  Could you resolve the conflicts and we can discuss these changes again?

Greetings! Thanks for your contribution and sorry for the delay. Could you resolve the conflicts and we can discuss these changes again?

@neurosnap I have done that here https://github.com/redux-saga/redux-saga/pull/2273

Closing since #2273 supersedes.


memory leak in OPENSSL_config

The function OPENSSL_config leaks memory:
https://github.com/openssl/openssl/blob/42a8ef844e5fca55abb608beb62695abe80c6b6d/crypto/conf/conf_sap.c#L34-L41
we should add a statement like
   free (settings.appname);

The function OPENSSL_config leaks memory:
https://github.com/openssl/openssl/blob/42a8ef844e5fca55abb608beb62695abe80c6b6d/crypto/conf/conf_sap.c#L34-L41
we should add a statement like
   free (settings.appname);

But what's the point doing a strdup() here. I think it makes more sense to replace the call to strdup() with plain assingment it should have the same effect.

But what's the point doing a strdup() here. I think it makes more sense to replace the call to strdup() with plain assingment it should have the same effect.

Hmm... that's a good question. I assume the code was prepared for a delayed initialization where settings was saved somewhere and used later. However we AFAIK do not do it.

we don't save the appname off somewhere down the call path do we?  I looked, but didn't find anything, unless providers somehow have the opportunity to do so

But what's the point doing a strdup() here. I think it makes more sense to replace the call to strdup() with plain assingment it should have the same effect.

I think a direct assignment of the input parameter will receive a warning because of the constness of the input parameter,
so instead of the strdup an explicit type cast would be necessary but that looks more ugly than a strdup IMHO.

ack @bernd-edlinger Its not a hot path either allocating and freeing isn't going to hurt anything here


error while installing the package

Wanted to test edb and tried to install it using go install ... command line (as appears in the readme) but unfortunately I got the error below.

Only now I noticed the note in the readme 😞
Maybe it is worth to remove that option from the README until the issue is fixed

Yea, I am sort of hoping that SLL2 support is merged into the main repo within a reasonable amount of time https://github.com/google/gopacket/pull/933 so I can remove the redirect directive. If will give it a week or so, if nothing happens(the project seems abandoned by the lack of issue and PR responses in the last months), I might just permanently fork it with a different module path so I can just straight up include it without the redirect directive.
Also the limitation what go install only works with redirect directives if you download the sources manually feels really arbitrary to me. It is likely some sort of security measure, but I don't fully understand.
In my eyes this is also fixes as soon as the first actual release happens, but I don't feel like we support enough eBPF programs yet to call it an actually useful release yet.
I will leave this issue open until installation with go install is fixed one way or another.

I am happy to announce that I have created the first release of edb. You can find installation instructions here and the v0.1.0 release here.


Use Random Ports for Kubo Node

Tracked here: https://github.com/TheDiscordian/native-ipfs-building-blox/issues/6

This was completed in native-ipfs-building-blox, so relevant changes should be grabbed from https://github.com/TheDiscordian/native-ipfs-building-blox/commit/181a7b6ea47981abbed653af87438ed7b14acd15.


Update kitchen testing

Specs could use defined platforms to clear up a pile of warnings

This cleans up the kitchen failures
I will update spec / cookstyle in a separate PR after this one is merged

@jmccann switched to inspec
looks like kitchen-vagrant copies the serverspec files into the test host while kitchen-dokken does not


need to fix error while testing the app

[x] The issue is when we open the same resource in multiple panes  and  delete the resource, it will remove the pane contents and heading

here is the link https://www.loom.com/share/f32bc86dd28342c1aee1e654d3ef5114

[x] audio bible does not load
https://www.loom.com/share/2126508e752a4cf4a83fed49ab5014d6
https://www.loom.com/share/0b7332b4776a43198880e7c2dfd1b258
Assign to @vipinpaul

Lock navigation and bookmark do not work. Assign to @samueljd

[x] Remove the import button from the archived project.

The issue are there for Bookmark and Lock functionality


Comment for initialize scenario token

This just extends the comment to also mention it mints tokens too.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 3 committers have signed the CLA.:white_check_mark: hackaugusto:white_check_mark: nlsdfnbch:x: DevOpsBotDevOpsBot seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Now I'm confused.


Remove 9.0 Supporting Code in initdb-postgres.sh

Since only >=9.1 is supported now, we can always load postgis via extensions.

Also nice that it removes the cd which can muck with downstream initdb scripts.

Thanks @JacobHayes! The changes looks good to me.
 I can merge after that.

Aah, good catch!

@JacobHayes I've squashed and merged your changes. You might want to take a minute to read up on git commit --amend, since that would have made it easier for me to just merge the PR from GitHub :+1:

Yeah, I usually would have rebased+edited (though amend would be quicker!), but didn't know how/if force pushing would have affected Travis or anything. Thanks!

Travis is fine with force pushes. It sees them as a new commit and runs a
new build series 👍


Fix dockerfiles

Codecov Report
Base: 92.08% // Head: 86.66% // Decreases project coverage by -5.43% :warning:

Coverage data is based on head (e6380e7) compared to base (763a6a2).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #787      +/-   ##
==========================================
- Coverage   92.08%   86.66%   -5.43%
==========================================
  Files          33       51      +18
  Lines        2249     1657     -592
==========================================
- Hits         2071     1436     -635
- Misses        178      221      +43

Flag
Coverage Δ

jobs_mongodb_migration
81.14% <ø> (?)

services_admin
87.12% <ø> (?)

services_api
90.13% <ø> (?)

workers_datasets_based
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...datasets_based/workers/parquet_and_dataset_info.py

...tasets_based/src/datasets_based/workers/parquet.py

workers/datasets_based/tests/fixtures/files.py

...ts_based/src/datasets_based/workers/split_names.py

.../datasets_based/tests/workers/test_config_names.py

...atasets_based/src/datasets_based/worker_factory.py

workers/datasets_based/tests/fixtures/hub.py

...orkers/datasets_based/tests/test_worker_factory.py

workers/datasets_based/src/datasets_based/asset.py

...orkers/datasets_based/src/datasets_based/config.py

... and 74 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Setting minZoom to a non-integer number affects maxZoom

Setting the minZoom of the view to a non-integer number affects the maxZoom value.
Expected behavior:
maxZoom should remain unchanged.
minimal example:
https://codesandbox.io/s/ol-resize-changed-maxzoom-pg1s70

The final maxZoom and minResolution values are constrained by the zoomFactor applied to minZoom and maxResolution
https://github.com/openlayers/openlayers/blob/main/src/ol/View.js#L2045-L2051


How to access response data

If we use SerialPortStream to send characters to a COM port with WriteLine, we cannot get the response sent back.
The DataReceived event never fires and there is no data when we call Read after WriteLine, even if we wait for a few seconds.
There are no examples showing how to do this, and even the test code doesn't show how this is done.
Is it possible to get the response somehow?

You use it like you would the MS implementation. If you're running a 32-bit system, you can use PortMon. Look at the wiki page on Tracing to get logs and post them here.
There's always a few things you can do and build yourself a simple Y-Cable and use a couple of USB-SER ports to monitor what's being sent and received.
If there's no Read when sending data, then it could be very well that the data being sent is not in the right format (check newlines), or your device is not sending (do you need to set any flow control?)

Thank you for the quick response.
Since the DataReceived event is provided we assumed that it would work with a response, but it appears it does not.
The only other option is to look in the Read buffer, but it is empty.
We know the data is being sent and that a response is being returned, we just can't figure out how to get the response, or make SerialPortStream give us the response.
Looking at the MS implementation, it appears this is accomplished with a 'read' thread. Not a problem, but we were hoping to use SerialPortStream to avoid the MS issues.

Hi, I need you to provide a trace as I provided the link earlier. Then I might be able to see what is going wrong.

Any logs?

Thank you for following up with us on this issue.
We used a serial port test program to verify we were being sent responses.
We also verified that the data we sent via SerialPortStream was being
received and acted on.
We are trying to send commands to an industrial marking device. I cannot
share any details of the implementation, including log data.
The commands are a string of 1 to 8 characters terminated with a newline.
The same string of characters terminated with a newline will be in the
response, if there was no error.
Our code used three patterns:

Connect, send data, read response.
Connect, launch thread to read response, send data.
DataReceived event.

On Sat, Jul 15, 2017 at 2:07 PM, Jason Curl<EMAIL_ADDRESS>wrote:

Any logs?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jcurl/SerialPortStream/issues/31#issuecomment-315555305,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYZ3WRzlX-gzl6Miv7gbyw9_8r6D25Wmks5sOQ3bgaJpZM4ORZtP
.

I'm sorry that I can't help you any further. To do so I would need logs as generated by my software using the tracing link I've provided earlier. Your issue refers to no data being received at all. This sounds like a custom driver provided by your manufacturer that doesn't fully implement the serial driver in asynchronous mode.


test(firestore): overwriting syncDebounceMs on the action level doesn't work

I create a Magnetar instance with a syncDebounceMs of 10000 specified for the Firestore plugin.
Then
docRef.merge({ data: 'a' })
Wait 5s and then
docRef.merge({ data: 'b' }, { syncDebounceMs: 0 })
Wait 6s more and then
docRef.merge({ data: 'c' }, { syncDebounceMs: 0 })
expected: If syncDebounceMs of 0 was to result in any pending changes being flushed out, then I would expect the first two merges to be applied together at about 5s from the first call to merge. The third merge should then occur at about 11s from the first merge call.
actual: Instead, what I am seeing is all three merges being applied together at about 21s after the first call to merge. It would appear that the debounce timer is simply being reset to the syncDebounceMs value of the first merge instead of picking up the new debounce value.

@wifisher
if you have some bandwidth to try and write an automated test based on your findings above, it would greatly help me to come in and fix the issue!
The automated test can be added in this file, and you can simply copy paste parts of other tests and then tweak:
https://github.com/cycraft/magnetar/blob/production/packages/plugin-firestore/test/internal/multipleWrites.ts
if not let's keep this issue open for a while until I find time to do it.

I have spent a bit of time looking through the code trying to understand how syncDebounceMs is used and, as such, how it is supposed to work.
It looks like the debounce time is supposed to work as the amount of time to wait after a mutation for another mutation to occur. If a mutation occurs during the debounce time, the counter is reset. This then allows for another debounce time for the next mutation. If another mutation does not occur during the debounce time, the mutations get flushed out to Firestore.
This means that with a continuous rate of mutations with each mutation occurring within the debounce time, that nothing will get flushed to Firestore until MAX_OPERATION_COUNT is hit. There are also certain mixes of mutations that result in forceSyncEarly() being called to flush out queued mutations for consistency reasons.
The other way it could work would be to only queue up mutations that occur within syncDebounceMs of each other. For this implementation, it would mean that a mutation was guaranteed to be flushed to Firestore by the end of the debounce time.
I prefer the first method and it appears as though that is the intent of current implementation.
In looking through the code, it appears that the duration of the countdown timer is fixed at the time of its creation. It can be restart()ed but otherwise, the duration cannot be changed.
What this means is that the actual debounce time is determined by the first queued mutation. That time could be the default debounce value or the value specified by that particular transaction.
To fix this, I think that the Countdown timer needs a new method such as changeDuration(ms) that will change the duration of the timer.
Then prepareCountdown() and triggerSync() in BatchSync should be changed to something similar to the following:
 function prepareCountdown(debounceMsOverwrite?: number): CountdownInstance {
   const ms = isNumber(debounceMsOverwrite) ? debounceMsOverwrite : syncDebounceMs

   if (state.countdown) {
      state.countdown.restart()
      state.countdown.changeDuration(ms)
   } else {
      state.countdown = Countdown(ms)
      state.countdown.done.then(() => executeSync())
   }
   return state.countdown
 }

 function triggerSync(debounceMsOverwrite?: number): void {
    prepareCountdown(debounceMsOverwrite)
 }

This change would alter the behaviour so that the debounce time being used is that of the most recent mutation.
Does this fit with your intentions?

@wifisher yeah, you are right!
we'll have to change the debounce duration just before we restart the timer.
I'd even say, we can have a syntax like this:
state.countdown.restart({ newDuration: ms })

we can pass the newDuration any time on the restart function no matter what.
Because if it's not provided by the action it will default to the one set on the module or the global one.
Passing the newDuration every time and making a small change inside Countdown.ts should be a good enough fix.
The hard part though, is writing a failing automated test. 😅
The ideal workflow is:

replicate the bug as an automated bug and make sure that test fails
make the implementation in the source code to fix the issue and continue tinkering until your failing test succeeds

Can you try your hand at creating such a test? : )

I pushed a couple of tests to my syncDebounce branch but they are not well tested. I started getting quota related errors after a few runs while I was figuring out how the tests work.
The two new tests just look at the basic timing. Nothing there yet for flush/sync yet or for various debounce times.
I might have a bit of time tomorrow to look at it some more. Not sure.

PR #62 has the changes to the countdown timer and adds a few tests that look at the timing of the Firestore operations.

@wifisher thanks for the PR. Released in

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>


does sarama provided code/utility to alter kafka partition in golang

I wanted to know if you have code which can alter kafka partitions. code literally uses:
/bin/kafka-topics.sh --zookeeper   --alter --topic  --partitions

We don't have it in sarama. All the administrative actions, including adding partitions, are done through zookeeper. Sarama only talks to Kafka, and not Zookeeper, so it cannot implement these administrative actions.
I have a library called Kazoo that talks to Zookeeper, but currently doesn't implement this action. It could be added there though.


Delete unnecessary spaces

When copying from the web page, there is an unnecessary space after the code.

@changeworld : Thanks for your contribution! The author, @richrundmsft, has been notified to review your proposed change.

#sign-off


I can not get the remaining requests from the response header.

Recently, my OneDrive for Business app always gets the 429 Too many requests error, and I checked the article: https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-request-limits. However, I can not get the remaining requests from the response header.

Yes, I'm using the Graph API to connect to OneDrive for Business and I'm not very clear about the authentication ways you mean, I'm using the OAuth 2.0 authorization code grant flow to get an access token from the Azure AD v2.0 endpoint.
So, do you have any idea on how can I test and process the 429 error from a localhost environment?

Thanks @imkk. There is a known issue with "app-only" scenarios that can cause some excessive throttling, which is why I asked. Such tokens are used for daemon scenarios where there is no user information available, and so a certificate is normally required to get such a token. If you aren't doing that it's probably just a user scenario. This link has a good summary.
Testing 429 behavior isn't easy - as you'd essentially have to generate enough load against the system that it takes notice and applies some throttling.

Ok, so my app should be using the delegated scopes.
It can only be like that. Thank you anyway.


Reorganize Opmodes

We have too many opmodes and they need to be refactored.
I organized each opmode and script into different packages representing their purpose
@marco28p I would like your input on this

Looking at the OpModes and their functions, I think ActiveIntake, Hanging,
LinearSlideTest, ServoLinearSlideTest, RobotInThreeWeeks, and ServoMover
can all be discarded.  The Intake opmode (the one named "Intake")
should either include a comment that mentions its function as the primary
continuous servo opmode or be refactored to make that clear on the driver
station (I prefer the latter).  This opmode was initially created to run a
two-servo intake in continuous mode but can be used to test any continuous
servo.  I can make those changes on my branch and then make a pull request
if you would like me to.
Thanks,
Marco
On Wed, Nov 20, 2024 at 1:52 PM Michael Lachut @.***>
wrote:

We have too many opmodes and they need to be refactored.

You are receiving this because you were mentioned.Message ID:
@.***>

@marco28p If you want to do those changes then go ahead, but there is a branch already for this pull request called opmode-organization


Modify isotype page table to look like this

Number of homozygous alternative calls
Number of heterozygous alternative calls
Number of homozygous reference calls
Missing calls
//space//
Total sites considered
//space//
Strain-specific singletons

we have instead decided to remove the variant table


'2528809:2528809:0324/184939.865127:ERROR:broker_posix.cc(43)] Invalid node channel message' when using Chromium

Since I switched from Firefox (cause of up to 20 sec freezes) to Chromium, opening an article with key 'o' opens the article, but then newsboat writes "2528809:2528809:0324/184939.865127:ERROR:broker_posix.cc(43)] Invalid node channel message" in between the entries.
Newsboat version (copy the output of newsboat -v or the first line of git show):
newsboat 2.18.0
System: Linux 5.4.24-1-MANJARO (x86_64)
Compiler: g++ 9.2.0
ncurses: ncurses 6.2.20200212 (compiled with 6.1)
libcurl: libcurl/7.69.0 OpenSSL/1.1.1d zlib/1.2.11 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh2/1.9.0 nghttp2/1.39.2 (compiled with 7.67.0)
SQLite: 3.31.1 (compiled with 3.30.1)
libxml2: compiled with 2.9.10
Config file (copy from ~/.newsboat/config or ~/.config/newsboat/config):
auto-reload  	        yes
reload-time		180
notify-program 	        notify-send
notify-always	        false
browser 		chromium

Steps to reproduce the issue:

Type 'o' on any feed entry with chromium as browser

Other info you think is relevant:
YouTube feeds seem NOT to be affected by this? 🤔

opening an article with key 'o' opens the article, but then newsboat writes …

That error is not written by Newsboat.
It is probably written by Chromium (I've seen similar errors before when starting Chromium on its own).
It might be useful for Newsboat to always refresh the screen after the browser process has ended.
I'm not sure if the current behaviour is somehow the expected behaviour (I can understand that seeing output from STDERR adds some value but it currently does break Newsboat's rendering).
Either way, you can work around it with either of the following options:

Press CTRL+L to redraw the screen (temporary solution, just to make sure that the above explanation is correct)
Update the Newsboat browser setting to redirect output from Chromium to /dev/null, e.g.:
browser "/usr/bin/env bash -c 'nohup chromium %u &>/dev/null & disown -a'"
Explained at https://github.com/newsboat/newsboat/blob/1702561e32733b3aea2e1488c7d100a055e9979c/doc/faq.asciidoc#user-content-browser-script (will probably be updated by @Minoru, see #825)

A system update with following restart seems to have fixed it.

The error just came back and nothing worked except using the workaround browser "/usr/bin/env bash -c 'nohup chromium %u &>/dev/null & disown -a'"


Tests/assets

Motivation
Split asset and assetFofder and add new unit tests for both
Breaking change:
Change of namespaces of asset folder models

Codecov Report

Merging #235 (d4cada9) into experiment/new_unit_tests (4398d1c) will increase coverage by 1.12%.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@                      Coverage Diff                      @@
##           experiment/new_unit_tests     #235      +/-   ##
=============================================================
+ Coverage                      82.94%   84.07%   +1.12%
=============================================================
  Files                            242      232      -10
  Lines                           2774     2643     -131
  Branches                         310      298      -12
=============================================================
- Hits                            2301     2222      -79
+ Misses                           368      326      -42
+ Partials                         105       95      -10

Impacted Files
Coverage Δ

...ontent.Ai.Management/Extensions/AssetExtensions.cs
0.00% <ø> (ø)

Kontent.Ai.Management/ManagementClient.Asset.cs
94.44% <ø> (+4.35%)
:arrow_up:

...ment/Models/AssetFolders/AssetFolderCreateModel.cs
100.00% <ø> (ø)

...gement/Models/AssetFolders/AssetFolderHierarchy.cs
100.00% <ø> (ø)

...Models/AssetFolders/AssetFolderLinkingHierarchy.cs
0.00% <ø> (ø)

...anagement/Models/AssetFolders/AssetFoldersModel.cs
100.00% <ø> (ø)

...dels/AssetFolders/Patch/AssetFolderAddIntoModel.cs
100.00% <ø> (ø)

...ssetFolders/Patch/AssetFolderOperationBaseModel.cs
100.00% <ø> (ø)

...odels/AssetFolders/Patch/AssetFolderRemoveModel.cs
100.00% <ø> (ø)

...odels/AssetFolders/Patch/AssetFolderRenameModel.cs
100.00% <ø> (ø)

... and 22 more

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


[Question] NodifyObservableCollection Move()

When Changing the order of nodes in real time using Move() of NodifyObservableCollection,
Connection is not properly connected.

Please, Check this.
Thank you very much.

Hi,
This is the default behavior of ObservableCollection. Move does not swap items but replaces them.
I would suggest that you add an Order dependency property on the NodeViewModel and bind it to the drop-down to keep track of the order of the nodes if that's what you're trying to do.
Otherwise, you will end up with more bugs when you remove or add nodes.

I decided not to change the order of the nodes using Move() as per your advice.
It was not easy to change the execution order of the nodes.
Thank you very much for your advice.


Show progress for deleteing a directory

A simple little progress bar where it says "Deleting XYZ" should be like (Deleting XYZ (15%))
Simple, but effective.

No, needs support from Electron: https://github.com/electron/electron/blob/13-x-y/docs/api/shell.md#shelltrashitempath

Is there a feature request for it? I genuinely want this as I don't know how long it's going to take to delete a directory.

^ I have created an issue upstream. I am going to look into implementing this at electron, then I (hopefully) will write a PR for it when that releases stablely.


Adding similarity measures based on cited or citing journals

Rational: good journals cite good journals, so this may be less related with the research focus and more to the quality of publications

We experimented with abstract similarity based on TF-IDF. Was too heavy.
Now we just use "num_cited_refs", the number of jointly cited references. It's not a good wording though.


Don't use $ to indicate browser-side files

It's just really ugly, and forces a naming convention on otherwise free files.
The main benefit of this feature is that browser-side JavaScript can be written in TypeScript, and use JSX as a convenient DOM-builder. A secondary benefit is the ability to import shared-side modules, using shared-side code and shared-side type definitions. Together, this is all this feature is needed for. And it's not worth giving up.
The question is how to avoid forcing an ugly naming convention on everyone who uses it.
One problem is that most browser-only modules (all except shared-side modules) shouldn't be executed in the ssg/node runtime, so we can't import them, all we can do is utilize the filename/filepath to determine if the transformed JavaScript should be exported as a part of the site to be used by HTML or ESM modules.
Since all we have is the filename to go off of, we have a few options:

Use a well-known folder name (e.g. "browser" or "$browser")
Use a special character somewhere in the whole file path (technically what we do now)
Use a special character specifically in the filename (more specifically what we do now)
???

The well-known folder name is a little too invasive. A special character in the path allows directories to have the $ instead of the filename, which seems like maybe a good compromise?
Or we could just keep it the way it is, since it makes it clear while editing in the IDE that you're working on a client-side script.

Maybe we can get rid of $ altogether?
The purpose for $ was to indicate that this file should be exported in the website, and is not part of the ssg-side-only code.
Without $, there's three types of files:

ssg-only-side, including about.html.tsx and utils.ts,
browser-only-side, like client.tsx and client-utils.ts`,
and shared-side, like shared-components.tsx

The hard part is differentiating utils.ts in the first category from the others. In previous versions, all .ts and .tsx files were exported as part of the site, to solve this problem, and you just imported what you needed from script-type-modules. That was excessive, and I added $ to try to avoid generating ssg-only-side files as part of the website.
One solution is to utilize the same pattern we already use for .html.tsx for ssg-only helper files, like utils.ssg.ts. It's not very clean though, and the special text would be arbitrarily chosen by us, but it's better than what we have now.

No longer part of this package.


fix bumping of parent version script

What this PR does:
Unfortunately the existing way of bumping the parent version works only if parent exists on the maven repository.. However, it ususally takes 15-20 minutes for new version to be available on the maven repository.. And since we use the script in the automated way, once the release is done it could actually resolve the new version to be not available and thus not updating the pom..
This is also the reason why automated workflow so far did not create any PR.. Simply there we no changes in the working three so you could not create a PR..
The update command sets the parent directly..

@kathirsvn same here, can you test if this works now locally for you if you are on Mac, just paste me the output of:
./scripts/bump_stargate.sh v2.0.13 && git diff


Exception when loading config from an Uno

Reported by Zappysauce75 in Discord
System.OverflowException: Value was either too large or too small for an Int32.
   at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
   at MobiFlight.Config.Config.FromInternal(String value, Boolean throwException)
   at MobiFlight.MobiFlightModule.get_Config()
   at MobiFlight.MobiFlightModule.LoadConfig()
   at MobiFlight.MobiFlightCache.<>c__DisplayClass33_0.<connectAsync>b__0()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

Looks like another place where we're missing a try/catch.

There's a try/catch around it but it's catching two explicit exception types and there's no generic exception handler, so the OverflowException doesn't get handled.
https://github.com/MobiFlight/MobiFlight-Connector/blob/1f6d0552d8da341525a5a503d305bb2a7295ff07/MobiFlight/Config/Config.cs#L70


feat!: Tighten typing for callbacks

This is a breaking change.
Callbacks were typed as Function which is too broad. This change
tightens the types to void Function(QuizSummary) and
void Function(int). Furthermore, the methods for adding callbacks
do not accept null anymore.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #57

PR #58

PR #59

PR #60

PR #61

PR #62   👈

This stack of pull requests is managed by Graphite.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #57

PR #58

PR #59

PR #60

PR #61

PR #62   👈

This stack of pull requests is managed by Graphite.

Merge activity

Jan 12, 7:50 AM: @Mr-Pepe started a stack merge that includes this pull request via Graphite.


Add possibility to define custom labels

Description
I would like to see a possibility to add custom labels to Istio components when installing via IstioOperator. I would like to have labels unified in all apps running in Kubernetes cluster, but istio is only one which has just its default labels.
Use case
I am installing prometheus an kiali to my cluster. I would like to add there cluster-wide set of labels:

app.kubernetes.io/version
app.kubernetes.io/component
app.kubernetes.io/part-of

There is no option for that in configuration. Apps provisioned have just default labels from istio:
app=kiali,pod-template-hash=586dbcd5fc,release=istio
app=prometheus,pod-template-hash=764b46fbbc,release=istio

Alternatives considered
Alternative that I tried were overlays. It works as expected, but only on pods that are already running, when bootstraping app from the scratch, it fails. More details can be found in this thread.
Example
  addonComponents:
    prometheus:
      enabled: true
      k8s:
        replicaCount: 1
        overlays:
        - apiVersion: apps/v1
          kind: Deployment
          name: prometheus
          patches:
            value: |
              app.kubernetes.io/component: prometheus
          - path: spec.template.metadata.labels
            value: |
              app.kubernetes.io/component: prometheus

Affected product area
[ ] Docs
[X] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Affected features

IIRC this is possible
spec:
  components:
    ingressGateways:
        - enabled: true
          name: istio-ingressgateway
          label:
            app: istio-ingressgateway
            istio: ingressgateway

@zufardhiyaulhaq thx for answer. That means that kiali and prometheus will be separated in the near future? And will be this configuration option possible?

@samuel-hopko From istio-1.6.0, istio addons(kiali, tracing, prometheus and grafana...) are be bundled with istio installation, it is the user’s responsibility to install these components by using the doc: https://istio.io/latest/docs/ops/integrations/

@morvencao thanks for the clarification


Error posting mock ratings

There seems to be some kind of problem with the version of Firestore used in the codelab, whenever I post the mock data i get this errors.

This is actually expected due to how we write the data, does the data fail to write?

No, it prints the data fine, thank you!


context: remove definition of Context

Back in the before time, the best practices surrounding usage of Context
weren't quite worked out. We defined our own type to make usage easier.
As this packaged was used elsewhere, it make it more and more
challenging to integrate with the forked Context type. Now that it is
available in the standard library, we can just use that one directly.
To make usage more consistent, we now use dcontext when referring to
the distribution context package.
Signed-off-by: Stephen J Day<EMAIL_ADDRESS>

LGTM

LGTM


Add button to legend to deselect all series

Add button to legend to deselect all series
Need to toggle visibility of all series
https://api.highcharts.com/highcharts/series.line.visible

I doubt this will ever be implemented unless something changes with Highcharts.


Anti Profanity

Is your feature request related to a problem? Please describe.
I think it would be amazing to have anti profanity features in this package, I would like to think of it as an 'all-in-one' package for automoderation in DPY.
Describe the solution you'd like
Have a basic anti profanity system, filtering all the usual words. Eventually maybe add a leveling system of filtering. IE: Level 1 - Low (Only filters the worse words.) | Level 3 - Strict (Filters almost all 'bad' words. For example : Damn, Ass, etc etc.)
Additional context
Yes, a big feature, but I think it would be well received.

The issue would likely be the implementation. In order to cater to multi-language this would need to be a fairly ambiguous system which is drag & drop for people. I do like the idea however, can you expand on the level idea?

Sure.
So users would be able to pick among x amount of anti-profanity 'levels.' The low levels have a considerable amount of tolerance in comparison to the higher levels. The purpose for the higher levels are for the servers who want zero tolerance for any type of bad word. I had in mind that the server admin could change the tolerance level on the fly via a command. I suspect the issue would be filtering these words to the different levels..

I suspect the issue would be filtering these words to the different levels..

This is correct. I can think of a way to implement this, and I like the general idea however the levels could be an issue. Do you have any thoughts on an implementation?

Not particularly. Maybe run tests for machine learning, instead of relying on a wordlist? I'm not all too sure how that would work.. but I've tried using wordlists for my bots and there is always an issue with them, using machine learning may be the key to making this work fluently. It also would catch if a user put a certain character in place of an actual letter in a bad word, (Example: F4ck.) I'm sure you could think of an alternative idea, im just spitting out ideas, let me know what think.

I think an ml approach is going to be too heavy on the end user for what it's worth, especially anyone who wants to use it in a context outside of the default one I would provide. Training models takes more data and time then is feasible for most devs looking for plug and play libraries in my opinion.
It will likely be implemented as a tuple/set. Further issues are raised since I would not be including this in the standard library. (I'm making it an extension since it's not 'Antispam' and standard lib is already decently sized and complicated)
I need a way to interact with guilds and users in order to track punishment levels without reinventing the wheel. Do you have any ideas?

I can ignore the issue if we assume every bad word results in a punishment, but the moment it doesn't and we need to track words said it falls back to said issue. I could take the tracker approach and use a dict, but that's inefficient when we already have these underlying data structures built into the library.
I think I will modify the Guild & User creation code to inject extensions and let extensions specify a method that is invoked every time a new Guild / User object is created.
 I don't feel it is worthwhile removing for a minority feature and worse performance

This is now up to you. I await a pull request once you have completed it @Codeize :)
The documentation, etc should all become available soon. If you need anything further in any aspect, just let me know

This could be done within the rewrite, the infrastructure changes allow this kind of plugin. I just need to find a nice way / wordlist

Given the ambiguous nature of the word list, I am going to close this as any solution would be biased towards a small subset of what end-users could want.
To anyone viewing this, the plugin system will easily let you integrate this into your bot.


"Material Theme: set accent colour" - affects all themes

When switching between themes I discovered that the "set accent colour" feature of material theme uses non-targeted settings that affect any active theme.
To reproduce:

Install Material Theme
Install and switch to any other theme
Use "Set accent colour"
Observe changes to active theme

You can see this manifest in settings.json, here's what happens when I choose "Pink":
    "workbench.colorCustomizations": {
        "activityBarBadge.background": "#FF4081",
        "list.activeSelectionForeground": "#FF4081",
        "list.inactiveSelectionForeground": "#FF4081",
        "list.highlightForeground": "#FF4081",
        "scrollbarSlider.activeBackground": "#FF408150",
        "editorSuggestWidget.highlightForeground": "#FF4081",
        "textLink.foreground": "#FF4081",
        "progressBar.background": "#FF4081",
        "pickerGroup.foreground": "#FF4081",
        "tab.activeBorder": "#FF4081",
        "notificationLink.foreground": "#FF4081",
        "editorWidget.resizeBorder": "#FF4081",
        "editorWidget.border": "#FF4081",
        "settings.modifiedItemIndicator": "#FF4081",
        "settings.headerForeground": "#FF4081",
        "panelTitle.activeBorder": "#FF4081",
        "breadcrumb.activeSelectionForeground": "#FF4081",
        "menu.selectionForeground": "#FF4081",
        "menubar.selectionForeground": "#FF4081"
    },

This should probably namespace the settings to the currently selected Material Theme. For example, when using Night Owl I fine tune it with:
    "workbench.colorCustomizations": {
        "[Night Owl]": {
            "activityBar.background": "#000C1D",
            "activityBar.border": "#000C1D",
            "sideBar.background": "#001122",
            "sideBar.border": "#001122",
            "sideBar.foreground": "#8BADC1",
            "panel.background": "#001122",
            "panel.border": "#001122",
            "menu.background": "#001122"
        },
    }

For example, for the Ocean High Contrast theme it should be:
        "[Material Theme Ocean High Contrast]": {
            "activityBarBadge.background": "#FF4081",
            "list.activeSelectionForeground": "#FF4081",
            "list.inactiveSelectionForeground": "#FF4081",
            "list.highlightForeground": "#FF4081",
            "scrollbarSlider.activeBackground": "#FF408150",
            "editorSuggestWidget.highlightForeground": "#FF4081",
            "textLink.foreground": "#FF4081",
            "progressBar.background": "#FF4081",
            "pickerGroup.foreground": "#FF4081",
            "tab.activeBorder": "#FF4081",
            "notificationLink.foreground": "#FF4081",
            "editorWidget.resizeBorder": "#FF4081",
            "editorWidget.border": "#FF4081",
            "settings.modifiedItemIndicator": "#FF4081",
            "settings.headerForeground": "#FF4081",
            "panelTitle.activeBorder": "#FF4081",
            "breadcrumb.activeSelectionForeground": "#FF4081",
            "menu.selectionForeground": "#FF4081",
            "menubar.selectionForeground": "#FF4081"
        },

Thank you. @LasaleFamine we may have a problem here because we should set a namespace for each theme variant that has been activated at least one time, duplicating the settings. Any idea to read/rewrite the theme namespace based on/if a material theme is activated?


1.17 Support

The /ir command doesn't work at all

Can you provide a copy of the error generated when you run /ir?

No it just doesn't open the UI in Minecraft

To me it sounds like you've got incorrect syntax. Could you please post the exact command you're running (feel free replace the username with something else).


Update CLI extensions available doc

Update CLI extensions available doc.
Triggered by Azure/azure-cli-extensions - TRAVIS_BUILD_ID=630717046
https://github.com/Azure/azure-cli-extensions/commit/f30a59736b3743775793477d97dd7432f1d5f52a

Docs Build status updates of commit ad822fb:
:clock10: Full build: the average full build time is 7 min(s) 9 sec(s), this is based on the last 329 build(s) for this repository.

Docs Build status updates of commit ad822fb:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/azure-cli-extensions-list.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


When using "Transforms" Figma detects style changes

I've been using the "opacity" transform and everything works. The problem is that Figma detects style changes to be published every time I open Theemo (even if I don't make any edit).

Fixed with #57 (using new styles API)


In @scalar/nestjs-api-reference and @scalar/express-api-reference, the @scalar/api-reference should be removed from the dependencies.

What happens?
For these packages, there is no need for @scalar/api-reference as a dependency, and they should use @scalar/types like @scalar/fastify-api-reference
when I install the @scalar/express-api-reference package.

What did you expect to happen?
like @scalar/fastify-api-reference when i installed.

OpenAPI Document
No response

Related to issue #3159, I will submit a PR for this.


Transform3D Aabb operator * does not handle rotations properly  [C#]

Tested versions
reproduced in 4.3.stable.mono
not attempted in other versions
System information
Godot v4.3.stable.mono - Windows 10.0.22631 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 970 (NVIDIA; <IP_ADDRESS>70) - AMD Ryzen 9 7900 12-Core Processor (24 Threads)
Issue description
I think that the csharp code for public static Aabb operator *(Transform3D transform, Aabb aabb) does not handle rotated+offsetPosition AABB's correctly.
The code, from Godot's Transform3D.cs is as follows:  https://github.com/godotengine/godot/blob/0a4aedb36065f66fc7e99cb2e6de3e55242f9dfb/modules/mono/glue/GodotSharp/GodotSharp/Core/Transform3D.cs#L460
When I change to use my own custom version, everything works properly:
	public static Aabb _Transformed(this Aabb aabb, Transform3D transform)
	{
		////////////////////////////////////////////////////////
		//full corner method:  accurate
		/////////////////////////////////////////////////
		////
		//// Get the 8 corners of the AABB

		Vector3[] corners = new Vector3[8];
		corners[0] = new Vector3(aabb.Position.X, aabb.Position.Y, aabb.Position.Z);
		corners[1] = new Vector3(aabb.Position.X, aabb.Position.Y, aabb.End.Z);
		corners[2] = new Vector3(aabb.Position.X, aabb.End.Y, aabb.Position.Z);
		corners[3] = new Vector3(aabb.Position.X, aabb.End.Y, aabb.End.Z);
		corners[4] = new Vector3(aabb.End.X, aabb.Position.Y, aabb.Position.Z);
		corners[5] = new Vector3(aabb.End.X, aabb.Position.Y, aabb.End.Z);
		corners[6] = new Vector3(aabb.End.X, aabb.End.Y, aabb.Position.Z);
		corners[7] = new Vector3(aabb.End.X, aabb.End.Y, aabb.End.Z);

		// Transform each corner
		for (int i = 0; i < 8; i++)
		{
			corners[i] = transform * corners[i];
		}

		// Find the minimum and maximum points of the transformed box
		Vector3 min = corners[0];
		Vector3 max = corners[0];

		for (int i = 1; i < 8; i++)
		{
			min = min.Min(corners[i]);
			max = max.Max(corners[i]);
		}

		// Create a new AABB from the min and max points
		return new Aabb(min, max - min);
	}

I am not a math guy so all I can guess is that there is some order-of-operations issue going on here with the matrix calculations.
I discovered this because I wrote a kitbash importer that successfully imports complex multimesh composite "models" and I manually track the AABB's of these for use in my custom BVH.  For objects that are both rotated and positioned, I noted that transforming the meshInstance3D.GetAabb() had the wrong positioning.  It took me a while, but I noticed that my custom OBB's were getting calculated properly, so eventually I tracked it down to this transform operator *
Steps to reproduce
I have a very complex project so it's hard for me to figure out an easy way to provide repo-steps, but it seems that this problem occurs when a model with assets not at the origin is rotated.
I have attached an export of the model I noticed this problem with.
also I notice that when I put this into a scene, godot shows a debug bounds for it that is off, similar to (but not the same) as the issue I have seen.
quoin_detailed.glb.zip

Minimal reproduction project (MRP)
as I'm not a math guy I don't really fully understand the issue, so maybe if you can glance over the current operator * implementation and consider my statement, you'll realize that either there's a problem or if I have some workflow issue.

This is an image where I visualize the AABB's using my custom Transform extension method

This is an image where I visualize the AABB's using the builtin transform * aabb operator

If this issue is determined to be valid, here is a more optimized solution you can use
	public static Aabb _Transformed(this Aabb aabb, Transform3D transform)
	{
		//builtin method has a bug:  it doesn't handle rotations properly
		//return transform * aabb;
		{
			//////////////////////////////////////////////////////////
			////geometric rotation method: faster an accurate
			///////////////////////////////////////////////////

			// Extract scale and rotation from the transformation matrix
			Vector3 scale = transform.Basis.Scale;
			Quaternion rotation = transform.Basis.GetRotationQuaternion();

			// Calculate the half-extents and center of the original AABB
			Vector3 halfExtents = (aabb.End - aabb.Position) * 0.5f;
			Vector3 center = aabb.Position + halfExtents;

			// Apply the scale to the half-extents
			Vector3 scaledHalfExtents = new Vector3(
				halfExtents.X * scale.X,
				halfExtents.Y * scale.Y,
				halfExtents.Z * scale.Z
			);

			// Rotate the unit axes using the quaternion
			Vector3 rotatedX = rotation * Vector3.Right;  // Rotate the X-axis (1, 0, 0)
			Vector3 rotatedY = rotation * Vector3.Up;     // Rotate the Y-axis (0, 1, 0)
			Vector3 rotatedZ = rotation * Vector3.Forward; // Rotate the Z-axis (0, 0, 1)

			// Project the scaled half-extents onto the new rotated axes
			Vector3 newHalfExtentsX = scaledHalfExtents.X * rotatedX;
			Vector3 newHalfExtentsY = scaledHalfExtents.Y * rotatedY;
			Vector3 newHalfExtentsZ = scaledHalfExtents.Z * rotatedZ;

			// Compute the new half-extents by summing the absolute values of the projections
			Vector3 newHalfExtents = new Vector3(
				Math.Abs(newHalfExtentsX.X) + Math.Abs(newHalfExtentsY.X) + Math.Abs(newHalfExtentsZ.X),
				Math.Abs(newHalfExtentsX.Y) + Math.Abs(newHalfExtentsY.Y) + Math.Abs(newHalfExtentsZ.Y),
				Math.Abs(newHalfExtentsX.Z) + Math.Abs(newHalfExtentsY.Z) + Math.Abs(newHalfExtentsZ.Z)
			);

			// Transform the center point
			Vector3 transformedCenter = transform * center;

			// Create the new AABB from the transformed center and new half-extents
			Vector3 newMin = transformedCenter - newHalfExtents;
			Vector3 newMax = transformedCenter + newHalfExtents;

			return new Aabb(newMin, newMax - newMin);

		}
}

Confirmed, the calculations unintentionally swapped rows/columns. Workaround until fixed (#97208):
Transform3D transform3d = ...;
Aabb aabb = ...;

Aabb wrong = transform3d * aabb;
Aabb correct = new Transform3D(transform3d.Basis.Transposed(), transform3d.Origin) * aabb;

@kleonc thank you for investigating.   I think there is a similar issue with the godot internal calculations, as this screenshot the orange bounds is godot's editor default selection visualization, which closely matches to the bounds if I were to visualize the transformed aabb's using the current buggy builtin transform

I think there is a similar issue with the godot native calculations, as this screenshot the orange bounds is godot's editor default selection visualization, which closely matches to the bounds if I were to visualize the transformed aabb's using the current buggy builtin transform

@jasonswearingen I've checked out this model you've provided:

I have attached an export of the model I noticed this problem with.
quoin_detailed.glb.zip

And note that by importing it with default settings there's more then just a MeshInstance3D node in there, and that's why it produces AABB exceeding the mesh bounds:
(added it as a child of plain Node3D and enabled Editable Children for inspecting)

After marking Group to be skipped and reimporting:

So briefly looking I don't see AABB calculations being wrong here.
If there are some issues with the importing etc. then they should be reported in separate issue though, this one is specifically about faulty Transform3D * Aabb calculation in C# (which is already addressed in #97208).

Thank you so much for the detailed explanation.  I understand, and it makes sense.  Please feel free to close this whenever it makes sense to (I'm not sure if your policy is to wait until the fix is merged, or if it should be closed now)


Help with formatting a time stamp?

Hi,
How would I go about creating an ISOz timestamp without miliseconds from the current time? (like this:  2015-06-24T05:04:13Z).
You give this example in the readme:
{:ok, "2015-06-24T05:04:13.910Z"}```
In your tests I saw [this line](https://github.com/bitwalker/timex/blob/master/test/format_default_test.exs#L228) which is essentially what I want, but that is given a time w/o ms.

Do I need to round or preformat `Date.local` first?

Hope this is clear, Thank you for any suggestions.

You'll have to use the individual tokens, so in this case it would be:
Date.local |> Timezone.convert("UTC") |> DateFormat.format("{ISOdate}T{0h24}:{0m}:{0s}Z")

This effectively duplicates what the {ISOz} shortcut directive does, but does not print fractional seconds. {ISOz} expands to {ISOdate}T{ISOtime}Z, which expands to {000YYYY}-{0M}-{0D}T{{0h24}:{0m}:{0s}{ss}Z, in case your curious what the formats are. The reason why {ISOz} does implicit conversion to UTC (along with other z-suffixed directives like {RFC1123z}) is due to some special case handling I do inside the parser for those.

Great. Thank you!


[Packaging] What about conda?

It would be cool to have a modin package in conda-forge

That is one of our goals with the next release! Conda forge requires that
all of our dependencies be on conda forge and before we used to rely on
ray, which was not on conda forge. However, with the upcoming release,
modin is going to not depend on any engine (e.g., Ray, Dask). As a result,
with the next release (which should be soon), we will be able to be on
conda forge!
On Mon, Sep 16, 2019 at 6:30 AM Florian R. Hölzlwimmer <
<EMAIL_ADDRESS>wrote:

It would be cool to have a modin package in conda-forge
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/modin-project/modin/issues/797?email_source=notifications&email_token=AC6N6VN2EAFJJDMSXUWGTC3QJ6DARA5CNFSM4IXCJETKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HLST4ZA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC6N6VJIRVVWNZJ4XVTLXSDQJ6DARANCNFSM4IXCJETA
.

Thanks, cool that you're on it already!

Linking PR in conda-forge for reference: https://github.com/conda-forge/staged-recipes/pull/8471

Linking PR in conda-forge for reference: conda-forge/staged-recipes#8471
Seems like build on only Windows was successful, maybe wanna check?

Thanks @BraINstinct0, I will make some time to get it for the next release.
Because of the issue with Ray not being on conda, we have to work around it in our own build process and update accordingly.

I'd love to see conda supported, running a mixed conda environment (for teaching) with "tacked on" pip installs is definitely a bit more complicated for students. Thanks for the package!

Conda was just added. This was a non-trivial effort because Ray is not supported on conda. Thanks all for your patience.


SPIKE[12]: Handle newformat TSVs moving to Catalog Next

All new spec'd TSVs will use the Catalog Next release tags instead of being published to Door43-catalog.
Can we use GRT to handle Catalog Next features? Particularly release tags.
How will it handle repo objects?

If GRT returns a repo object as is from DCS/Gitea's API, then you should have information about ever "stage" of the catalog, if you want to show the latest release (prod), "pre-prod" (set in stone but not yet prod, a setting when making a release), "draft" (not yet set in stone but points to the end of a given branch), and "latest" (master branch if manifest.yaml is valid).
See https://git.door43.org/api/v1/repos/unfoldingword/en_obs as an example. The "catalog" property has an object and entry for each of these stages to show if the repo has them and what the name of that release is (branch_or_tag_name) and then a API URL for the release.

Ok, GRT DOES return the catalog/release info of a repo, as one can verify here: https://gitea-react-toolkit.netlify.app/#/Repositories ?id=repositories-1
The search results show a JSON (all on one line) so you have to scroll to the right and see the catalog entries.

Links
The Catalog Next overview:
https://forum.door43.org/t/catalog-next-populating-accessing-the-dcs-resource-catalog/899/8
The Catalog Next Swagger:
https://qa.door43.org/api/catalog/swagger#/v5/v5SearchOwner
Prior Work

The caching proposal below is similar to the approach used by the Content Validation App, which was developed by Bruce McLean.
The gatewayEdit codebase includes a hook that wraps the NPM "Local Forage" component and manages data in the browser's indexedDB database.

Proposal - High Level
Create a headless component library that integrates CN with DCS.
The features of this CN component are:

For production users, restrict application access to production releases for our resources.
For developers, allow specification of the CN release to use for resources
For improved performance (and reduced network and server resources), provide automatic management of caching based on resource releases. A description of the caching features is below.

Proposal - Details
Initialization
The CN component requires initialization when the application starts. This initialization will proceed in the background, so that app is not required to wait until it is done.
The initialization parameters are:

SERVER: this points to the copy of DCS to use. Default will be
https://qa.door43.org; for production: https://git.door43.org.
OWNER: this is the owner of the resources. The default is 'unfoldingWord'.
LANGID: this provides the language to be used in identifying resources. Default will be en.
RESOURCES: this is a comma delimited list of resource IDs. The complete list is:
'ta', 'tw', 'twl', 'tn', 'tq', 'obs', 'obs-tq', 'obs-tn', 'obs-sn', 'obs-sq'. Issue: how to specify Original Language resources (Greek and Hebrew texts).
STAGE: this is the value for CN component which determines the release level to work with. It must be one of the following: 'latest', 'preprod', 'prod', 'draft'. The default is 'latest'.
APIVERSION: this may be hard coded for now to be api/catalog/v5.

API
The CN component will provide a set of functions to access the content of a resource.
Given a server, owner, language, resource type list, and stage:

initialize(): will run initalizeCache() for each resource type asynchronously. Before doing this will it clear the "unzipped cache".

initializeCache(): will retrieve the corresponding Zip file for the resource.

If stage is "latest" (default), then...

It will query DCS Catalog Next to check what the latest release is.
If the resource zip file is already cached. then it does nothing.
If not cached, then it must fetch the "resource zip" from CN and store it in the cache.

If stage is not "latest", then...

It will query DCS Catalog Next to find the requested release
If none qualify, it will throw an error. (Note that use of anything other than latest will generally be done by developers.)
If a qualifying resource is found, it the process above is followed. (Issue: what are the "rules" for a qualifying resource?)

Given an owner, language, and resource type:

getManifest(): return the manifest as a JSON object. This would be used to access arbitrary attributes in the manifest.
getProjects(): return the list of projects from the manifest. This would be used to provide a list of projects from which the user may select.
getFilenames(): return a list of the files that correspond to the project(s) in the sort order (if any) provided by the manifest. This would be used to provide a file list from which the user may select. NOTE: for non-Scripture resources (i.e., TW and TA), a list of filenames will have to be extracted from the zip itself. This list should itself be cached.

Given an owner, language, resource type, and a filename:

getContent(): returns the content of the file. This function may throw an error if the content does not pass validation.

Caching Features
There are two levels of caching:

one that is cleared at the start of the app: "unzipped cache"
one that contains the released resource CN zip files: "zip cache"

When the app requests a file from the cache (either the manifest or a project file), then:

The unzipped cache is checked first and the file is returned if found
If not found, then the file is extracted from the zip file and stored in the unzipped cache; then it is returned.

There may be times when a user logs in and gets to the file selection step before the initialization has fetched the zip file. In this case, the app must show an "in process" spinner until the zip is present for use.
Issue: Running apps that use the CN component in mulitple tabs of the same browser may interfere with each other at the cache level. Consider when a new latest is available to the app in the second tab that wasn't available when the app started in the first tab.

@richmahn could you review the above proposal for Catalog Next accuracy? Thanks.
@PhotoNomad0 I give you credit for the caching scheme in this proposal. Could you review for any flaws in how I described it? Thanks.

Here is the write up on "editor" vs "translator" workflow.
Edit vs Translation
The tc-create app has both a "source" and a "target" for content. The source side is on the left side of the page and the target on the right. The term "edit" and "editor" are used to describe those who maintain the English language content of the uW resources.

For editors, both source and target are the exact same repo.
For translators, the source and target are never the same repo; and generally never the same owner. In other words, translator work is saved in a different org.

Below are both current process and future catalog next based process.
Current Process
Translator Chronology

Translator selects a file to translate from the list of files from the source uW master repo branch.
Branch is created in target repo and the file is created in that branch populated with the English content from the  uW source master repo branch.
The source side is populated from the uW source master branch.
The target side may be changed and saved to the translator's branch until done.
Translator finishes, saves, and a PR is used to merge this new file into the target master branch.
Later, the translator wants to "edit" the translated file.
Again the file is selected from the list of files from the  uW source master repo branch.
This time, since the target master branch has content for this file, it will be used to populate the translator's branch.
Changes are made, saved, and a PR is used to merge the updates back to the target master branch.

Editor Chronology
This case describes an update to the uW English source repo.
Reminder: for an editor the source and target are the same org and repo. Thus the adjectives "source" and "target" are dropped in the description below.

Editor selects a file to translate from the list of files from the uW master branch.
Branch is created in repo and file is created in the editor's branch and is populated the content from the uW master branch.
Both the left (source) side is populated from the repo master branch.
The editor's side content may be changed and saved until the editors's work is done.
Editor finishes, saves, and a PR is used to merge the updates into the uW master branch.

Future Catalog Next Process
Translator Chronology

Translator selects a file to translate from the list of files in the uW catalog. The list shown will always be from the latest English production published content in the uW org.
Branch is created in target repo and the file is created in a  branch with the English content from the catalog.
Translator may continue to make changes and save them until the work is done.
Translator finishes, saves, and a PR is used to merge this new file into the target master branch.
Later, the translator wants to "edit" the translated file.
Again the file is selected from the list of files in the uW catalog.
This time, since target master branch has content for this file, it will be used to populate the translator's target branch.
The source side is populated from the uW production English catalog.
Changes are made, saved, and a PR is used to merge the updates back to the target master branch.

Editor Chronology
This case describes an update to the uW English source repo.
Reminder: for an editor the source and target are the same org and repo. Thus the adjectives "source" and "target" for "repo" are dropped in the description below.

Editor selects a file to translate from the list of files in the uW production English catalog.  See Note #1 about added content, such as a new Translation Word article.
Branch is created in repo and the file is created in a  branch with the English content from the repo.
The source side is populated from the uW production English catalog.
The Editor may continue to make changes and save them until the work is done.
Editor finishes, saves, and a PR is used to merge the changed file into the master branch.

Note #1 To add new content, the editor must something like this:

Create the content manually.
Add it directly to the uW English repo master branch.
Once even a partial file is in the master branch and is released to catalog next, then it will be available for further editing within tc-create.

Note: in branch feature-cn-829-add-catalog-next I have some code that might be usable for a quicker solution.
@ancientTexts-net

Issue: how to specify Original Language resources (Greek and Hebrew texts).

Probably easiest to just include them in the list as "el-x-koine_ugnt" and "hbo_uhb" and if a resource name like this has an underscore, you assume it already includes the language so you don't prepend a language code.

If stage is "latest" (default), then...

@mandolyte "latest" stage means the master branch. Don't you mean "prod" as the default?
Just now proof-reading this.

@richmahn thanks - I updated the portions above.

see issue https://app.zenhub.com/workspaces/tc-create-workspace-5f049cdbfa88090016bf043e/issues/unfoldingword/tc-create-app/861

https://github.com/unfoldingWord/tc-create-app/tree/feature-cn-829-add-catalog-next
feature-cn-829-add-catalog-next

NOTES:
https://git.door43.org/cecil.new/journals/src/branch/master/tc-create-app/tc-create-app.829.md

Testing Notes for QA
As Editor Role

in QA DCS, go to the resource file in unfoldingWord+English, edit it, and propose a change. Proceed with the PR and update master with your change. Now the master branch will be clearly different from the published content. This only needs to be done once after QA is refreshed from production (on Mondays).
Delete your branch (if any)
Now run tc-create, selecting unfolding word as org, en_tn or en_twl as resource, English as the language, and the file modified in step 1.

Expected Results: both source and target will contain the modified data from master branch.
Note: once editing has started, the target will contain whatever is in the users branch at that time.
As Translator Role

in QA DCS, go to the resource file in unfoldingWord+English, edit it, and propose a change. Proceed with the PR and update master with your change. Now the master branch will be clearly different from the published content. This only needs to be done once after QA is refreshed from production (on Mondays).
Let's say, you are using Es-419_gl in the translator role and es-419_tn as the resource type. Then delete your branch in that repo if you have one.
Now run tc-create, selecting es-419_gl as the org, then TN as the resource type, and es-419 as the language.
Select the file modified  in step 1.

Expected Results: both source and target will contain content from the latest production release, NOT the master branch from unfoldingWord.

Testing
Below are six different use cases to be tested. Altho, since Editor Case A isn't possible, there are actually only five.
In addition to the content shown in the source and target sides, there is also the functionality of the file header chips that must work properly. Both source and target are shown here:

The functions are:

view the license for the repo
view the DCS webpage for the item
source: compare vs master
target: compare vs branch

Editor Role
This is when unfoldingWord English language resources are being edited.
Case A: New Item
In this case, an entirely new item is being created. This case is not possible with tc-create. New items must be created using other tools and added to the repository using Gitea DCS itself.
Case B: Begin Update of Existing Item
This is the common case. It is recognizable when the source and target repos are identical. At present, the source is always a repo owned by unfoldingword. The following occurs:

A user branch is created (if it doesn't already exist)
The current item in the master branch is copied to the user branch, which becomes the starting point for the edits.
Note that if a second party is also editing, saving, merging the same item, then it is possible that the source side (left) may different from time to time while the first is editing. There is currently no mechanism in place that will notify the first user that this has occurred. Teams must rely on communication to coordinate changes.

Case C: Continue Update of an Existing Item
In this case, the edits may take several sessions/days/weeks. When the user returns to the item to continue editing:

No user branch is created, since it already exists
No content is copied from the master branch to the user branch, since the user edits are being captured there for later merging into the master branch

Translator Role
This is when other organizations create content, translating from unfoldingWord owned and published resources. The role of translator is recognized by selection of a non-uW organization.
Case A: New Item
In this case, an entirely new item is being created. The new item, of course, is only new to the translating organization. It will be selected from the unfoldingword organization for translation. The source content is currently taken from the latest production uW content. The steps are:

The source is selected from the uW master branch file list. There is an edge case where uW might have content in the master branch that is not yet released. This will cause an error when the published version of the content is retrieved.
The content for the source is retrieved from the latest published content.
Note that since a new version of the content may be published while the translator is working, there is at present no mechanism in place to detect and notify the translator that the source from which they are translating may have changed (it may or may not -- it is only a possibility).
A user branch is created in the translating org's repo and the default content from the uW published content is created there by default. That is, the English content is the starting point for the translation.
At the end, the source side contains latest uW published content and the target side is identical.
Eventually, once the translation is done, it will be merged into the org's repo's master branch.

Case B: Begin Update of Existing Translated Item
In this case, translated content already exists and this will be an update to the existing content.

A user branch is created in the repo
The content of the repo's master branch will be used as the starting point will be copied to the user's branch.
At the end, the source side will have the latest published content from uW and the target side will have the org's repo's master branch content.

Case C: Continue Update of an Existing Translated Item
In this case, the edits may take several sessions/days/weeks. When the user returns to the item to continue editing:

No user branch is created, since it already exists
No content is copied from the master branch to the user branch, since the user edits are being captured there for later merging back into the master branch

tc-create-app.829.testing.pdf
Testing completed. Not shown in the attachment are the file header link results.

Related Issues in #822

Testing notes
Cecil included some instructions for testing on the Spike:
https://app.zenhub.com/workspaces/tc-create-workspace-5f049cdbfa88090016bf043e/issues/unfoldingword/tc-create-app/829
Cecil's testing notes involve updating MASTER to force a difference between MASTER and the PROD RELEASE VERSION.
This approach is a great idea && probably easier than creating a new release.
But here are some specifics just about where the screens are:

Open Catalog Next Content

Open English content on DCS
(unfoldingWord org)
e.g., https://qa.door43.org/unfoldingWord/en_tn
Select the Releases tab
Select a Release (e.g., "Version 48)
Click the "Tag" icon
to browse release content

Create New Release

Commit some changes to the master branch (in QA! 😲 🙂)

Open a content file & click the "Edit" icon
Save by clicking "Create a new branch and start a pull request" at the bottom.
(--or-- begin by editing your own branch)
NOTE: you do NOT need to create or merge a PR.

Create a new release

Select the "Releases" tab.
Click "New Release"
Select the branch you created in the first step.
Click "Publish Release"
Fill in Version Name and Title fields.

Now the new release is available to tC Create.

.


Find: order by primary key by default

Hi there !
There is currently no default order for preloaded tables when Find() is used.
I have added gorm:order_by_primary_key to scope, the same way it's added in First().

Hi @lscieux
Thank you for your PR, but I think this is not necessary, if you want to add the condition by default, you could register a callback for that.
Refer: http://jinzhu.me/gorm/development.html#write-plugins

Thanks for your response. Yes callback could be a good alternative.
I just thought it was a bit strange that by default First and Find do not use the same order.

Not sure, but I think its better to use database's default order when call with Find


DetectNet COCO-Dog Train Example doesnt draws all bounding boxes

Hello, i'm new in digits and deep learning.I have learned detectnet to detect dogs according jetson-inference guide and then i saw that it doesn't find all bounding boxes on test images with few dogs. But as i can see from coverage and bbox visualization it can do that (look at pictures). What i'm doing wrong? Probably i should change some threshold, but where?

Hi @bronstein87 , I'm not sure how to change the threshold in DIGITS, but the detectnet-console and detectnet-camera programs have a --threshold argument which you can set from the command line (the default threshold being 0.5)


[Snyk] Security upgrade com.amazonaws:aws-java-sdk from 1.12.318 to 1.12.331

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `maven` dependencies of this project.
:sparkles: Snyk has automatically assigned this pull request, set who gets assigned.
As this is a private repository, Snyk-bot does not have access. Therefore, this PR has been created automatically, but appears to have been created by a real user.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

uasdm-server/pom.xml

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

616/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 5.9
Denial of Service (DoS) SNYK-JAVA-COMFASTERXMLJACKSONCORE-3038426
com.amazonaws:aws-java-sdk:  1.12.318 -> 1.12.331
No
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
👩💻 Set who automatically gets assigned
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Denial of Service (DoS)

Out of date


e2e remove setup go step

Maybe im misunderstanding, but I don't think this does anything. Its installing golang outside of docker. (And costs 3 minutes!)

Update: I am even more confused now that this worked without this step. make test-e2e-ci definitely depends on go being installed outside of docker.


✨ Feast and Feast UI on the AP

Describe the feature request.
Alongside mlflow, Feast is another tool in the MLOps toolbox that allows for Data Scientists/ML practitioners to save and load 'features' for the ML models. Features act slightly differently to how we currently treat 'data' on the AP. In addition, Feast has its own UI so users can explore models and features, allowing for better collaboration between ML projects.
Describe the context.
I am starting my role as MLOps coordinator from next week. Therefore I am highlighting MLOps needs as early as possible in the hopes that they can be made possible during my six month stint.
Value / Purpose
Without a dedicated tool like Feast, the impact of Data Science at MoJ will be greatly reduced. It will save time for the Data Scientists by providing a centralised store of their own features, but also provide them with the opportunity to see what others are doing. Without this approach, ML model features will not be easily transferrable across ML projects.
User Types
Data Scientists doing ML

Note: Might be redundant if SageMaker is the chosen approach.

Meeting to be held with the MLOps team to ascertain requirements and current state.
Linked tickets:
https://github.com/ministryofjustice/data-platform/issues/3372
https://github.com/ministryofjustice/data-platform/issues/3378
https://github.com/ministryofjustice/data-platform-support/issues/527


Adding support for sitemap.xml generation?

https://github.com/jekyll/jekyll-sitemap
Any plans to add support for something like this? I am using this theme on https://takanodan.net, and am working on SEO.
Thanks!

Mediumish already generates sitemap with jekyll-sitemap: https://takanodan.net/sitemap.xml


Prepare for eventual upgrade to SQLAlchemy 2.0 by addressing backwards incompatible changes

🔒 see slack thread

Already upgraded to 2.0, issues were addressed prior.


refactor(pinia-orm): createORM() had wrong type

🔗 Linked issue
closes #1813

❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 99.72%.  Consider uploading reports for the commit fa3d186 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1830      +/-   ##
==========================================
+ Coverage   99.66%   99.72%   +0.06%
==========================================
  Files          87       87
  Lines        5917     5920       +3
  Branches      503      502       -1
==========================================
+ Hits         5897     5904       +7
+ Misses         16       13       -3
+ Partials        4        3       -1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


AKS Learn feedback: Link to Documentation is outdated and not working

Type of issue
Missing information
Feedback
The link below found on AKS page for generating SSH key is not working
Create an AzAPI resource to generate an SSH key pair using azapi_resource_action

Page URL
https://learn.microsoft.com/en-us/azure/aks/learn/quick-kubernetes-deploy-terraform
Content source URL
https://github.com/MicrosoftDocs/azure-aks-docs/blob/main/articles/aks/learn/quick-kubernetes-deploy-terraform.md
Author
@schaffererin
Document Id
dff8fa9c-b5e2-c368-cb36-de9e304ecb80

#assign:schaffererin

@SullzCode, thanks for bringing this to our attention! I fixed the broken link and the changes were merged. The public-facing article will reflect those changes shortly. I'm going to close out this issue now. Thanks again!
#please-close


Sev

just restructured folders
have http requests working with the cam
automatic wifi connection using python

im so sleepy man


Verified images

A mechanism that verifies the images consumed by the running system. When we do installation and upgrades, we recompose an img file from a docker image which is pulled. The docker image itself is verified with DCT and checksum verification, but the image that we create to boot from it's not. The issue is about finding a strategy to sign the content which is actually being used to boot. This can be done:

By either uploading separate .img file into standalone images (retrieved by metadata informations?) which is directly consumed (no reconstruction needed) or
by another mechanism that is able to verify that the img files we are reconstructing are exactly the same from the docker ones. See https://github.com/moby/moby/blob/master/pkg/tarsum/tarsum.go#L4 as an example

This mechanism should be used by the standard upgrade channel, while could be ignored when passing by a docker image (e.g. for local development iteration)
See also: https://artifacthub.io/packages/tbaction/tinkerbell-community/archive2disk
Sub-Issues

[x] #107
[x] #113
[x] #126
[x] #175

all done!


cbsdk timestamp issue

Hi Ehsan,
I have created a Gist from the code that I shared here:
https://gist.github.com/sam-hagh/8a10ed2cd331f21845ce017dbd64d479
Here is a very simple code that can reproduce this issue.
The code does the following:

open the first instance (instance 0)
configure the first channel so that it records continuous data at 30kHz without any filter.
configure the first instance in order to get continuous data
then, each time we get data, we compare the timestamp of the data with a computed theoritical timestamp. This theoritical timestamp is computed using the timestamp of the previous data packet and the number of samples it contained.
If there is any difference between the actual timestamp and the theoritical one, we output the difference to the console.

When I run this sample code, I occasionally get about 30 samples errors in the timestamp.
Can you confirm that you observe timestamp errors as well, and if so, look for a solution ?

In cbSdkGetTrialData you set active to 1, which resets the buffer time if the computer is not fast enough to process everything before new packets arrive. There is a buffer, so if on average the speed is enough you do not have to set active to 1 and not lose data.

I have updated the code to the latest. Now init also accepts reset parameter, and the timestamp should be fixed. Please re-open if needed.


IMU_LiDAR params

Hello again my friend ,
I understand what do you mean in #16  but as I'm new, how can I find these parameters ? I tried LiDAR-imu-init repository but the results are not good. I got something like that

Initialization result:
Rotation LiDAR to IMU (degree)     =  80.540787 -36.750309  78.788532
Translation LiDAR to IMU (meter)   = -0.141204  0.223906  0.390454
Time Lag IMU to LiDAR (second)     = -18.262039
Bias of Gyroscope  (rad/s)         =  0.051176 -0.071062 -0.004010
Bias of Accelerometer (meters/s^2) = -0.005226  0.015899 -0.003477
Gravity in World Frame(meters/s^2) = -7.115069 -6.738784 -0.447985

Homogeneous Transformation Matrix from LiDAR to IMU:
0.155873 -0.276107  0.948403 -0.141204
0.785972 -0.546882 -0.288390  0.223906
0.598291  0.790370  0.131768  0.390454
0.000000  0.000000  0.000000  1.000000

Refinement result:
Rotation LiDAR to IMU (degree)     =  82.048534 -36.625378  77.469056
Translation LiDAR to IMU (meter)   = -0.274615  0.277822  0.348879
Time Lag IMU to LiDAR (second)     = -18.262039
Bias of Gyroscope  (rad/s)         =  0.257372 -0.246300 -0.139832
Bias of Accelerometer (meters/s^2) = -0.005012  0.015841 -0.003373
Gravity in World Frame(meters/s^2) = -7.115129 -6.738791 -0.448222

Homogeneous Transformation Matrix from LiDAR to IMU:
0.174212 -0.263379  0.948832 -0.274615
0.783446 -0.546662 -0.295589  0.277822
0.596543  0.794853  0.111108  0.348879
0.000000  0.000000  0.000000  1.000000

How can I calib my imu(mti g 710 )with LiDAR (livox mid 40)?? There is any repo ?
EDIT
The values are too big because i did fast calib with lil-init just to show you the type of extracting data.
Thanks in advance .

The calibration parameters in our repo are from the Livox-supplier, where IMU is built-in style.

maybe you can check the repo also from PJLAB-ADG: https://github.com/PJLab-ADG/SensorsCalibration