Improve analyzer/upgrade performance by using a NuGet caching resource provider

Drafting this PR to ensure I'm not missing something and causing some unintended consequences w/ these changes. Results of performance increase in our UT can be found in this comment of the linked issue.

[x] You've read the Contributor Guide and Code of Conduct.
[x] You've included unit or integration tests for your change, where applicable.
[x] You've included inline docs for your change, where applicable.
[x] There's an open issue for the PR that you are making. If you'd like to propose a new feature or change, please open an issue to discuss the change or find an existing issue.

For PRs which target a specific extension within UA, you must add the appropriate reviewer group manually
since GH does not support doing this based on repo paths (yet)

Extension
Reviewer group to request

UWP
dotnet-upgrade-assistant-uwp

MAUI
dotnet-upgrade-assistant-maui

WCF
dotnet-upgrade-assistant-wcf

Extension changes won't be approved by a member of the dotnet-upgrade-assistant-admin group until a member of one of those has approved, when required.

[x] You have requested the appropriate reviewer group for your extension code, or it is platform-level code.

This changes our Transitive Dependency analyzer in the following ways:

When asking for transitive dependencies of a project, compute once & cache result
When asking for direct dependencies of a project, compute once & cache result
When doing a nuget restore, use a static Caching Resource Provider for the calls. This is the bulk of the perf improvement
Style changes from for loop and yield returns to simply giving back a LINQ enumerator

Addresses #849

Perf diffs can be found in the associated issue.

CI timings replicate my local box 🎉

@twsouthwick any more feedback? am I missing answering anything?


Parallelize timestream upload

For a single file upload the duration is now down to ~2.2sec from ~25sec, because I make all API calls in parallel (~100 not really sure). This means my lambdas are way cheaper because I don't pay for a bunch of cpu that idles to make api calls.
as a result the api throttles/returns errors way sooner, that meant I had to reduce the reserved concurrency dramatically. I experienced intermittent errors on 5 and went down to 2. Zero errors at 2 tho.
I could implement that only a certain number of goroutines can run concurrently, to not overwhelm the api to much, as a result I'd have longer running lambdas, which means higher cost. I will stick with a limit of 2 and optimize later

Doesn' work for large file, because it tries to send to many api calls at once
failed to write to timestream: RequestError: send request failed caused by: Post "https://ingest.timestream.us-east-1.amazonaws.com/": dial tcp: lookup ingest.timestream.us-east-1.amazonaws.com on <IP_ADDRESS>:53: dial udp <IP_ADDRESS>:53: socket: too many open files: errorString null

Limited it to 10 concurrent api calls, there is some room for improvement, but I'm limited on queries anyway.
I'm now at 4,4 seconds with 15 concurrent lambdas and 10 concurrent goroutines.


Feat: AI-Excalidraw Gemini

Describe the feature
Converting the AI code to design flowcharts.
Add ScreenShots
Not required!
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@subhadeeproy3902 Assign me this issue!


operator: load TLS CA bundle also when handling sub-object changes

When handling change or delete events for sub-objects, in particular
MutatingWebhookConfig, a pmemCSIDeployment was created and used
without loading the TLS secret, resulting in a MutatingWebhookConfig
which had an empty CA bundle. That in turn led to:
failed calling webhook "pod-hook.pmem-csi.intel.com": Post "https://second-pmem-csi-intel-com-scheduler.default.svc:443/pod/mutate?timeout=30s": x509: certificate signed by unknown authority

I think this slipped through testing so far because driver deployment validation doesn't check the CA in the webhook configuration. Probably should be addressed.
I noticed it when running make test_e2e TEST_E2E_FOCUS=lvm-production.*late.*binding.*stress which happened to hit this issue (by chance?).

I think this slipped through testing so far because driver deployment validation doesn't check the CA in the webhook configuration. Probably should be addressed.

The second commit adds the test. I checked manually that it fails without the other commit.


On windows: "'bash' is not recognized as an internal or external command,"

Not sure if problem is in this package or phpstan actually but I get error when runing
vendor\bin\phpstan.bat
'bash' is not recognized as an internal or external command,
operable program or batch file.
edit:
works when calling vendor\bin\phpstan.phar.bat, but not really sure why upper isn't... I believe it's still a bug...

Hi, can you show me how vendor\bin\phpstan.bat looks like? It's autogenerated by Composer so I'd first verify that it doesn't output some gibberish.

@ECHO OFF
setlocal DISABLEDELAYEDEXPANSION
SET BIN_TARGET=%~dp0/../phpstan/phpstan-shim/phpstan
bash "%BIN_TARGET%" %*

Please try the latest commit, I tried something: https://github.com/phpstan/phpstan-shim/commit/967719067aa04a87a9782b97be739a61127c7537


media_group_id does not work for PC version

when I select 2 or more photos from the computer, a message arrives without the media_group_id mark

I think you are send your images not as a gallery in the desktop. Because the media_group_id you can only get it when you send 2 or more media (photos/videos/files/..) in 1 message.

I think you are send your images not as a gallery in the desktop. Because the media_group_id you can only get it when you send 2 or more media (photos/videos/files/..) in 1 message.

https://www.dropbox.com/s/k4mzmu7igwenhxb/IMG_2286.MOV?dl=0

I see your video @Vo0oX but in Telegram MacOs you need to have enable this button in blue (the one is near the X). When you have this button enabled your message is send as a gallery (Max 10 items per message)

I think you are send your images not as a gallery in the desktop. Because the media_group_id you can only get it when you send 2 or more media (photos/videos/files/..) in 1 message.

https://www.dropbox.com/s/k4mzmu7igwenhxb/IMG_2286.MOV?dl=0

I see your video @Vo0oX but in Telegram MacOs you need to have enable this button in blue (the one is near the X). When you have this button enabled your message is send as a gallery (Max 10 items per message)

Thanks for the tip, is it the same for Windows?

In windows you have a checkbox for group items, but only works if all the items that you send is from the same type (Only images, only gifs, ...). In Mac you can mix without problem

In windows you have a checkbox for group items, but only works if all the items that you send is from the same type (Only images, only gifs, ...). In Mac you can mix without problem

thanks for the answer!


The  menu is not fully visible when you have the windows menu bar in the left side.

Keybase GUI Version: 1.0.36-20171121163724+f68b10e
The  menu is not fully visible when you have the windows menu bar in the left side.


[Bug] Intermittent failure to connect to server Disroot when starting nmail

I am not taking the Exchange configuration into account for this issue because I am still having problems with it at the moment, but my Disroot configuration now works as it should in nmail. Except sometimes, nmail fails to connect to the account, although the same home Ethernet connection is used and nothing was changed in main.conf.
Usually, deleting the cache folder solves this issue, but since this morning, it appears that this is not mandatory: I could connect to the account yesterday, then quit nmail and could not connect to it anymore. I did not delete the cache. Yet, this morning, I could connect to it again, and now it fails again. I'm sending you the logs collected when nmail fails to connect. Pressing L to refresh does not help. Trying again several minutes later, I could connect to the account and fetch new mails.
This could very well be an issue on Disroot's side and not an nmail issue per se, but if so, other email clients seem to work around the issue (maybe they try multiple times and nmail does not?).

Thanks for reporting and sharing the log file.
I've checked the log file but I don't see any obvious potential causes for failing to connect (it's a  MAILIMAP_ERROR_CONNECTION_REFUSED btw).
Does this issue happen fairly often, like 1 in 10 times? Or is it very seldom?
If it's very often (>10% of times) I'm wondering if you could help do a test to rule out one potential issue. In the log file I noted that your inbox has a much larger number of messages than my inbox. I wonder if you could temporarily try change your ~/.nmail/main.conf configured inbox= to a folder with very few messages - perhaps inbox=Drafts, and see if you can still reproduce the connect error.
This will reduce email parsing work that nmail currently does on startup, and this parsing could maybe impact the connection establishment. It's a long shot, but it's also the main differences between my system and yours (aside from network connection / route to disroot).
This parsing is also avoided if deleting the cache folder, which matches your observation that you could work around the problem by deleting the cache.

I can try that, sure. Hard to tell how often this happens, because my use of nmail is fairly biased due to my other issues, meaning I use it infrequently when I try to troubleshoot something, and do so from several machines depending on where I'm at when I feel like trying.
I just started nmail 20 times in a row with my Disroot account containing many emails (inbox= in main.conf untouched), and the bug didn't occur. However your suggestion makes sense, especially with the cache workaround. Could it be a combination of parsing many emails + transient slowness of the remote server? I'll keep doing that from time to time, and the next time I observe the issue, I'll try with another inbox folder, see if changes the observation.

I wonder if you could temporarily try change your ~/.nmail/main.conf configured inbox= to a folder with very few messages - perhaps inbox=Drafts, and see if you can still reproduce the connect error.
I got the issue this morning with Disroot, so I tried inbox=Drafts and the connection issue persists.

Ok, thanks a lot for checking! 👍
Yeah it could be some timeout value being differently set, or different retry handling.

Hi @Kabouik - I haven't had much time for open source projects lately, but hopefully it will improve soon. Regarding this bug I was wondering under which OS / distro you have seen it? Thanks.

I can confirm experiencing it right now on my laptop running Solus too. Two sessions of nmail, both for two different Disroot accounts. One is connected, the other appears offline. Quit nmail on the account that was offline, tried again, correctly connected (so we can rule out issues with main.conf).
On the phone running Debian arm64 through nspawn: connected on both.
Can't test the home computer right now.

Thanks that's good information. It's just so I can focus my attempts to reproduce on some distros.

Taking a second look at the log-file you shared and the code, I have some idea on what needs to be done. nmail doesn't have a proper handling for when initial connect/authentication attempt fails. Reconnect is only attempted if there was an initial successful connection. The idea behind that was to quickly put nmail in an offline mode if we fail to connect, and also to not retry authenticating multiple times in case the user has entered the wrong password (we don't want the account to be banned). I'll see how we at least can have nmail re-attempt to connect when the failure was not related to authentication.

Sounds good!

Can I check if this issue is still observed with disroot?

I haven't observed that in a very long time despite daily use, I think it's safe to close this issue.
On 2021-12-11 16:34 Kristofer Berggren @.***> wrote:

Can I check if this issue is still observed with disroot?
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/d99kris/nmail/issues/39#issuecomment-991684769

Ok thanks, good to hear. I'll proceed to close this issue.


Apply new fused rotary embedding

This could really help us: https://github.com/NVIDIA/apex/pull/1746

May also need https://github.com/NVIDIA/apex/pull/1750 applied in order to test FYI

This is naively ported but untested.

This is naively ported but untested.

Huh? Please clarify.

This is naively ported but untested.

Huh? Please clarify.

Sorry, that was a progress update. I've ported the code changes to GPT-NeoX but haven't had a chance to test them yet.

This is naively ported but untested.

Huh? Please clarify.

Sorry, that was a progress update. I've ported the code changes to GPT-NeoX but haven't had a chance to test them yet.

Gotcha.

@StellaAthena -- Can you write up what you have into a draft PR? We can offload testing from you.

@Quentin-Anthony They're not ready for testing yet, but I can still open a draft PR if you'd like. Right now I'm in a place where I think I've copied over all of the core code but the kernels aren't building and I haven't been able to debug why that is yet.
I had hoped to make more progress on this last week, but got swamped with some other stuff. I'm happy to hand it off if someone else wants to take it over.

@Quentin-Anthony They're not ready for testing yet, but I can still open a draft PR if you'd like. Right now I'm in a place where I think I've copied over all of the core code but the kernels aren't building and I haven't been able to debug why that is yet.
I had hoped to make more progress on this last week, but got swamped with some other stuff. I'm happy to hand it off if someone else wants to take it over.

Yes please make a draft PR

@StellaAthena Still wanting help getting this to work / testing this?

@StellaAthena Still wanting help getting this to work / testing this?

That would be excellent, thank you.


Support set raw mode

After looking over the TTY documentation I realized setRawMode only takes booleans.
This basically throws if it is not a boolean, otherwise return this.

LGTM --- but do we need this to actually be functional, too? Or is this adequate for your testing needs?

Coverage remained the same at 100.0% when pulling e06aec8241a74074502dfce8f69de3fe7143b277 on tbremer:support-setRawMode into 4a2015dae45e74b25ecb76d78e7a0bf84269cd60 on caitp:master.


Is there data attribute which closes it's respective panel??

Hi there,
This is not an issue. Rather than clicking the heading to close panel. Is there an attribute which we can attached in button which sit inside it's respective panel and closes it. Still new to JS world so any help will be highly appropriated.
many thanks
Sumanita

you could write your own function to allow a button within an exposed panel to close it.  You'd then need to reset the attributes of the persistently exposed button (within the heading) and you'd need to manage keyboard focus, since the button that triggers the close would go away... you'd need to figure out a logical place to return focus (assuming the original button that opened the panel).


No getindex method defined for Input

julia> sensor_input = Input([0.0, 1.0, 0.0])
3-element Array{Float64,1}:
 0.0
 1.0
 0.0

julia> left_motor  = @lift sensor_input[1] - sensor_input[3]
ERROR: MethodError: `getindex` has no method matching getindex(::Reactive.Input{Array{Float64,1}}, ::Int64)
 in anonymous at no file
 in lift at no file

this is a bug with the @lift macro, could you for now use the long-form lift function call?

julia> left_motor  = lift(sensor_input[1] - sensor_input[3])
ERROR: MethodError: `-` has no method matching -(::Reactive.Input{Float64}, ::Reactive.Input{Float64})

There still is the issue of not having a getindex method defined.

That would be
julia> left_motor  = lift((input) -> input[1] - input[3], sensor_input)

:)

Well, I didn't notice that there is a - method missing error in that example.

Ah, that's it. Thanks.

Oh, wait, there is a bug here.

My first hack was to do this:
julia> function Base.getindex{T<:Input}(I::T, n::Int64)
       Input(I.value[n])
       end

But I'm not sure about what havoc that would wreak upon the underlying assumptions of how updates would work.

For my purposes, that hack works. I don't want to clutter this issue with the example so I provide it here in a gist

I would do this:
julia> initial_buy = (100,90.00)
(100,90.0)
julia> buysome = Input(initial_buy)
(100,90.0)
julia> bot_some = lift(A, buysome) do fa, buy
    qty, fill = buy
    transact(fa,qty,fill)
end

Ah, thanks! I would close this since I was using the package not as it is designed. But you mentioned a new bug, so I'll let you close it.

I was referring to the @lift bug in your first comment.

Ah, okay. Looks like I took this issue down a different path but now we're back where we started so I'll leave it open.

The @lift macro has been removed :)


Explore forwards-compatibile Body trait

We want to explore a trait that can be forwards-compatible in frame types for a body stream.
Steps:

[ ] Accept a proposal
[ ] Implement in the http-body crate.

Proposal
Problem
The Body trait provides methods to allow basically 2 frame types to be passed along: data, and trailers. There's a video overview, but I'll summarize: in order to be Flexible, we want to allow Bodys to transmit frame types that hyper doesn't even know about. We can't do that with per-frame-type methods.
Frames
We want a Frame like thing that users can poll (and send). It would be convenient if it behaved like an enum, where they could match on the variants, but there's a forwards-compatibility trap. Consider:
match f {
    Frame::Data(buf) => {},
    Frame::Trailers(map) => {},
    Frame::Unknown(raw) => {},
    // #[non_exhaustive]
    _ => {},
}

If we were to start to "understand" a frame type that used to fall into the Unknown variant, and created Frame::Priority(pri), then user code that updated would suddenly no longer be handling the frame.
So, we don't want to expose an enum directly. Something like the dyn match concept would be great, but it doesn't exist yet.
It'd be possible to inspect the frame using a bunch ifs. But Rust programmers like the feel of match, so a macro could do it.
Proposed Design
pub trait Body {
    type Data: Buf;
    fn poll_frame(..) -> Result<Option<Frame<Self::Data>>>;
}

pub struct Frame<T>(Kind<T>);

enum Kind<T> {
    // The first two variants are "inlined" since they are undoubtedly
    // the most common. This saves us from having to allocate a
    // boxed trait object for them.
    Data(T),
    Trailers(HeaderMap),
    Unknown(Box<dyn Frameish>),
}

/// The name is just YOLO for now.
pub trait Frameish {
    fn frame_kind(&self) -> u64;
    // Just a byte slice? The DATA type couldn't necessarily fulfill this...
    fn payload(&self) -> &[u8];
}

Usage
Matching
while let Some(fr) = body.frame().await? {
    // the macro is optional, but seems helpful
    match_dyn! { fr;
        frame::Data(buf) => {

        },
        frame::Trailers(trailers) => {

        },
        other => {
            if other.frame_kind() == 0xF3 {
                eprintln!("my custom frame: {:?}", other.payload());
            } else {
                // i dunno?
            }
        }

    }
}

Buffered
The Buffered util type provides methods to await specific frame types. It can do this by doing the dyn-match internally, and if it doesn't match the expected type, put the frame back into a slot to poll for next time.
let mut buffered = body.buffered();

// Buffered can poll for specific frame types
while let Some(data) = buffered.data().await? {

}

// DATA frames are done. What stopped them? A trailers frame? EOS?
if let Some(trailers) = buffered.trailers().await? {

}
// or maybe some other EOS-ish frame
if let Some(fr) = buffered.frame().await? {
    // ``\_(0_0)_/``
}

Sending
Assume a channel where the receiver is impl Body.
let (tx, rx) = hyper_util::body::channel();
// give away the rx

tx.send_frame(Frame::data(buf)).await?;
tx.send_frame(Frame::trailers(map)).await?;
tx.send_frame(Frame::custom(0xF3, b"yolo")).await?;

Remaining Questions
How does dyn_match! convert from to frame::Data?
Just a quich sketch:
impl<T> Frame<T> {
    pub fn is_data(&self) -> bool;
    pub fn into_data(self) -> Option<frame::Data<T>>;

    pub fn is_trailers(&self) -> bool;
    pub fn into_trailers(self) -> Option<frame::Trailers>;

    pub fn frame_kind(&self) -> u64;
}

Do we seal the Frameish trait?
Should users implement the type for their own new frame kinds?
Or should they just use Frame::custom(id, payload)?

cc @acfoltzer @davidpdrsn @nox @olix0r
You all either maintain proxies that could need this, or previously done a lot with http-body trait.

Also @LucioFranco and @rcoh.

I'm going to move forward with this, unless anyone wants to comment.

Oh sorry missed this, What would exist in http-body vs what would exist in hyper? Would all the frame stuff go into the body crate? I think this makes sense though I am curious to see how it works in practice.

Yes pretty much everything proposed here is actually for http-body.

HTTP 2 and 3 have slightly different meanings on their frame type ids. The body may need to provide information about its underlying connection protocol.

That's a good point. HTTP/3 tried to reuse the same IDs for equivalent frames, but there may be subtle differences, and it could be worth including a version() method to a frame. Or, perhaps it should be up to the user to set the version() on the corresponding Request/Response`. Either way, doesn't need to be determined immediately.

I'm moving forward with the proposal.

Hello, @seanmonstar!  @acfoltzer and I work for the same company.  This is great progress and we are looking forward to seeing how custom HTTP/2 frames will be handled in hyper.  At the moment we have a patched h2 crate that has special handling for our custom frame, which works fine, but it is always nice to see standard interfaces for things.
A few things spring to mind related to the plan:
In addition to frame_kind and payload, I think that it would be useful for Frameish to have an accessor for flags.  In our internal HTTP/2-based protocol we use the flags field in the frame header of our custom frames for distinguishing between different payload formats.
What do you think would be the best way to represent custom frames exchanged before the headers frame?  In our internal HTTP/2-based protocol a custom frame with a stream id can precede the headers frame.  In that case, rather than the headers frame creating the new stream, it is the custom frame that creates it.  We use the extensions/extensions_mut interface on the http crate's Request and Response as a super convenient way to retrieve the custom frame(s) from the request and to attach it to the response.
We also use custom settings, though this is getting further and further away from the topic of the Body trait.

it would be useful for Frameish to have an accessor for flags

Hm, yea, flags would be good to support too. Would you like to push forward on exploring the design for custom frames? I've got a deadline for a hyper 1.0 release candidate soon, and so my main priority is getting the types in place, such as Body::poll_frame and an extensible Frame, and then allow the custom parts to be added once ready.

What do you think would be the best way to represent custom frames exchanged before the headers frame?

The design doesn't accommodate that at all, since I've been assuming what it says in the spec is that it's illegal:

Receiving any frame other than HEADERS or PRIORITY on a stream in this state MUST be treated as a connection error (Section 5.4.1) of type PROTOCOL_ERROR.

I... think at that point I'd probably customize at the codec level, like the h2 crate. (I'd love to support what you're doing generally, as long as it keeps our goal of making hyper a spec-compliant HTTP library.)


Sagas seems to schedule messages before persisting state even when Outbox is enabled.

Is this a bug report?
Yes, I have a reproduction repo here
https://github.com/wastaz/MassTransitSagaReproduction
Can you also reproduce the problem with the lastest version?
I can reproduce this with latest stable 3.5.7, not sure about 4.x since we are not using that yet.
Environment

Operating system: Windows 10
Visual Studio version: Project Rider 2017.1.1
Dotnet version: 4.6.2

Steps to Reproduce
Clone repo https://github.com/wastaz/MassTransitSagaReproduction
Follow instructions in repos readme.
Expected Behavior
I have a saga with an initial state, and an additional state (with outboxing enabled).
Initially it schedules a message, and then it transitions to the waiting for message state.
In this state, it should receive the scheduled message and print the content to the console.
I have a fake scheduler setup which just immediately delivers the scheduled message to the destination.
I expect that if masstransit sends the ScheduleMessage message after persisting the state then I should never be able to end up with a saga recieving the scheduled message in the wrong state.
Actual Behavior
Occasionally I will receive the following error
R-FAULT rabbitmq://localhost/mtsagarepro_saga N/A Common.ScheduledTransitionMessage MassTransitSagaReproduction.TestState(00:00:00.0506110) The ScheduledStateChange.AnyReceived event is not handled during the Initial state for the TestProcessManager state machine
MOVE rabbitmq://localhost/mtsagarepro_saga N/A rabbitmq://localhost/mtsagarepro_saga_error?bind=true&queue=mtsagarepro_saga_error Fault: The ScheduledStateChange.AnyReceived event is not handled during the Initial state for the TestProcessManager state machine

So in this case the state machine actually recieves the scheduled message while in the initial state. Which shouldnt be possible if I understand how outboxing works correctly.
I have tested this both with the Marten and the MongoDB persistance and observed the same behaviour in both, which makes me suspect that this is persistance-agnostic (given that the persistance is slow enough that the FakeScheduler has a chance of beating it ;) ).
Reproducible Demo
https://github.com/wastaz/MassTransitSagaReproduction
See Readme for instructions on running.

Do note that since this is highly timing related this will only happen occasionally (when the FakeScheduler manages to be faster). So you may have to keep publishing messages a couple of times until you see a fault. For me personally I generally see at least one fault within the first 3 batches of 10 published messages.

This isn't a bug, it's a side effect of using a saga repository that doesn't support locking.
Events can always be received out of order, or even during an existing transaction.

@phatboyg Ok..well...Im not really sure if I understand you correctly?
I am using the outbox feature, so from the docs I would expect the flow to be
´´´

Recieve message from rabbitmq and route to saga
Run the state machine steps which in this case would record a state transition in the state and put the ScheduleMessage message in the outbox
Persist state to disk
Send all messages in outbox on bus
Ack message from RabbitMQ
´´´

...and if this is how it works, then I dont see how locking or non-locking would affect this in any way since the state should be persisted to disk before the messages in the outbox are sent at all, given that outbox is enabled?
If this is not how the outbox feature works then please correct me. :)

Order matters, it's a pipeline:
https://github.com/wastaz/MassTransitSagaReproduction/blob/master/MassTransitSagaReproduction/MassTransitModule.cs#L52
Put the OutBox before the saga is registered.

Ah. That makes perfect sense. Thanks for pointing me in the right direction! :)


Transaction tests

Added tests testing the validity of firebase calls in views.py. Used mocked objects so that we don't have to call firebase API when we're running the tests.
Resolves #80

The tests look great, thank you!


Any plans for adding support for units such as pt, em, etc?

Often for things like font size, it is much more common to see pt or em used instead of px. Are there any plans for adding support for these?

Maybe pt. em isn't feasible, since we don't have access to the current text size.

If you wanted to look at this, I suspect it's relatively straight forward: you'd just have to additionally capture pt in lengthRe, and add a transform that takes this into account.

I'm having difficulty understanding the exact structure of the code, but from what I'm seeing, adding the capture to lengthRe wouldn't work since regExpToken would convert it into a Number, and get rid of the "pt" in the value passed. Assuming that's the case, a new token may be needed for this. Is this correct?

You'll need to swap out the Number part too! You could modify regExpToken to pass in all capture groups too if that makes it easier


Fe: Burn NFTs

There's currently no way to burn a certain amount of editions of a NFT

There's no UI to burn any NFT currently


Enable output of Resource snippet thumbnails in Snippet Lists

Per https://[GHE]/CFPB/hubcap/issues/54, we want to enable the dormant thumbnail field of Resource snippets for output in Snippet List modules.
Additions

A boolean option to show thumbnails for all snippets in a Snippet List
Template code to output snippet thumbnails in a Snippet List if the above option is selected
Some necessary styling to enforce the thumbnail width of 150px

Changes

Fixes the part where I was stupidly overriding Wagtail's native image template tag
Fixes a few whitespace mistakes (both in rendered styles and in code)

Testing

Pull branch
Migrate
Run server
Add a thumbnail to a Resource snippet
Set up a Snippet List that will pull in that Resource
Check out the rendered thumbnail in the Snippet List

Checklist

[x] PR has an informative and human-readable title
[x] Changes are limited to a single goal (no scope creep)
[x] Code can be automatically merged (no conflicts)
[x] Code follows the standards laid out in the development playbook
[x] Passes all existing automated tests
[x] New functions include new tests
[x] New functions are documented (with a description, list of inputs, and expected output)
[x] Placeholder code is flagged
[x] Visually tested in supported browsers and devices
[ ] Project documentation has been updated
[x] Reviewers requested with the Assignee tool :arrow_right:

@richaagarwal Thanks for the review! Yes, I will add tests for that.

Looks good to me.

@richaagarwal I've pushed up a test for the show_thumbnail logic (and basic snippet list output). It follows the model of existing organism tests in test_organisms.py, but I'm not sure if this is an outdated model we're trying to move away from. Please let me know what you think!

(I'll rebase just prior to merging.)


Matrix coefficient interface improvements

The following changes are made to improve the matrix coefficient interface.

[x] New DenseSymmetricMatrix class
[x] New SymmetricMatrixCoefficient class
[x] Deprecate EvalSymmetric in MatrixCoefficient
[x] New DiagonalMatrixCoefficient to replace usage of VectorCoefficient as a diagonal matrix.

A problem with introducing DiagonalMatrixCoefficient is that for backwards compatibility, VectorCoefficient support must be maintained, resulting in two equivalent interfaces. As a simple solution, DiagonalMatrixCoefficient is just a typedef of VectorCoefficient (as suggested by @stefanhenneking). This avoids new implementation, and makes the interface clearer, showing the intended usage of the VectorCoefficient as a diagonal matrix.
If the new DiagonalMatrixCoefficient is merged to master, then https://mfem.org/bilininteg/ should be updated.

PR
Author
Editor
Reviewers
Assignment
Approval
Merge

#1865
@dylan-copeland
@v-dobrev
@mlstowell + @acfisher
11/16/20
12/02/20
⌛due 12/09/20

@dylan-copeland, it seems this PR breaks backward compatibility.
Typically, we want to keep existing functions/methods, at least for some time, while marking them as deprecated, see e.g. https://github.com/mfem/mfem/blob/3bb3974bcb60883b47e00bdf8cd6015f50a6cd30/fem/bilinearform.hpp#L570-L572

Merged in next for testing...

Hey @dylan-copeland, I think it will be good to mention the additions and deprecations in this PR in the CHANGELOG. Can you add a bullet or two?

Re-merged into next.


when Animated running FlatList bug ,

Is this a bug report?
Yes

Have you read the Contributing Guidelines?
YES
Environment
OS:  macOS Sierra 10.13.1
Node:  6.10.0
Yarn:  0.27.5
npm:  5.3.0
Watchman:  4.7.0
Xcode:  Xcode 9.1 Build version 9B55
Android Studio:  2.3 AI-162.4069837
Packages: (wanted => installed)
react-native: 0.52.0 => 0.52.0
react: 16.2.0 => 16.2.0
Target Platform: iOS (11.1)

Steps to Reproduce

run ios
Expected Behavior
the flatList is working.

(Write what you thought would happen.)
Actual Behavior
when Animated is running ,the flatList not working properly. Will not render more items，but the height is change。
When I use network data，the onEndReached not work too.

(Write what happened. Add screenshots!)
Reproducible Demo
import React, {
  Component
} from "react";
import {
  Platform,
  StyleSheet,
  Dimensions,
  FlatList,
  Text,
  View,
  Animated
} from "react-native";

export default class App extends Component < {} > {
  constructor(props) {
    super(props);

    this.state = {
      list: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22],
      rotation_an: new Animated.Value(0),
    };
  }
  componentDidMount() {
    this.runRotate();
  }

  shouldComponentUpdate(nextProps, nextState) {
    if (this.state.rotation_an != nextState.rotation_an) {
      return false;
    }

  }

  runRotate = () => {
    this.state.rotation_an.setValue(0); //重置Rotate动画值为0
    Animated.timing(this.state.rotation_an, {
      toValue: 1,
      duration: 1000,
      useNativeDriver: true
    }).start(() => this.runRotate())
  }
  renderItem = (info) => {
    return (
      <View style = {styles.item}>
          <Text>{info.item}</Text>
        </View>
    )
  }
  render() {
    let rowh = 50;
    console.log("sssss");
    return (
      <View style = {styles.container}>
        <FlatList
          data={this.state.list}
          renderItem ={this.renderItem}
          getItemLayout = {(data, index) => ( {length: rowh, offset: (rowh) * index, index} )}
          initialNumToRender = {15}
          keyExtractor = {(item, index)=>{return "h" + index}}
          showsVerticalScrollIndicator = {false}
          legacyImplementation = {false}
        />
      </View>
    );
  }
}
const SCREEN_WIDTH = Dimensions.get("window").width;
const SCREEN_HEIGHT = Dimensions.get("window").height;
const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: "center",
    backgroundColor: "#F5FCFF",
  },
  item: {
    width: SCREEN_WIDTH,
    height: 50,
    justifyContent: "center",
    alignItems: "center",
    backgroundColor: "white",
  }
});

(Paste the link to an example project and exact instructions to reproduce the issue.)

Have the same problem I think. Do you tried to call recordInteractions after the animation finishes?

I have the exact same problem with FlatList, even with v0.54.4.
FlatList will not render more item when there is an animation playing on the list item


Consider using HubOAuth from jupyterhub package to implement jupyterhub auth

https://github.com/jupyterhub/jupyterhub/blob/main/examples/service-whoami-flask/whoami-flask.py is the example for implementing a JupyterHub service with auth from flask. In particular, it uses the HubOAuth class from JupyterHub, making sure a number of things are set up properly for use with JupyterHub.
There's also a fastapi example.
https://github.com/Quansight/conda-store/issues/199 is what triggered me opening this. Code reuse is <3

URL handling for users (for redirects) vs internal API calls would definitely be simplified here. JupyterHub sets JUPYTERHUB_API_URL (http://<IP_ADDRESS>:15001/hub/api) as an env var that should be used for all internal calls, and sets JUPYTERHUB_SERVICE_PREFIX (/services/conda-store/) for anything user facing.

Thanks @yuvipanda for the links and examples for how to do this. Yeah totally agree this would be valuable to add and certainly prefer code reuse!

Do we need to do this anyway to get things working on QHub?

@costrouc can you post a status update on this issue and close if no longer relevant?


Incomplete location information on "Local 7-Day-Incidence" maps...

Avoid duplicates

[X] Bug is not mentioned in the FAQ
[X] Bug affects both Android and iOS - probably -, for specific issues / questions that apply only to one operating system, please raise them in the respective repositories:

Android repository
iOS repository

[X] Bug is not already reported in another issue
(or not found.)

Technical details

Device name: Samsung Galaxy Note 10 / Nokia 7.2, / ...
Android version: Android 10 / 11
App version: 2.6.1

Describe the bug
For example, if you create a new "Local 7-day-incidence" map for "Berlin Mitte", "Mitte" is displayed instead of "Berlin Mitte"; see screenshot.
Steps to reproduce the issue

Open CWA
Add a new 'local 7-day-incidence' card for "Berlin", "Mitte"
Lock at this map.

Additional context
The same problem could affect other places.
Best regards, Joachim.

Same behavior under iOS, however, I'd say that this is intended. In the list where you can add new local 7 day incidences, "Berlin Mitte" is just called "Mitte".

It only affects (Berlin) Mitte, because all other district names (county) can stand on their own e.g. Charlottenburg-Wilmersdorf.

This problem persists and is still reproducible in version 2.20. Please, could it be mirrored to JIRA @dsarkar


Add pagination to Agens and Worflows list views

⚠ Please check that this feature request hasn't been suggested before.

[X] I searched previous Ideas in Discussions didn't find any similar feature requests.
[X] I searched previous Issues didn't find any similar feature requests.

🔖 Feature description
We should add pagination to the Agents and Workflows list pages.
📝 Additional Context
No response
Acknowledgements

[X] My issue title is concise and descriptive.
[X] I have searched the existing issues to make sure this feature has not been requested yet.
[X] I have provided enough information for the maintainers to understand and evaluate this request.

I would like to work on this

I would like to work on this

Go for it!

I would like to work on this

Please use this for ui:
https://ui.shadcn.com/docs/changelog#pagination

Please use this for ui:
https://ui.shadcn.com/docs/changelog#pagination

Sorry just saw this, actually ShadCN had another pagination component for data tables I have used it for this UI instead
https://ui.shadcn.com/docs/components/data-table#reusable-components
would this work for now?


Tokens

https://apro-ncw-api-mass-token.crypto.com/import-tokens/source/VVS_Finance/1679068800.json

https://apro-ncw-api-mass-token.crypto.com/import-tokens/source/VVS_Finance/1679068800.json


Reopening a merge request should trigger build

The branch can change between the merge request being ignored and reopened. This is also a nice way to retry a build that failed.

@mediabounds, thanks for your contribution!

@mediabounds, new version has been pushed to Jenkins plugin repository. It should appear in the update center soon.


Javascript on HTML problem

sample code
<head>
    <script>
    var isIE = function(ver) {
        var b = document.createElement('b')
        b.innerHTML = '<!--[if IE ' + ver + ']><i></i><![endif]-->'
        return b.getElementsByTagName('i').length === 1
    }
    </script>
</head>

after format
<head>
  <script>
    var isIE = function(ver) {
    var b = document.createElement('b')
    b.innerHTML = '<!--[if IE ' + ver + ']>
    <i>
    </i>
  <![endif]-->
  '
  return b.getElementsByTagName('i').length === 1
  }
</script>
</head>

I have duplicated the issue in my test case and will look in to how to fix it. In the meantime, my best suggestion would be to disable the expand_javascript option and either format it by hand or copy-paste into a temporary file and use the regular javascript formatter.


ngmap directions how to supress markers

     `<ng-map zoom="13" style="width: 100%; height: 100%;">
			<!--<heatmap-layer id="taxiDataMap" data="taxiData"></heatmap-layer>-->
			<directions draggable="false"
						panel="directions-panel"
						waypoints="{{locationPath.wayPoints}}"
						origin="{{locationPath.origin}}"
						destination="{{locationPath.destination}}">
			</directions>
		</ng-map>`

Example of my code. Is there anny attribute for directions so I can supress markers?

suppress-markers="true" does not work?

Closing for inactivity


can not open on port 3000 from docker running container

I can not open website on localhost:3007
getting this error logs in the docker container console :
OpenBLAS blas_thread_init: pthread_create failed for thread 7 of 8: Operation not permitted
OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max
Failed to send telemetry event ClientStartEvent: can't start new thread
INFO:     Started server process [9]
INFO:     Waiting for application startup.
ERROR:    Traceback (most recent call last):
  File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
  File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 78, in serve
    await self.startup(sockets=sockets)
  File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 89, in startup
    await self.lifespan.startup()
  File "/usr/local/lib/python3.11/site-packages/uvicorn/lifespan/on.py", line 54, in startup
    await self.startup_event.wait()
  File "/usr/local/lib/python3.11/asyncio/locks.py", line 213, in wait
    await fut
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/runners.py", line 123, in run
    raise KeyboardInterrupt()
KeyboardInterrupt
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 747, in lifespan
    await receive()
  File "/usr/local/lib/python3.11/site-packages/uvicorn/lifespan/on.py", line 137, in receive
    return await self.receive_queue.get()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/queues.py", line 158, in get
    await getter
asyncio.exceptions.CancelledError
Aborted!
OpenBLAS blas_thread_init: pthread_create failed for thread 1 of 8: Operation not permitted
OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max
OpenBLAS blas_thread_init: pthread_create failed for thread 2 of 8: Operation not permitted
OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max
OpenBLAS blas_thread_init: pthread_create failed for thread 3 of 8: Operation not permitted
OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max
OpenBLAS blas_thread_init: pthread_create failed for thread 4 of 8: Operation not permitted
OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max
OpenBLAS blas_thread_init: pthread_create failed for thread 5 of 8: Operation not permitted
OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max
OpenBLAS blas_thread_init: pthread_create failed for thread 6 of 8: Operation not permitted
OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max
OpenBLAS blas_thread_init: pthread_create failed for thread 7 of 8: Operation not permitted
OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max
Failed to send telemetry event ClientStartEvent: can't start new thread
INFO:     Started server process [7]
INFO:     Waiting for application startup.
ERROR:    Traceback (most recent call last):
  File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
  File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 78, in serve
    await self.startup(sockets=sockets)
  File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 89, in startup
    await self.lifespan.startup()
  File "/usr/local/lib/python3.11/site-packages/uvicorn/lifespan/on.py", line 54, in startup
    await self.startup_event.wait()
  File "/usr/local/lib/python3.11/asyncio/locks.py", line 213, in wait
    await fut
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/runners.py", line 123, in run
    raise KeyboardInterrupt()
KeyboardInterrupt
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 747, in lifespan
    await receive()
  File "/usr/local/lib/python3.11/site-packages/uvicorn/lifespan/on.py", line 137, in receive
    return await self.receive_queue.get()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/queues.py", line 158, in get
    await getter
asyncio.exceptions.CancelledError
Aborted!

https://github.com/abetlen/llama-cpp-python/issues/450#issuecomment-1883092670
You might want to update your docker, Let us know if the issue persists after updating.

@tjbck I am already running latest version of docker-ce :
(base) hemang@hemang-levono-15arr:~/Documents/GitHub/ollama-ui$ sudo apt-get upgrade docker-ce
[sudo] password for hemang:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
docker-ce is already the newest version (5:20.10.8~3-0~ubuntu-groovy).
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

(5:20.10.8~3-0~ubuntu-groovy).

Current latest version is v24.0.6, you might want to set up your Docker apt repository.


required arguments with default values shouldn't be required in operation variables

type Mutation {
  mutate(foo: String!, bar: String! = "asdf"): Boolean!
}

mutation(m => [
  m.mutate({
    foo: "Hi",
    // ^... ts errors because bar is missing but it shouldn't be necessary due to default value.
  })
])

This works great, thank yoU!


Unused $params property in ExpressionDependency

Am I working too hard or do I see a property which isn't doing anything?
https://github.com/yiisoft/yii2/blob/master/framework/caching/ExpressionDependency.php#L35

I see an earlier post about this #3673. We should update the guides on this. A simple example would be very useful.

see the phpdoc comment:
You may get the value of this property in [[expression]] using `$this->params`.

The expression is evaluated in object context so you can use $this inside of it.

it took a while to grasp
What did work to invalidate the cache:

$expression = 'date('Y-m-d H:i:s')

What didnt work whatever value to $params was given:

$expression = '$this->params'
$expression = '(string)$this->params'
$expression = 'intval($this->params)'

This is confusing. Why do we have a working $this inside the expression while the params itself cannot force invalidation.
Also, a doc for a better understanding of this concept should be added. It simply takes too much time to understand. In the end I concluded that I need $variation for this. Why another concept for invalidation? We can do better than that IMHO. Examples would be great, also for debugging this $expression variable like with ie:
$expression = 'print_r($this) && exit();';

Please check my comment on #16318 which can fix this issue.


Add revenue feature

Usage: revenue
Provides view of delivered orders and sums up the total revenue for the day in the response box
**Unable to test yet since @xzzz3 PR has not been merged, so no way to update the order status. Best to merge after #106 is merged

List view for revenue command to show ALL orders instead of just orders which are delivered and within current day.
-> if filtered to show within current day only, mark/delete order command will be affected

let us know when it is ready for review after testing with the new Order PR!

tested! works fine :)

@xzzz3 @zxgoh @hieunm1821 just tested revenue feature under multiple conditions, works fine on my end and should be ready to review!


Swipe refresh layout issue

not working while  using swipe refresh layout .actually it's not showing the progress

hi, I have the same mistake.
have you solved in any way?


WebSocket connection failure from Safari

Error connecting to websocket via Safari using github demo page (https://arrayio.github.io/array-io-keychain/demo/).
[blocked] The page at https://arrayio.github.io/array-io-keychain/demo/ was not allowed to run insecure content from ws://localhost:16384/.

Have you tried this ?
You need to configure your safari to display the mixed content,
Follow these steps.

Open up Preferences by selecting "Preferences" from the "Safari" menu.

Click on the the "Security" (tab) icon near the top of the dialog.

Make sure that the "Ask before sending a non-secure form to a secure website" option is unchecked.


BUG: Pytorch DeepExplainer SHAP explanations do not sum up to the model's output

Issue Description
AssertionError: The SHAP explanations do not sum up to the model's output! This is either because of a rounding error or because an operator in your computation graph was not fully supported. If the sum difference of %f is significant compared to the scale of your model outputs, please post as a github issue, with a reproducible example so we can debug it. Used framework: pytorch - Max. diff: 0.5317991719330166 - Tolerance: 0.01
Minimal Reproducible Example
explainer_shap = shap.DeepExplainer(pretrained_model, batch_x) -> ok
shap_values = explainer_shap.shap_values(batch_x) -> error

Traceback
AssertionError                            Traceback (most recent call last)
<ipython-input-139-13afac3f5743> in <cell line: 2>()
      1 explainer_shap = shap.DeepExplainer(pretrained_model, batch_x[:50])
----> 2 shap_values = explainer_shap.shap_values(batch_x[:50]) ## very very slow

2 frames
/usr/local/lib/python3.10/dist-packages/shap/explainers/_deep/__init__.py in shap_values(self, X, ranked_outputs, output_rank_order, check_additivity)
    123             were chosen as "top".
    124         """
--> 125         return self.explainer.shap_values(X, ranked_outputs, output_rank_order, check_additivity=check_additivity)

/usr/local/lib/python3.10/dist-packages/shap/explainers/_deep/deep_pytorch.py in shap_values(self, X, ranked_outputs, output_rank_order, check_additivity)
    217                     model_output_values = self.model(*X)
    218
--> 219             _check_additivity(self, model_output_values.cpu(), output_phis)
    220
    221         if not self.multi_output:

/usr/local/lib/python3.10/dist-packages/shap/explainers/_deep/deep_utils.py in _check_additivity(explainer, model_output_values, output_phis)
     18         maxdiff = np.abs(diffs).max()
     19
---> 20         assert maxdiff < TOLERANCE, "The SHAP explanations do not sum up to the model's output! This is either because of a " \
     21                                     "rounding error or because an operator in your computation graph was not fully supported. If " \
     22                                     "the sum difference of %f is significant compared to the scale of your model outputs, please post " \

Expected Behavior
explainer_shap = shap.DeepExplainer(pretrained_model, batch_x) -> ok
shap_values = explainer_shap.shap_values(batch_x) -> error
Bug report checklist

[X] I have checked that this issue has not already been reported.
[X] I have confirmed this bug exists on the latest release of shap.
[ ] I have confirmed this bug exists on the master branch of shap.
[ ] I'd be interested in making a PR to fix this bug

Installed Versions
version : 0.44.1

Thank you for the bug report. To investigate futher, please would you provide a minimal reproducible example according to this guide? This in turn will allow us to investigate the issue further.

Hello. sir.
Since English is not my native language, I may not be able to convey it
well.

input data : categorical_data, numerical_data
category data uses category embedding internally

explainer_shap = shap.DeepExplainer(model, categorical_data, numerical_data)
shap_values = explainer_shap.shap_values(categorical_data, numerical_data)
Thank you.
goslak.
2024년 2월 8일 (목) 오후 10:19, connortann @.***>님이 작성:

Thank you for the bug report. To investigate futher, please would you
provide a minimal reproducible example according to this guide
https://shap.readthedocs.io/en/latest/contributing.html#writing-helpful-bug-reports?
This in turn will allow us to investigate the issue further.
—
Reply to this email directly, view it on GitHub
https://github.com/shap/shap/issues/3476#issuecomment-1934110576, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AB5B4T4MR5K2T5UZORID653YSTGFTAVCNFSM6AAAAABCRUR5QKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZUGEYTANJXGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

I've seen a similar error and can reproduce it using the code below.
Changing the check_additivity arg to False stop the assertion error coming up however I'm not sure if this is good/correct.
`import os
import shap
import torch
from torch import nn
from torch import optim
from torch.nn import functional as F
from torch.nn.functional import binary_cross_entropy
from sklearn.datasets import make_classification
device = (
"cuda"
if torch.cuda.is_available()
else "mps" if torch.backends.mps.is_available() else "cpu"
)
N_EPOCHS = 10
LEARNING_RATE = 0.1
class LogisticRegression(nn.Module):
def init(self, num_features):
super().init()
self.linear = nn.Linear(num_features, 1)
def forward(self, vec):
    return F.sigmoid(self.linear(vec))

def save_model(self, loc):
    with open(loc, "w", encoding="utf-8") as file:
        model_params = ""
        for n, param in enumerate(self.parameters()):
            model_params += f"{n},{param.data}\n"
        file.write(model_params)

model = LogisticRegression(num_features=6).to(device)
optimizer = optim.SGD(model.parameters(), lr=LEARNING_RATE)
X,y = make_classification(n_samples=1000,n_features=6,n_informative=4)
X = torch.as_tensor(X, dtype=torch.float32).to(device)
y = torch.as_tensor(y, dtype=torch.float32).unsqueeze(dim=1).to(device)
for i in range(N_EPOCHS):
model.zero_grad()
y_pred = model(X)
loss = binary_cross_entropy(y_pred, y)
loss.backward()
optimizer.step()
e = shap.DeepExplainer(model, X)
shap_values = e.shap_values(X, check_additivity=True)`

I've seen a similar error and can reproduce it using the code below.
Changing the check_additivity arg to False stop the assertion error coming up however I'm not sure if this is good/correct.

import shap
import torch
from torch import nn
from torch import optim
from torch.nn import functional as F
from torch.nn.functional import binary_cross_entropy
from sklearn.datasets import make_classification

device = (
    "cuda"
    if torch.cuda.is_available()
    else "mps" if torch.backends.mps.is_available() else "cpu"
)

N_EPOCHS = 10
LEARNING_RATE = 0.1

class LogisticRegression(nn.Module):
    def __init__(self, num_features):
        super().__init__()
        self.linear = nn.Linear(num_features, 1)

    def forward(self, vec):
        return F.sigmoid(self.linear(vec))

    def save_model(self, loc):
        with open(loc, "w", encoding="utf-8") as file:
            model_params = ""
            for n, param in enumerate(self.parameters()):
                model_params += f"{n},{param.data}\n"
            file.write(model_params)

model = LogisticRegression(num_features=6).to(device)

optimizer = optim.SGD(model.parameters(), lr=LEARNING_RATE)

X,y = make_classification(n_samples=1000,n_features=6,n_informative=4)
X = torch.as_tensor(X, dtype=torch.float32).to(device)
y = torch.as_tensor(y, dtype=torch.float32).unsqueeze(dim=1).to(device)

for i in range(N_EPOCHS):
    model.zero_grad()
    y_pred = model(X)
    loss = binary_cross_entropy(y_pred, y)
    loss.backward()
    optimizer.step()

e = shap.DeepExplainer(model, X)

shap_values = e.shap_values(X, check_additivity=True)```

Any idea how check_additivity=False might affect the resulting shap_values?


Revert "Extract hub and simplify status update logic"

Reverts wimb0/home-assistant-saj-modbus#49

Why reverting, doesn't it work properly?

No, I chose the wrong merge option. (Squash & merge instead of Merge) Better to revert than to work with something that might not have gone correct. Will merge your requests again.


Use asarray in extract

Force both array inputs to Dask Arrays. This avoids potentially converting a different array type to a NumPy array by accident.

[ ] Tests added / passed
[ ] Passes flake8 dask

This looks fine to me.  I wonder how we should end up testing changes like this.
Something with sparse perhaps?
(not a requirement for this PR necessarily, just wondering what the right approach is long term)

Also cc @pentschev , just so that he's aware

It's a fair question. Though it's probably one that we want to ask over the test suite as a whole as opposed to each test case. Pytest's fixtures come to mind, but IDK if that is the right solution. Should we move this to an issue to discuss further?

Sure, that makes sense
On Tue, Mar 5, 2019 at 7:26 PM jakirkham<EMAIL_ADDRESS>wrote:

It's a fair question. Though it's probably one that we want to ask over
the test suite as a whole as opposed to each test case. Pytest's fixtures
come to mind, but IDK if that is the right solution. Should we move this to
an issue to discuss further?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/pull/4549#issuecomment-469928181, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AASszPHR6QJYLVp5o-A-gGBN9vqsgJvvks5vTxkygaJpZM4bfz32
.

I think it would be good indeed to have more tests with Sparse too, in particular for these issues related to NEP-18. I'll try to add some more within the context of https://github.com/dask/dask/pull/4486.


How to insert a picture in a math video

Hello everyone, I have some questions about using this math library. Are there any ways to insert a picture into a math video? If so, can I add some animations to the pictures that I inserted?

Use ImageMobject, You can make animations that are not specialized for VMobjects.

@zavden Thanks.

Close the issue if it works please.

@Elteoremadebeethoven Sorry, I forgot.


Replace Travis badge

The build is not anymore on Travis but on Github Action.

@Quentame are you the one that own this repo?

Yep

@Quentame Thx. Perhaps can we add a code owner file to automatically add you as reviewer?

Yep indeed.
Will look at other PRs too.


Use of "!pip" may be environment dependent

We are using "!pip" to uninstall/install SDK packages, but this may be environment dependent. When there are multiple versions of python installations on the environment, the pip executable "!pip" finds depending on the order of environment variable PATH, and it doesn't necessarily find the one for Jupyter kernel.
We should consider other options.
option1 - use "%pip" instead of "!pip"
option2 - !{sys.executable} -m pip install [package_name]
I haven't finalized my investigation, so not sure which option is better. Tracking the investigation and discussion here.

Reading this article:
https://jakevdp.github.io/blog/2017/12/05/installing-python-packages-from-jupyter/

Reading this article:
https://jakevdp.github.io/blog/2017/12/05/installing-python-packages-from-jupyter/

%pip magic command has been introduced since 2018-Dec.
https://github.com/ipython/ipython/issues/11481

%pip magic command has been introduced since 2018-Dec.
https://github.com/ipython/ipython/issues/11481

Ok let's go with that and then work it into the Forecast and Personalize pages if needed ( probably not needed )

Ok let's go with that and then work it into the Forecast and Personalize pages if needed ( probably not needed )

I will confirm that %pip magic command on some environments, and will create a pull request.

I will confirm that %pip magic command on some environments, and will create a pull request.

Thank you for reviewing and merging the pull-request - https://github.com/aws-samples/amazon-lookout-for-metrics-samples/pull/17
Closing this issue.


circular-buffer: Add canonical data

It's pretty hard to make canonical data for this problem. I think the best that can be done is to express the sequence of operations that get performed on a buffer, and whether each of them succeed or fail. Let me know if you think this is a reasonable way to go, since I really only feel like continuing down this road if it seems reasonable.

I think what you're doing here is good. :+1:

All these commits are going to be squashed and I'll amend the commit message and PR description to be reasonable.

New tests added:

"items cleared out of buffer can't be read"
"overwrite doesn't remove an already-read item" - As first commit explains, a simplified version of a test mixing reads, writes, overwrites, but the main point as I see it was to make sure that overwrite deletes the right item if a read has previosly been performend

https://github.com/petertseng/x-common/commit/f4be093516e58a9dd0b46401446ba94cb058b9bb


Table Ice Hockey™ [PCSD00047]

Game summary

Game name: Table Ice Hockey™
Game serial: PCSD00047

Vita3K summary

Version: v0.1
Build number: 523
Commit hash: https://github.com/vita3k/vita3k/commit/32e9a31

Test environment summary

Tested by: HorrorTroll
OS: Windows 8.1
CPU: Intel Core i5-4200H
GPU: Nvidia Geforce GTX 950M
RAM: 6 GB DDR3

Issues

Softlocks (?)
No shaders
Race conditions a lot, this is the farthest it could go (needs many tries)

Screenshots

Log
vita3k.log
Recommended labels

Softlock

Vita3K v0.1.5 2578-9889c472
goes ingame but is look for cards to scan
vita3k.log


How to animate a rotation?

Dears,
I have this image:
<Image Classes="Rotating" Source="/Assets/icon_gear.png" />
and I want it to start spinning right after the window is shown. So I've followed this: http://avaloniaui.net/docs/animations/keyframe
I've added this Style:
<UserControl.Styles>
  <Style Selector="Image.Rotating">
    <Style.Animations>
      <Animation Duration="0:0:5">
        <KeyFrame Cue="0%">
          <Setter Property="**Angle???**" Value="0"/>
        </KeyFrame>
        <KeyFrame Cue="100%">
          <Setter Property="**Angle???**" Value="360"/>
        </KeyFrame>
      </Animation>
    </Style.Animations>
  </Style>
</UserControl.Styles>

As you see, I don't know which Property to set so that it can spin.
In "classic" XAML, one way it to use Storyboards: https://stackoverflow.com/a/12298305/901046
But I don't see them in Avalonia...

Try doing RotateTransform.Angle

Aaaaand it works! 🥇

This doesn't work for me anymore to rotate an image. Has the release candidate changed the approach to this?


refactor: change input signals to public

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our
guidelines: https://github.com/goetzrobin/spartan/blob/main/CONTRIBUTING.md#-commit-message-guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

Which package are you modifying?
multiple

[ ] accordion
[ ] alert
[ ] alert-dialog
[ ] aspect-ratio
[ ] avatar
[ ] badge
[ ] button
[ ] calendar
[ ] card
[ ] checkbox
[ ] collapsible
[ ] combobox
[ ] command
[ ] context-menu
[ ] data-table
[ ] date-picker
[ ] dialog
[ ] dropdown-menu
[ ] hover-card
[ ] input
[ ] label
[ ] menubar
[ ] navigation-menu
[ ] pagination
[ ] popover
[ ] progress
[ ] radio-group
[ ] scroll-area
[ ] select
[ ] separator
[ ] sheet
[ ] skeleton
[ ] slider
[ ] spinner
[ ] switch
[ ] table
[ ] tabs
[ ] textarea
[ ] toast
[ ] toggle
[ ] tooltip
[ ] typography

What is the current behavior?
Input signals are private members, so the typescript is complaining whenever we try to add custom class on a component.

What is the new behavior?
Input signals are public members.
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

That is interesting.
We had a similar problem for a short period of time. I am still not sure what causes this.
I guess just making them public is the way to go.
Can you please remove the underscore too, because this is usually used for private and protected.

Do you guys think we should move to model inputs instead?

Do you guys think we should move to model inputs instead?

Do you guys think we should move to model inputs instead?

Hey @miljan-code,
we discussed this, and we would like to keep it as inputs, but it would be nice if you could remove the underscores.
Can you please change this?

@miljan-code sorry about the conflicts... took me a while to get back to this PR. Can you resolve them and I'll merge asap


New version: JetBrains.dotUltimate version 2024.3.2

Created by 🥟 Dumplings in workflow run #10198.

Log
Updated: 2024.3 → 2024.3.2
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

10:31:36.069 |E| ExtractPackagesToBinDirTasks::ExtractInputPackagesAsync| Could not open the destination file at “C:\Program Files (x86)\JetBrains\Installations\Rider243\lib\ReSharperHost\JetBrains.Platform.Metadata.dll” for writing out the package JetBrains.Platform.Core.Shell.243.0.20241210.180528 part DotFiles\JetBrains.Platform.Metadata.dll. There is not enough space on the disk.

@stephengillie disk full


[Feature Request] DeepMind Control Suite from pixels

Motivation
The wrapper to use DMCS with gym has an interesting feature that allows you to learn directly with the rendering (pixels), and not with the state. I don't see this feature integrated in envpool. Is it planned?
Solution
Could be an additional env kwargs:
envpool.make_dm("BallInCupCatch-v1", num_envs=1, from_pixels=True)

Or register those envs:
envpool.make_dm("BallInCupCatchImage-v1", num_envs=1)  # or BallInCupCatchFromPixels-v1, doesn't matter

Alternatives
I don't any workaround to use DeepMind control suite from pixel with envpool in the current state.
Additional context
From the paper

We also benchmarked a variant of D4PG that learns directly from pixel-only input, using 84 × 84 RGB frames from the 0th camera.

Checklist

[x] I have checked that there is no similar issue in the repo (required)

#150

I searched for "Deepmind Control Suite" and not for "dmc". Sorry for the duplicate. I close this issue, since it is in fact part of #136


docs(README.md): fix display error message, Not Found

Relates to #10, #12, and #13.

Thank you very much!!!!


runtime: timeouts in TestChan on netbsd-arm64-bsiegert and openbsd-arm64-jsing

SIGQUIT: quit
PC=0x81ffc m=4 sigcode=0
…

goroutine 20 [sleep]:
runtime.gopark(0x173ea30f12cd8f?, 0x1a1634?, 0xa0?, 0x4d?, 0x400000e750?)
	/var/gobuilder/buildlet/go/src/runtime/proc.go:363 +0xe4 fp=0x400004abe0 sp=0x400004abc0 pc=0x4c3f4
time.Sleep(0xf4240)
	/var/gobuilder/buildlet/go/src/runtime/time.go:195 +0x120 fp=0x400004ac20 sp=0x400004abe0 pc=0x7def0
runtime_test.TestChan(0x4000146000)
	/var/gobuilder/buildlet/go/src/runtime/chan_test.go:67 +0x35c fp=0x400004af60 sp=0x400004ac20 pc=0x1a168c
testing.tRunner(0x4000146000, 0x2c6350)
	/var/gobuilder/buildlet/go/src/testing/testing.go:1449 +0x10c fp=0x400004afb0 sp=0x400004af60 pc=0xf7e0c
testing.(*T).Run.func1()
	/var/gobuilder/buildlet/go/src/testing/testing.go:1496 +0x2c fp=0x400004afd0 sp=0x400004afb0 pc=0xf8b4c
runtime.goexit()
	/var/gobuilder/buildlet/go/src/runtime/asm_arm64.s:1155 +0x4 fp=0x400004afd0 sp=0x400004afd0 pc=0x812b4
created by testing.(*T).Run
	/var/gobuilder/buildlet/go/src/testing/testing.go:1496 +0x328

goroutine 67 [chan send]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x26?, 0x400006c898?)
	/var/gobuilder/buildlet/go/src/runtime/proc.go:363 +0xe4 fp=0x400018dee0 sp=0x400018dec0 pc=0x4c3f4
runtime.chansend(0x400005e930, 0x311cb8, 0x1, 0x812b8?)
	/var/gobuilder/buildlet/go/src/runtime/chan.go:259 +0x44c fp=0x400018df70 sp=0x400018dee0 pc=0x15cfc
runtime.chansend1(0x4000076bd0?, 0x400006c840?)
	/var/gobuilder/buildlet/go/src/runtime/chan.go:145 +0x18 fp=0x400018dfa0 sp=0x400018df70 pc=0x15898
runtime_test.TestChan.func3()
	/var/gobuilder/buildlet/go/src/runtime/chan_test.go:64 +0x30 fp=0x400018dfd0 sp=0x400018dfa0 pc=0x1a26d0
runtime.goexit()
	/var/gobuilder/buildlet/go/src/runtime/asm_arm64.s:1155 +0x4 fp=0x400018dfd0 sp=0x400018dfd0 pc=0x812b4
created by runtime_test.TestChan
	/var/gobuilder/buildlet/go/src/runtime/chan_test.go:63 +0x350

…
*** Test killed with quit: ran too long (31m0s).
FAIL	runtime	1860.134s

greplogs -l -e 'goroutine \d+ \[sleep.*\]:\n(?:.+\n\t.+\n)*runtime_test\.TestChan' --since=2021-01-01
2022-05-03T19:48:07-bccce90/netbsd-arm64-bsiegert
2021-11-13T00:26:23-bc0b98e/netbsd-arm64-bsiegert
2021-09-23T20:15:19-93f964b/netbsd-arm64-bsiegert
2021-09-08T22:47:57-bff39cf/netbsd-arm64-bsiegert
It's not clear to me whether this is a deadlock or livelock in or exposed by this particular test, or an overall timeout due to a long stall in some other test function. (Note that TestChan is not parallel.)
attn @bsiegert; CC @golang/runtime, @golang/netbsd

Curiously, a timeout in the same place on openbsd/arm64 (CC @golang/openbsd, @golang/arm).
I'm not sure whether to approach this as a BSD bug, an arm64 bug, or just a runtime test that has gotten slower and happens to be slowest right around there. 😅
greplogs -l -e 'goroutine \d+ \[sleep.*\]:\n(?:.+\n\t.+\n)*runtime_test\.TestChan' --since=2022-05-04
2022-05-04T16:42:28-cf69725/openbsd-arm64-jsing

One today without the goroutine in the [sleep] state:
greplogs -l -e 'goroutine \d+ \[.*\]:\n(?:.+\n\t.+\n)*runtime_test\.TestChan' --since=2022-01-01
2022-05-05T14:44:31-485a572/openbsd-arm64-jsing
2022-05-04T16:42:28-cf69725/openbsd-arm64-jsing
2022-05-03T19:48:07-bccce90/netbsd-arm64-bsiegert

greplogs -l -e 'goroutine \d+ \[.*\]:\n(?:.+\n\t.+\n)*runtime_test\.TestChan' --since=2022-05-09
2022-05-11T23:26:11-f2cd6d6/openbsd-arm64-jsing
2022-05-11T21:01:09-b89a194/openbsd-arm64-jsing
2022-05-11T04:25:28-4388faf/openbsd-arm64-jsing
@4a6f656c, I'm going to drop openbsd-arm64-jsing from builder triage (and consider that port broken) until there is some progress on this issue. The signal-to-noise ratio from this builder is currently too low.

greplogs -l -e 'goroutine \d+ \[.*\]:\n(?:.+\n\t.+\n)*runtime_test\.TestChan' --since=2022-05-12
2022-05-18T19:52:53-c087121/openbsd-arm64-jsing
2022-05-14T00:17:10-2168095/openbsd-arm64-jsing
2022-05-13T22:18:38-845a95b/openbsd-arm64-jsing
2022-05-13T21:50:20-9e9e2a8/openbsd-arm64-jsing

are there any occurrences of this on openbsd-arm64-jsing prior to 2022-05-04?

None that I could find. 😃

I've just applied a kernel patch that should avoid the issue - hopefully we'll know in the near future.

Great! If you'd like to send a CL to remove the KnownIssue for the builder (https://cs.opensource.google/go/x/build/+/master:dashboard/builders.go;l=2135;drc=2305360635654c3c7c875b9e5f14e56463d9634a), we can put it back into triage to check for any remaining issues.


eddi can't connect to companion app

Please don't open separate issues for ones that already exist. This is a duplicate issue of #179. This is due to ED Horizons 2.3 App changes.

Until a new release is made you can drop in a replacement-file for the CompanionApp -library as described in the readme in this zip: https://www.dropbox.com/sh/kvevq3u9qbi9mm5/AAAHgcMdqmLh7sR4ZSbJOuQba?dl=0&preview=EDDI_commanders_fix.zip

Works for me!  Thanks!

Duplicate of #179


Create dataset loader for IndoNLU KEPS

https://indonlp.github.io/nusa-catalogue/card.html?keps

#self-assign

#self-assign


Extension issue

Issue Type: Bug
Extension Name: python
Extension Version: 0.2.3
OS Version: Windows_NT x64 10.0.19041
VS Code version: 1.57.1

:warning: We have written the needed data into your clipboard. Please paste! :warning:

@Bright-Sunny-Kim please close this yourself - this issue is not useful at all as it has no content about an actual issue, just the version numbers


Several PRs combined into a single PR.

This is the combination of

#986
#984
#985
#989
#992
this original PR, which fixed several issues with sugars.

All of the PRs did something small that caused merge conflicts with each other. It's much simpler to manage them together.

CI on appveyor is already proving itself valuable, this surfaced in the new expect tests
[info]   =======
[info]   => Diff
[info]   =======
[info]   -scalahost\integration\src\main\scala\example\Example.scala
[info]   +scalahost/integration/src/main/scala/example/Example.scala
[info]    ---------------------------------------------------------- (SemanticdbExpectSuite.scala:14)
[info] ScalaTest

No new features or changes were introduced from yesterday. I'm gonna merge this now to unblock further changes today.

Thank you for the review @xeno-by. I apologize for merging so quickly. I wanted to avoid merge conflicts with all the recent activity. I've addressed your feedback in #1005

@olafurpg It's alright. I should've communicated better by explicitly requesting changes on this PR, and I appreciate that you followed up with a new pull request so quickly.
I suggest that in the future we don't merge without a green review. I haven't been rigorous about this in the past, but I will do better in the future.
I really like the fact that in Scalameta we don't have processes that prevent us from moving fast. In my opinion, occasional breakages are fine, as long as putting out fires doesn't become our lifestyle. I think that the new policy is lightweight enough for us to remain comfortably productive. Wdyt?


hide NFTs from listings view if below 0.01 ICP

@bodily11 Can I undo this - this PR does it properly https://github.com/Toniq-Labs/entrepot-app/pull/143

(reduces number of changes to a single line)


Rename Helm accordion section

[ ] Rename Helm accordion section title to Helm Charts
[ ] Remove the top Helm Charts subtitle

done!


Github issue link is not clickable

When editing a REST API meeting, the Github issue is not clickable and it doesnt display the whole text. See how the text is cut:

Fixed in https://github.com/Azure/azure-sdk-tools/issues/3696


Add native support for monoio project

Apply for this project: https://summer-ospp.ac.cn/org/prodetail/241110346
Goal
Add monoio based fs support as mentioned in https://github.com/apache/opendal/issues/4520.
The usage will look like:
let op = Operator::via_map(Scheme::MonoioFs, map)?;
let bs = op.read("path/to/file").await?;

Requirement

Know about monoio
Know about how to build/test rust project
Better to have some knowledge about io-uring
The current fs API in monoio is incomplete; we may need to collaborate with upstream to finalize them.

Mentorship
Mentor: @Xuanwo
Discussion: mailing list and discord

@Xuanwo I'm interested in this.

@Xuanwo I'm interested in this.

Thank you for your interest. However, this project is designated as an OSPP project; perhaps you would like to participate as a mentor instead?

@Xuanwo I'm interested in this.

Thank you for your interest. However, this project is designated as an OSPP project; perhaps you would like to participate as a mentor instead?

I just noticed this, you are better as a mentor, I can go and solve other issues.

Here's the task list to track progress of monoiofs:

[ ] init monoiofs service, introduce feature flag and dep
[ ] wrap around monoio runtime, handling thread management and operation dispatch
[ ] impl monoio's IoBuf for Buffer
[ ] basic operations open, read & write for monoiofs
[ ] other operations for monoiofs
[ ] impl monoio's IoVecBuf for Buffer
[ ] vectored io for monoiofs (blocked by bytedance/monoio#266)
[ ] completion based stat for monoiofs (blocked by bytedance/monoio#267)
[ ] benchmarks
[ ] behavior tests

Works on the monoio side:

[ ] native vectored io for files bytedance/monoio#266
[ ] native stat support bytedance/monoio#267


Consider allowing edits to glTF skin definitions

Hi,
Sorry for asking sceneform related bug here but since the repo is archived didn't have other options.
This is related to the sceneform related bug https://github.com/google-ar/sceneform-android-sdk/issues/1039
My question is there a way to directly use filament to find the bones position that are exported in the model and attach a another Model at that position.
Using FilamentAsset from sceneform i was able to check the entity names which included the Bones present in the model, but is there a way to attach nodes to this bone.

I've never tried it.  but can you getChildren() and look for your node. and then SetParent() to attach things to it?

The Bones are not the child nodes of Renderable. So it is not possible. In Sceneform the renderable could be set on a SkeletonNode which provide with the bone information as well and using setAttachment we could connect a different renderable to that bone position.

In the gltfio library, the mapping from joint nodes to renderables is only used in Animator::updateBoneMatrices(), and yes this mapping is immutable right now, and not exposed to Java clients. (C++ clients can peek at the raw cgltf structs.)
Note that the use of gltfio::Animator is optional; if desired you could call RenderableManager::setBones() and manually pass in any matrices you wish.
To summarize, this sounds like this is a feature request that would allow SkinVector to be readable and modifiable, both for gltfio::FilamentInstance and for gltfio::FilamentAsset.

@verma-akash are you still blocked by this?  Did my summary make sense?

@prideout As you mentioned this is a feature request, i'll wait for the update. Thanks

Hi, @prideout  Is this feature support now?  I also encounter the same problem which @verma-akash mentioned.

@verma-akash  Recently i need to implement bone-binding function at gltf model, and i come here for some help or insight~
Here is my scene:

There are two gltf model , one is a shoe which will be bind to the role gltf
These two gltf share the same skeleton and joints
the shoe gltf which has its own inverseBindMatrices and joint weight

Here is my implementation step:

i replace the shoe gltf joints' transform with the role's gltf and inverseBindMatrices
i write a bindOtherBoneMetrics function to make the shoe gltf to get the role's gltf's FFilamentAsset
i use joints' name to map the shoe's gltf joints to the roles' gltf joints

Here is my code:
void Animator::bindOtherBoneMatrices(FFilamentAsset* otherAsset) {
  auto update = [=](const SkinVector& skins, BoneVector& boneVector, utils::NameComponentManager* nameComponentManager, FFilamentAsset* otherAsset = nullptr) {
          for (const auto& skin : skins) {
              size_t njoints = skin.joints.size();
              boneVector.resize(njoints);
              for (const auto& entity : skin.targets) {

                  auto renderable = renderableManager->getInstance(entity);
                  if (!renderable) {
                      continue;
                  }
                  std::string name =  nameComponentManager->getName(nameComponentManager->getInstance(entity));

                  mat4f inverseGlobalTransform;
                  auto xformable = transformManager->getInstance(entity);
                  if (xformable) {
                      inverseGlobalTransform = inverse(transformManager->getWorldTransform(xformable));
                  }

                  for (size_t boneIndex = 0; boneIndex < njoints; ++boneIndex) {

                      const auto& joint = skin.joints[boneIndex];
                      TransformManager::Instance jointInstance = transformManager->getInstance(joint);
                      mat4f inverseBindMatrice = skin.inverseBindMatrices[boneIndex];
                      std::string joint_name = nameComponentManager->getName(nameComponentManager->getInstance(joint));
                      Entity other_joint;
                      if (otherAsset->mNameToEntity.count(joint_name) > 0) {
                          other_joint = otherAsset->mNameToEntity[joint_name][0];
                          jointInstance = transformManager->getInstance(other_joint);
                          for (size_t joint_index = 0; joint_index < otherAsset->mSkins[0].joints.size(); joint_index++) {
                              if (otherAsset->mSkins[0].joints[joint_index].getId() == other_joint.getId() ) {
                                  inverseBindMatrice =  otherAsset->mSkins[0].inverseBindMatrices[joint_index];
                                  break;
                              }
                          }
                      }
                      //TransformManager::Instance jointInstance = transformManager->getInstance(other_joint);
                      mat4f globalJointTransform = transformManager->getWorldTransform(jointInstance);

                      boneVector[boneIndex] =
                              inverseGlobalTransform *
                              globalJointTransform *
                                      inverseBindMatrice;
                  }
                  renderableManager->setBones(renderable, boneVector.data(), boneVector.size());
              }
          }
      };

      if (mImpl->instance) {
          update(mImpl->instance->skins, mImpl->boneMatrices, mImpl->asset->mNameManager);
      } else if (!mImpl->asset->isInstanced()) {
          update(mImpl->asset->mSkins, mImpl->boneMatrices, mImpl->asset->mNameManager, otherAsset);
      } else {
          for (FFilamentInstance* instance : mImpl->asset->mInstances) {
              update(instance->skins, mImpl->boneMatrices, mImpl->asset->mNameManager);
          }
      }
  }
}

Problem Description:
The rendering result seems a little offset

nobody answer this quetion????


App on windows 10 looks broken

Enviroment:

Windows 10 Pro 21H1 (Build 19043.928)
LFDI 1.0.0-beta.3

Debug info:

Window effect: WindowEffect.acrylic

Changing the window effect to WindowEffect.disabled solved the problem (https://github.com/tangenx/lfdi/commit/99adb931a2285fea6598adc9d8709f92ebdc8de7). Perhaps you should rewrite the application using bitsjojo_window instead of window_manager.

So, I ran the examples flutter_acrylic (it uses bitsjojo_window) and fluent_ui (it uses window_manager). And it seems that window_manager is the problem. It's worth rewriting the application.

.


Using when with more than 3 promises

I'm noticing I'm unable to use when if I'm providing more than 3 promises to be resolved. Is there a fix to this? Or should I just do a hacky solution in which I resolve 3 of my promises using when, and the rest using .then?
Here's what I'm currently doing:
// This doesn't work because it contains more than 3 promises to be resolved
when(Database.getCurrentUser(), Database.getGroups(), Database.getPositions(), Database.getCommittees())
    .then { currentUser, groups, positions, committees -> Void in
        self.currentUser = currentUser
        self.positions = positions
        self.committees = committees
        self.tableView.reloadData()
        self.spinnerView.stopAnimating()
        self.tableView.hidden = false
}.error { error -> Void in
    print(error)
    self.spinnerView.stopAnimating()
}

// however this does work because it only contains 3 promises to be resolved
when(Database.getCurrentUser(), Database.getPositions(), Database.getCommittees())
    .then { currentUser, positions, committees -> Void in
        self.currentUser = currentUser
        self.positions = positions
        self.committees = committees
        self.tableView.reloadData()
        self.spinnerView.stopAnimating()
        self.tableView.hidden = false
}.error { error -> Void in
    print(error)
    self.spinnerView.stopAnimating()
}

Thanks for your help!

Yes, you can, we provide convenience functions for when that allow a tuple with varying T for less than three, with more than three they must be the same type. I refer you to the source code for documentation.

If you got questions, please ask, closed as I'm doing major cleanup but still happy to help.


Update Blog with Links to Graylog website

https://opensearch.org/blog/navigating-the-future-of-log-management/
I failed to properly load the links to the blog.  If you can add them in based on the original word file - the Graylog team would appreciate it.
Introducing Graylog with OpenSearch
https://graylog.org/use-cases/centralized-log-management/?utm_source=partner&utm_medium=blog&utm_campaign=opensearch

Security and Compliance Built-in with Graylog

Learn more about Graylog’s Security capabilities.
https://graylog.org/products/security/?utm_source=partner&utm_medium=blog&utm_campaign=opensearch
Graylog blog
https://graylog.org/post/understanding-the-difference-between-opensearch-and-elasticsearch/?utm_source=partner&utm_medium=blog&utm_campaign=opensearch
Blog OpenSearch Graylog Final Draft w_ links-2.docx

@nateynateynate - We've agreed to help Graylog with this blog and help address the links that broke or that were dropped when we moved to publish.

@nateynateynate - Can you and Jon help get the Graylog logo and page updated?

@nateynateynate - Floating this one to the top. Please note that Mary is not able to update this request.


Goto Definition will often jump the cursor to the top of the file instead of into the definition that is within an included file

Assume appropriate propath configuration:
app/File1_include.p:
DEFINE TEMP-TABLE TEMP1 FIELD anything AS CHARACTER.

app/File1.p:
// comments are irrelevant, just added to show the cursor is jumping to the top and not necesarily to the line that has the include statement
{app/File1_include.p}

CREATE TEMP1.
ASSIGN TEMP1.anything = "ok".

When trying to goto the defintion, only the first TEMP1 will jump correctly to File1_include.p. The second TEMP1 or anything both simply jump the cursor to the top of the file.

In other words, goto defintion works for the token in green, but not the tokens in red. If the temp-table definition is inline, ie within File1.p, goto definition works in all 3 cases. The same bug occurs when defining a variable in an included file, then going to a the definition within the includee.

abl-language-server.txt
Here us the debug logs when I goto definition for the red boxes, and finally the green box:
[2024-12-02T16:07:49,551] [DEBUG] definition for file:///c%3A/somepathapp/File1.p:9:17 (both 0-based)
[2024-12-02T16:07:49,551] [DEBUG] Node found before caret: ID "TEMP1.anything" F0/10:8 after caret: ID "TEMP1.anything" F0/10:8
[2024-12-02T16:07:50,029] [DEBUG] definition for file:///c%3A/somepathapp/File1.p:9:17 (both 0-based)
[2024-12-02T16:07:50,030] [DEBUG] Node found before caret: ID "TEMP1.anything" F0/10:8 after caret: ID "TEMP1.anything" F0/10:8
[2024-12-02T16:07:50,890] [DEBUG] definition for file:///c%3A/somepathapp/File1.p:9:9 (both 0-based)
[2024-12-02T16:07:50,890] [DEBUG] Node found before caret: ID "TEMP1.anything" F0/10:8 after caret: ID "TEMP1.anything" F0/10:8
[2024-12-02T16:07:51,270] [DEBUG] hover for file:///c%3A/somepathapp/File1.p:9:8 (both 0-based)
[2024-12-02T16:07:51,270] [DEBUG] Hover - Content from node: ID "TEMP1.anything" F0/10:8
[2024-12-02T16:07:51,593] [DEBUG] definition for file:///c%3A/somepathapp/File1.p:9:9 (both 0-based)
[2024-12-02T16:07:51,593] [DEBUG] Node found before caret: ID "TEMP1.anything" F0/10:8 after caret: ID "TEMP1.anything" F0/10:8
[2024-12-02T16:07:51,770] [DEBUG] hover for file:///c%3A/somepathapp/File1.p:9:9 (both 0-based)
[2024-12-02T16:07:51,770] [DEBUG] Hover - Content from node: ID "TEMP1.anything" F0/10:8
[2024-12-02T16:07:54,223] [DEBUG] definition for file:///c%3A/somepathapp/File1.p:8:10 (both 0-based)
[2024-12-02T16:07:54,223] [DEBUG] Node found before caret: RECORD_NAME "TEMP1" F0/9:8 after caret: RECORD_NAME "TEMP1" F0/9:8
[2024-12-02T16:07:54,599] [DEBUG] definition for file:///c%3A/somepathapp/File1.p:8:10 (both 0-based)
[2024-12-02T16:07:54,599] [DEBUG] Node found before caret: RECORD_NAME "TEMP1" F0/9:8 after caret: RECORD_NAME "TEMP1" F0/9:8
[2024-12-02T16:07:54,812] [DEBUG] foldingRange for file:///c%3A/somepathapp/File1_include.p
[2024-12-02T16:07:54,921] [DEBUG] semanticTokensFull for file:///c%3A/somepathapp/File1_include.p
[2024-12-02T16:07:54,921] [DEBUG] documentSymbol for file:///c%3A/somepathapp/File1_include.p
[2024-12-02T16:07:54,923] [DEBUG] foldingRange for file:///c%3A/somepathapp/File1_include.p

Probably NOT related to #252, because in that case a tooltip indicates no definition is available - in this case the LSP seems to give a definition, it just happens to be an incorrect one

Fixed in develop, will be included in 1.17.x prerelease


Endpoint specification

Hi Tristan,
Again, many thanks for your library.
Is there any way to define the MS cognitive endpoint in your library?
This is the one I am supposed to use: https://api.cognitive.microsoft.com/bing/v5.0
Cheers

What do you mean the endpoint?
All API does use that API, just specialized to the specific service they need.
Let me know what your expected behavior is.

Glad to hear it :)
Feel free to drop other feature request via issues.


Improve filesystem scanning with parallelism

To scan with the filesystem plugin, we first walk over the whole directory tree, collect all the file names, and then loop over them.
https://github.com/Checkmarx/2ms/blob/8d71105bb7eae178339607fe5d529f7e348fc0c1/plugins/filesystem.go#L64-L92
Instead, we can immediately handle every file we find, by sending it into a channel or launching a new gorutine.
(I'm not sure what will be the best approach. I think maybe launching a new routine for each file will be the most parallelism degree, but maybe to control all the routines and wait for them, we need to use a channel from the walk function to one goroutine that will trigger all the goroutines per file)

Hi, please assign for me the issue.


scheduler.calls: revise semantics for SubscribedCaller, remove unused When decorator

Coverage increased (+0.008%) to 36.474% when pulling a1a745f65b55750c81d53eb8c4aa95d6220e1bdf on jdef_subscribed_caller_cleanup into d09f6636ea1d4f946e894321ff6d90b1f7cd15d8 on master.


Minor fixes

Some minor edits to:

[x] fix the 2 columns layout (need to specify the --html flag)
[x] Minor typo fixes
[x] Add workflow to build GitHub Pages

Will follow-up with more PRs.


Add --user switch

It would be great to have a "--user" switch, just like the one pip itself has.
See also pip-tools issue nvie/pip-tools#45.

Thanks for pointing this out. I'm planning on a major rewrite where flags like --user and --outdated are simply forwarded to pip list. So if you can wait for that (it might take a while), you are all set. Otherwise, I might also accept pull requests in the meanwhile.

Closed in version 1.0.

For other googlers wondering, pip-review --auto --user works.

For some reason using this flag still doesn't work:
  Found existing installation: absl-py 0.1.10
    Uninstalling absl-py-0.1.10:
      Successfully uninstalled absl-py-0.1.10
  Rolling back uninstall of absl-py
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/lib/python3.6/site-packages/absl_py-0.2.2.dist-info'
Consider using the `--user` option or check the permissions.

Running manually pip install --user --upgrade absl-py works somehow.
Collecting absl-py
Requirement not upgraded as not directly required: six in /usr/lib/python3.6/site-packages (from absl-py) (1.11.0)
Installing collected packages: absl-py
  Found existing installation: absl-py 0.1.10
    Uninstalling absl-py-0.1.10:
      Successfully uninstalled absl-py-0.1.10
Successfully installed absl-py-0.2.2

System:    Host: jx-X1 Kernel: 4.14.47-1-MANJARO x86_64 bits: 64 compiler: gcc v: 8.1.0 Desktop: i3 <IP_ADDRESS> Distro: Manjaro Linux 17.1.10 Hakoila
Python: 3.6.5
pip: 10.0.1

@x-ji Thanks for reporting. I'm going to look into this some time after June 15.

Just fyi, pip-review --user --auto gave me a permissions error by trying to install an out of date user package at the root site-packages even though the package was not installed at the root level. So it's just taking all out of date user packages and trying to install them at the root level.

Just to confirm, this is still an issue. Here's the output:
waldo@razer:~$ pip-review --user --auto
Collecting virtualenv==16.6.1
  Using cached https://files.pythonhosted.org/packages/c4/9a/a3f62ac5122a65dec34ad4b5ed8d802633dae4bc06a0fc62e55fe3e96fe1/virtualenv-16.6.1-py2.py3-none-any.whl
Installing collected packages: virtualenv
  Found existing installation: virtualenv 16.6.0
    Uninstalling virtualenv-16.6.0:
      Successfully uninstalled virtualenv-16.6.0
  Rolling back uninstall of virtualenv
  Moving to /home/waldo/.local/bin/virtualenv
   from /tmp/pip-uninstall-m0cc97br/virtualenv
  Moving to /home/waldo/.local/lib/python3.7/site-packages/__pycache__/virtualenv.cpython-37.pyc
   from /tmp/pip-uninstall-4abr9370/virtualenv.cpython-37.pyc
  Moving to /home/waldo/.local/lib/python3.7/site-packages/virtualenv-16.6.0.dist-info/
   from /home/waldo/.local/lib/python3.7/site-packages/~irtualenv-16.6.0.dist-info
  Moving to /home/waldo/.local/lib/python3.7/site-packages/virtualenv.py
   from /tmp/pip-uninstall-e3j757my/virtualenv.py
  Moving to /home/waldo/.local/lib/python3.7/site-packages/virtualenv_support/
   from /home/waldo/.local/lib/python3.7/site-packages/~irtualenv_support
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib/python3.7'
Consider using the '--user' option or check the permissions.

virtualenv has been installed using pip install --user virtualenv.
virtualenv is not installed in /usr/lib/python* or /usr/local/lib/python* or anywhere else in the system.
Running pip install --user --upgrade virtualenv I was able to update virtualenv.

@dimitry-ishenko Yes, "this" is still an issue, but by "this" you mean #62. That issue has a poll; please read https://github.com/jgonggrijp/pip-review/issues/62#issuecomment-425390628 and leave an opinion if you have one.

A brute solution to avoid updating all dependencies would be adding --no-deps to pip install. But maybe there is a flag to only avoid updating those dependencies for which there are no permissions.